diff --git a/.tx/config b/.tx/config
new file mode 100644
index 0000000000000000000000000000000000000000..b8009fb43a5e73a8763e6ea0645d3d48542f742f
--- /dev/null
+++ b/.tx/config
@@ -0,0 +1,46 @@
+[I2P.i2ptunnel]
+source_file = apps/i2ptunnel/locale/messages_en.po
+source_lang = en
+trans.de = apps/i2ptunnel/locale/messages_de.po
+trans.nl = apps/i2ptunnel/locale/messages_nl.po
+trans.ru = apps/i2ptunnel/locale/messages_ru.po
+trans.zh_CN = apps/i2ptunnel/locale/messages_zh.po
+
+[I2P.routerconsole]
+source_file = apps/routerconsole/locale/messages_en.po
+source_lang = en
+trans.de = apps/routerconsole/locale/messages_de.po
+trans.es = apps/routerconsole/locale/messages_es.po
+trans.fr = apps/routerconsole/locale/messages_fr.po
+trans.nl = apps/routerconsole/locale/messages_nl.po
+trans.ru = apps/routerconsole/locale/messages_ru.po
+trans.zh_CN = apps/routerconsole/locale/messages_zh.po
+
+[I2P.susidns]
+source_file = apps/susidns/locale/messages_en.po
+source_lang = en
+trans.de = apps/susidns/locale/messages_de.po
+trans.nl = apps/susidns/locale/messages_nl.po
+trans.ru = apps/susidns/locale/messages_ru.po
+trans.zh_CN = apps/susidns/locale/messages_zh.po
+
+[I2P.i2psnark]
+source_file = apps/i2psnark/locale/messages_en.po
+source_lang = en
+trans.de = apps/i2psnark/locale/messages_de.po
+trans.es = apps/i2psnark/locale/messages_es.po
+trans.fr = apps/i2psnark/locale/messages_fr.po
+trans.nl = apps/i2psnark/locale/messages_nl.po
+trans.pt = apps/i2psnark/locale/messages_pt.po
+trans.ru = apps/i2psnark/locale/messages_ru.po
+trans.zh_CN = apps/i2psnark/locale/messages_zh.po
+
+[I2P.desktopgui]
+source_file = apps/desktopgui/locale/messages_en.po
+source_lang = en
+trans.nl = apps/desktopgui/locale/messages_nl.po
+trans.zh_CN = apps/desktopgui/locale/messages_zh.po
+
+[main]
+host = http://www.transifex.net
+
diff --git a/apps/BOB/src/net/i2p/BOB/BOB.java b/apps/BOB/src/net/i2p/BOB/BOB.java
index 2c689f65db73925149e56aafc64cfe7f62fb8906..60bf2b9ff65839f7d0f5716c894f336cb52b54e8 100644
--- a/apps/BOB/src/net/i2p/BOB/BOB.java
+++ b/apps/BOB/src/net/i2p/BOB/BOB.java
@@ -120,6 +120,7 @@ public class BOB {
 	public final static String PROP_CONFIG_LOCATION = "BOB.config";
 	public final static String PROP_BOB_PORT = "BOB.port";
 	public final static String PROP_BOB_HOST = "BOB.host";
+	public final static String PROP_CFG_VER = "BOB.CFG.VER";
 	private static NamedDB database;
 	private static Properties props = new Properties();
 	private static AtomicBoolean spin = new AtomicBoolean(true);
@@ -209,30 +210,41 @@ public class BOB {
 			// Global router and client API configurations that are missing are set to defaults here.
 			if (!props.containsKey(I2PClient.PROP_TCP_HOST)) {
 				props.setProperty(I2PClient.PROP_TCP_HOST, "localhost");
+				save = true;
 			}
 			if (!props.containsKey(I2PClient.PROP_TCP_PORT)) {
 				props.setProperty(I2PClient.PROP_TCP_PORT, "7654");
-			}
-			if (!props.containsKey(I2PClient.PROP_RELIABILITY)) {
-				props.setProperty(I2PClient.PROP_RELIABILITY, I2PClient.PROP_RELIABILITY_BEST_EFFORT);
+				save = true;
 			}
 			if (!props.containsKey(PROP_BOB_PORT)) {
 				props.setProperty(PROP_BOB_PORT, "2827"); // 0xB0B
+				save = true;
 			}
 			if (!props.containsKey("inbound.length")) {
 				props.setProperty("inbound.length", "1");
+				save = true;
 			}
 			if (!props.containsKey("outbound.length")) {
 				props.setProperty("outbound.length", "1");
+				save = true;
 			}
 			if (!props.containsKey("inbound.lengthVariance")) {
 				props.setProperty("inbound.lengthVariance", "0");
+				save = true;
 			}
 			if (!props.containsKey("outbound.lengthVariance")) {
 				props.setProperty("outbound.lengthVariance", "0");
+				save = true;
 			}
 			if (!props.containsKey(PROP_BOB_HOST)) {
 				props.setProperty(PROP_BOB_HOST, "localhost");
+				save = true;
+			}
+			// PROP_RELIABILITY_NONE, PROP_RELIABILITY_BEST_EFFORT, PROP_RELIABILITY_GUARANTEED
+			if (!props.containsKey(PROP_CFG_VER)) {
+				props.setProperty(I2PClient.PROP_RELIABILITY, I2PClient.PROP_RELIABILITY_NONE);
+				props.setProperty(PROP_CFG_VER,"1");
+				save = true;
 			}
 			if (save) {
 				File cfg = new File(configLocation);
diff --git a/apps/BOB/src/net/i2p/BOB/DoCMDS.java b/apps/BOB/src/net/i2p/BOB/DoCMDS.java
index 81c29cc037f823fdb43fb285acb9857d88e8f51f..e070826d05b739ecc3eefdaf8fccba46062c7132 100644
--- a/apps/BOB/src/net/i2p/BOB/DoCMDS.java
+++ b/apps/BOB/src/net/i2p/BOB/DoCMDS.java
@@ -107,7 +107,7 @@ public class DoCMDS implements Runnable {
 	private static final String C_visit = "visit";
 	private static final String C_zap = "zap";
 
-	/* all the coomands available, plus description */
+	/* all the commands available, plus description */
 	private static final String C_ALL[][] = {
 		{C_help, C_help + " <command> * Get help on a command."},
 		{C_clear, C_clear + " * Clear the current nickname out of the list."},
@@ -962,7 +962,7 @@ public class DoCMDS implements Runnable {
 										} catch (Exception e) {
 											break die;
 										}
-// Finally say OK.
+										// Finally say OK.
 										out.println("OK Nickname set to " + Arg);
 									}
 
@@ -1472,7 +1472,7 @@ public class DoCMDS implements Runnable {
 					} // die
 					out.print("ERROR A really bad error just happened, ");
 				} // quit
-// Say goodbye.
+				// Say goodbye.
 
 				out.println("OK Bye!");
 
diff --git a/apps/desktopgui/build.xml b/apps/desktopgui/build.xml
index f8de8042806c80870edc8c4d4accf7035a738d34..f5de9ff4f23d969da5a5fda991c67f4a9a4ba3ec 100644
--- a/apps/desktopgui/build.xml
+++ b/apps/desktopgui/build.xml
@@ -45,7 +45,9 @@
         <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
+        </exec>
 		<jar basedir="${build}" destfile="${dist}/${jar}">
 			<manifest>
 				<attribute name="Main-Class" value="net.i2p.desktopgui.Main"/>
@@ -78,6 +80,10 @@
             <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
+            <arg value="-p" />
+        </exec>
     </target>
 
 	<target name="dist" depends="jar" />	
diff --git a/apps/desktopgui/bundle-messages.sh b/apps/desktopgui/bundle-messages.sh
index 4762e9a8bf53c9e6ef90be3eebd008329ba8e6f6..29713209eacdf250ea0b59325ea68126e17e061b 100644
--- a/apps/desktopgui/bundle-messages.sh
+++ b/apps/desktopgui/bundle-messages.sh
@@ -19,6 +19,17 @@ then
 	POUPDATE=1
 fi
 
+# on windows, one must specify the path of commnad find
+# since windows has its own retarded version of find.
+if which find|grep -q -i windows ; then
+	export PATH=.:/bin:/usr/local/bin:$PATH
+fi
+# Fast mode - update ondemond
+echo Placing a file named messages_{LangCode}.only in locale folder,
+echo will limit .po file update to the language specified by {LangCode}.
+LG2=$(find locale -iname messages_*.only|tail -1)
+[ LG2 ] && LG2=${LG2#locale/messages_} && LG2=${LG2%.only}
+
 # add ../java/ so the refs will work in the po file
 JPATHS="src"
 for i in locale/messages_*.po
@@ -26,6 +37,11 @@ do
 	# get language
 	LG=${i#locale/messages_}
 	LG=${LG%.po}
+	
+	# skip, if specified
+	if [ $LG2 ]; then
+		[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
+	fi
 
 	if [ "$POUPDATE" = "1" ]
 	then
@@ -33,7 +49,6 @@ do
 		find $JPATHS -name *.java -newer $i > $TMPFILE
 	fi
 
-    echo $LG
 	if [ -s build/net/i2p/desktopgui/messages_$LG.class -a \
 	     build/net/i2p/desktopgui/messages_$LG.class -nt $i -a \
 	     ! -s $TMPFILE ]
@@ -80,15 +95,19 @@ do
 		touch $i
 	fi
 
-	echo "Generating ${CLASS}_$LG ResourceBundle..."
+    if [ "$LG" != "en" ]
+    then
+        # only generate for non-source language
+        echo "Generating ${CLASS}_$LG ResourceBundle..."
 
-	# convert to class files in build
-	msgfmt --java --statistics -r $CLASS -l $LG -d build $i
-	if [ $? -ne 0 ]
-	then
-		echo 'Warning - msgfmt failed, not updating translations'
-		break
-	fi
+        # convert to class files in build
+        msgfmt --java --statistics -r $CLASS -l $LG -d build $i
+        if [ $? -ne 0 ]
+        then
+            echo 'Warning - msgfmt failed, not updating translations'
+            break
+        fi
+    fi
 done
 rm -f $TMPFILE
 # todo: return failure
diff --git a/apps/desktopgui/locale/messages_en.po b/apps/desktopgui/locale/messages_en.po
new file mode 100644
index 0000000000000000000000000000000000000000..46cd8b26edbbc8144200a9891ef67a414ff1f64f
--- /dev/null
+++ b/apps/desktopgui/locale/messages_en.po
@@ -0,0 +1,42 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the desktopgui package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P desktopgui\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-13 11:54+0000\n"
+"PO-Revision-Date: 2010-06-15 14:09+0100\n"
+"Last-Translator: duck <duck@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
+msgid "Start I2P"
+msgstr ""
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr ""
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:25
+msgid "Launch I2P Browser"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:49
+msgid "Restart I2P"
+msgstr ""
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Stop I2P"
+msgstr ""
diff --git a/apps/desktopgui/locale/messages_nl.po b/apps/desktopgui/locale/messages_nl.po
index 433eb604b0673c12a73aa5b9d194a7cd87370bfa..ad390cb622ddb09c6dc973c7d160ff58ba1778dd 100644
--- a/apps/desktopgui/locale/messages_nl.po
+++ b/apps/desktopgui/locale/messages_nl.po
@@ -1,3 +1,15 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+# NL
+
 #: src/net/i2p/desktopgui/ExternalTrayManager.java:23
 msgid "Start I2P"
 msgstr "I2P starten"
@@ -24,6 +36,6 @@ msgstr "I2P stoppen"
 
 #~ msgid "Browser not found"
 #~ msgstr "Browser niet gevonden"
-
 #~ msgid "The default browser for your system was not found."
 #~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
+
diff --git a/apps/desktopgui/locale/messages_zh.po b/apps/desktopgui/locale/messages_zh.po
new file mode 100644
index 0000000000000000000000000000000000000000..1aed8c46d3c0bb815d84693937151f79ba46d844
--- /dev/null
+++ b/apps/desktopgui/locale/messages_zh.po
@@ -0,0 +1,41 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-12 11:40+0000\n"
+"PO-Revision-Date: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
+msgid "Start I2P"
+msgstr "启动 I2P"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr "正在启动 I2P !"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr "正在启动"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:25
+msgid "Launch I2P Browser"
+msgstr "正在启动I2P浏览器"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:49
+msgid "Restart I2P"
+msgstr "重启 I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Stop I2P"
+msgstr "停止 I2P"
+
+#~ msgid "Browser not found"
+#~ msgstr "Browser niet gevonden"
+
+#~ msgid "The default browser for your system was not found."
+#~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/Main.java b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
index 03aa216b6ec2b693c8908b7e7679f9aee7d26747..8cd1ea707d0c980b24d2bc345839ecac2002e92e 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/Main.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
@@ -55,19 +55,14 @@ public class Main {
      * Main method launching the application.
      */
     public static void beginStartup(String[] args) {
-        boolean wasHeadless = Boolean.valueOf(System.getProperty("java.awt.headless")).booleanValue();
-        if(wasHeadless) {
-            System.setProperty("java.awt.headless", "false");
-        }
-        boolean headless_check = true;
         try {
-            // X permissions error is a java.lang.InternalError (a Throwable)
-            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
-            headless_check = ge.isHeadlessInstance();
-        } catch (Throwable t) {}
-        if (wasHeadless)
-            System.setProperty("java.awt.headless", "true");
-        if (headless_check) {
+            String headless = RouterManager.getRouterContext().getProperty("router.isHeadless");
+            boolean isHeadless = Boolean.parseBoolean(headless);
+            if(isHeadless) {
+                return;
+            }
+        }
+        catch(Exception e) {
             return;
         }
         try {
diff --git a/apps/i2psnark/java/bmsg.sh b/apps/i2psnark/java/bmsg.sh
deleted file mode 100644
index b9d294b32336537241eb2f9953fb65673c93b524..0000000000000000000000000000000000000000
--- a/apps/i2psnark/java/bmsg.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Update messages_xx.po and messages_xx.class files,
-# from both java and jsp sources.
-# Requires installed programs xgettext, msgfmt, msgmerge, and find.
-# zzz - public domain
-#
-
-## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
-## need to cd into our orignal path - where we call sh.exe from.
-
-cd $CALLFROM
-## echo $PWD
-
-## except this everything is the same with bundle-message.sh
-## walking - public domain :-D
-
-source bundle-messages.sh $PARAS
\ No newline at end of file
diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index 90f5cd6fe8f3c5c8b6ec2649f17016d1f7abad9b..2fbc2f507be10fc90ed4d5c20bc87201dd7e557a 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -59,15 +59,14 @@
     <target name="bundle" depends="compile">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
-        <exec executable="sh" osfamily="unix" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="sh" osfamily="mac" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
         </exec>
     </target>
 
@@ -81,9 +80,8 @@
             <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
     </target>
diff --git a/apps/i2psnark/java/bundle-messages.bat b/apps/i2psnark/java/bundle-messages.bat
deleted file mode 100644
index 90feca972a6457eebf97f9bdbea6028ac88d7789..0000000000000000000000000000000000000000
--- a/apps/i2psnark/java/bundle-messages.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-@echo off
-set Callfrom=%cd%
-set Paras=%1
-
-rem before calling make sure you have msys and mingw 's "bin" path 
-rem in your current searching path
-rem type "set path" to check 
-if not exist ..\locale\*.only goto updateALL
-
-rem put a messages_xx.only(eg messages_zh.only) into locale folder
-rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
-
-for %%i in (..\locale\*.only) do set PO=%%~ni
-echo [Notice] Yu choose to Ony update the choosen file: %PO%.po 
-for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
-
-call sh --login %cd%\bmsg.sh
-
-for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
-goto end
-
-:updateALL
-call sh --login %cd%\bmsg.sh
-
-:end
-echo End of Message Bundling
\ No newline at end of file
diff --git a/apps/i2psnark/java/bundle-messages.sh b/apps/i2psnark/java/bundle-messages.sh
index c09aa811f94817e645cbc5b37c37870b058c2d31..2a6a82470c3225a25e66e72fc0b6b549007ef237 100755
--- a/apps/i2psnark/java/bundle-messages.sh
+++ b/apps/i2psnark/java/bundle-messages.sh
@@ -18,6 +18,17 @@ then
 	POUPDATE=1
 fi
 
+# on windows, one must specify the path of commnad find
+# since windows has its own retarded version of find.
+if which find|grep -q -i windows ; then
+	export PATH=.:/bin:/usr/local/bin:$PATH
+fi
+# Fast mode - update ondemond
+echo Placing a file named messages_{LangCode}.only in locale folder,
+echo will limit .po file update to the language specified by {LangCode}.
+LG2=$(find ../locale -iname messages_*.only|tail -1)
+[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
+
 # add ../java/ so the refs will work in the po file
 JPATHS="../java/src"
 for i in ../locale/messages_*.po
@@ -26,6 +37,11 @@ do
 	LG=${i#../locale/messages_}
 	LG=${LG%.po}
 
+	# skip, if specified
+	if [ $LG2 ]; then
+		[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
+	fi
+
 	if [ "$POUPDATE" = "1" ]
 	then
 		# make list of java files newer than the .po file
@@ -70,15 +86,19 @@ do
 		touch $i
 	fi
 
-	echo "Generating ${CLASS}_$LG ResourceBundle..."
+    if [ "$LG" != "en" ]
+    then
+        # only generate for non-source language
+        echo "Generating ${CLASS}_$LG ResourceBundle..."
 
-	# convert to class files in build/obj
-	msgfmt --java --statistics -r $CLASS -l $LG -d build/obj $i
-	if [ $? -ne 0 ]
-	then
-		echo 'Warning - msgfmt failed, not updating translations'
-		break
-	fi
+        # convert to class files in build/obj
+        msgfmt --java --statistics -r $CLASS -l $LG -d build/obj $i
+        if [ $? -ne 0 ]
+        then
+            echo 'Warning - msgfmt failed, not updating translations'
+            break
+        fi
+    fi
 done
 rm -f $TMPFILE
 # todo: return failure
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
index 98bcd4eed470b086e45401ed183558c7eeb3a68e..1908a119370d06165fa60f551a2b352ecac2c95f 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
@@ -254,6 +254,7 @@ public class Snark
   private boolean stopped;
   private byte[] id;
   private byte[] infoHash;
+  private String additionalTrackerURL;
   private final I2PSnarkUtil _util;
   private final PeerCoordinatorSet _peerCoordinatorSet;
   private String trackerProblems;
@@ -453,9 +454,10 @@ public class Snark
    *
    *  @param torrent a fake name for now (not a file name)
    *  @param ih 20-byte info hash
+   *  @param trackerURL may be null
    *  @since 0.8.4
    */
-  public Snark(I2PSnarkUtil util, String torrent, byte[] ih,
+  public Snark(I2PSnarkUtil util, String torrent, byte[] ih, String trackerURL,
         CompleteListener complistener, PeerCoordinatorSet peerCoordinatorSet,
         ConnectionAcceptor connectionAcceptor, boolean start, String rootDir)
   {
@@ -465,6 +467,7 @@ public class Snark
     acceptor = connectionAcceptor;
     this.torrent = torrent;
     this.infoHash = ih;
+    this.additionalTrackerURL = trackerURL;
     this.rootDataDir = rootDir;
     stopped = true;
     id = generateID();
@@ -535,7 +538,7 @@ public class Snark
             acceptor = new ConnectionAcceptor(_util, serversocket, new PeerAcceptor(coordinator));
         }
         // TODO pass saved closest DHT nodes to the tracker? or direct to the coordinator?
-        trackerclient = new TrackerClient(_util, meta, coordinator, this);
+        trackerclient = new TrackerClient(_util, meta, additionalTrackerURL, coordinator, this);
     }
 
     stopped = false;
@@ -564,11 +567,13 @@ public class Snark
                  fatal("Could not reopen storage", ioe);
              }
         }
-        TrackerClient newClient = new TrackerClient(_util, meta, coordinator, this);
+        TrackerClient newClient = new TrackerClient(_util, meta, additionalTrackerURL, coordinator, this);
         if (!trackerclient.halted())
             trackerclient.halt();
         trackerclient = newClient;
         trackerclient.start();
+    } else {
+        debug("NOT starting TrackerClient???", NOTICE);
     }
   }
   /**
@@ -825,6 +830,14 @@ public class Snark
         return true;
     }
 
+    /**
+     *  @return trackerURL string from magnet-mode constructor, may be null
+     *  @since 0.8.4
+     */
+    public String getTrackerURL() {
+        return additionalTrackerURL;
+    }
+
   /**
    * Sets debug, ip and torrent variables then creates a Snark
    * instance.  Calls usage(), which terminates the program, if
diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
index 3f9f90edfbbc8f0fcd7045337b29317cb6389386..29c6a1ed2bbc748f43ba2de75adf64e5fb82fe4e 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
@@ -525,13 +525,13 @@ public class SnarkManager implements Snark.CompleteListener {
      *  Caller must verify this torrent is not already added.
      *  @throws RuntimeException via Snark.fatal()
      */
-    public void addTorrent(String filename) { addTorrent(filename, false); }
+    private void addTorrent(String filename) { addTorrent(filename, false); }
 
     /**
      *  Caller must verify this torrent is not already added.
      *  @throws RuntimeException via Snark.fatal()
      */
-    public void addTorrent(String filename, boolean dontAutoStart) {
+    private void addTorrent(String filename, boolean dontAutoStart) {
         if ((!dontAutoStart) && !_util.connected()) {
             addMessage(_("Connecting to I2P"));
             boolean ok = _util.connect();
@@ -578,13 +578,24 @@ public class SnarkManager implements Snark.CompleteListener {
                         fis = null;
                     } catch (IOException e) {}
                     
+                    // This test may be a duplicate, but not if we were called
+                    // from the DirMonitor, which only checks for dup torrent file names.
+                    Snark snark = getTorrentByInfoHash(info.getInfoHash());
+                    if (snark != null) {
+                        // TODO - if the existing one is a magnet, delete it and add the metainfo instead?
+                        addMessage(_("Torrent with this info hash is already running: {0}", snark.getBaseName()));
+                        return;
+                    }
+
                     if (!TrackerClient.isValidAnnounce(info.getAnnounce())) {
                         if (_util.shouldUseOpenTrackers() && _util.getOpenTrackers() != null) {
-                            addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
-                        } else if (_util.getDHT() != null) {
-                            addMessage(_("Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will announce to DHT only.", info.getName()));
+                            //addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
+                            addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only.", info.getName()));
+                        //} else if (_util.getDHT() != null) {
+                        //    addMessage(_("Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will announce to DHT only.", info.getName()));
                         } else {
-                            addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
+                            //addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
+                            addMessage(_("Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent.", info.getName()));
                             dontAutoStart = true;
                         }
                     }
@@ -632,11 +643,15 @@ public class SnarkManager implements Snark.CompleteListener {
      *
      * @param name hex or b32 name from the magnet link
      * @param ih 20 byte info hash
+     * @param trackerURL may be null
+     * @param udpateStatus should we add this magnet to the config file,
+     *                     to save it across restarts, in case we don't get
+     *                     the metadata before shutdown?
      * @throws RuntimeException via Snark.fatal()
      * @since 0.8.4
      */
-    public void addMagnet(String name, byte[] ih, boolean updateStatus) {
-        Snark torrent = new Snark(_util, name, ih, this,
+    public void addMagnet(String name, byte[] ih, String trackerURL, boolean updateStatus) {
+        Snark torrent = new Snark(_util, name, ih, trackerURL, this,
                                   _peerCoordinatorSet, _connectionAcceptor,
                                   false, getDataDir().getPath());
 
@@ -1140,6 +1155,10 @@ public class SnarkManager implements Snark.CompleteListener {
             saveTorrentStatus(meta, storage.getBitField(), null); // no file priorities
             String name = (new File(getDataDir(), storage.getBaseName() + ".torrent")).getAbsolutePath();
             try {
+                // put the announce URL in the file
+                String announce = snark.getTrackerURL();
+                if (announce != null)
+                    meta = meta.reannounce(announce);
                 synchronized (_snarks) {
                     locked_writeMetaInfo(meta, name);
                     // put it in the list under the new name
@@ -1172,14 +1191,17 @@ public class SnarkManager implements Snark.CompleteListener {
                 String b64 = k.substring(PROP_META_MAGNET_PREFIX.length());
                 b64 = b64.replace('$', '=');
                 byte[] ih = Base64.decode(b64);
-                // ignore value
+                // ignore value - TODO put tracker URL in value
                 if (ih != null && ih.length == 20)
-                    addMagnet("Magnet: " + I2PSnarkUtil.toHex(ih), ih, false);
+                    addMagnet("Magnet: " + I2PSnarkUtil.toHex(ih), ih, null, false);
                 // else remove from config?
             }
         }
     }
 
+    /**
+     *  caller must synchronize on _snarks
+     */
     private void monitorTorrents(File dir) {
         String fileNames[] = dir.list(TorrentFilenameFilter.instance());
         List<String> foundNames = new ArrayList(0);
@@ -1261,6 +1283,7 @@ public class SnarkManager implements Snark.CompleteListener {
        "Postman", "http://tracker2.postman.i2p/announce.php=http://tracker2.postman.i2p/"
        ,"Welterde", "http://tracker.welterde.i2p/a=http://tracker.welterde.i2p/stats?mode=top5"
 //       , "CRSTRACK", "http://b4G9sCdtfvccMAXh~SaZrPqVQNyGQbhbYMbw6supq2XGzbjU4NcOmjFI0vxQ8w1L05twmkOvg5QERcX6Mi8NQrWnR0stLExu2LucUXg1aYjnggxIR8TIOGygZVIMV3STKH4UQXD--wz0BUrqaLxPhrm2Eh9Hwc8TdB6Na4ShQUq5Xm8D4elzNUVdpM~RtChEyJWuQvoGAHY3ppX-EJJLkiSr1t77neS4Lc-KofMVmgI9a2tSSpNAagBiNI6Ak9L1T0F9uxeDfEG9bBSQPNMOSUbAoEcNxtt7xOW~cNOAyMyGydwPMnrQ5kIYPY8Pd3XudEko970vE0D6gO19yoBMJpKx6Dh50DGgybLQ9CpRaynh2zPULTHxm8rneOGRcQo8D3mE7FQ92m54~SvfjXjD2TwAVGI~ae~n9HDxt8uxOecAAvjjJ3TD4XM63Q9TmB38RmGNzNLDBQMEmJFpqQU8YeuhnS54IVdUoVQFqui5SfDeLXlSkh4vYoMU66pvBfWbAAAA.i2p/tracker/announce.php=http://crstrack.i2p/tracker/"
+       ,"Exotrack", "http://blbgywsjubw3d2zih2giokakhe3o2cko7jtte4risb3hohbcoyva.b32.i2p/announce.php=http://exotrack.i2p/"
     };
     
     /** comma delimited list of name=announceURL=baseURL for the trackers to be displayed */
diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
index c8f1cd6c96d28fdb99734176fc889fe2d1c8fb61..ad4cdae395db5c00e7fd050e0cfe7fabebd4e5a0 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
@@ -65,6 +65,7 @@ public class TrackerClient extends I2PAppThread
 
   private I2PSnarkUtil _util;
   private final MetaInfo meta;
+  private final String additionalTrackerURL;
   private final PeerCoordinator coordinator;
   private final Snark snark;
   private final int port;
@@ -76,8 +77,10 @@ public class TrackerClient extends I2PAppThread
 
   /**
    * @param meta null if in magnet mode
+   * @param additionalTrackerURL may be null, from the ?tr= param in magnet mode, otherwise ignored
    */
-  public TrackerClient(I2PSnarkUtil util, MetaInfo meta, PeerCoordinator coordinator, Snark snark)
+  public TrackerClient(I2PSnarkUtil util, MetaInfo meta, String additionalTrackerURL,
+                       PeerCoordinator coordinator, Snark snark)
   {
     super();
     // Set unique name.
@@ -85,13 +88,11 @@ public class TrackerClient extends I2PAppThread
     setName("TrackerClient " + id.substring(id.length() - 12));
     _util = util;
     this.meta = meta;
+    this.additionalTrackerURL = additionalTrackerURL;
     this.coordinator = coordinator;
     this.snark = snark;
 
     this.port = 6881; //(port == -1) ? 9 : port;
-
-    stop = false;
-    started = false;
   }
 
     @Override
@@ -138,17 +139,21 @@ public class TrackerClient extends I2PAppThread
     // todo: check for b32 matches as well
     trackers = new ArrayList(2);
     String primary = null;
-    if (meta != null) {
+    if (meta != null)
         primary = meta.getAnnounce();
+    else if (additionalTrackerURL != null)
+        primary = additionalTrackerURL;
+    if (primary != null) {
         if (isValidAnnounce(primary)) {
-            trackers.add(new Tracker(meta.getAnnounce(), true));
+            trackers.add(new Tracker(primary, true));
             _log.debug("Announce: [" + primary + "] infoHash: " + infoHash);
         } else {
             _log.warn("Skipping invalid or non-i2p announce: " + primary);
         }
-    }
-    if (primary == null)
+    } else {
+        _log.warn("No primary announce");
         primary = "";
+    }
     List tlist = _util.getOpenTrackers();
     if (tlist != null) {
         for (int i = 0; i < tlist.size(); i++) {
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 c504c7d75a40e68a089460e73068ea65c35251d3..a3d77a814a88df19d08969eafc906db5ca144d21 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -65,7 +65,8 @@ public class I2PSnarkServlet extends Default {
     
     public static final String PROP_CONFIG_FILE = "i2psnark.configFile";
     /** BEP 9 */
-    private static final String MAGNET = "magnet:?xt=urn:btih:";
+    private static final String MAGNET = "magnet:";
+    private static final String MAGNET_FULL = MAGNET + "?xt=urn:btih:";
     /** http://sponge.i2p/files/maggotspec.txt */
     private static final String MAGGOT = "maggot://";
  
@@ -1216,7 +1217,8 @@ public class I2PSnarkServlet extends Default {
         out.write("</option>\n");
         // todo remember this one with _lastAnnounceURL also
         out.write("<option value=\"none\">");
-        out.write(_("Open trackers and DHT only"));
+        //out.write(_("Open trackers and DHT only"));
+        out.write(_("Open trackers only"));
         out.write("</option>\n");
         Map trackers = _manager.getTrackers();
         for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) {
@@ -1381,7 +1383,7 @@ public class I2PSnarkServlet extends Default {
         }
         out.write("<tr><td>");
         out.write(_("I2CP options"));
-        out.write(": <td><textarea name=\"i2cpOpts\" cols=\"60\" rows=\"1\" wrap=\"off\" >"
+        out.write(": <td><textarea name=\"i2cpOpts\" cols=\"60\" rows=\"1\" wrap=\"off\" spellcheck=\"false\" >"
                   + opts.toString() + "</textarea><br>\n");
 
         out.write("<tr><td>&nbsp;<td><input type=\"submit\" value=\"");
@@ -1405,13 +1407,22 @@ public class I2PSnarkServlet extends Default {
     private void addMagnet(String url) {
         String ihash;
         String name;
+        String trackerURL = null;
         if (url.startsWith(MAGNET)) {
-            ihash = url.substring(MAGNET.length()).trim();
-            int amp = ihash.indexOf('&');
-            if (amp >= 0)
-                ihash = ihash.substring(0, amp);
+            // magnet:?xt=urn:btih:0691e40aae02e552cfcb57af1dca56214680c0c5&tr=http://tracker2.postman.i2p/announce.php
+            String xt = getParam("xt", url);
+            if (xt == null || !xt.startsWith("urn:btih:")) {
+                _manager.addMessage(_("Invalid magnet URL {0}", url));
+                return;
+            }
+            ihash = xt.substring("urn:btih:".length());
+            trackerURL = getParam("tr", url);
             name = "Magnet " + ihash;
+            String dn = getParam("dn", url);
+            if (dn != null)
+                name += " (" + Storage.filterName(dn) + ')';
         } else if (url.startsWith(MAGGOT)) {
+            // maggot://0691e40aae02e552cfcb57af1dca56214680c0c5:0b557bbdf8718e95d352fbe994dec3a383e2ede7
             ihash = url.substring(MAGGOT.length()).trim();
             int col = ihash.indexOf(':');
             if (col >= 0)
@@ -1438,7 +1449,27 @@ public class I2PSnarkServlet extends Default {
             _manager.addMessage(_("Invalid info hash in magnet URL {0}", url));
             return;
         }
-        _manager.addMagnet(name, ih, true);
+        _manager.addMagnet(name, ih, trackerURL, true);
+    }
+
+    private static String getParam(String key, String uri) {
+        int idx = uri.indexOf('?' + key + '=');
+        if (idx >= 0) {
+            idx += key.length() + 2;
+        } else {
+            idx = uri.indexOf('&' + key + '=');
+            if (idx >= 0)
+                idx += key.length() + 2;
+        }
+        if (idx < 0 || idx > uri.length())
+            return null;
+        String rv = uri.substring(idx);
+        idx = rv.indexOf('&');
+        if (idx >= 0)
+            rv = rv.substring(0, idx);
+        else
+            rv = rv.trim();
+        return rv;
     }
 
     /** copied from ConfigTunnelsHelper */
@@ -1643,8 +1674,8 @@ public class I2PSnarkServlet extends Default {
 
             String hex = I2PSnarkUtil.toHex(snark.getInfoHash());
             buf.append("<br>").append(toImg("magnet", _("Magnet link"))).append(" <a href=\"")
-               .append(MAGNET).append(hex).append("\">")
-               .append(MAGNET).append(hex).append("</a>");
+               .append(MAGNET_FULL).append(hex).append("\">")
+               .append(MAGNET_FULL).append(hex).append("</a>");
             // We don't have the hash of the torrent file
             //buf.append("<br>").append(_("Maggot link")).append(": <a href=\"").append(MAGGOT).append(hex).append(':').append(hex).append("\">")
             //   .append(MAGGOT).append(hex).append(':').append(hex).append("</a>");
@@ -1833,7 +1864,8 @@ public class I2PSnarkServlet extends Default {
             icon = "html";
         else if (mime.equals("text/plain") || plc.endsWith(".nfo"))
             icon = "page";
-        else if (mime.equals("application/java-archive") || plc.endsWith(".war"))
+        else if (mime.equals("application/java-archive") || plc.endsWith(".war") ||
+                 plc.endsWith(".deb"))
             icon = "package";
         else if (plc.endsWith(".xpi2p"))
             icon = "plugin";
diff --git a/apps/i2psnark/locale/messages_en.po b/apps/i2psnark/locale/messages_en.po
new file mode 100644
index 0000000000000000000000000000000000000000..415a69bc4e0bb4cfbe2d752a8952d597d4fa6fc7
--- /dev/null
+++ b/apps/i2psnark/locale/messages_en.po
@@ -0,0 +1,908 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the i2psnark package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P i2psnark\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-13 11:54+0000\n"
+"PO-Revision-Date: 2010-06-15 14:09+0100\n"
+"Last-Translator: duck <duck@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:307
+#, java-format
+msgid "Total uploaders limit changed to {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:309
+#, java-format
+msgid "Minimum total uploaders limit is {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:321
+#, java-format
+msgid "Up BW limit changed to {0}KBps"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:323
+#, java-format
+msgid "Minimum up bandwidth limit is {0}KBps"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:335
+#, java-format
+msgid "Startup delay changed to {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
+msgid "I2CP and tunnel changes will take effect after stopping all torrents"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:393
+msgid "Disconnecting old I2CP destination"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:397
+#, java-format
+msgid "I2CP settings changed to {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:402
+msgid ""
+"Unable to connect with the new settings, reverting to the old I2CP settings"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:406
+msgid "Unable to reconnect with the old settings!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:408
+msgid "Reconnected on the new I2CP destination"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:418
+#, java-format
+msgid "I2CP listener restarted for \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:429
+msgid "Enabled autostart"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
+msgid "Disabled autostart"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:437
+msgid "Enabled open trackers - torrent restart required to take effect."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:439
+msgid "Disabled open trackers - torrent restart required to take effect."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:447
+msgid "Open Tracker list changed - torrent restart required to take effect."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:454
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:461
+msgid "Configuration unchanged."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:471
+#, java-format
+msgid "Unable to save the config to {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:536
+msgid "Connecting to I2P"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:539
+msgid "Error connecting to I2P - check your I2CP settings!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:548
+#, java-format
+msgid "Error: Could not add the torrent {0}"
+msgstr ""
+
+#. catch this here so we don't try do delete it below
+#: ../java/src/org/klomp/snark/SnarkManager.java:570
+#, java-format
+msgid "Cannot open \"{0}\""
+msgstr ""
+
+#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
+#: ../java/src/org/klomp/snark/SnarkManager.java:586
+#: ../java/src/org/klomp/snark/SnarkManager.java:661
+#: ../java/src/org/klomp/snark/SnarkManager.java:716
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954
+#, java-format
+msgid "Torrent with this info hash is already running: {0}"
+msgstr ""
+
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:593
+#, java-format
+msgid ""
+"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers "
+"only."
+msgstr ""
+
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:598
+#, java-format
+msgid ""
+"Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is "
+"enabled before starting this torrent."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:619
+#, java-format
+msgid "Torrent in \"{0}\" is invalid"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:624
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1977
+#, java-format
+msgid "ERROR - Out of memory, cannot create torrent from {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:635
+#, java-format
+msgid "Torrent added and started: \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:637
+#, java-format
+msgid "Torrent added: \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:672
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
+#, java-format
+msgid "Fetching {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:675
+#, java-format
+msgid ""
+"We have no saved peers and no other torrents are running. Fetch of {0} will "
+"not succeed until you start another torrent."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:679
+#, java-format
+msgid "Adding {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:726
+#: ../java/src/org/klomp/snark/SnarkManager.java:749
+#: ../java/src/org/klomp/snark/SnarkManager.java:1174
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:972
+#, java-format
+msgid "Too many files in \"{0}\" ({1}), deleting it!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:974
+#, java-format
+msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:976
+#, java-format
+msgid "No pieces in \"{0}\",  deleting it!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:978
+#, java-format
+msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:980
+#, java-format
+msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:981
+#, java-format
+msgid "Limit is {0}B"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:989
+#, java-format
+msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1005
+#, java-format
+msgid "Error: Could not remove the torrent {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1026
+#: ../java/src/org/klomp/snark/SnarkManager.java:1044
+#, java-format
+msgid "Torrent stopped: \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1065
+#, java-format
+msgid "Torrent removed: \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1073
+#, java-format
+msgid "Adding torrents in {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1122
+#, java-format
+msgid "Download finished: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1170
+#, java-format
+msgid "Metainfo received for {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1171
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524
+#, java-format
+msgid "Starting up torrent {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1225
+msgid "Unable to connect to I2P!"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1231
+#, java-format
+msgid "Unable to add {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
+msgid "I2PSnark - Anonymous BitTorrent Client"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:218
+msgid "Torrents"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
+msgid "I2PSnark"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:225
+msgid "Refresh page"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:230
+msgid "Forum"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1698
+msgid "Status"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:292
+msgid "Hide Peers"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:299
+msgid "Show Peers"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1638
+msgid "Torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
+msgid "Estimated time remaining"
+msgstr ""
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:313
+msgid "ETA"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+msgid "Downloaded"
+msgstr ""
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:334
+msgid "RX"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
+msgid "Uploaded"
+msgstr ""
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:327
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:344
+msgid "TX"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:332
+msgid "Down Rate"
+msgstr ""
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:337
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
+msgid "Rate"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
+msgid "Up Rate"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:364
+msgid "Stop all torrents and the I2P tunnel"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366
+msgid "Stop All"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375
+msgid "Start all torrents and the I2P tunnel"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
+msgid "Start All"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:396
+msgid "No torrents loaded."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:401
+msgid "Totals"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:403
+#, java-format
+msgid "1 torrent"
+msgid_plural "{0} torrents"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406
+#, java-format
+msgid "1 connected peer"
+msgid_plural "{0} connected peers"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:495
+#, java-format
+msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:570
+#, java-format
+msgid "Magnet deleted: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576
+#, java-format
+msgid "Torrent file deleted: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:592
+#, java-format
+msgid "Data file deleted: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:594
+#, java-format
+msgid "Data file could not be deleted: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:603
+#, java-format
+msgid "Data dir deleted: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
+msgid "Error creating torrent - you must select a tracker"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652
+#, java-format
+msgid "Torrent created for \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654
+#, java-format
+msgid ""
+"Many I2P trackers require you to register new torrents before seeding - "
+"please do so before starting \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
+#, java-format
+msgid "Error creating a torrent for \"{0}\""
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659
+#, java-format
+msgid "Cannot create a torrent for the nonexistent data: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
+msgid "Error creating torrent - you must enter a file or directory"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
+msgid "Stopping all torrents and closing the I2P tunnel."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676
+msgid "I2P tunnel closed."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679
+msgid "Opening the I2P tunnel and starting all torrents."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:802
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:813
+msgid "Tracker Error"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:809
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:825
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:842
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:846
+#, java-format
+msgid "1 peer"
+msgid_plural "{0} peers"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823
+msgid "Seeding"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1644
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749
+msgid "Complete"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:830
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:835
+msgid "OK"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:839
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:844
+msgid "Stalled"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851
+msgid "No Peers"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
+msgid "Stopped"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864
+msgid "Torrent details"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139
+msgid "Info"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+msgid "View files"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
+msgid "Open file"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785
+msgid "Open"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939
+msgid "Stop the torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
+msgid "Stop"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
+msgid "Start the torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:952
+msgid "Start"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:962
+msgid "Remove the torrent from the active list, deleting the .torrent file"
+msgstr ""
+
+#. Can't figure out how to escape double quotes inside the onclick string.
+#. Single quotes in translate strings with parameters must be doubled.
+#. Then the remaining single quite must be escaped
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
+#, java-format
+msgid ""
+"Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
+"data will not be deleted) ?"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970
+msgid "Remove"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980
+msgid "Delete the .torrent file and the associated data file(s)"
+msgstr ""
+
+#. Can't figure out how to escape double quotes inside the onclick string.
+#. Single quotes in translate strings with parameters must be doubled.
+#. Then the remaining single quite must be escaped
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985
+#, java-format
+msgid ""
+"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
+"data?"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
+msgid "Delete"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
+msgid "Unknown"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033
+msgid "Seed"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056
+msgid "Uninteresting (The peer has no pieces we need)"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058
+msgid "Choked (The peer is not allowing us to request pieces)"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078
+msgid "Uninterested (We have no pieces the peer needs)"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080
+msgid "Choking (We are not allowing the peer to request pieces)"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
+#, java-format
+msgid "Details at {0} tracker"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1167
+msgid "Add Torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169
+msgid "From URL"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1172
+msgid "Torrent file must originate from an I2P-based tracker"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1177
+msgid "Add torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
+#, java-format
+msgid "You can also copy .torrent files to: {0}."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1182
+msgid "Removing a .torrent will cause it to stop."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205
+msgid "Create Torrent"
+msgstr ""
+
+#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208
+msgid "Data to seed"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212
+msgid "File or directory to seed (must be within the specified path)"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1214
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
+msgid "Tracker"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216
+msgid "Select a tracker"
+msgstr ""
+
+#. out.write(_("Open trackers and DHT only"));
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221
+msgid "Open trackers only"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1236
+msgid "or"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239
+msgid "Specify custom tracker announce URL"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
+msgid "Create torrent"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399
+msgid "Configuration"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1264
+msgid "Data directory"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
+msgid "Edit i2psnark.config and restart to change"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
+msgid "Auto start"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274
+msgid "If checked, automatically start torrents that are added"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
+msgid "Theme"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
+msgid "Startup delay"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293
+msgid "minutes"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
+msgid "Total uploader limit"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
+msgid "peers"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324
+msgid "Up bandwidth limit"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327
+msgid "Half available bandwidth recommended."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329
+msgid "View or change router bandwidth"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333
+msgid "Use open trackers also"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337
+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:1341
+msgid "Open tracker announce URLs"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1353
+msgid "Inbound Settings"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359
+msgid "Outbound Settings"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367
+msgid "I2CP host"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1372
+msgid "I2CP port"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1385
+msgid "I2CP options"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390
+msgid "Save configuration"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1415
+#, java-format
+msgid "Invalid magnet URL {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1449
+#, java-format
+msgid "Invalid info hash in magnet URL {0}"
+msgstr ""
+
+#. * dummies for translation
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642
+msgid "Completion"
+msgstr ""
+
+#. else unknown
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1646
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1695
+msgid "Size"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1651
+msgid "Files"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1653
+msgid "Pieces"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1654
+msgid "Piece size"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676
+msgid "Magnet link"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1732
+msgid "Directory"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702
+msgid "Priority"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1707
+msgid "Up to higher level directory"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1737
+msgid "Torrent not found?"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
+msgid "File not found in torrent?"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
+msgid "complete"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760
+msgid "bytes remaining"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1811
+msgid "High"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816
+msgid "Normal"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821
+msgid "Skip"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830
+msgid "Save priorities"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945
+#, java-format
+msgid "Torrent fetched from {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967
+#, java-format
+msgid "Torrent already running: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969
+#, java-format
+msgid "Torrent already in the queue: {0}"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975
+#, java-format
+msgid "Torrent at {0} was not valid"
+msgstr ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982
+#, java-format
+msgid "Torrent was not retrieved from {0}"
+msgstr ""
diff --git a/apps/i2psnark/locale/messages_fr.po b/apps/i2psnark/locale/messages_fr.po
index e7981f2822d0b1fb122fd3743520c506814f905f..52b20ccda30fc7edd5fdc8c33680e577f31128b1 100644
--- a/apps/i2psnark/locale/messages_fr.po
+++ b/apps/i2psnark/locale/messages_fr.po
@@ -15,6 +15,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n>1\n"
 "X-Poedit-Language: French\n"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:94
@@ -35,17 +36,17 @@ msgstr "La limite minimale agrégée des uploaders est : {0}"
 #: ../java/src/org/klomp/snark/SnarkManager.java:310
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
-msgstr "La limite d'upload modifiée : {0} Ko/s"
+msgstr "La limite d’upload modifiée : {0} Ko/s"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:312
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
-msgstr "La limite minimale d'upload est {0} Ko/s"
+msgstr "La limite minimale d’upload est {0} Ko/s"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:324
 #, java-format
 msgid "Startup delay limit changed to {0} minutes"
-msgstr "Delais de démarrage modifié : {0] minutes"
+msgstr "Delais de démarrage modifié : {0} minutes"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:371
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
@@ -122,13 +123,13 @@ msgstr "Erreur de connexion à I2P - Vérifiez vos paramètres I2CP!"
 #: ../java/src/org/klomp/snark/SnarkManager.java:506
 #, java-format
 msgid "Error: Could not add the torrent {0}"
-msgstr "Erreur : Impossible d'ajouter le torrent : {0}"
+msgstr "Erreur : Impossible d’ajouter le torrent : {0}"
 
 #. catch this here so we don't try do delete it below
 #: ../java/src/org/klomp/snark/SnarkManager.java:528
 #, java-format
 msgid "Cannot open \"{0}\""
-msgstr "Impossible d'ouvrir: \"{0}\""
+msgstr "Impossible d’ouvrir: \"{0}\""
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:541
 #, java-format
@@ -217,7 +218,7 @@ msgstr "Impossible de se connecter à I2P!"
 #: ../java/src/org/klomp/snark/SnarkManager.java:886
 #, java-format
 msgid "Unable to add {0}"
-msgstr "Impossible d'ajouter {0}"
+msgstr "Impossible d’ajouter {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
 msgid "I2PSnark - Anonymous BitTorrent Client"
@@ -394,7 +395,7 @@ msgstr "Torrent créé pour \"{0}\""
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
 #, java-format
 msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
-msgstr "De nombreux trackers I2P nécessitent d'enregistrer les nouveaux torrents avant de seeder - faites-le avant de démarrer \"{0}\"!"
+msgstr "De nombreux trackers I2P nécessitent d’enregistrer les nouveaux torrents avant de seeder - faites-le avant de démarrer \"{0}\"!"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607
 #, java-format
@@ -505,7 +506,7 @@ msgstr "Arrêter"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
 msgid "Start the torrent"
-msgstr "Arrêter le torrent"
+msgstr "Démarrer le torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923
 msgid "Start"
@@ -805,7 +806,7 @@ msgstr "Le torrent {0} n'est pas valide"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764
 #, java-format
 msgid "Torrent was not retrieved from {0}"
-msgstr "Le torrent n'a pas été reçu par {0}"
+msgstr "Le torrent n’a pas été reçu par {0}"
 
 #~ msgid "size: {0}B"
 #~ msgstr "Taille: {0}Octets"
diff --git a/apps/i2psnark/locale/messages_nl.po b/apps/i2psnark/locale/messages_nl.po
index 3314d8071b998eee2d4a9d45581d6d5e45e41d6f..fbe033a9f5808a21076542faa511d50d445cd68d 100644
--- a/apps/i2psnark/locale/messages_nl.po
+++ b/apps/i2psnark/locale/messages_nl.po
@@ -6,405 +6,459 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: I2P i2psnark\n"
+"Project-Id-Version: I2P\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-20 19:26+0000\n"
-"PO-Revision-Date: 2010-06-15 09:07+0100\n"
-"Last-Translator: duck <duck@mail.i2p>\n"
-"Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
+"POT-Creation-Date: 2011-02-13 17:44+0000\n"
+"PO-Revision-Date: 2011-02-13 17:41+0000\n"
+"Last-Translator: ducki2p <ducki2p@gmail.com>\n"
+"Language-Team: Dutch <>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Dutch\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:94
-#, java-format
-msgid "Adding torrents in {0} minutes"
-msgstr "Torrents toevoegen in {0} minuten"
-
-#: ../java/src/org/klomp/snark/SnarkManager.java:296
+#: ../java/src/org/klomp/snark/SnarkManager.java:307
 #, java-format
 msgid "Total uploaders limit changed to {0}"
 msgstr "Totale uploaders limiet gewijzigd in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:298
+#: ../java/src/org/klomp/snark/SnarkManager.java:309
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
 msgstr "Minimum totale uploaders limiet is {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:310
+#: ../java/src/org/klomp/snark/SnarkManager.java:321
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "Up bandbreedte limiet gewijzigd in {0}KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:312
+#: ../java/src/org/klomp/snark/SnarkManager.java:323
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "Minimum up bandbreedte limiet is {0}KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:324
+#: ../java/src/org/klomp/snark/SnarkManager.java:335
 #, java-format
-msgid "Startup delay limit changed to {0} minutes"
-msgstr "Startup vertragings limiet gewijzigd in {0} minuten"
+msgid "Startup delay changed to {0}"
+msgstr "Opstartvertraging gewijzigd in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:371
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
 msgstr ""
 "I2CP en tunnel wijzigingen hebben pas effect na het stoppen van alle torrents"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:378
+#: ../java/src/org/klomp/snark/SnarkManager.java:393
 msgid "Disconnecting old I2CP destination"
 msgstr "Oude I2CP destination wordt afgesloten"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:382
+#: ../java/src/org/klomp/snark/SnarkManager.java:397
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "I2CP instellingen gewijzigd in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:386
+#: ../java/src/org/klomp/snark/SnarkManager.java:402
 msgid ""
 "Unable to connect with the new settings, reverting to the old I2CP settings"
 msgstr ""
 "Kan geen connectie maken met de nieuwe instellingen, we keren terug naar "
 "oude I2CP instellingen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:390
+#: ../java/src/org/klomp/snark/SnarkManager.java:406
 msgid "Unable to reconnect with the old settings!"
 msgstr "Kan niet opnieuw verbinden met de oude instellingen!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:392
+#: ../java/src/org/klomp/snark/SnarkManager.java:408
 msgid "Reconnected on the new I2CP destination"
 msgstr "Opnieuw verbonden met de nieuwe I2CP destination"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:403
+#: ../java/src/org/klomp/snark/SnarkManager.java:418
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "I2CP listener herstart voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:414
+#: ../java/src/org/klomp/snark/SnarkManager.java:429
 msgid "Enabled autostart"
 msgstr "Autostart ingeschakeld"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:416
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Disabled autostart"
 msgstr "Autostart uitgeschakeld"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:422
+#: ../java/src/org/klomp/snark/SnarkManager.java:437
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "Open Trackers ingeschakeld - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:424
+#: ../java/src/org/klomp/snark/SnarkManager.java:439
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "Open Trackers uitgeschakeld - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:431
+#: ../java/src/org/klomp/snark/SnarkManager.java:447
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "Open Tracker lijst gewijzigd - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:438
+#: ../java/src/org/klomp/snark/SnarkManager.java:454
 #, java-format
 msgid "{0} theme loaded, return to main i2psnark page to view."
 msgstr ""
 "{0} thema geladen, ga naar de hoofd i2psnark pagina om deze te bekijken."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:445
+#: ../java/src/org/klomp/snark/SnarkManager.java:461
 msgid "Configuration unchanged."
 msgstr "Configuratie ongewijzigd."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:455
+#: ../java/src/org/klomp/snark/SnarkManager.java:471
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "Kan de configuratie niet opslaan in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:494
+#: ../java/src/org/klomp/snark/SnarkManager.java:536
 msgid "Connecting to I2P"
 msgstr "Verbinden met I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:497
+#: ../java/src/org/klomp/snark/SnarkManager.java:539
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "Fout bij verbinden met I2P - controlleer je I2CP instellingen!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:506
+#: ../java/src/org/klomp/snark/SnarkManager.java:548
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "Fout: Kan de torrent {0} niet toevoegen"
 
 #. catch this here so we don't try do delete it below
-#: ../java/src/org/klomp/snark/SnarkManager.java:528
+#: ../java/src/org/klomp/snark/SnarkManager.java:570
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "Kan \"{0}\" niet openen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:541
+#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
+#: ../java/src/org/klomp/snark/SnarkManager.java:586
+#: ../java/src/org/klomp/snark/SnarkManager.java:661
+#: ../java/src/org/klomp/snark/SnarkManager.java:716
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954
+#, java-format
+msgid "Torrent with this info hash is already running: {0}"
+msgstr "Torrent met deze info hash is al actief: {0}"
+
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:593
 #, java-format
 msgid ""
-"Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open "
-"trackers only"
+"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers "
+"only."
 msgstr ""
-"Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, zal alleen "
-"aankondigen naar i2p open trackers"
+"Waarschuwing - Niet-I2P trackers in \"{0}\", zal alleen aankondigen bij I2P "
+"open trackers."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:543
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:598
 #, java-format
 msgid ""
-"Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are "
-"disabled, you must enable open trackers before starting the torrent!"
+"Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is "
+"enabled before starting this torrent."
 msgstr ""
-"Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, en open trackers "
-"zijn uitgeschakeld, je moet open trackers inschakelen voor het starten van "
-"de torrent!"
+"Waarschuwing - Niet-I2P Trackers gevonden in \"{0}\". Zorg ervoor dat Open "
+"Tracker is ingeschakeld voordat je deze torrent start."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:563
+#: ../java/src/org/klomp/snark/SnarkManager.java:619
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "Torrent in \"{0}\" is ongeldig"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:578
+#: ../java/src/org/klomp/snark/SnarkManager.java:624
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1977
+#, java-format
+msgid "ERROR - Out of memory, cannot create torrent from {0}"
+msgstr "ERROR - Geen geheugen meer, kan geen torrent maken van {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:635
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "Torrent toegevoegd en gestart: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:580
+#: ../java/src/org/klomp/snark/SnarkManager.java:637
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "Torrent toegevoegd: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:734
+#: ../java/src/org/klomp/snark/SnarkManager.java:672
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
+#, java-format
+msgid "Fetching {0}"
+msgstr "Downloaden {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:675
+#, java-format
+msgid ""
+"We have no saved peers and no other torrents are running. Fetch of {0} will "
+"not succeed until you start another torrent."
+msgstr ""
+"We hebben geen opgeslagen peers en er zijn geen andere torrents actief. Het "
+"ophalen van {0} zal niet lukken totdat je een andere torrent start."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:679
+#, java-format
+msgid "Adding {0}"
+msgstr "Toevoegen van {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:726
+#: ../java/src/org/klomp/snark/SnarkManager.java:749
+#: ../java/src/org/klomp/snark/SnarkManager.java:1174
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr "Kan het torrent bestand niet kopieren naar {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:972
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "Te veel bestanden in \"{0}\" ({1}), wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:736
+#: ../java/src/org/klomp/snark/SnarkManager.java:974
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
 msgstr ""
 "Torrent bestand \"{0}\" kan niet eindigen in \".torrent\", wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:738
+#: ../java/src/org/klomp/snark/SnarkManager.java:976
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "Geen stukken in \"{0}\",  wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:740
+#: ../java/src/org/klomp/snark/SnarkManager.java:978
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "Te veel stukken in \"{0}\", limiet is {1}, wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:742
+#: ../java/src/org/klomp/snark/SnarkManager.java:980
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "Stukken zijn te groot in \"{0}\" ({1}B), wordt verwijderd."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:743
+#: ../java/src/org/klomp/snark/SnarkManager.java:981
 #, java-format
 msgid "Limit is {0}B"
 msgstr "Limiet is {0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:751
+#: ../java/src/org/klomp/snark/SnarkManager.java:989
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
 msgstr ""
 "Torrents groter dan {0}B worden nog niet ondersteund, verwijder \"{1}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:767
+#: ../java/src/org/klomp/snark/SnarkManager.java:1005
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "Fout: Kan de torrent {0} niet verwijderen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:794
+#: ../java/src/org/klomp/snark/SnarkManager.java:1026
+#: ../java/src/org/klomp/snark/SnarkManager.java:1044
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "Torrent gestopt: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:814
+#: ../java/src/org/klomp/snark/SnarkManager.java:1065
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "Torrent verwijderd: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:852
+#: ../java/src/org/klomp/snark/SnarkManager.java:1073
+#, java-format
+msgid "Adding torrents in {0}"
+msgstr "Toevoegen van torrents in {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1122
 #, java-format
 msgid "Download finished: {0}"
 msgstr "Download gereed: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:880
+#: ../java/src/org/klomp/snark/SnarkManager.java:1170
+#, java-format
+msgid "Metainfo received for {0}"
+msgstr "Metainfo ontvangen voor {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1171
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524
+#, java-format
+msgid "Starting up torrent {0}"
+msgstr "Starten met torrent {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1225
 msgid "Unable to connect to I2P!"
 msgstr "Kan niet verbinden met I2P!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:886
+#: ../java/src/org/klomp/snark/SnarkManager.java:1231
 #, java-format
 msgid "Unable to add {0}"
 msgstr "Kan {0} niet toevoegen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:196
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark - Anonieme BitTorrent Client"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:209
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:218
 msgid "Torrents"
 msgstr "Torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:212
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:219
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1003
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
 msgid "I2PSnark"
 msgstr "I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:216
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:225
 msgid "Refresh page"
 msgstr "Ververs pagina"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:230
 msgid "Forum"
 msgstr "Forum"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:275
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1698
 msgid "Status"
 msgstr "Status"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:281
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:283
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:292
 msgid "Hide Peers"
 msgstr "Verberg Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:288
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:299
 msgid "Show Peers"
 msgstr "Toon Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1638
 msgid "Torrent"
 msgstr "Torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:301
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
 msgid "Estimated time remaining"
 msgstr "Schatting resterende tijd"
 
 #. Translators: Please keep short or translate as " "
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:313
 msgid "ETA"
 msgstr "ETA"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:308
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
 msgid "Downloaded"
 msgstr "Gedownload"
 
 #. Translators: Please keep short or translate as " "
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:325
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:334
 msgid "RX"
 msgstr "RX"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:315
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
 msgid "Uploaded"
 msgstr "Geupload"
 
 #. Translators: Please keep short or translate as " "
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:318
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:335
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:327
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:344
 msgid "TX"
 msgstr "TX"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:323
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:332
 msgid "Down Rate"
 msgstr "Down Snelheid"
 
 #. Translators: Please keep short or translate as " "
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:328
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:337
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
 msgid "Rate"
 msgstr "Rato"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:333
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
 msgid "Up Rate"
 msgstr "Up Snelheid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:355
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:364
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "Stop alle torrents en de I2P tunnel"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:357
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366
 msgid "Stop All"
 msgstr "Stop Alle"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375
 msgid "Start all torrents and the I2P tunnel"
 msgstr "Start alle torrents en de I2P tunnel"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:368
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
 msgid "Start All"
 msgstr "Start Alle"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:387
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:396
 msgid "No torrents loaded."
 msgstr "Geen torrents geladen."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:392
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:401
 msgid "Totals"
 msgstr "Totalen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:403
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
 msgstr[0] "1 torrent"
 msgstr[1] "{0} torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:397
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
 msgstr[0] "1 verbonden peer"
 msgstr[1] "{0} verbonden peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:480
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:495
 #, java-format
-msgid "Fetching {0}"
-msgstr "Downloaden {0}"
+msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
+msgstr "Ongeldige URL: moet beginnen met \"http://\", \"{0}\", of \"{1}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:484
-msgid "Invalid URL - must start with http://"
-msgstr "Ongeldige URL - moet beginnen met http://"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:515
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:570
 #, java-format
-msgid "Starting up torrent {0}"
-msgstr "Starten met torrent {0}"
+msgid "Magnet deleted: {0}"
+msgstr "Magnet verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:553
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "Torrent bestand verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:559
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:592
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "Data bestand verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:561
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:571
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:594
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "Kan data bestand niet verwijderen: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:603
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "Data directory verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
 msgid "Error creating torrent - you must select a tracker"
 msgstr "Fout bij maken van torrent - je moet een tracker selecteren"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "Torrent gemaakt voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654
 #, java-format
 msgid ""
 "Many I2P trackers require you to register new torrents before seeding - "
@@ -413,88 +467,89 @@ msgstr ""
 "Veel I2P trackers vereisen dat je de nieuwe torrent registreert voor het "
 "seeden - doe dit voordat je \"{0}\" start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:633
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "Fout bij het maken van een torrent voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "Kan geen torrent maken voor niet-bestaande data: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:639
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
 msgid "Error creating torrent - you must enter a file or directory"
 msgstr ""
 "Fout bij het maken van de torrent - je moet een bestand of directory invullen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "Stoppen van alle torrents en sluiten van I2P tunnel."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:653
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676
 msgid "I2P tunnel closed."
 msgstr "I2P tunnel gesloten."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "Openen van de I2P tunnel en starten van alle torrents."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:802
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:813
 msgid "Tracker Error"
 msgstr "Tracker Fout"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:788
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:804
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:816
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:820
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:809
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:825
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:829
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:842
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:846
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
 msgstr[0] "1 peer"
 msgstr[1] "{0} peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:806
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823
 msgid "Seeding"
 msgstr "Seeding"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1559
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1644
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749
 msgid "Complete"
 msgstr "Voltooid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:813
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:830
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:835
 msgid "OK"
 msgstr "OK"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:822
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:839
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:844
 msgid "Stalled"
 msgstr "Vastgelopen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:831
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:834
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851
 msgid "No Peers"
 msgstr "Geen Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:836
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
 msgid "Stopped"
 msgstr "Gestopt"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:863
-#, java-format
-msgid "Details at {0} tracker"
-msgstr "Details op de {0} tracker"
-
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864
+msgid "Torrent details"
+msgstr "Torrent details"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139
 msgid "Info"
 msgstr "Info"
 
@@ -506,28 +561,28 @@ msgstr "Bekijk bestanden"
 msgid "Open file"
 msgstr "Open bestand"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:891
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785
 msgid "Open"
 msgstr "Open"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:935
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939
 msgid "Stop the torrent"
 msgstr "Stop de torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:937
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
 msgid "Stop"
 msgstr "Stop"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:947
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
 msgid "Start the torrent"
 msgstr "Start de torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:949
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:952
 msgid "Start"
 msgstr "Start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:959
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:962
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr ""
 "Verwijder de torrent van de actieve lijst, het .torrent bestand wordt "
@@ -536,7 +591,7 @@ msgstr ""
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:964
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
 #, java-format
 msgid ""
 "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
@@ -545,18 +600,18 @@ msgstr ""
 "Weet je zeker dat je het bestand \\''{0}.torrent\\'' wilt verwijderen "
 "(gedownloade data zal niet worden verwijderd) ?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970
 msgid "Remove"
 msgstr "Weghalen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:976
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "Verwijder het .torrent bestand en de gerelateerde data bestand(en)"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:981
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985
 #, java-format
 msgid ""
 "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
@@ -565,151 +620,162 @@ msgstr ""
 "Weet je zeker dat je de torrent \\''{0}\\'' en alle gedownloade data wilt "
 "verwijderen?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:984
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Unknown"
 msgstr "Onbekend"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1027
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033
 msgid "Seed"
 msgstr "Seed"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1045
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "Niet interessant (De peer heeft geen stukken die we nodig hebben)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1047
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "Verstikt (De peer laat ons niet toe om stukken op te vragen)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "Niet geïnteresseerd (We heben geen stukken die de peer nodig heeft)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1063
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "Verstikt (We laten de peer niet toe om stukken op te vragen)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1118
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
+#, java-format
+msgid "Details at {0} tracker"
+msgstr "Details op de {0} tracker"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1167
 msgid "Add Torrent"
 msgstr "Torrent Toevoegen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1120
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169
 msgid "From URL"
 msgstr "Van URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1123
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1172
 msgid "Torrent file must originate from an I2P-based tracker"
 msgstr "Torrent bestand moet vaan een I2P tracker komen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1128
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1177
 msgid "Add torrent"
 msgstr "Torrent toevoegen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
 #, java-format
 msgid "You can also copy .torrent files to: {0}."
 msgstr "Je kan ook .torrent bestanden kopieren naar: {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1133
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1182
 msgid "Removing a .torrent will cause it to stop."
 msgstr "Verwijderen van een .torrent zorgt dat deze stopt."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1157
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205
 msgid "Create Torrent"
 msgstr "Creëer Torrent"
 
 #. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208
 msgid "Data to seed"
 msgstr "Data om te seeden"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1164
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212
 msgid "File or directory to seed (must be within the specified path)"
 msgstr ""
 "Bestand of directory om te seeden (moet binnen het gespecificeerde pad zijn)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1214
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
 msgid "Tracker"
 msgstr "Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216
 msgid "Select a tracker"
 msgstr "Selecteer een tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181
+#. out.write(_("Open trackers and DHT only"));
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221
+msgid "Open trackers only"
+msgstr "Alleen Open trackers"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1236
 msgid "or"
 msgstr "of"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239
 msgid "Specify custom tracker announce URL"
 msgstr "Specificeer aangepaste tracker aankondigings URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1187
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
 msgid "Create torrent"
 msgstr "Creëer torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1206
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399
 msgid "Configuration"
 msgstr "Configuratie"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1210
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1264
 msgid "Data directory"
 msgstr "Data directory"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
 msgid "Edit i2psnark.config and restart to change"
 msgstr "Bewerk i2psnark.config en herstart de wijziging"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
 msgid "Auto start"
 msgstr "Auto start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274
 msgid "If checked, automatically start torrents that are added"
 msgstr "Indien aangevinkt, start toegevoegde torrents automatisch"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1224
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
 msgid "Theme"
 msgstr "Thema"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
 msgid "Startup delay"
 msgstr "Startup vertraging"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293
 msgid "minutes"
 msgstr "minuten"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1263
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
 msgid "Total uploader limit"
 msgstr "Totale uploader limiet"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
 msgid "peers"
 msgstr "peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324
 msgid "Up bandwidth limit"
 msgstr "Up bandbreedte limiet"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327
 msgid "Half available bandwidth recommended."
 msgstr "Helft van beschikbare bandbreedte aanbevolen."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1275
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329
 msgid "View or change router bandwidth"
 msgstr "Bekijk of wijzig router bandbreedte"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333
 msgid "Use open trackers also"
 msgstr "Gebruik ook open trackers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337
 msgid ""
 "If checked, announce torrents to open trackers as well as the tracker listed "
 "in the torrent file"
@@ -717,123 +783,151 @@ msgstr ""
 "Indien aangevinkt, kondig torrents ook aan bij de tracker uit het torrent "
 "bestand"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341
 msgid "Open tracker announce URLs"
 msgstr "Open tracker aankondigings URLs"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1299
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1353
 msgid "Inbound Settings"
 msgstr "Inkomende Instellingen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1305
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359
 msgid "Outbound Settings"
 msgstr "Uitgaande Instellingen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1312
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367
 msgid "I2CP host"
 msgstr "I2CP host"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1372
 msgid "I2CP port"
 msgstr "I2CP poort"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1385
 msgid "I2CP options"
 msgstr "I2CP opties"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1334
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390
 msgid "Save configuration"
 msgstr "Configuratie opslaan"
 
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1415
+#, java-format
+msgid "Invalid magnet URL {0}"
+msgstr "Ongeldige magnet URL {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1449
+#, java-format
+msgid "Invalid info hash in magnet URL {0}"
+msgstr "Ongeldige info hash in magnet URL {0}"
+
 #. * dummies for translation
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
 msgstr[0] "1 hop"
 msgstr[1] "{0} hops"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1352
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
 msgstr[0] "1 tunnel"
 msgstr[1] "{0} tunnels"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1506
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642
+msgid "Completion"
+msgstr "Voltooiing"
+
+#. else unknown
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1646
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1695
 msgid "Size"
 msgstr "Grootte"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1513
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1651
+msgid "Files"
+msgstr "Bestanden"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1653
+msgid "Pieces"
+msgstr "Stukken"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1654
+msgid "Piece size"
+msgstr "Stukgrootte"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676
+msgid "Magnet link"
+msgstr "Magnet link"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1732
+msgid "Directory"
+msgstr "Directory"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702
 msgid "Priority"
 msgstr "Prioriteit"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1518
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1707
 msgid "Up to higher level directory"
 msgstr "Naar bovenliggende directory"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543
-msgid "Directory"
-msgstr "Directory"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1737
 msgid "Torrent not found?"
 msgstr "Torrent niet gevonden?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
 msgid "File not found in torrent?"
 msgstr "Bestand niet gevonden in torrent?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
 msgid "complete"
 msgstr "voltooid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1570
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760
 msgid "bytes remaining"
 msgstr "bytes resterend"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1621
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1811
 msgid "High"
 msgstr "Hoog"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1626
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816
 msgid "Normal"
 msgstr "Normaal"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1631
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821
 msgid "Skip"
 msgstr "Overslaan"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1640
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830
 msgid "Save priorities"
 msgstr "Prioriteiten opslaan"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1752
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "Torrent gedownload van {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1772
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967
 #, java-format
 msgid "Torrent already running: {0}"
 msgstr "Torrent draait al: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1774
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969
 #, java-format
 msgid "Torrent already in the queue: {0}"
 msgstr "Torrent zit al in de wachtrij: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1781
-#, java-format
-msgid "Failed to copy torrent file to {0}"
-msgstr "Kan het torrent bestand niet kopieren naar {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "Torrent op {0} was niet geldig"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1790
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "Torrent was niet ontvangen van {0}"
diff --git a/apps/i2psnark/locale/messages_zh.po b/apps/i2psnark/locale/messages_zh.po
index b649d8c589e5bc2f7e0ca0a90f6b16faa08d619f..dfca408cd9331f3c7b506d77e5f21a215c3b7de5 100644
--- a/apps/i2psnark/locale/messages_zh.po
+++ b/apps/i2psnark/locale/messages_zh.po
@@ -8,9 +8,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-04 02:45+0000\n"
-"PO-Revision-Date: 2010-10-04 12:00+0800\n"
-"Last-Translator: walking <walking@mail.i2p>\n"
+"POT-Creation-Date: 2011-02-12 11:39+0000\n"
+"PO-Revision-Date: 2011-02-12 20:08+0800\n"
+"Last-Translator: \n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,795 +18,1012 @@ msgstr ""
 "X-Poedit-Language: Chinese\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:88
-#, java-format
-msgid "Adding torrents in {0} minutes"
-msgstr "{0}分钟内完成添加"
-
-#: ../java/src/org/klomp/snark/SnarkManager.java:258
+#: ../java/src/org/klomp/snark/SnarkManager.java:307
 #, java-format
 msgid "Total uploaders limit changed to {0}"
 msgstr "总上传种子数限制已更新为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:260
+#: ../java/src/org/klomp/snark/SnarkManager.java:309
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
 msgstr "最低上传种子数限制为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:272
+#: ../java/src/org/klomp/snark/SnarkManager.java:321
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "上传带宽限制改为 {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:274
+#: ../java/src/org/klomp/snark/SnarkManager.java:323
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "最小上传带宽限制为 {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:286
+#: ../java/src/org/klomp/snark/SnarkManager.java:335
 #, java-format
-msgid "Startup delay limit changed to {0} minutes"
-msgstr "启动延迟已更新为{0}"
+msgid "Startup delay changed to {0}"
+msgstr "下载前的延迟已更新为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:333
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
 msgstr "I2CP与隧道设置的变化在所有种子停止后才能生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:339
+#: ../java/src/org/klomp/snark/SnarkManager.java:393
 msgid "Disconnecting old I2CP destination"
 msgstr "正在断开旧的I2CP目标"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:343
+#: ../java/src/org/klomp/snark/SnarkManager.java:397
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "I2CP设置改为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:347
+#: ../java/src/org/klomp/snark/SnarkManager.java:402
 msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
 msgstr "无法通过新设置连接,恢复I2CP的旧设置"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:351
+#: ../java/src/org/klomp/snark/SnarkManager.java:406
 msgid "Unable to reconnect with the old settings!"
 msgstr "旧设置也无法连接!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:353
+#: ../java/src/org/klomp/snark/SnarkManager.java:408
 msgid "Reconnected on the new I2CP destination"
 msgstr "重新连接新I2CP目标"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:364
+#: ../java/src/org/klomp/snark/SnarkManager.java:418
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "\"{0}\"的I2CP监听端口已启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:375
+#: ../java/src/org/klomp/snark/SnarkManager.java:429
 msgid "Enabled autostart"
 msgstr "启用自动启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:377
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Disabled autostart"
 msgstr "禁用自动启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:383
+#: ../java/src/org/klomp/snark/SnarkManager.java:437
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "启用OpenTracker-重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:385
+#: ../java/src/org/klomp/snark/SnarkManager.java:439
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "禁用OpenTracker - 重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:392
+#: ../java/src/org/klomp/snark/SnarkManager.java:447
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "OpenTracker列表已改变 - 重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:399
+#: ../java/src/org/klomp/snark/SnarkManager.java:454
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr "{0} 主题已加载,浏览效果请到 i2psnark 主页。"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:461
 msgid "Configuration unchanged."
 msgstr "设置未改变"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:409
+#: ../java/src/org/klomp/snark/SnarkManager.java:471
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "无法保存设置到{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:445
+#: ../java/src/org/klomp/snark/SnarkManager.java:536
 msgid "Connecting to I2P"
 msgstr "正在连接到I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:448
+#: ../java/src/org/klomp/snark/SnarkManager.java:539
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "连接I2P时发生错误 - 请检查I2CP设置!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:457
+#: ../java/src/org/klomp/snark/SnarkManager.java:548
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "错误:无法添加种子{0}"
 
 #. catch this here so we don't try do delete it below
-#: ../java/src/org/klomp/snark/SnarkManager.java:479
+#: ../java/src/org/klomp/snark/SnarkManager.java:570
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "无法打开 \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:492
+#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
+#: ../java/src/org/klomp/snark/SnarkManager.java:586
+#: ../java/src/org/klomp/snark/SnarkManager.java:661
+#: ../java/src/org/klomp/snark/SnarkManager.java:716
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954
+#, java-format
+msgid "Torrent with this info hash is already running: {0}"
+msgstr "具有相同Hash链接的种子已在下载中:{0}"
+
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:593
 #, java-format
-msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only"
-msgstr "警告 - 忽略\"{0}\"文件中I2P网络外的Tracker服务器,文件将仅发布至 I2P 内的 Open Tracker 服务器。"
+msgid "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only."
+msgstr "提示 - “{0}”文件中不包含 I2P Tracker服务器,文件将仅发布至 I2P 的 Open Tracker 。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:494
+#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
+#: ../java/src/org/klomp/snark/SnarkManager.java:598
 #, 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。"
+msgid "Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent."
+msgstr "警告 -“{0}”中不包含 I2P Tracker 服务器,下载此种子请先启用 Open Tracker。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:513
+#: ../java/src/org/klomp/snark/SnarkManager.java:619
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "无效种子 \"{0}\" "
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:528
+#: ../java/src/org/klomp/snark/SnarkManager.java:624
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1977
+#, java-format
+msgid "ERROR - Out of memory, cannot create torrent from {0}"
+msgstr "错误: 内存不足,无法为 {0} 创建种子。"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:635
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "已添加并启动种子:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:530
+#: ../java/src/org/klomp/snark/SnarkManager.java:637
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "已添加种子:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:627
+#: ../java/src/org/klomp/snark/SnarkManager.java:672
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
+#, java-format
+msgid "Fetching {0}"
+msgstr "正在获取{0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:675
+#, java-format
+msgid "We have no saved peers and no other torrents are running. Fetch of {0} will not succeed until you start another torrent."
+msgstr "程序还不知道其他客户端的存在,目前也没有其他种子正在运行。在您启动其他种子前文件 {0} 无法成功下载。"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:679
+#, java-format
+msgid "Adding {0}"
+msgstr "正在添加{0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:726
+#: ../java/src/org/klomp/snark/SnarkManager.java:749
+#: ../java/src/org/klomp/snark/SnarkManager.java:1174
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr "无法复制种子文件到{0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:972
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "\"{0}\" ({1}) 含有太多文件,删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:629
+#: ../java/src/org/klomp/snark/SnarkManager.java:974
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
 msgstr "种子文件 \"{0}\" 不以 \".torrent\"结尾,正在删除!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:631
+#: ../java/src/org/klomp/snark/SnarkManager.java:976
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "\"{0}\" 中没有数据片,删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:633
+#: ../java/src/org/klomp/snark/SnarkManager.java:978
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "\"{0}\" 中文件分片太多,限额为{1},删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:635
+#: ../java/src/org/klomp/snark/SnarkManager.java:980
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "\"{0}\" ({1}B) 中文件分片过大,删除之。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:636
+#: ../java/src/org/klomp/snark/SnarkManager.java:981
 #, java-format
 msgid "Limit is {0}B"
 msgstr "限额为 {0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:644
+#: ../java/src/org/klomp/snark/SnarkManager.java:989
 #, 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:660
+#: ../java/src/org/klomp/snark/SnarkManager.java:1005
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "错误:无法删除种子{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:681
+#: ../java/src/org/klomp/snark/SnarkManager.java:1026
+#: ../java/src/org/klomp/snark/SnarkManager.java:1044
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "种子已停止:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:696
+#: ../java/src/org/klomp/snark/SnarkManager.java:1065
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "种子已删除:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:729
+#: ../java/src/org/klomp/snark/SnarkManager.java:1073
 #, java-format
-msgid "Download finished: \"{0}\""
-msgstr "下载已完成:\"{0}\""
+msgid "Adding torrents in {0}"
+msgstr "{0} 分钟内完成添加"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:729
+#: ../java/src/org/klomp/snark/SnarkManager.java:1122
 #, java-format
-msgid "size: {0}B"
-msgstr "大小:{0}B"
+msgid "Download finished: {0}"
+msgstr "下载已完成: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:757
+#: ../java/src/org/klomp/snark/SnarkManager.java:1170
+#, java-format
+msgid "Metainfo received for {0}"
+msgstr "已获得 {0} 的 Metainfo"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1171
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524
+#, java-format
+msgid "Starting up torrent {0}"
+msgstr "正在启动种子{0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:1225
 msgid "Unable to connect to I2P!"
 msgstr "无法连接至I2P!"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:174
+#: ../java/src/org/klomp/snark/SnarkManager.java:1231
+#, java-format
+msgid "Unable to add {0}"
+msgstr "添加{0}失败"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark - 匿名BitTorrent客户端"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:218
 msgid "Torrents"
 msgstr "种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
 msgid "I2PSnark"
-msgstr ""
+msgstr "I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:191
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:225
 msgid "Refresh page"
 msgstr "刷新页面"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:193
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/arrow_refresh.png\"> I2PSnark"
-msgstr ""
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:195
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:230
 msgid "Forum"
 msgstr "论坛"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:240
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title=\"Torrent Status\">Status"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title=\"种子状态\">状态"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/showpeers.png\" title=\"Toggle Peer Visibility\" alt=\"Hide Peers\">"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/showpeers.png\" title=\"隐藏节点\" alt=\"隐藏节点\">"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:249
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/hidepeers.png\" title=\"Toggle Peer Visibility\" alt=\"Show Peers\">"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/hidepeers.png\" title=\"显示节点\" alt=\"显示节点\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1698
+msgid "Status"
+msgstr "状态"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/torrent.png\" title=\"Loaded Torrents\">Torrent"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/torrent.png\" title=\"载入的种子\">种子"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:292
+msgid "Hide Peers"
+msgstr "隐藏用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:256
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title=\"Estimated Download Time\">ETA"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title=\"预计剩余时间\">预计剩余时间"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:258
-msgid "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Data Downloaded\">RX"
-msgstr "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"下载数据量\">下载"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:299
+msgid "Show Peers"
+msgstr "显示用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:260
-msgid "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Data Uploaded\">TX"
-msgstr "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"上传数据量\">上传"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1638
+msgid "Torrent"
+msgstr "种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:262
-msgid "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Download Speed\">Rate"
-msgstr "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"下载速度\">下载速度"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
+msgid "Estimated time remaining"
+msgstr "预计剩余时间"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:313
+msgid "ETA"
+msgstr "预计剩余时间"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+msgid "Downloaded"
+msgstr "已下载"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:334
+msgid "RX"
+msgstr "已接收"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
+msgid "Uploaded"
+msgstr "已上传"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:327
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:344
+msgid "TX"
+msgstr "已发送"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:332
+msgid "Down Rate"
+msgstr "下载速度"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:337
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
+msgid "Rate"
+msgstr "速度"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
-msgid "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Upload Speed\">Rate"
-msgstr "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"上传速度\">上传速度"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
+msgid "Up Rate"
+msgstr "上传速度"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:271
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:364
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "停止全部种子及I2P隧道"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273
-msgid "<img src=\"/themes/console/snark/images/stop_all.png\" title=\"Stop All Torrents\" alt=\"Stop All\">"
-msgstr "<img src=\"/themes/console/snark/images/stop_all.png\" title=\"全部停止\" alt=\"全部停止\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366
+msgid "Stop All"
+msgstr "停止全部"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:278
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375
 msgid "Start all torrents and the I2P tunnel"
 msgstr "启动全部种子及I2P隧道"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:280
-msgid "<img src=\"/themes/console/snark/images/start_all.png\" title=\"Start All Torrents\" alt=\"Start All\">"
-msgstr "<img src=\"/themes/console/snark/images/start_all.png\" title=\"全部开始\" alt=\"全部开始\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
+msgid "Start All"
+msgstr "启动全部"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:396
 msgid "No torrents loaded."
 msgstr "未载入任何种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:302
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:401
 msgid "Totals"
 msgstr "总计"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:403
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
 msgstr[0] "{0}个种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
 msgstr[0] "{0}个已连接用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:336
-#, java-format
-msgid "Torrent file {0} does not exist"
-msgstr "种子文件{0}不存在"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1481
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:495
 #, java-format
-msgid "Torrent already running: {0}"
-msgstr "种子已启动:{0}"
+msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
+msgstr "无效链接 - 链接必须以“http://”,“{0}”或“{1}”开头"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:348
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:570
 #, java-format
-msgid "Torrent already in the queue: {0}"
-msgstr "种子排队中:{0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:352
-#, java-format
-msgid "Copying torrent to {0}"
-msgstr "正在复制种子到{0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:355
-#, java-format
-msgid "Unable to copy the torrent to {0}"
-msgstr "无法复制种子文件到{0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:355
-#, java-format
-msgid "from {0}"
-msgstr "来源{0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:363
-#, java-format
-msgid "Fetching {0}"
-msgstr "正在获取{0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:367
-msgid "Invalid URL - must start with http://"
-msgstr "无效链接 - 必须以http:// 开头"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:397
-#, java-format
-msgid "Starting up torrent {0}"
-msgstr "正在启动种子{0}"
+msgid "Magnet deleted: {0}"
+msgstr "Magnet 已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:417
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:435
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "种子文件已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:441
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:592
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "数据文件已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:443
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:453
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:594
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "无法删除数据文件:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:603
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "数据文件夹已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:494
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
 msgid "Error creating torrent - you must select a tracker"
 msgstr "创建种子时发生错误 - 您必须选择一个Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "种子创建成功\"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654
 #, 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:514
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "创建种子时发生错误 \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:517
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "无法为不存在的数据文件创建种子:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:520
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
 msgid "Error creating torrent - you must enter a file or directory"
 msgstr "创建种子时发生错误 - 必须指定文件或文件夹"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:523
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "正在停用所有种子并关闭I2P隧道。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:532
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676
 msgid "I2P tunnel closed."
 msgstr "I2P隧道已关闭"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "正在打开I2P隧道并启动所有种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851
-msgid "Unknown"
-msgstr "未知"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:660
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:670
-msgid "TrackerErr"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:802
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:813
+msgid "Tracker Error"
 msgstr "Tracker错误"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:663
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:666
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:677
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:691
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:696
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:699
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:809
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:825
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:842
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:846
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
 msgstr[0] "{0}个用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823
 msgid "Seeding"
 msgstr "正做种"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:682
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1644
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749
 msgid "Complete"
 msgstr "完成"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:685
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:690
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:830
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:835
 msgid "OK"
 msgstr "确定"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:693
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:698
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:839
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:844
 msgid "Stalled"
 msgstr "等待"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:701
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851
 msgid "No Peers"
 msgstr "没有用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:703
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
 msgid "Stopped"
 msgstr "已停用"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:718
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864
+msgid "Torrent details"
+msgstr "种子详情"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139
+msgid "Info"
+msgstr "信息"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
 msgid "View files"
 msgstr "浏览文件"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:720
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
 msgid "Open file"
 msgstr "打开文件"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:750
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
-msgid "Tracker"
-msgstr "Tracker服务器"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:751
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/details.png\">"
-msgstr ""
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785
+msgid "Open"
+msgstr "打开"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939
 msgid "Stop the torrent"
 msgstr "停止种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
-msgid "<img src=\"/themes/console/snark/images/stop.png\" title=\"Stop Torrent\" alt=\"Stop\">"
-msgstr "<img src=\"/themes/console/snark/images/stop.png\" title=\"停止下载\" alt=\"停止\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
+msgid "Stop"
+msgstr "停止"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:793
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
 msgid "Start the torrent"
 msgstr "启动种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:795
-msgid "<img src=\"/themes/console/snark/images/start.png\" title=\"Start Torrent\" alt=\"Start\">"
-msgstr "<img src=\"/themes/console/snark/images/start.png\" title=\"开始下载\" alt=\"开始\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:952
+msgid "Start"
+msgstr "启动"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:800
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:962
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr "取消下载任务并删除对应种子文件。"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
 #, 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:807
-msgid "<img src=\"/themes/console/snark/images/remove.png\" title=\"Remove Torrent\" alt=\"Remove\">"
-msgstr "<img src=\"/themes/console/snark/images/remove.png\" title=\"删除种子\" alt=\"删除种子\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970
+msgid "Remove"
+msgstr "移除"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "删除种子及所下载的文件"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:816
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985
 #, 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:818
-msgid "<img src=\"/themes/console/snark/images/delete.png\" title=\"Delete Torrent + Data\" alt=\"Delete\">"
-msgstr "<img src=\"/themes/console/snark/images/delete.png\" title=\"删除种子 + 数据\" alt=\"删除种子 + 数据\">"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
+msgid "Delete"
+msgstr "删除"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:861
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
+msgid "Unknown"
+msgstr "未知"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033
 msgid "Seed"
 msgstr "种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "无需要部分"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "拒绝请求"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:895
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "无需要部分"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:897
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "拒绝请求"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:927
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/add.png\">Add Torrent"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/add.png\">添加种子"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
+#, java-format
+msgid "Details at {0} tracker"
+msgstr "Tracker {0} 上的详细信息"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1167
+msgid "Add Torrent"
+msgstr "添加种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:929
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169
 msgid "From URL"
 msgstr "从URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:934
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1172
+msgid "Torrent file must originate from an I2P-based tracker"
+msgstr "种子文件必须来在I2P内网中的Tracker服务器。"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1177
 msgid "Add torrent"
 msgstr "添加种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:937
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
 #, java-format
-msgid "You can also copy .torrent files to: <code>{0}"
-msgstr "或者您可以将.torrent文件复制到<code>{0}."
+msgid "You can also copy .torrent files to: {0}."
+msgstr "您也可以将.torrent文件复制到: {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1182
 msgid "Removing a .torrent will cause it to stop."
 msgstr "删除种子文件将导致该下载任务中止。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/create.png\">Create Torrent"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/create.png\">创建种子"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205
+msgid "Create Torrent"
+msgstr "创建种子"
 
 #. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208
 msgid "Data to seed"
 msgstr "做种数据"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:965
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212
 msgid "File or directory to seed (must be within the specified path)"
 msgstr "做种文件或文件夹(必须下面为Snark指定的文件夹中)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:969
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1214
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
+msgid "Tracker"
+msgstr "Tracker服务器"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216
 msgid "Select a tracker"
 msgstr "选择一个Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:982
-msgid "or&nbsp;"
-msgstr "或&nbsp;"
+#. out.write(_("Open trackers and DHT only"));
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221
+msgid "Open trackers only"
+msgstr "仅通过 Open Tracker发布链接"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1236
+msgid "or"
+msgstr "或"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239
 msgid "Specify custom tracker announce URL"
 msgstr "指定Open Tracker发布链接"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
 msgid "Create torrent"
 msgstr "创建种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1006
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1133
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/config.png\">Configuration"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/config.png\">设置"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399
+msgid "Configuration"
+msgstr "设置"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1264
 msgid "Data directory"
 msgstr "数据文件夹"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1012
-msgid "Directory to store torrents and data"
-msgstr "种子及被做种文件的保存位置。"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
 msgid "Edit i2psnark.config and restart to change"
 msgstr "编辑 i2psnark.config 并重启Snark后生效"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
 msgid "Auto start"
 msgstr "自动启动"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274
 msgid "If checked, automatically start torrents that are added"
 msgstr "选中后Snark将自动启动已添加的所有种子。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
+msgid "Theme"
+msgstr "主题"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
 msgid "Startup delay"
 msgstr "启动延迟"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1028
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293
 msgid "minutes"
 msgstr "分"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1052
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
 msgid "Total uploader limit"
 msgstr "限制总上传种子数为"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
 msgid "peers"
 msgstr "用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1059
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324
 msgid "Up bandwidth limit"
 msgstr "上传带宽限制"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1062
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327
 msgid "Half available bandwidth recommended."
 msgstr "推荐设置为可用带宽的一半。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1064
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329
 msgid "View or change router bandwidth"
 msgstr "浏览或修改路由器带宽"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333
 msgid "Use open trackers also"
 msgstr "同时使用OpenTracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337
 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:1076
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341
 msgid "Open tracker announce URLs"
 msgstr "Open Tracker发布链接"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1088
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1353
 msgid "Inbound Settings"
 msgstr "入站设置"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359
 msgid "Outbound Settings"
 msgstr "出站设置"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367
 msgid "I2CP host"
 msgstr "I2CP主机"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1106
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1372
 msgid "I2CP port"
 msgstr "I2CP端口"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1118
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1385
 msgid "I2CP options"
 msgstr "I2CP选项"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1124
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390
 msgid "Save configuration"
 msgstr "保存设置"
 
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1415
+#, java-format
+msgid "Invalid magnet URL {0}"
+msgstr "磁性链接 {0} 无效"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1449
+#, java-format
+msgid "Invalid info hash in magnet URL {0}"
+msgstr "magnet磁性链接“{0}”中的hash信息有误。"
+
 #. * dummies for translation
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1141
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
 msgstr[0] "{0}è·³"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
 msgstr[0] "{0}隧道"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271
-msgid "Torrent"
-msgstr "种子"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642
+msgid "Completion"
+msgstr "完成"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/file.png\" title=\"File\" alt=\"File\">&nbsp;"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/file.png\" title=\"文件\" alt=\"文件\">&nbsp;"
+#. else unknown
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1646
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1695
+msgid "Size"
+msgstr "大小"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/size.png\" title=\"FileSize\" alt=\"FileSize\">Size"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/size.png\" title=\"文件大小\" alt=\"文件大小\">大小"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1651
+msgid "Files"
+msgstr "文件"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1653
+msgid "Pieces"
+msgstr "分块数量"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279
-msgid "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title=\"Download Status\">Status"
-msgstr "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title=\"下载状态\">状态"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1654
+msgid "Piece size"
+msgstr "分块大小"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676
+msgid "Magnet link"
+msgstr "Magnet磁性链接"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1732
 msgid "Directory"
 msgstr "文件夹"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1306
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702
+msgid "Priority"
+msgstr "优先级"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1707
+msgid "Up to higher level directory"
+msgstr "上一层文件夹"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1737
 msgid "Torrent not found?"
 msgstr "种子未找到"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
 msgid "File not found in torrent?"
 msgstr "种子中没有发现文件?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
 msgid "complete"
 msgstr "完成"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1321
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760
 msgid "bytes remaining"
 msgstr "剩余字节数"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1373
-msgid "Up to higher level directory"
-msgstr "上一层文件夹"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1811
+msgid "High"
+msgstr "高"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816
+msgid "Normal"
+msgstr "普通"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821
+msgid "Skip"
+msgstr "跳过"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830
+msgid "Save priorities"
+msgstr "保存优先级"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1461
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "从{0}获取种子成功"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967
+#, java-format
+msgid "Torrent already running: {0}"
+msgstr "种子已启动:{0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969
+#, java-format
+msgid "Torrent already in the queue: {0}"
+msgstr "种子排队中:{0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "{0}的种子中有错误"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1494
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "从{0}获得种子失败"
 
-#~ msgid "Status"
-#~ msgstr "状态"
-#~ msgid "Hide Peers"
-#~ msgstr "隐藏用户"
-#~ msgid "Show Peers"
-#~ msgstr "显示用户"
-#~ msgid "ETA"
-#~ msgstr "预计剩余时间"
-#~ msgid "Downloaded"
-#~ msgstr "已下载"
-#~ msgid "Uploaded"
-#~ msgstr "已上传"
-#~ msgid "Down Rate"
-#~ msgstr "下载速度"
-#~ msgid "Up Rate"
-#~ msgstr "上传速度"
-#~ msgid "Stop All"
-#~ msgstr "停止全部"
-#~ msgid "Start All"
-#~ msgstr "启动全部"
+#~ msgid "size: {0}B"
+#~ msgstr "大小:{0}B"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title="
+#~ "\"Torrent Status\">Status"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title="
+#~ "\"种子状态\">状态"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/showpeers.png\" "
+#~ "title=\"Toggle Peer Visibility\" alt=\"Hide Peers\">"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/showpeers.png\" "
+#~ "title=\"隐藏节点\" alt=\"隐藏节点\">"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/hidepeers.png\" "
+#~ "title=\"Toggle Peer Visibility\" alt=\"Show Peers\">"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/hidepeers.png\" "
+#~ "title=\"显示节点\" alt=\"显示节点\">"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/torrent.png\" title="
+#~ "\"Loaded Torrents\">Torrent"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/torrent.png\" title="
+#~ "\"载入的种子\">种子"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title="
+#~ "\"Estimated Download Time\">ETA"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title=\"预"
+#~ "计剩余时间\">预计剩余时间"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Data "
+#~ "Downloaded\">RX"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"下载"
+#~ "数据量\">下载"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title="
+#~ "\"Data Uploaded\">TX"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"上传"
+#~ "数据量\">上传"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title="
+#~ "\"Download Speed\">Rate"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"下载"
+#~ "速度\">下载速度"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title="
+#~ "\"Upload Speed\">Rate"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"上传"
+#~ "速度\">上传速度"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/stop_all.png\" title=\"Stop All "
+#~ "Torrents\" alt=\"Stop All\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/stop_all.png\" title=\"全部停止\" "
+#~ "alt=\"全部停止\">"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/start_all.png\" title=\"Start All "
+#~ "Torrents\" alt=\"Start All\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/start_all.png\" title=\"全部开始"
+#~ "\" alt=\"全部开始\">"
+#~ msgid "Torrent file {0} does not exist"
+#~ msgstr "种子文件{0}不存在"
+#~ msgid "Copying torrent to {0}"
+#~ msgstr "正在复制种子到{0}"
+#~ msgid "from {0}"
+#~ msgstr "来源{0}"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/stop.png\" title=\"Stop Torrent\" "
+#~ "alt=\"Stop\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/stop.png\" title=\"停止下载\" alt="
+#~ "\"停止\">"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/start.png\" title=\"Start Torrent"
+#~ "\" alt=\"Start\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/start.png\" title=\"开始下载\" "
+#~ "alt=\"开始\">"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/remove.png\" title=\"Remove "
+#~ "Torrent\" alt=\"Remove\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/remove.png\" title=\"删除种子\" "
+#~ "alt=\"删除种子\">"
+#~ msgid ""
+#~ "<img src=\"/themes/console/snark/images/delete.png\" title=\"Delete "
+#~ "Torrent + Data\" alt=\"Delete\">"
+#~ msgstr ""
+#~ "<img src=\"/themes/console/snark/images/delete.png\" title=\"删除种子 + 数"
+#~ "据\" alt=\"删除种子 + 数据\">"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/add.png\">Add Torrent"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/add.png\">添加种子"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/create.png\">Create "
+#~ "Torrent"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/create.png\">创建种子"
+#~ msgid "or&nbsp;"
+#~ msgstr "或&nbsp;"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/config.png"
+#~ "\">Configuration"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/config.png\">设置"
+#~ msgid "Directory to store torrents and data"
+#~ msgstr "种子及被做种文件的保存位置。"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/file.png\" title="
+#~ "\"File\" alt=\"File\">&nbsp;"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/file.png\" title=\"æ–‡"
+#~ "件\" alt=\"文件\">&nbsp;"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/size.png\" title="
+#~ "\"FileSize\" alt=\"FileSize\">Size"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/size.png\" title=\"æ–‡"
+#~ "件大小\" alt=\"文件大小\">大小"
+#~ msgid ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title="
+#~ "\"Download Status\">Status"
+#~ msgstr ""
+#~ "<img border=\"0\" src=\"/themes/console/snark/images/status.png\" title="
+#~ "\"下载状态\">状态"
 #~ msgid "Details"
 #~ msgstr "详情"
-#~ msgid "Stop"
-#~ msgstr "停止"
-#~ msgid "Start"
-#~ msgstr "启动"
-#~ msgid "Remove"
-#~ msgstr "移除"
-#~ msgid "Delete"
-#~ msgstr "删除"
-#~ msgid "Add Torrent"
-#~ msgstr "添加种子"
-#~ msgid "Create Torrent"
-#~ msgstr "创建种子"
-#~ msgid "or"
-#~ msgstr "或"
-#~ msgid "Configuration"
-#~ msgstr "设置"
-#~ msgid "File"
-#~ msgstr "文件"
-#~ msgid "Size"
-#~ msgstr "大小"
 #~ msgid "Cannot change the I2CP settings while torrents are active"
 #~ msgstr "正在下载/上传,无法更改I2CP设置"
 #~ msgid "{0} torrents"
diff --git a/apps/i2ptunnel/java/bmsg.sh b/apps/i2ptunnel/java/bmsg.sh
deleted file mode 100644
index b9d294b32336537241eb2f9953fb65673c93b524..0000000000000000000000000000000000000000
--- a/apps/i2ptunnel/java/bmsg.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Update messages_xx.po and messages_xx.class files,
-# from both java and jsp sources.
-# Requires installed programs xgettext, msgfmt, msgmerge, and find.
-# zzz - public domain
-#
-
-## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
-## need to cd into our orignal path - where we call sh.exe from.
-
-cd $CALLFROM
-## echo $PWD
-
-## except this everything is the same with bundle-message.sh
-## walking - public domain :-D
-
-source bundle-messages.sh $PARAS
\ No newline at end of file
diff --git a/apps/i2ptunnel/java/build.xml b/apps/i2ptunnel/java/build.xml
index f50fadd3e17a6aea43abd6aedc651ca34c7a3e4c..6ff5111002589af771bb522ba2da7706ea7fc274 100644
--- a/apps/i2ptunnel/java/build.xml
+++ b/apps/i2ptunnel/java/build.xml
@@ -48,15 +48,14 @@
     <target name="bundle" depends="compile, precompilejsp">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
-        <exec executable="sh" osfamily="unix" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="sh" osfamily="mac" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
         </exec>
     </target>
 
@@ -70,9 +69,8 @@
             <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
     </target>
@@ -141,6 +139,52 @@
             splitindex="true" 
             windowtitle="I2PTunnel" />
     </target>
+
+    <target name="compileTest">
+        <mkdir dir="./build" />
+        <mkdir dir="./build/obj" />
+        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on" destdir="./build/obj" >
+            <compilerarg line="${javac.compilerargs}" />
+            <classpath>
+                <pathelement location="../../../core/java/build/i2p.jar" />
+                <pathelement location="../../ministreaming/java/build/mstreaming.jar" />
+            </classpath>
+        </javac>
+    </target>
+    <target name="test" depends="clean, compileTest">
+        <junit printsummary="on" fork="yes">
+            <classpath>
+                <pathelement path="${classpath}" />
+                <pathelement location="./build/obj" />
+                <pathelement location="../../../core/java/build/i2p.jar" />
+            </classpath>
+            <batchtest>
+                <fileset dir="./test/">
+                    <include name="**/*Test.java" />
+                </fileset>
+            </batchtest>
+            <formatter type="xml"/>
+        </junit>
+        <mkdir dir="../../../reports/" />
+        <mkdir dir="../../../reports/i2ptunnel/" />
+        <mkdir dir="../../../reports/i2ptunnel/junit/" />
+        <delete>
+            <fileset dir="../../../reports/i2ptunnel/junit">
+                <include name="TEST-*.xml"/>
+            </fileset>
+        </delete>
+        <copy todir="../../../reports/i2ptunnel/junit">
+            <fileset dir=".">
+                <include name="TEST-*.xml"/>
+            </fileset>
+        </copy>
+        <delete>
+            <fileset dir=".">
+                <include name="TEST-*.xml"/>
+            </fileset>
+        </delete>
+    </target>
+
     <target name="clean">
         <delete dir="./build" />
         <delete dir="../jsp/WEB-INF/" />
diff --git a/apps/i2ptunnel/java/bundle-messages.bat b/apps/i2ptunnel/java/bundle-messages.bat
deleted file mode 100644
index 90feca972a6457eebf97f9bdbea6028ac88d7789..0000000000000000000000000000000000000000
--- a/apps/i2ptunnel/java/bundle-messages.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-@echo off
-set Callfrom=%cd%
-set Paras=%1
-
-rem before calling make sure you have msys and mingw 's "bin" path 
-rem in your current searching path
-rem type "set path" to check 
-if not exist ..\locale\*.only goto updateALL
-
-rem put a messages_xx.only(eg messages_zh.only) into locale folder
-rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
-
-for %%i in (..\locale\*.only) do set PO=%%~ni
-echo [Notice] Yu choose to Ony update the choosen file: %PO%.po 
-for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
-
-call sh --login %cd%\bmsg.sh
-
-for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
-goto end
-
-:updateALL
-call sh --login %cd%\bmsg.sh
-
-:end
-echo End of Message Bundling
\ No newline at end of file
diff --git a/apps/i2ptunnel/java/bundle-messages.sh b/apps/i2ptunnel/java/bundle-messages.sh
index 236b0ad0114d1ca9cfcf7903e4f31ed08e8dd4b7..2ee9eba7b6e770d3a9540ea2cad992d5e91cb6e2 100755
--- a/apps/i2ptunnel/java/bundle-messages.sh
+++ b/apps/i2ptunnel/java/bundle-messages.sh
@@ -18,6 +18,17 @@ then
 	POUPDATE=1
 fi
 
+# on windows, one must specify the path of commnad find
+# since windows has its own retarded version of find.
+if which find|grep -q -i windows ; then
+	export PATH=.:/bin:/usr/local/bin:$PATH
+fi
+# Fast mode - update ondemond
+echo Placing a file named messages_{LangCode}.only in locale folder,
+echo will limit .po file update to the language specified by {LangCode}.
+LG2=$(find ../locale -iname messages_*.only|tail -1)
+[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
+
 # add ../java/ so the refs will work in the po file
 JPATHS="../java/src ../jsp/WEB-INF"
 for i in ../locale/messages_*.po
@@ -26,6 +37,11 @@ do
 	LG=${i#../locale/messages_}
 	LG=${LG%.po}
 
+	# skip, if specified
+	if [ $LG2 ]; then
+		[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
+	fi
+
 	if [ "$POUPDATE" = "1" ]
 	then
 		# make list of java files newer than the .po file
@@ -72,15 +88,19 @@ do
 		touch $i
 	fi
 
-	echo "Generating ${CLASS}_$LG ResourceBundle..."
+    if [ "$LG" != "en" ]
+    then
+        # only generate for non-source language
+        echo "Generating ${CLASS}_$LG ResourceBundle..."
 
-	# convert to class files in build/obj
-	msgfmt --java --statistics -r $CLASS -l $LG -d ../jsp/WEB-INF/classes $i
-	if [ $? -ne 0 ]
-	then
-		echo 'Warning - msgfmt failed, not updating translations'
-		break
-	fi
+        # convert to class files in build/obj
+        msgfmt --java --statistics -r $CLASS -l $LG -d ../jsp/WEB-INF/classes $i
+        if [ $? -ne 0 ]
+        then
+            echo 'Warning - msgfmt failed, not updating translations'
+            break
+        fi
+    fi
 done
 rm -f $TMPFILE
 # todo: return failure
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
index 70265a154d2a14fd94169b929921b1a427f00c29..1014a986b71438b91a75c2650be2d156c2041a4e 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
@@ -169,6 +169,9 @@ public class I2PTunnelConnectClient extends I2PTunnelHTTPClientBase implements R
                 // Use this rather than BufferedReader because we can't have readahead,
                 // since we are passing the stream on to I2PTunnelRunner
                 line = DataHelper.readLine(in);
+                if(line == null) {
+                    break;
+                }
                 line = line.trim();
                 if (_log.shouldLog(Log.DEBUG))
                     _log.debug(getPrefix(requestId) + "Line=[" + line + "]");
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
index d4efaa8ea4ba0425664e07f917f0159c4b7c458b..4e8fdf6c97229f38deb3752428d23ba45cf342e5 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
@@ -10,7 +10,11 @@ import java.io.OutputStream;
 import java.net.InetAddress;
 import java.net.Socket;
 import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 import java.util.zip.GZIPOutputStream;
 
@@ -94,23 +98,24 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
             InputStream in = socket.getInputStream();
 
             StringBuilder command = new StringBuilder(128);
-            Properties headers = readHeaders(in, command,
+            Map<String, List<String>> headers = readHeaders(in, command,
                 CLIENT_SKIPHEADERS, getTunnel().getContext());
-            headers.setProperty(HASH_HEADER, socket.getPeerDestination().calculateHash().toBase64());
-            headers.setProperty(DEST32_HEADER, Base32.encode(socket.getPeerDestination().calculateHash().getData()) + ".b32.i2p" );
-            headers.setProperty(DEST64_HEADER, socket.getPeerDestination().toBase64());
+            
+            addEntry(headers, HASH_HEADER, socket.getPeerDestination().calculateHash().toBase64());
+            addEntry(headers, DEST32_HEADER, Base32.encode(socket.getPeerDestination().calculateHash().getData()) + ".b32.i2p");
+            addEntry(headers, DEST64_HEADER, socket.getPeerDestination().toBase64());
 
             if ( (_spoofHost != null) && (_spoofHost.trim().length() > 0) )
-                headers.setProperty("Host", _spoofHost);
-            headers.setProperty("Connection", "close");
+                setEntry(headers, "Host", _spoofHost);
+            setEntry(headers, "Connection", "close");
             // we keep the enc sent by the browser before clobbering it, since it may have 
             // been x-i2p-gzip
-            String enc = headers.getProperty("Accept-encoding");
-            String altEnc = headers.getProperty("X-Accept-encoding");
+            String enc = getEntryOrNull(headers, "Accept-encoding");
+            String altEnc = getEntryOrNull(headers, "X-Accept-encoding");
             
             // according to rfc2616 s14.3, this *should* force identity, even if
             // "identity;q=1, *;q=0" didn't.  
-            headers.setProperty("Accept-encoding", ""); 
+            setEntry(headers, "Accept-encoding", ""); 
             String modifiedHeader = formatHeaders(headers, command);
             
             //String modifiedHeader = getModifiedHeader(socket);
@@ -234,7 +239,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
 
                 //Change headers to protect server identity
                 StringBuilder command = new StringBuilder(128);
-                Properties headers = readHeaders(serverin, command,
+                Map<String, List<String>> headers = readHeaders(serverin, command,
                     SERVER_SKIPHEADERS, _ctx);
                 String modifiedHeaders = formatHeaders(headers, command);
                 compressedOut.write(modifiedHeaders.getBytes());
@@ -360,13 +365,14 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
         }
     }
 
-    private static String formatHeaders(Properties headers, StringBuilder command) {
+    protected static String formatHeaders(Map<String, List<String>> headers, StringBuilder command) {
         StringBuilder buf = new StringBuilder(command.length() + headers.size() * 64);
         buf.append(command.toString().trim()).append("\r\n");
-        for (Iterator iter = headers.keySet().iterator(); iter.hasNext(); ) {
+        for (Iterator<String> iter = headers.keySet().iterator(); iter.hasNext(); ) {
             String name = (String)iter.next();
-            String val  = headers.getProperty(name);
-            buf.append(name.trim()).append(": ").append(val.trim()).append("\r\n");
+            for(String val: headers.get(name)) {
+                buf.append(name.trim()).append(": ").append(val.trim()).append("\r\n");
+            }
         }
         buf.append("\r\n");
         return buf.toString();
@@ -374,9 +380,46 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     
     /** ridiculously long, just to prevent OOM DOS @since 0.7.13 */
     private static final int MAX_HEADERS = 60;
+    
+    /**
+     * Add an entry to the multimap.
+     */
+    private static void addEntry(Map<String, List<String>> headers, String key, String value) {
+        List<String> entry = headers.get(key);
+        if(entry == null) {
+        	headers.put(key, entry = new ArrayList<String>());
+        }
+        entry.add(value);    	
+    }
+    
+    /**
+     * Remove the other matching entries and set this entry as the only one.
+     */
+    private static void setEntry(Map<String, List<String>> headers, String key, String value) {
+    	List<String> entry = headers.get(key);
+    	if(entry == null) {
+    		headers.put(key, entry = new ArrayList<String>());
+    	}
+    	entry.clear();
+    	entry.add(value);
+    }
+    
+    /**
+     * Get the first matching entry in the multimap
+     * @return the first matching entry or null
+     */
+    private static String getEntryOrNull(Map<String, List<String>> headers, String key) {
+    	List<String> entries = headers.get(key);
+    	if(entries == null || entries.size() < 1) {
+    		return null;
+    	}
+    	else {
+    		return entries.get(0);
+    	}
+    }
 
-    private static Properties readHeaders(InputStream in, StringBuilder command, String[] skipHeaders, I2PAppContext ctx) throws IOException {
-        Properties headers = new Properties();
+    protected static Map<String, List<String>> readHeaders(InputStream in, StringBuilder command, String[] skipHeaders, I2PAppContext ctx) throws IOException {
+    	HashMap<String, List<String>> headers = new HashMap<String, List<String>>();
         StringBuilder buf = new StringBuilder(128);
         
         boolean ok = DataHelper.readLine(in, command);
@@ -438,7 +481,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
                     continue;
                 }
 
-                headers.setProperty(name, value);
+                addEntry(headers, name, value);
                 //if (_log.shouldLog(Log.DEBUG))
                 //    _log.debug("Read the header [" + name + "] = [" + value + "]");
             }
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java
index d021131edda2ccba7742e4d3d8b1f3f7aa51bb70..f1e9f7108dac21555fae15d887d0b0d2176a9074 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java
@@ -1,18 +1,15 @@
 package net.i2p.i2ptunnel;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
-import java.util.TreeMap;
 
 import net.i2p.I2PAppContext;
 import net.i2p.client.I2PSession;
@@ -20,7 +17,7 @@ import net.i2p.client.I2PSessionException;
 import net.i2p.data.DataHelper;
 import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
-import net.i2p.util.SecureFileOutputStream;
+import net.i2p.util.OrderedProperties;
 
 /**
  * Coordinate a set of tunnels within the JVM, loading and storing their config
@@ -223,14 +220,15 @@ public class TunnelControllerGroup {
      * file
      *
      */
-    public void saveConfig() {
+    public void saveConfig() throws IOException {
         saveConfig(_configFile);
     }
+
     /**
      * Save the configuration of all known tunnels to the given file
      *
      */
-    public void saveConfig(String configFile) {
+    public void saveConfig(String configFile) throws IOException {
         _configFile = configFile;
         File cfgFile = new File(configFile);
         if (!cfgFile.isAbsolute())
@@ -239,32 +237,14 @@ public class TunnelControllerGroup {
         if ( (parent != null) && (!parent.exists()) )
             parent.mkdirs();
         
-        
-        TreeMap map = new TreeMap();
+        Properties map = new OrderedProperties();
         for (int i = 0; i < _controllers.size(); i++) {
             TunnelController controller = _controllers.get(i);
             Properties cur = controller.getConfig("tunnel." + i + ".");
             map.putAll(cur);
         }
         
-        StringBuilder buf = new StringBuilder(1024);
-        for (Iterator iter = map.keySet().iterator(); iter.hasNext(); ) {
-            String key = (String)iter.next();
-            String val = (String)map.get(key);
-            buf.append(key).append('=').append(val).append('\n');
-        }
-        
-        FileOutputStream fos = null;
-        try {
-            fos = new SecureFileOutputStream(cfgFile);
-            fos.write(buf.toString().getBytes("UTF-8"));
-            if (_log.shouldLog(Log.INFO))
-                _log.info("Config written to " + cfgFile.getPath());
-        } catch (IOException ioe) {
-            _log.error("Error writing out the config");
-        } finally {
-            if (fos != null) try { fos.close(); } catch (IOException ioe) {}
-        }
+        DataHelper.storeProps(map, cfgFile);
     }
     
     /**
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
index 2184b434f1f02aa968cc9f698e47b84b53a8b758..63f119bca852e1527ece1fd4dfef1c0d49a3707e 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
@@ -115,7 +115,7 @@ public class EditBean extends IndexBean {
         if (tun != null)
             return "true".equalsIgnoreCase(tun.getSharedClient());
         else
-            return true;
+            return false;
     }
     
     public boolean shouldDelay(int tunnel) {
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
index 9787078894a7998b4fd3ba6a234ebc497690291b..eb36a64bc4c3757ec090b4e9fd218820086b4971 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
@@ -8,7 +8,7 @@ package net.i2p.i2ptunnel.web;
  *
  */
 
-import java.util.concurrent.ConcurrentHashMap;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -17,6 +17,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.StringTokenizer;
+import java.util.concurrent.ConcurrentHashMap;
 
 import net.i2p.I2PAppContext;
 import net.i2p.data.Base32;
@@ -299,14 +300,22 @@ public class IndexBean {
             }
         }
         
-        List msgs = doSave();
-        msgs.add(0, "Changes saved");
+        List<String> msgs = doSave();
         return getMessages(msgs);
     }
-    private List doSave() { 
-        _group.saveConfig();
-        return _group.clearAllMessages();
+
+    private List<String> doSave() { 
+        List<String> rv = _group.clearAllMessages();
+        try {
+            _group.saveConfig();
+            rv.add(0, _("Configuration changes saved"));
+        } catch (IOException ioe) {
+            _log.error("Failed to save config file", ioe);
+            rv.add(0, _("Failed to save configuration") + ": " + ioe.toString());
+        }
+        return rv;
     } 
+
     private String deleteTunnel() {
         if (!_removeConfirmed)
             return "Please confirm removal";
@@ -1095,16 +1104,16 @@ public class IndexBean {
             return null;
     }
     
-    private static String getMessages(List msgs) {
+    private static String getMessages(List<String> msgs) {
         StringBuilder buf = new StringBuilder(128);
         getMessages(msgs, buf);
         return buf.toString();
     }
 
-    private static void getMessages(List msgs, StringBuilder buf) {
+    private static void getMessages(List<String> msgs, StringBuilder buf) {
         if (msgs == null) return;
         for (int i = 0; i < msgs.size(); i++) {
-            buf.append((String)msgs.get(i)).append("\n");
+            buf.append(msgs.get(i)).append("\n");
         }
     }
 
diff --git a/apps/i2ptunnel/java/test/net/i2p/i2ptunnel/I2PTunnelHTTPServerTest.java b/apps/i2ptunnel/java/test/net/i2p/i2ptunnel/I2PTunnelHTTPServerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8cd7cf3227ea3c866ae8d6b2888e89225452157a
--- /dev/null
+++ b/apps/i2ptunnel/java/test/net/i2p/i2ptunnel/I2PTunnelHTTPServerTest.java
@@ -0,0 +1,61 @@
+package net.i2p.i2ptunnel;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.util.Map;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class I2PTunnelHTTPServerTest extends TestCase {
+	
+	public InputStream fillInputStream(String headers) throws IOException {
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(baos));
+		bw.write(headers);
+		bw.flush();
+		byte[] bytes = baos.toByteArray();
+		return new ByteArrayInputStream(bytes);
+	}
+	
+	public void testSimpleHeader() throws IOException {
+		String headerString = "GET /blah HTTP/1.1\r\n";
+		headerString += "BLAH: something\r\n";
+		headerString += "\r\n";
+		InputStream in = fillInputStream(headerString);
+		Map<String, List<String>> headers = I2PTunnelHTTPServer.readHeaders(in, new StringBuilder(128), new String[0], null);
+		assertEquals(headers.size(), 1); //One header
+	}
+	
+	public void testDuplicateHeader() throws IOException {
+		String headerString = "GET /something HTTP/1.1\r\n";
+		headerString += "someHeader: blabla bla bloooo\r\n";
+		headerString += "someHeader: oh my, duplication!\r\n";
+		headerString += "\r\n";
+		InputStream in = fillInputStream(headerString);
+		Map<String, List<String>> headers = I2PTunnelHTTPServer.readHeaders(in, new StringBuilder(128), new String[0], null);
+		assertEquals(headers.size(), 1);
+		assertEquals(headers.get("someHeader").size(), 2);
+	}
+	
+	public void testDuplicateHeadersFormat() throws IOException {
+		String headerString = "GET /something HTTP/1.1\r\n";
+		headerString += "abc: def\r\n";
+		headerString += "abc: blaaah\r\n";
+		headerString += "manamana: toe toe toedoedoe\r\n";
+		headerString += "\r\n";
+		InputStream in = fillInputStream(headerString);
+		StringBuilder builder = new StringBuilder(128);
+		Map<String, List<String>> headers = I2PTunnelHTTPServer.readHeaders(in, builder, new String[0], null);
+		String result = I2PTunnelHTTPServer.formatHeaders(headers, builder);
+		int first = result.indexOf("abc");
+		assertTrue(first >= 0);
+		int second = result.indexOf("abc", first);
+		assertTrue(second >= 0);
+	}
+
+}
diff --git a/apps/i2ptunnel/jsp/editServer.jsp b/apps/i2ptunnel/jsp/editServer.jsp
index 4f45b86672c9f70d3d2c7ee8cd132175b713d92a..3849c8609f31296f0095157f86c8e25adae7afd4 100644
--- a/apps/i2ptunnel/jsp/editServer.jsp
+++ b/apps/i2ptunnel/jsp/editServer.jsp
@@ -374,7 +374,7 @@
 
             <div class="rowItem">
               <div id="optionsField" class="rowItem">
-                  <label><%=intl._("Inbound connection limits (0 to disable)")%><br><%=intl._("Per client")%>:</label>
+                  <label><%=intl._("Inbound connection limits (0=unlimited)")%><br><%=intl._("Per client")%>:</label>
               </div>
               <div id="portField" class="rowItem">
                   <label><%=intl._("Per minute")%>:</label>
@@ -405,7 +405,7 @@
             </div>
             <div class="rowItem">
               <div id="optionsField" class="rowItem">
-                  <label><%=intl._("Max concurrent connections (0 to disable)")%>:</label>
+                  <label><%=intl._("Max concurrent connections (0=unlimited)")%>:</label>
               </div>
               <div id="portField" class="rowItem">
                   <input type="text" id="port" name="maxStreams" value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" />                
diff --git a/apps/i2ptunnel/locale/messages_en.po b/apps/i2ptunnel/locale/messages_en.po
new file mode 100644
index 0000000000000000000000000000000000000000..bfbc0888831602e48e1ac6dfbb1f9fcd205b5765
--- /dev/null
+++ b/apps/i2ptunnel/locale/messages_en.po
@@ -0,0 +1,779 @@
+# 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: 2011-02-13 19:26+0000\n"
+"PO-Revision-Date: 2010-06-15 14:09+0100\n"
+"Last-Translator: duck <duck@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:474
+#, 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 ""
+
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:931
+msgid ""
+"Click a link below to look for an address helper by using a \"jump\" service:"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
+msgid "internal"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
+msgid ""
+"Invalid form submission, probably because you used the 'back' or 'reload' "
+"button on your browser. Please resubmit."
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
+msgid "Configuration reloaded for all tunnels"
+msgstr ""
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
+msgid "Starting tunnel"
+msgstr ""
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
+msgid "Stopping tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
+msgid "Configuration changes saved"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
+msgid "Failed to save configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+msgid "New Tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
+msgid "Standard client"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
+msgid "HTTP client"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
+msgid "IRC client"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
+msgid "Standard server"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
+msgid "HTTP server"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
+msgid "SOCKS 4/4a/5 proxy"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
+msgid "SOCKS IRC proxy"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
+msgid "CONNECT/SSL/HTTPS proxy"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
+msgid "IRC server"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
+msgid "Streamr client"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
+msgid "Streamr server"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
+msgid "HTTP bidir"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
+msgid "Host not set"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:272
+msgid "Port not set"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Client Tunnel"
+msgstr ""
+
+#: ../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:279
+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:386
+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:162
+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:150
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:192
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:153
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:213
+msgid "required"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:159
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:178
+msgid "Reachable by"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
+msgid "Outproxies"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
+msgid "Tunnel Destination"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
+msgid "name or destination"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
+msgid "b32 not recommended"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
+msgid "Shared Client"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:212
+msgid ""
+"(Share tunnels with other clients and irc/httpclients? Change requires "
+"restart of client proxy)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:216
+#: ../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:220
+#: ../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:222
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
+msgid "Advanced networking options"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
+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:226
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
+msgid "Tunnel Options"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:247
+msgid "Length"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:254
+msgid "0 hop tunnel (low anonymity, low latency)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:258
+msgid "1 hop tunnel (medium anonymity, medium latency)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
+msgid "2 hop tunnel (high anonymity, high latency)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
+msgid "3 hop tunnel (very high anonymity, poor performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:256
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:275
+msgid "hop tunnel (very poor performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:280
+msgid "Variance"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:287
+msgid "0 hop variance (no randomisation, consistant performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:272
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:291
+msgid ""
+"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
+msgid ""
+"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:299
+msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
+msgid "+/- 0-2 hop variance (not recommended)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:315
+msgid "hop variance"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:320
+msgid "Count"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:327
+msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:331
+msgid ""
+"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
+"reliability)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
+msgid ""
+"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:344
+msgid "tunnels"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:349
+msgid "Backup Count"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:356
+msgid "0 backup tunnels (0 redundancy, no added resource usage)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
+msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
+msgid ""
+"2 backup tunnels each direction (medium redundancy, medium resource usage)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:368
+msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:377
+msgid "backup tunnels"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:384
+msgid "Profile"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
+msgid "interactive connection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:395
+msgid "bulk connection (downloads/websites/BT)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
+msgid "Delay Connect"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
+msgid "for request/response connections"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:386
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:399
+msgid "Router I2CP Address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
+msgid "Host"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
+#: ../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:479
+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/editClient_jsp.java:472
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:419
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:481
+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:485
+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:489
+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
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:435
+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:220
+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:470
+msgid "Local Authorization"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:490
+msgid "Username"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:494
+msgid "Password"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
+msgid "Outproxy Authorization"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
+msgid "Jump URL List"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:508
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:525
+msgid "Custom options"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:529
+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:514
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
+msgid "Cancel"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
+msgid "Delete"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:537
+msgid "Save"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Server Tunnel"
+msgstr ""
+
+#: ../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:199
+msgid "Website name"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
+msgid "(leave blank for outproxies)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
+msgid "Private key file"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
+msgid "Add to local addressbook"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
+msgid "Hostname Signature"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
+msgid "Encrypt Leaseset"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
+msgid "Encryption Key"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+msgid "Generate New Key"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
+msgid "Generate"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:523
+msgid "(Tunnel must be stopped first)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
+msgid "Restricted Access List"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
+msgid "Whitelist"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+msgid "Blacklist"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
+msgid "Access List"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
+msgid "Inbound connection limits (0=unlimited)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+msgid "Per client"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
+msgid "Per minute"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+msgid "Per hour"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+msgid "Per day"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
+msgid "Total"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
+msgid "Max concurrent connections (0=unlimited)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+msgid "New Certificate type"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+msgid "None"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+msgid "Hashcash (effort)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
+msgid "Hashcash Calc Time"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
+msgid "Estimate"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
+msgid "Hidden"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
+msgid "Signed (signed by)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
+msgid "Modify Certificate"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
+msgid "Modify"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:71
+msgid "I2P Tunnel Manager - List"
+msgstr ""
+
+#: ../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 ""
+
+#: ../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:297
+msgid "Status"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
+msgid "Base32 Address"
+msgstr ""
+
+#: ../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:304
+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:311
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:339
+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:332
+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:346
+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:353
+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:396
+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:398
+msgid "Create"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:240
+msgid "I2P Client Tunnels"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283
+msgid "Interface"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:318
+msgid "Standby"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:363
+msgid "Outproxy"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
+msgid "Destination"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:381
+msgid "none"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:394
+msgid "New client tunnel"
+msgstr ""
diff --git a/apps/i2ptunnel/locale/messages_nl.po b/apps/i2ptunnel/locale/messages_nl.po
index e9aed277fd2095197b1a5ef5fadafc62720da06a..e7fe4894f9194eed4f136e0b67bebafd972ea84f 100644
--- a/apps/i2ptunnel/locale/messages_nl.po
+++ b/apps/i2ptunnel/locale/messages_nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2ptunnel\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-20 19:26+0000\n"
+"POT-Creation-Date: 2011-02-13 17:44+0000\n"
 "PO-Revision-Date: 2010-06-15 14:09+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
@@ -40,7 +40,7 @@ msgstr ""
 msgid "internal"
 msgstr "intern"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:170
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
 msgid ""
 "Invalid form submission, probably because you used the 'back' or 'reload' "
 "button on your browser. Please resubmit."
@@ -48,78 +48,86 @@ msgstr ""
 "Ongeldige formulier verzonden, waarschijnlijk doordat je de 'back' of "
 "'reload' button van je browser hebt gebruikt. Verzend opnieuw."
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:217
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
 msgid "Configuration reloaded for all tunnels"
 msgstr "Configuratie van alle tunnels opnieuw geladen"
 
 #. and give them something to look at in any case
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:229
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
 msgid "Starting tunnel"
 msgstr "Opstarten van tunnel"
 
 #. and give them something to look at in any case
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
 msgid "Stopping tunnel"
 msgstr "Stoppen van tunnel"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
+msgid "Configuration changes saved"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
+msgid "Failed to save configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
 msgid "New Tunnel"
 msgstr "Nieuwe Tunnel"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:409
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
 msgid "Standard client"
 msgstr "Standaard client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:410
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
 msgid "HTTP client"
 msgstr "HTTP client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:411
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
 msgid "IRC client"
 msgstr "IRC client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:412
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
 msgid "Standard server"
 msgstr "Standaard server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:413
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
 msgid "HTTP server"
 msgstr "HTTP server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:414
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
 msgid "SOCKS 4/4a/5 proxy"
 msgstr "SOCKS 4/4a/5 proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:415
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
 msgid "SOCKS IRC proxy"
 msgstr "SOCKS IRC proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:416
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
 msgid "CONNECT/SSL/HTTPS proxy"
 msgstr "CONNECT/SSL/HTTPS proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:417
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
 msgid "IRC server"
 msgstr "IRC server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
 msgid "Streamr client"
 msgstr "Streamr client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
 msgid "Streamr server"
 msgstr "Streamr server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
 msgid "HTTP bidir"
 msgstr "HTTP bidir"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:508
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
 msgid "Host not set"
 msgstr "Host niet opgegeven"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:512
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:272
 msgid "Port not set"
 msgstr "Poort niet opgegeven"
@@ -604,8 +612,8 @@ msgid "Access List"
 msgstr "Toegangslijst"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
-msgid "Inbound connection limits (0 to disable)"
-msgstr "Inkomende connectie limieten (0 om uit te schakelen)"
+msgid "Inbound connection limits (0=unlimited)"
+msgstr "Inkomende connectie limieten (0=onbeperkt)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
 msgid "Per client"
@@ -628,8 +636,8 @@ msgid "Total"
 msgstr "Totaal"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
-msgid "Max concurrent connections (0 to disable)"
-msgstr "Maximum gelijktijdige connecties (0 om uit te schakelen)"
+msgid "Max concurrent connections (0=unlimited)"
+msgstr "Maximum gelijktijdige connecties (0=onbeperkt)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
 msgid "New Certificate type"
diff --git a/apps/i2ptunnel/locale/messages_zh.po b/apps/i2ptunnel/locale/messages_zh.po
index f6efbfd3b85d751f2990a4d213be4875d6dfdc5e..72508653af30de9d212bbcdc74226759122d7cb7 100644
--- a/apps/i2ptunnel/locale/messages_zh.po
+++ b/apps/i2ptunnel/locale/messages_zh.po
@@ -1,701 +1,779 @@
-# 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-10-04 02:45+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:492
-#, 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:909
-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:372
-msgid "New Tunnel"
-msgstr "新建隧道"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:392
-msgid "Standard client"
-msgstr "标准客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:393
-msgid "HTTP client"
-msgstr "HTTP 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:394
-msgid "IRC client"
-msgstr "IRC 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:395
-msgid "Standard server"
-msgstr "标准服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:396
-msgid "HTTP server"
-msgstr "HTTP 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:397
-msgid "SOCKS 4/4a/5 proxy"
-msgstr "SOCKS4/4A/5 代理"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
-msgid "SOCKS IRC proxy"
-msgstr "SOCKS IRC 代理"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:399
-msgid "CONNECT/SSL/HTTPS proxy"
-msgstr "CONNECT/SSL/HTTPS 代理"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:400
-msgid "IRC server"
-msgstr "IRC 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:401
-msgid "Streamr client"
-msgstr "Streamr 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:402
-msgid "Streamr server"
-msgstr "Streamr 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:403
-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
-msgid "Shared Client"
-msgstr "共享客户端"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
-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:228
-#: ../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:232
-#: ../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:234
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:249
-msgid "Advanced networking options"
-msgstr "高级网络设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:236
-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:238
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:251
-msgid "Tunnel Options"
-msgstr "隧道选项"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:240
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:253
-msgid "Length"
-msgstr "长度"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:260
-msgid "0 hop tunnel (low anonymity, low latency)"
-msgstr "直连(匿名性无,延迟低)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:264
-msgid "1 hop tunnel (medium anonymity, medium latency)"
-msgstr "隧道跳点x1(匿名性中,延迟中)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:255
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:268
-msgid "2 hop tunnel (high anonymity, high latency)"
-msgstr "隧道跳点x2(匿名性高,延迟高)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:259
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:272
-msgid "3 hop tunnel (very high anonymity, poor performance)"
-msgstr "隧道跳点x3(匿名性优,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
-msgid "hop tunnel (very poor performance)"
-msgstr "跳点隧道(严重影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:273
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:286
-msgid "Variance"
-msgstr "随机变化"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:293
-msgid "0 hop variance (no randomisation, consistant performance)"
-msgstr "隧道长度恒定(随机性无,性能稳定)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:297
-msgid ""
-"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
-msgstr "隧道长度+ 0-1(随机性中,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:288
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:301
-msgid ""
-"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
-msgstr "隧道长度+ 0-2(随机性高,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:292
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:305
-msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
-msgstr "隧道长度+/- 0-1(随机性标准,正常性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:309
-msgid "+/- 0-2 hop variance (not recommended)"
-msgstr "隧道程度+/- 0-2(不推荐)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:321
-msgid "hop variance"
-msgstr "节点数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:313
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:326
-msgid "Count"
-msgstr "计数"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:320
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:333
-msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
-msgstr "出/入站隧道x1(带宽低,低可靠性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:337
-msgid ""
-"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
-"reliability)"
-msgstr "出/入站隧道x2(带宽标准,标准稳定性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:328
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:341
-msgid ""
-"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
-msgstr "出/入站隧道x3(带宽高,高稳定性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:350
-msgid "tunnels"
-msgstr "隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:342
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:355
-msgid "Backup Count"
-msgstr "备用数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:362
-msgid "0 backup tunnels (0 redundancy, no added resource usage)"
-msgstr "无备用隧道(无冗余,不增加资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:353
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:366
-msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
-msgstr "备用隧道对x1 (低冗余,低资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:357
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:370
-msgid ""
-"2 backup tunnels each direction (medium redundancy, medium resource usage)"
-msgstr "备用隧道对x2 (中冗余,中资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:361
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:374
-msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
-msgstr "备用隧道对x3 (高冗余,高资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:370
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:383
-msgid "backup tunnels"
-msgstr "备用隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:377
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:390
-msgid "Profile"
-msgstr "连接类型"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:384
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:397
-msgid "interactive connection"
-msgstr "速度连接"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
-msgid "bulk connection (downloads/websites/BT)"
-msgstr "效率连接(下载/WEB/BT)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:390
-msgid "Delay Connect"
-msgstr "连接延迟断开"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
-msgid "for request/response connections"
-msgstr "单请求/响应连接"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:398
-#: ../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:400
-#: ../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:404
-#: ../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:410
-#: ../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:412
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:446
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:445
-msgid "Enable"
-msgstr "启用"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
-#: ../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:420
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
-msgid "Idle minutes"
-msgstr "空闲时间(分钟)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:424
-msgid "Close tunnels when idle"
-msgstr "空闲时关闭隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
-msgid "New Keys on Reopen"
-msgstr "重新打开隧道时使用新密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:438
-msgid "Disable"
-msgstr "禁用"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:444
-msgid "Delay tunnel open until required"
-msgstr "仅在请求时打开"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:454
-msgid "Persistent private key"
-msgstr "永久私有密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
-msgid "File"
-msgstr "文件"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:235
-msgid "Local destination"
-msgstr "本地目标"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:468
-msgid "(if known)"
-msgstr "(如果已知)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
-#: ../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:476
-#: ../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:478
-#: ../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:482
-#: ../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:484
-#: ../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:245
-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 "尚未实现"
+# 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: 2011-02-12 12:06+0000\n"
+"PO-Revision-Date: 2011-02-12 20:07+0800\n"
+"Last-Translator: \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:474
+#, 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:931
+msgid "Click a link below to look for an address helper by using a \"jump\" service:"
+msgstr "请点击下面的链接通过【跳转(Jump)】服务提供的【地址助手】链接跳转至域名对应的主机:"
+
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
+msgid "internal"
+msgstr "内部"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr "网页提交无效,可能的原因是您使用了浏览器的“后退”和“刷新”按钮,导致表单过期,请重新提交。"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
+msgid "Configuration reloaded for all tunnels"
+msgstr "所有隧道都已根据当前配置重启"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
+msgid "Starting tunnel"
+msgstr "正在启动隧道"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
+msgid "Stopping tunnel"
+msgstr "正在关闭隧道"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
+msgid "Configuration changes saved"
+msgstr "配置修改成功"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
+msgid "Failed to save configuration"
+msgstr "配置保存失败"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+msgid "New Tunnel"
+msgstr "新建隧道"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
+msgid "Standard client"
+msgstr "标准客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
+msgid "HTTP client"
+msgstr "HTTP 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
+msgid "IRC client"
+msgstr "IRC 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
+msgid "Standard server"
+msgstr "标准服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
+msgid "HTTP server"
+msgstr "HTTP 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
+msgid "SOCKS 4/4a/5 proxy"
+msgstr "SOCKS4/4A/5 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
+msgid "SOCKS IRC proxy"
+msgstr "SOCKS IRC 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
+msgid "CONNECT/SSL/HTTPS proxy"
+msgstr "CONNECT/SSL/HTTPS 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
+msgid "IRC server"
+msgstr "IRC 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
+msgid "Streamr client"
+msgstr "Streamr 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
+msgid "Streamr server"
+msgstr "Streamr 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
+msgid "HTTP bidir"
+msgstr "双向http"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
+msgid "Host not set"
+msgstr "主机未设置"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:272
+msgid "Port not set"
+msgstr "端口未设置"
+
+#: ../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:279
+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:386
+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:162
+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:150
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:192
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:153
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:213
+msgid "required"
+msgstr "必要"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:159
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:178
+msgid "Reachable by"
+msgstr "访问地址"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
+msgid "Outproxies"
+msgstr "出口代理"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
+msgid "Tunnel Destination"
+msgstr "隧道目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
+msgid "name or destination"
+msgstr "名称或描述"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
+msgid "b32 not recommended"
+msgstr "请避免使用b32地址。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
+msgid "Shared Client"
+msgstr "共享客户端"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:212
+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:216
+#: ../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:220
+#: ../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:222
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
+msgid "Advanced networking options"
+msgstr "高级网络设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
+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:226
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
+msgid "Tunnel Options"
+msgstr "隧道选项"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:247
+msgid "Length"
+msgstr "长度"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:254
+msgid "0 hop tunnel (low anonymity, low latency)"
+msgstr "直连(匿名性无,延迟低)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:258
+msgid "1 hop tunnel (medium anonymity, medium latency)"
+msgstr "隧道跳点x1(匿名性中,延迟中)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
+msgid "2 hop tunnel (high anonymity, high latency)"
+msgstr "隧道跳点x2(匿名性高,延迟高)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
+msgid "3 hop tunnel (very high anonymity, poor performance)"
+msgstr "隧道跳点x3(匿名性优,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:256
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:275
+msgid "hop tunnel (very poor performance)"
+msgstr "跳点隧道(严重影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:280
+msgid "Variance"
+msgstr "随机变化"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:287
+msgid "0 hop variance (no randomisation, consistant performance)"
+msgstr "隧道长度恒定(随机性无,性能稳定)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:272
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:291
+msgid "+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
+msgstr "隧道长度+ 0-1(随机性中,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
+msgid "+ 0-2 hop variance (high additive randomisation, subtractive performance)"
+msgstr "隧道长度+ 0-2(随机性高,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:299
+msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
+msgstr "隧道长度+/- 0-1(随机性标准,正常性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
+msgid "+/- 0-2 hop variance (not recommended)"
+msgstr "隧道程度+/- 0-2(不推荐)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:315
+msgid "hop variance"
+msgstr "节点数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:320
+msgid "Count"
+msgstr "计数"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:327
+msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
+msgstr "出/入站隧道x1(带宽低,低可靠性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:331
+msgid "2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)"
+msgstr "出/入站隧道x2(带宽标准,标准稳定性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
+msgid "3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
+msgstr "出/入站隧道x3(带宽高,高稳定性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:344
+msgid "tunnels"
+msgstr "隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:349
+msgid "Backup Count"
+msgstr "备用数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:356
+msgid "0 backup tunnels (0 redundancy, no added resource usage)"
+msgstr "无备用隧道(无冗余,不增加资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
+msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
+msgstr "备用隧道对x1 (低冗余,低资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
+msgid "2 backup tunnels each direction (medium redundancy, medium resource usage)"
+msgstr "备用隧道对x2 (中冗余,中资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:368
+msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
+msgstr "备用隧道对x3 (高冗余,高资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:377
+msgid "backup tunnels"
+msgstr "备用隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:384
+msgid "Profile"
+msgstr "连接类型"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
+msgid "interactive connection"
+msgstr "速度连接"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:395
+msgid "bulk connection (downloads/websites/BT)"
+msgstr "效率连接(下载/WEB/BT)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
+msgid "Delay Connect"
+msgstr "连接延迟断开"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
+msgid "for request/response connections"
+msgstr "单请求/响应连接"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:386
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:399
+msgid "Router I2CP Address"
+msgstr "路由器I2CP地址"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
+msgid "Host"
+msgstr "主机"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
+#: ../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:479
+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/editClient_jsp.java:472
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:419
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:481
+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:485
+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:489
+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
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:435
+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:220
+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:470
+msgid "Local Authorization"
+msgstr "本地认证"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:490
+msgid "Username"
+msgstr "用户名"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:494
+msgid "Password"
+msgstr "密码"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
+msgid "Outproxy Authorization"
+msgstr "出口代理认证"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
+msgid "Jump URL List"
+msgstr "跳转服务列表"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:508
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:525
+msgid "Custom options"
+msgstr "自定义选项"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:529
+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:514
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
+msgid "Cancel"
+msgstr "取消"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
+msgid "Delete"
+msgstr "删除"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:537
+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:199
+msgid "Website name"
+msgstr "网站名称"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
+msgid "(leave blank for outproxies)"
+msgstr "(出口代理这里请置空)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
+msgid "Private key file"
+msgstr "私钥文件"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
+msgid "Add to local addressbook"
+msgstr "添加至本地地址簿"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
+msgid "Hostname Signature"
+msgstr "主机名签名"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
+msgid "Encrypt Leaseset"
+msgstr "加密赁集"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
+msgid "Encryption Key"
+msgstr "加密密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+msgid "Generate New Key"
+msgstr "生成新密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
+msgid "Generate"
+msgstr "生成"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:523
+msgid "(Tunnel must be stopped first)"
+msgstr "(必须先停止隧道)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
+msgid "Restricted Access List"
+msgstr "限制访问列表"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
+msgid "Whitelist"
+msgstr "白名单"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+msgid "Blacklist"
+msgstr "黑名单"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
+msgid "Access List"
+msgstr "访问列表"
+
+# disable=>noLimit
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
+msgid "Inbound connection limits (0=unlimited)"
+msgstr "入站连接限制(0=无限制)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+msgid "Per client"
+msgstr "按客户端"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
+msgid "Per minute"
+msgstr "按分钟"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+msgid "Per hour"
+msgstr "按小时"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+msgid "Per day"
+msgstr "按天"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
+msgid "Total"
+msgstr "总数"
+
+# disable=>noLimit
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
+msgid "Max concurrent connections (0=unlimited)"
+msgstr "最大并发连接数(0=无限制)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+msgid "New Certificate type"
+msgstr "新建证书类型"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+msgid "None"
+msgstr "æ— "
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+msgid "Hashcash (effort)"
+msgstr "Hashcash (强度)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
+msgid "Hashcash Calc Time"
+msgstr "Hashcash 计算时间"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
+msgid "Estimate"
+msgstr "ä¼°ç®—"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
+msgid "Hidden"
+msgstr "隐藏"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
+msgid "Signed (signed by)"
+msgstr "签名(签名者)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
+msgid "Modify Certificate"
+msgstr "修改证书"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
+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:297
+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:304
+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:311
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:339
+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:332
+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:346
+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:353
+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:396
+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:398
+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:283
+msgid "Interface"
+msgstr "网络接口"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:318
+msgid "Standby"
+msgstr "等待"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:363
+msgid "Outproxy"
+msgstr "出口代理"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
+msgid "Destination"
+msgstr "目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:381
+msgid "none"
+msgstr "æ— "
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:394
+msgid "New client tunnel"
+msgstr "新建客户隧道"
+
+#~ msgid "Locally (127.0.0.1)"
+#~ msgstr "本地(127.0.0.1)"
+#~ msgid "Everyone (0.0.0.0)"
+#~ msgstr "任何人(0.0.0.0)"
+#~ msgid "LAN Hosts (Please specify your LAN address)"
+#~ msgstr "局域网(请指定LAN地址)"
+#~ msgid "Other"
+#~ msgstr "其他"
+#~ msgid "I2CP Options"
+#~ msgstr "I2CP选项"
+#~ msgid "(Restrict to these clients only)"
+#~ msgstr "(仅允许这些客户访问)"
+#~ msgid "Unimplemented"
+#~ msgstr "尚未实现"
+
diff --git a/apps/routerconsole/java/bmsg.sh b/apps/routerconsole/java/bmsg.sh
deleted file mode 100644
index b9d294b32336537241eb2f9953fb65673c93b524..0000000000000000000000000000000000000000
--- a/apps/routerconsole/java/bmsg.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Update messages_xx.po and messages_xx.class files,
-# from both java and jsp sources.
-# Requires installed programs xgettext, msgfmt, msgmerge, and find.
-# zzz - public domain
-#
-
-## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
-## need to cd into our orignal path - where we call sh.exe from.
-
-cd $CALLFROM
-## echo $PWD
-
-## except this everything is the same with bundle-message.sh
-## walking - public domain :-D
-
-source bundle-messages.sh $PARAS
\ No newline at end of file
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index 6e7d765aac64014028243297dc69096b0731d6b2..4135215867140bb7ac4f0fb1a6fc746693e163ec 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -80,15 +80,14 @@
 
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
-        <exec executable="sh" osfamily="unix" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="sh" osfamily="mac" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
         </exec>
         <!-- jar again to get the latest messages_*.class files -->
         <jar destfile="./build/routerconsole.jar" basedir="./build/obj" includes="**/*.class" update="true" />
@@ -106,9 +105,8 @@
             <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
     </target>
diff --git a/apps/routerconsole/java/bundle-messages.bat b/apps/routerconsole/java/bundle-messages.bat
deleted file mode 100644
index 90feca972a6457eebf97f9bdbea6028ac88d7789..0000000000000000000000000000000000000000
--- a/apps/routerconsole/java/bundle-messages.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-@echo off
-set Callfrom=%cd%
-set Paras=%1
-
-rem before calling make sure you have msys and mingw 's "bin" path 
-rem in your current searching path
-rem type "set path" to check 
-if not exist ..\locale\*.only goto updateALL
-
-rem put a messages_xx.only(eg messages_zh.only) into locale folder
-rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
-
-for %%i in (..\locale\*.only) do set PO=%%~ni
-echo [Notice] Yu choose to Ony update the choosen file: %PO%.po 
-for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
-
-call sh --login %cd%\bmsg.sh
-
-for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
-goto end
-
-:updateALL
-call sh --login %cd%\bmsg.sh
-
-:end
-echo End of Message Bundling
\ No newline at end of file
diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh
index dd422bf064c0251f0838e7acc51a3f7d31a60b3e..7bc06577c6a2bfcb82debc294f9b5fdb53e4ccaf 100755
--- a/apps/routerconsole/java/bundle-messages.sh
+++ b/apps/routerconsole/java/bundle-messages.sh
@@ -18,6 +18,17 @@ then
 	POUPDATE=1
 fi
 
+# on windows, one must specify the path of commnad find
+# since windows has its own retarded version of find.
+if which find|grep -q -i windows ; then
+	export PATH=.:/bin:/usr/local/bin:$PATH
+fi
+# Fast mode - update ondemond
+echo Placing a file named messages_{LangCode}.only in locale folder,
+echo will limit .po file update to the language specified by {LangCode}.
+LG2=$(find ../locale -iname messages_*.only|tail -1)
+[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
+
 #
 # generate strings/Countries.java from ../../../installer/resources/countries.txt
 #
@@ -53,6 +64,11 @@ do
 	# get language
 	LG=${i#../locale/messages_}
 	LG=${LG%.po}
+	
+	# skip, if specified
+	if [ $LG2 ]; then
+		[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
+	fi
 
 	if [ "$POUPDATE" = "1" ]
 	then
@@ -106,15 +122,19 @@ do
 		touch $i
 	fi
 
-	echo "Generating ${CLASS}_$LG ResourceBundle..."
+    if [ "$LG" != "en" ]
+    then
+        # only generate for non-source language
+        echo "Generating ${CLASS}_$LG ResourceBundle..."
 
-	# convert to class files in build/obj
-	msgfmt --java --statistics -r $CLASS -l $LG -d build/obj $i
-	if [ $? -ne 0 ]
-	then
-		echo 'Warning - msgfmt failed, not updating translations'
-		break
-	fi
+        # convert to class files in build/obj
+        msgfmt --java --statistics -r $CLASS -l $LG -d build/obj $i
+        if [ $? -ne 0 ]
+        then
+            echo 'Warning - msgfmt failed, not updating translations'
+            break
+        fi
+    fi
 done
 rm -f $TMPFILE
 # todo: return failure
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
index ada49d0aa737bd4ccbf3a9fd4a4a472d74332ebb..9f280ef2af47371f4fcb3f4b37d2500f2229e1b7 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -1,6 +1,7 @@
 package net.i2p.router.web;
 
 import java.util.ArrayList;
+import java.awt.GraphicsEnvironment;
 import java.io.File;
 import java.io.FilenameFilter;
 import java.io.IOException;
@@ -54,10 +55,51 @@ public class RouterConsoleRunner {
     private static final String DEFAULT_WEBAPPS_DIR = "./webapps/";
     private static final String USAGE = "Bad RouterConsoleRunner arguments, check clientApp.0.args in your clients.config file! " +
                                         "Usage: [[port host[,host]] [-s sslPort [host[,host]]] [webAppsDir]]";
+    private static final String PROP_HEADLESS = "router.isHeadless";
     
     static {
         System.setProperty("org.mortbay.http.Version.paranoid", "true");
-        System.setProperty("java.awt.headless", "true");
+        
+        //Check if we are in a headless environment, set properties accordingly
+        List<RouterContext> contexts = RouterContext.listContexts();
+        if(contexts != null && contexts.size() > 0) {
+        	RouterContext context = contexts.get(0);
+        	String headless = context.getProperty(PROP_HEADLESS);
+        	if(headless == null) {
+        		/*
+        		 * Let's check if we are in a headless environment.
+        		 * We do this by setting headless to false
+        		 * and trying to get the graphics environment.
+        		 * If this fails, we should be headless.
+        		 */
+        		System.setProperty("java.awt.headless", "false");
+        		try {
+	                GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+	                ge.isHeadlessInstance();
+	                context.setProperty(PROP_HEADLESS, "false");
+        		}
+        		catch(InternalError e) {
+        			context.setProperty(PROP_HEADLESS, "true");
+        		}
+        		context.router().setConfigSetting(PROP_HEADLESS, context.getProperty(PROP_HEADLESS));
+                context.router().saveConfig();
+                context.router().shutdown(0);
+        	}
+        	boolean isHeadless = true;
+        	try {
+        		isHeadless = Boolean.parseBoolean(headless);
+        	}
+        	catch(Exception e) {
+        		//Incorrect setting, let's choose headless for safety
+        		isHeadless = true;
+        	}
+        	if(isHeadless) {
+        		System.setProperty("java.awt.headless", "true");
+        	}
+        	else {
+        		System.setProperty("java.awt.headless", "false");
+        	}
+        }
     }
     
     /**
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
index 6b6a8b616368105796439cb8b9edd3db252b661b..20d7da9bf8e598d7233361675399a85d855eecba 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
@@ -197,9 +197,10 @@ public class StatsGenerator {
                     buf.append("; ");
                 }
 
-                buf.append(ngettext((int) curRate.getLastEventCount(), "There was 1 event", "There were {0} events"));
-                buf.append(' ');
-                buf.append(_("in this period which ended {0} ago.", DataHelper.formatDuration2(now - curRate.getLastCoalesceDate())));
+                // breaking the sentence like before makes translation in my language impossible.
+				buf.append(_("There were {0} event(s) in this period", curRate.getLastEventCount()));
+                // buf.append(' ');
+                buf.append(_(" which ended {0} ago.", DataHelper.formatDuration2(now - curRate.getLastCoalesceDate())));
             } else {
                 buf.append(" <i>").append(_("No events")).append("</i> ");
             }
diff --git a/apps/routerconsole/locale/messages_en.po b/apps/routerconsole/locale/messages_en.po
new file mode 100644
index 0000000000000000000000000000000000000000..3df6fe73cfd7556a3fe48198a43a3a769cdc3bb4
--- /dev/null
+++ b/apps/routerconsole/locale/messages_en.po
@@ -0,0 +1,5525 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P routerconsole\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-13 13:34+0000\n"
+"PO-Revision-Date: 2010-06-15 14:09+0100\n"
+"Last-Translator: duck <duck@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1124
+#, java-format
+msgid "1 ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] ""
+msgstr[1] ""
+
+#. seconds
+#. Note to translators: quantity will always be greater than one.
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1129
+#, java-format
+msgid "1 sec"
+msgid_plural "{0} sec"
+msgstr[0] ""
+msgstr[1] ""
+
+#. minutes
+#. Note to translators: quantity will always be greater than one.
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1134
+#, java-format
+msgid "1 min"
+msgid_plural "{0} min"
+msgstr[0] ""
+msgstr[1] ""
+
+#. hours
+#. Note to translators: quantity will always be greater than one.
+#. alternates: hrs, hr., hrs.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1139
+#, java-format
+msgid "1 hour"
+msgid_plural "{0} hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1141
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+msgid "n/a"
+msgstr ""
+
+#. days
+#. Note to translators: quantity will always be greater than one.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1145
+#, java-format
+msgid "1 day"
+msgid_plural "{0} days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:122
+#, java-format
+msgid "Banned by router hash: {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:124
+msgid "Banned by router hash"
+msgstr ""
+
+#. Temporary reason, until the job finishes
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:669
+msgid "IP banned"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:739
+#, java-format
+msgid "IP banned by blocklist.txt entry {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:92
+msgid "Rejecting tunnels: Shutting down"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:141
+msgid "Rejecting tunnels: High message delay"
+msgstr ""
+
+#. hard to do {0} from here
+#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of tunnels: High number of requests");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:177
+msgid "Rejecting most tunnels: High number of requests"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:233
+msgid "Rejecting tunnels: Limit reached"
+msgstr ""
+
+#. .067KBps
+#. * also limited to 90% - see below
+#. always leave at least 4KBps free when allowing
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:301
+msgid "Rejecting tunnels: Bandwidth limit"
+msgstr ""
+
+#. hard to do {0} from here
+#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:371
+msgid "Rejecting most tunnels: Bandwidth limit"
+msgstr ""
+
+#. hard to do {0} from here
+#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375
+msgid "Accepting most tunnels"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:377
+msgid "Accepting tunnels"
+msgstr ""
+
+#. NPE, too early
+#. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
+#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
+#. else
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:488
+msgid "Rejecting tunnels"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
+msgid "Reseeding"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#, java-format
+msgid "Reseed fetched only 1 router."
+msgid_plural "Reseed fetched only {0} routers."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
+msgid "Reseed failed."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
+#, java-format
+msgid "See {0} for help."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
+msgid "reseed configuration page"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+msgid "Reseeding: fetching seed URL."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#, java-format
+msgid ""
+"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
+msgid "NetDb entry"
+msgstr ""
+
+#. This used to be "no common transports" but it is almost always no transports at all
+#: ../../../router/java/src/net/i2p/router/transport/GetBidsJob.java:70
+msgid "No transports (hidden or starting up?)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450
+msgid "Unreachable on any transport"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499
+msgid "Router Transport Addresses"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504
+#, java-format
+msgid "{0} is used for outbound connections only"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+msgid "Help"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid ""
+"Your transport connection limits are automatically set based on your "
+"configured bandwidth."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521
+msgid ""
+"To override these limits, add the settings i2np.ntcp.maxConnections=nnn and "
+"i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+msgid "Definitions"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:81
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:187
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
+msgid "The remote peer, identified by router hash"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
+msgid "Dir"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
+msgid "Inbound connection"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
+msgid "Outbound connection"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
+msgid "They offered to introduce us (help other peers traverse our firewall)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
+msgid "We offered to introduce them (help other peers traverse their firewall)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+msgid "How long since a packet has been received / sent"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
+msgid "Idle"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "In/Out"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+msgid "How long ago this connection was established"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
+msgid "Up"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
+msgid "Skew"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+msgid "The difference between the peer's clock and your own"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+msgid ""
+"The congestion window, which is how many bytes can be sent without an "
+"acknowledgement"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+msgid "The number of sent messages awaiting acknowledgement"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+msgid "The maximum number of concurrent messages to send"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+msgid "The number of pending sends which exceed congestion window"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+msgid "The slow start threshold"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+msgid "The round trip time in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
+msgid "Dev"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+msgid "The standard deviation of the round trip time in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+msgid "The retransmit timeout in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+msgid ""
+"Current maximum send packet size / estimated maximum receive packet size "
+"(bytes)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+msgid "TX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+msgid "The total number of packets sent to the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
+msgid "RX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+msgid "The total number of packets received from the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
+msgid "Dup TX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+msgid "The total number of packets retransmitted to the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931
+msgid "Dup RX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+msgid "The total number of duplicate packets received from the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:409
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:627
+#, java-format
+msgid "Excessive clock skew: {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
+msgid "NTCP connections"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886
+msgid "Limit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+msgid "Timeout"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
+msgid "Out Queue"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
+msgid "Backlogged?"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Inbound"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Outbound"
+msgstr ""
+
+#. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
+msgid "peers"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
+msgid "UDP connections"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
+msgid "Sort by peer hash"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
+msgid "Direction/Introduction"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
+msgid "Sort by idle inbound"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+msgid "Sort by idle outbound"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
+msgid "Sort by inbound rate"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
+msgid "Sort by outbound rate"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
+msgid "Sort by connection uptime"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
+msgid "Sort by clock skew"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
+msgid "Sort by congestion window"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
+msgid "Sort by slow start threshold"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
+msgid "Sort by round trip time"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
+msgid "Sort by round trip time deviation"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
+msgid "Sort by retransmission timeout"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
+msgid "Sort by outbound maximum transmit unit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
+msgid "Sort by packets sent"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
+msgid "Sort by packets received"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930
+msgid "Sort by packets retransmitted"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932
+msgid "Sort by packets received more than once"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1953
+msgid "We offered to introduce them"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1955
+msgid "They offered to introduce us"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1959
+msgid "Choked"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1967
+msgid "1 fail"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1969
+#, java-format
+msgid "{0} fails"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1975
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
+msgid "Banned"
+msgstr ""
+
+#. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2106
+msgid "SUMMARY"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:145
+msgid "Dropping tunnel requests: Too slow"
+msgstr ""
+
+#. don't even bother, since we are so overloaded locally
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:352
+msgid "Dropping tunnel requests: Overloaded"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:525
+msgid "Rejecting tunnels: Request overload"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:550
+msgid "Rejecting tunnels: Connection limit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:744
+msgid "Dropping tunnel requests: High load"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:753
+msgid "Dropping tunnel requests: Queue time"
+msgstr ""
+
+#. Automatically generated pseudo-java for xgettext - do not edit
+#. Translators may wish to translate a few of these, do not bother to translate all of them!!
+#: ../java/build/Countries.java:3
+msgid "Andorra"
+msgstr ""
+
+#: ../java/build/Countries.java:4
+msgid "United Arab Emirates"
+msgstr ""
+
+#: ../java/build/Countries.java:5
+msgid "Afghanistan"
+msgstr ""
+
+#: ../java/build/Countries.java:6
+msgid "Antigua and Barbuda"
+msgstr ""
+
+#: ../java/build/Countries.java:7
+msgid "Anguilla"
+msgstr ""
+
+#: ../java/build/Countries.java:8
+msgid "Albania"
+msgstr ""
+
+#: ../java/build/Countries.java:9
+msgid "Armenia"
+msgstr ""
+
+#: ../java/build/Countries.java:10
+msgid "Netherlands Antilles"
+msgstr ""
+
+#: ../java/build/Countries.java:11
+msgid "Angola"
+msgstr ""
+
+#: ../java/build/Countries.java:12
+msgid "Antarctica"
+msgstr ""
+
+#: ../java/build/Countries.java:13
+msgid "Argentina"
+msgstr ""
+
+#: ../java/build/Countries.java:14
+msgid "American Samoa"
+msgstr ""
+
+#: ../java/build/Countries.java:15
+msgid "Austria"
+msgstr ""
+
+#: ../java/build/Countries.java:16
+msgid "Australia"
+msgstr ""
+
+#: ../java/build/Countries.java:17
+msgid "Aruba"
+msgstr ""
+
+#: ../java/build/Countries.java:19
+msgid "Azerbaijan"
+msgstr ""
+
+#: ../java/build/Countries.java:20
+msgid "Bosnia and Herzegovina"
+msgstr ""
+
+#: ../java/build/Countries.java:21
+msgid "Barbados"
+msgstr ""
+
+#: ../java/build/Countries.java:22
+msgid "Bangladesh"
+msgstr ""
+
+#: ../java/build/Countries.java:23
+msgid "Belgium"
+msgstr ""
+
+#: ../java/build/Countries.java:24
+msgid "Burkina Faso"
+msgstr ""
+
+#: ../java/build/Countries.java:25
+msgid "Bulgaria"
+msgstr ""
+
+#: ../java/build/Countries.java:26
+msgid "Bahrain"
+msgstr ""
+
+#: ../java/build/Countries.java:27
+msgid "Burundi"
+msgstr ""
+
+#: ../java/build/Countries.java:28
+msgid "Benin"
+msgstr ""
+
+#: ../java/build/Countries.java:29
+msgid "Bermuda"
+msgstr ""
+
+#: ../java/build/Countries.java:30
+msgid "Brunei Darussalam"
+msgstr ""
+
+#: ../java/build/Countries.java:31
+msgid "Bolivia"
+msgstr ""
+
+#: ../java/build/Countries.java:32
+msgid "Brazil"
+msgstr ""
+
+#: ../java/build/Countries.java:33
+msgid "Bahamas"
+msgstr ""
+
+#: ../java/build/Countries.java:34
+msgid "Bhutan"
+msgstr ""
+
+#: ../java/build/Countries.java:35
+msgid "Bouvet Island"
+msgstr ""
+
+#: ../java/build/Countries.java:36
+msgid "Botswana"
+msgstr ""
+
+#: ../java/build/Countries.java:37
+msgid "Belarus"
+msgstr ""
+
+#: ../java/build/Countries.java:38
+msgid "Belize"
+msgstr ""
+
+#: ../java/build/Countries.java:39
+msgid "Canada"
+msgstr ""
+
+#: ../java/build/Countries.java:40
+msgid "The Democratic Republic of the Congo"
+msgstr ""
+
+#: ../java/build/Countries.java:41
+msgid "Central African Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:42
+msgid "Congo"
+msgstr ""
+
+#: ../java/build/Countries.java:43
+msgid "Switzerland"
+msgstr ""
+
+#: ../java/build/Countries.java:44
+msgid "Cote D'Ivoire"
+msgstr ""
+
+#: ../java/build/Countries.java:45
+msgid "Cook Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:46
+msgid "Chile"
+msgstr ""
+
+#: ../java/build/Countries.java:47
+msgid "Cameroon"
+msgstr ""
+
+#: ../java/build/Countries.java:48
+msgid "China"
+msgstr ""
+
+#: ../java/build/Countries.java:49
+msgid "Colombia"
+msgstr ""
+
+#: ../java/build/Countries.java:50
+msgid "Costa Rica"
+msgstr ""
+
+#: ../java/build/Countries.java:51
+msgid "Serbia and Montenegro"
+msgstr ""
+
+#: ../java/build/Countries.java:52
+msgid "Cuba"
+msgstr ""
+
+#: ../java/build/Countries.java:53
+msgid "Cape Verde"
+msgstr ""
+
+#: ../java/build/Countries.java:54
+msgid "Cyprus"
+msgstr ""
+
+#: ../java/build/Countries.java:55
+msgid "Czech Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:56
+msgid "Germany"
+msgstr ""
+
+#: ../java/build/Countries.java:57
+msgid "Djibouti"
+msgstr ""
+
+#: ../java/build/Countries.java:58
+msgid "Denmark"
+msgstr ""
+
+#: ../java/build/Countries.java:59
+msgid "Dominica"
+msgstr ""
+
+#: ../java/build/Countries.java:60
+msgid "Dominican Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:61
+msgid "Algeria"
+msgstr ""
+
+#: ../java/build/Countries.java:62
+msgid "Ecuador"
+msgstr ""
+
+#: ../java/build/Countries.java:63
+msgid "Estonia"
+msgstr ""
+
+#: ../java/build/Countries.java:64
+msgid "Egypt"
+msgstr ""
+
+#: ../java/build/Countries.java:65
+msgid "Eritrea"
+msgstr ""
+
+#: ../java/build/Countries.java:66
+msgid "Spain"
+msgstr ""
+
+#: ../java/build/Countries.java:67
+msgid "Ethiopia"
+msgstr ""
+
+#: ../java/build/Countries.java:68
+msgid "Finland"
+msgstr ""
+
+#: ../java/build/Countries.java:69
+msgid "Fiji"
+msgstr ""
+
+#: ../java/build/Countries.java:70
+msgid "Falkland Islands (Malvinas)"
+msgstr ""
+
+#: ../java/build/Countries.java:71
+msgid "Federated States of Micronesia"
+msgstr ""
+
+#: ../java/build/Countries.java:72
+msgid "Faroe Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:73
+msgid "France"
+msgstr ""
+
+#: ../java/build/Countries.java:74
+msgid "Gabon"
+msgstr ""
+
+#: ../java/build/Countries.java:75
+msgid "United Kingdom"
+msgstr ""
+
+#: ../java/build/Countries.java:76
+msgid "Grenada"
+msgstr ""
+
+#: ../java/build/Countries.java:77
+msgid "Georgia"
+msgstr ""
+
+#: ../java/build/Countries.java:78
+msgid "French Guiana"
+msgstr ""
+
+#: ../java/build/Countries.java:79
+msgid "Ghana"
+msgstr ""
+
+#: ../java/build/Countries.java:80
+msgid "Gibraltar"
+msgstr ""
+
+#: ../java/build/Countries.java:81
+msgid "Greenland"
+msgstr ""
+
+#: ../java/build/Countries.java:82
+msgid "Gambia"
+msgstr ""
+
+#: ../java/build/Countries.java:83
+msgid "Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:84
+msgid "Guadeloupe"
+msgstr ""
+
+#: ../java/build/Countries.java:85
+msgid "Equatorial Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:86
+msgid "Greece"
+msgstr ""
+
+#: ../java/build/Countries.java:87
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:88
+msgid "Guatemala"
+msgstr ""
+
+#: ../java/build/Countries.java:89
+msgid "Guam"
+msgstr ""
+
+#: ../java/build/Countries.java:90
+msgid "Guinea-Bissau"
+msgstr ""
+
+#: ../java/build/Countries.java:91
+msgid "Guyana"
+msgstr ""
+
+#: ../java/build/Countries.java:92
+msgid "Hong Kong"
+msgstr ""
+
+#: ../java/build/Countries.java:93
+msgid "Honduras"
+msgstr ""
+
+#: ../java/build/Countries.java:94
+msgid "Croatia"
+msgstr ""
+
+#: ../java/build/Countries.java:95
+msgid "Haiti"
+msgstr ""
+
+#: ../java/build/Countries.java:96
+msgid "Hungary"
+msgstr ""
+
+#: ../java/build/Countries.java:97
+msgid "Indonesia"
+msgstr ""
+
+#: ../java/build/Countries.java:98
+msgid "Ireland"
+msgstr ""
+
+#: ../java/build/Countries.java:99
+msgid "Israel"
+msgstr ""
+
+#: ../java/build/Countries.java:101
+msgid "India"
+msgstr ""
+
+#: ../java/build/Countries.java:102
+msgid "British Indian Ocean Territory"
+msgstr ""
+
+#: ../java/build/Countries.java:103
+msgid "Iraq"
+msgstr ""
+
+#: ../java/build/Countries.java:104
+msgid "Islamic Republic of Iran"
+msgstr ""
+
+#: ../java/build/Countries.java:105
+msgid "Iceland"
+msgstr ""
+
+#: ../java/build/Countries.java:106
+msgid "Italy"
+msgstr ""
+
+#: ../java/build/Countries.java:108
+msgid "Jamaica"
+msgstr ""
+
+#: ../java/build/Countries.java:109
+msgid "Jordan"
+msgstr ""
+
+#: ../java/build/Countries.java:110
+msgid "Japan"
+msgstr ""
+
+#: ../java/build/Countries.java:111
+msgid "Kenya"
+msgstr ""
+
+#: ../java/build/Countries.java:112
+msgid "Kyrgyzstan"
+msgstr ""
+
+#: ../java/build/Countries.java:113
+msgid "Cambodia"
+msgstr ""
+
+#: ../java/build/Countries.java:114
+msgid "Kiribati"
+msgstr ""
+
+#: ../java/build/Countries.java:115
+msgid "Comoros"
+msgstr ""
+
+#: ../java/build/Countries.java:116
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: ../java/build/Countries.java:117
+msgid "Republic of Korea"
+msgstr ""
+
+#: ../java/build/Countries.java:118
+msgid "Kuwait"
+msgstr ""
+
+#: ../java/build/Countries.java:119
+msgid "Cayman Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:120
+msgid "Kazakhstan"
+msgstr ""
+
+#: ../java/build/Countries.java:121
+msgid "Lao People's Democratic Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:122
+msgid "Lebanon"
+msgstr ""
+
+#: ../java/build/Countries.java:123
+msgid "Saint Lucia"
+msgstr ""
+
+#: ../java/build/Countries.java:124
+msgid "Liechtenstein"
+msgstr ""
+
+#: ../java/build/Countries.java:125
+msgid "Sri Lanka"
+msgstr ""
+
+#: ../java/build/Countries.java:126
+msgid "Liberia"
+msgstr ""
+
+#: ../java/build/Countries.java:127
+msgid "Lesotho"
+msgstr ""
+
+#: ../java/build/Countries.java:128
+msgid "Lithuania"
+msgstr ""
+
+#: ../java/build/Countries.java:129
+msgid "Luxembourg"
+msgstr ""
+
+#: ../java/build/Countries.java:130
+msgid "Latvia"
+msgstr ""
+
+#: ../java/build/Countries.java:131
+msgid "Libyan Arab Jamahiriya"
+msgstr ""
+
+#: ../java/build/Countries.java:132
+msgid "Morocco"
+msgstr ""
+
+#: ../java/build/Countries.java:133
+msgid "Monaco"
+msgstr ""
+
+#: ../java/build/Countries.java:134
+msgid "Republic of Moldova"
+msgstr ""
+
+#: ../java/build/Countries.java:137
+msgid "Madagascar"
+msgstr ""
+
+#: ../java/build/Countries.java:138
+msgid "Marshall Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:139
+msgid "The Former Yugoslav Republic of Macedonia"
+msgstr ""
+
+#: ../java/build/Countries.java:140
+msgid "Mali"
+msgstr ""
+
+#: ../java/build/Countries.java:141
+msgid "Myanmar"
+msgstr ""
+
+#: ../java/build/Countries.java:142
+msgid "Mongolia"
+msgstr ""
+
+#: ../java/build/Countries.java:143
+msgid "Macao"
+msgstr ""
+
+#: ../java/build/Countries.java:144
+msgid "Northern Mariana Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:145
+msgid "Martinique"
+msgstr ""
+
+#: ../java/build/Countries.java:146
+msgid "Mauritania"
+msgstr ""
+
+#: ../java/build/Countries.java:147
+msgid "Montserrat"
+msgstr ""
+
+#: ../java/build/Countries.java:148
+msgid "Malta"
+msgstr ""
+
+#: ../java/build/Countries.java:149
+msgid "Mauritius"
+msgstr ""
+
+#: ../java/build/Countries.java:150
+msgid "Maldives"
+msgstr ""
+
+#: ../java/build/Countries.java:151
+msgid "Malawi"
+msgstr ""
+
+#: ../java/build/Countries.java:152
+msgid "Mexico"
+msgstr ""
+
+#: ../java/build/Countries.java:153
+msgid "Malaysia"
+msgstr ""
+
+#: ../java/build/Countries.java:154
+msgid "Mozambique"
+msgstr ""
+
+#: ../java/build/Countries.java:155
+msgid "Namibia"
+msgstr ""
+
+#: ../java/build/Countries.java:156
+msgid "New Caledonia"
+msgstr ""
+
+#: ../java/build/Countries.java:157
+msgid "Niger"
+msgstr ""
+
+#: ../java/build/Countries.java:158
+msgid "Norfolk Island"
+msgstr ""
+
+#: ../java/build/Countries.java:159
+msgid "Nigeria"
+msgstr ""
+
+#: ../java/build/Countries.java:160
+msgid "Nicaragua"
+msgstr ""
+
+#: ../java/build/Countries.java:161
+msgid "Netherlands"
+msgstr ""
+
+#: ../java/build/Countries.java:162
+msgid "Norway"
+msgstr ""
+
+#: ../java/build/Countries.java:163
+msgid "Nepal"
+msgstr ""
+
+#: ../java/build/Countries.java:164
+msgid "Nauru"
+msgstr ""
+
+#: ../java/build/Countries.java:165
+msgid "Niue"
+msgstr ""
+
+#: ../java/build/Countries.java:166
+msgid "New Zealand"
+msgstr ""
+
+#: ../java/build/Countries.java:167
+msgid "Oman"
+msgstr ""
+
+#: ../java/build/Countries.java:168
+msgid "Panama"
+msgstr ""
+
+#: ../java/build/Countries.java:169
+msgid "Peru"
+msgstr ""
+
+#: ../java/build/Countries.java:170
+msgid "French Polynesia"
+msgstr ""
+
+#: ../java/build/Countries.java:171
+msgid "Papua New Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:172
+msgid "Philippines"
+msgstr ""
+
+#: ../java/build/Countries.java:173
+msgid "Pakistan"
+msgstr ""
+
+#: ../java/build/Countries.java:174
+msgid "Poland"
+msgstr ""
+
+#: ../java/build/Countries.java:175
+msgid "Saint Pierre and Miquelon"
+msgstr ""
+
+#: ../java/build/Countries.java:176
+msgid "Puerto Rico"
+msgstr ""
+
+#: ../java/build/Countries.java:177
+msgid "Palestinian Territory"
+msgstr ""
+
+#: ../java/build/Countries.java:178
+msgid "Portugal"
+msgstr ""
+
+#: ../java/build/Countries.java:179
+msgid "Palau"
+msgstr ""
+
+#: ../java/build/Countries.java:180
+msgid "Paraguay"
+msgstr ""
+
+#: ../java/build/Countries.java:181
+msgid "Qatar"
+msgstr ""
+
+#: ../java/build/Countries.java:182
+msgid "Reunion"
+msgstr ""
+
+#: ../java/build/Countries.java:183
+msgid "Romania"
+msgstr ""
+
+#: ../java/build/Countries.java:184
+msgid "Serbia"
+msgstr ""
+
+#: ../java/build/Countries.java:185
+msgid "Russian Federation"
+msgstr ""
+
+#: ../java/build/Countries.java:186
+msgid "Rwanda"
+msgstr ""
+
+#: ../java/build/Countries.java:187
+msgid "Saudi Arabia"
+msgstr ""
+
+#: ../java/build/Countries.java:188
+msgid "Solomon Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:189
+msgid "Seychelles"
+msgstr ""
+
+#: ../java/build/Countries.java:190
+msgid "Sudan"
+msgstr ""
+
+#: ../java/build/Countries.java:191
+msgid "Sweden"
+msgstr ""
+
+#: ../java/build/Countries.java:192
+msgid "Singapore"
+msgstr ""
+
+#: ../java/build/Countries.java:193
+msgid "Slovenia"
+msgstr ""
+
+#: ../java/build/Countries.java:194
+msgid "Slovakia"
+msgstr ""
+
+#: ../java/build/Countries.java:195
+msgid "Sierra Leone"
+msgstr ""
+
+#: ../java/build/Countries.java:196
+msgid "San Marino"
+msgstr ""
+
+#: ../java/build/Countries.java:197
+msgid "Senegal"
+msgstr ""
+
+#: ../java/build/Countries.java:198
+msgid "Somalia"
+msgstr ""
+
+#: ../java/build/Countries.java:199
+msgid "Suriname"
+msgstr ""
+
+#: ../java/build/Countries.java:200
+msgid "Sao Tome and Principe"
+msgstr ""
+
+#: ../java/build/Countries.java:201
+msgid "El Salvador"
+msgstr ""
+
+#: ../java/build/Countries.java:202
+msgid "Syrian Arab Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:203
+msgid "Swaziland"
+msgstr ""
+
+#: ../java/build/Countries.java:204
+msgid "Turks and Caicos Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:205
+msgid "Chad"
+msgstr ""
+
+#: ../java/build/Countries.java:206
+msgid "French Southern Territories"
+msgstr ""
+
+#: ../java/build/Countries.java:207
+msgid "Togo"
+msgstr ""
+
+#: ../java/build/Countries.java:208
+msgid "Thailand"
+msgstr ""
+
+#: ../java/build/Countries.java:209
+msgid "Tajikistan"
+msgstr ""
+
+#: ../java/build/Countries.java:210
+msgid "Tokelau"
+msgstr ""
+
+#: ../java/build/Countries.java:211
+msgid "Timor-Leste"
+msgstr ""
+
+#: ../java/build/Countries.java:212
+msgid "Turkmenistan"
+msgstr ""
+
+#: ../java/build/Countries.java:213
+msgid "Tunisia"
+msgstr ""
+
+#: ../java/build/Countries.java:214
+msgid "Tonga"
+msgstr ""
+
+#: ../java/build/Countries.java:215
+msgid "Turkey"
+msgstr ""
+
+#: ../java/build/Countries.java:216
+msgid "Trinidad and Tobago"
+msgstr ""
+
+#: ../java/build/Countries.java:217
+msgid "Tuvalu"
+msgstr ""
+
+#: ../java/build/Countries.java:218
+msgid "Taiwan"
+msgstr ""
+
+#: ../java/build/Countries.java:219
+msgid "United Republic of Tanzania"
+msgstr ""
+
+#: ../java/build/Countries.java:220
+msgid "Ukraine"
+msgstr ""
+
+#: ../java/build/Countries.java:221
+msgid "Uganda"
+msgstr ""
+
+#: ../java/build/Countries.java:222
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:223
+msgid "United States"
+msgstr ""
+
+#: ../java/build/Countries.java:224
+msgid "Uruguay"
+msgstr ""
+
+#: ../java/build/Countries.java:225
+msgid "Uzbekistan"
+msgstr ""
+
+#: ../java/build/Countries.java:226
+msgid "Holy See (Vatican City State)"
+msgstr ""
+
+#: ../java/build/Countries.java:227
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: ../java/build/Countries.java:228
+msgid "Venezuela"
+msgstr ""
+
+#: ../java/build/Countries.java:229 ../java/build/Countries.java:230
+msgid "Virgin Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:231
+msgid "Viet Nam"
+msgstr ""
+
+#: ../java/build/Countries.java:232
+msgid "Vanuatu"
+msgstr ""
+
+#: ../java/build/Countries.java:233
+msgid "Wallis and Futuna"
+msgstr ""
+
+#: ../java/build/Countries.java:234
+msgid "Samoa"
+msgstr ""
+
+#: ../java/build/Countries.java:235
+msgid "Yemen"
+msgstr ""
+
+#: ../java/build/Countries.java:236
+msgid "Mayotte"
+msgstr ""
+
+#: ../java/build/Countries.java:237
+msgid "South Africa"
+msgstr ""
+
+#: ../java/build/Countries.java:238
+msgid "Zambia"
+msgstr ""
+
+#: ../java/build/Countries.java:239
+msgid "Zimbabwe"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/CSSHelper.java:57
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:35
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:37
+#: ../java/strings/Strings.java:29
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:119
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:233
+msgid "I2P Router Console"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:57
+msgid "Error updating the configuration - please see the error logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:69
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:266
+msgid "Configuration saved successfully"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:268
+msgid ""
+"Error saving the configuration (applied but not saved) - please see the "
+"error logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
+msgid "Save Client Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405
+msgid "Save Interface Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+msgid "Save WebApp Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
+msgid "Save Plugin Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
+msgid "Install Plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87
+#, java-format
+msgid "Deleted plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89
+#, java-format
+msgid "Error deleting plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101
+#, java-format
+msgid "Stopped plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103
+#, java-format
+msgid "Error stopping plugin {0}"
+msgstr ""
+
+#. label (IE)
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:255
+msgid "Start"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:143
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:33
+msgid "Unsupported"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189
+msgid "New client added"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
+msgid ""
+"Client configuration saved successfully - restart required to take effect."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
+msgid "Bad client index."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:384
+msgid "Client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
+msgid "started"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
+msgid "deleted"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240
+msgid "WebApp configuration saved."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256
+msgid "Plugin configuration saved."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+msgid "WebApp"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
+msgid "Failed to start"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278
+msgid "Failed to find server."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284
+msgid "No plugin URL specified."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
+#, java-format
+msgid "No update URL specified for {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:302
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:307
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:325
+msgid "Plugin or update download already in progress."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:311
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118
+#, java-format
+msgid "Downloading plugin from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329
+#, java-format
+msgid "Checking plugin {0} for updates"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
+#, java-format
+msgid "Started plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341
+#, java-format
+msgid "Error starting plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
+msgid ""
+"Interface configuration saved successfully - restart required to take effect."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
+msgid "Edit"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
+msgid "Add Client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+msgid "Class and arguments"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
+msgid "Control"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
+msgid "Run at Startup?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
+msgid "Description"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
+msgid "Plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
+msgid "Version"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:163
+msgid "Signed by"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:180
+msgid "Date"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:186
+msgid "Author"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
+msgid "License"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
+msgid "Website"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
+msgid "Update link"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
+msgid "Stop"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:262
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:78
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313
+msgid "Check for updates"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:263
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242
+msgid "Update"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
+#, java-format
+msgid "Are you sure you want to delete {0}?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:270
+msgid "Delete"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+msgid "Add key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
+msgid "Delete key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:21
+msgid "You must enter a destination"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:23
+msgid "You must enter a key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:43
+msgid "Key for"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
+msgid "added to keyring"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:36
+msgid "Invalid destination or key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
+msgid "removed from keyring"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:43
+msgid "not found in keyring"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:45
+msgid "Invalid destination"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
+msgid "Log overrides updated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
+msgid "Log configuration saved"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
+msgid ""
+"Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
+msgid ""
+"Or put entries in the logger.config file. Example: logger.record.net.i2p."
+"router.tunnel=WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
+msgid "Valid levels are DEBUG, INFO, WARN, ERROR, CRIT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "CRIT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "DEBUG"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "ERROR"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "INFO"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
+msgid "Remove"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
+msgid "Select a class to add"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
+msgid "Network"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+msgid "Service"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
+#: ../java/strings/Strings.java:72
+msgid "Tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+msgid "UI"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+msgid "Clients"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
+msgid "Keyring"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+msgid "Logging"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
+#: ../java/strings/Strings.java:67
+msgid "Peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
+msgid "Stats"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
+msgid "Advanced"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:29
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:344
+msgid "Save changes"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:121
+msgid "Rechecking router reachability..."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:153
+msgid "Updating IP address"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:171
+msgid "Disabling TCP completely"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:175
+msgid "Updating inbound TCP address to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:179
+msgid "Disabling inbound TCP"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:181
+msgid "Updating inbound TCP address to auto"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190
+msgid "Updating inbound TCP port to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:193
+msgid "Updating inbound TCP port to auto"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
+msgid "Updating UDP port from"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
+msgid "to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:221
+msgid "Gracefully restarting into Hidden Router Mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:223
+msgid "Gracefully restarting to exit Hidden Router Mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:232
+msgid "Enabling UPnP, restart required to take effect"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:234
+msgid "Disabling UPnP, restart required to take effect"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:242
+msgid "Enabling laptop mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:244
+msgid "Disabling laptop mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:250
+msgid "Requiring SSU introducers"
+msgstr ""
+
+#. There's a few changes that don't really require restart (e.g. enabling inbound TCP)
+#. But it would be hard to get right, so just do a restart.
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:291
+msgid "Gracefully restarting I2P to change published router address"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:314
+msgid "Updating bandwidth share percentage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:397
+msgid "Updated bandwidth limits"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:41
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:49
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:59
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:62
+msgid "unknown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:172
+msgid "bits per second"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173
+#, java-format
+msgid "or {0} bytes per month maximum"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+msgid "Ban peer until restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:23
+#, java-format
+msgid "Manually banned via {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
+msgid "banned until restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:27
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:38
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:59
+msgid "Invalid peer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
+msgid "Unban peer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
+msgid "unbanned"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
+msgid "is not currently banned"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+msgid "Adjust peer bonuses"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
+msgid "Bad speed value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:52
+msgid "Bad capacity value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:17
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
+msgid "Save changes and reseed now"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:21
+msgid "Reseeding is already in progress"
+msgstr ""
+
+#. skip the nonce checking in ReseedHandler
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:24
+msgid "Starting reseed process"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:66
+msgid "Configuration saved successfully."
+msgstr ""
+
+#. Normal browsers send value, IE sends button label
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
+msgid "Shutdown immediately"
+msgstr ""
+
+#. ctx.router().shutdown(Router.EXIT_HARD); // never returns
+#. give the UI time to respond
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:36
+msgid "Cancel shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:37
+msgid "Cancel restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:39
+msgid "Restart immediately"
+msgstr ""
+
+#. ctx.router().shutdown(Router.EXIT_HARD_RESTART); // never returns
+#. give the UI time to respond
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:43
+msgid "Restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:46
+msgid "Shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:59
+msgid "Restart imminent"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:61
+msgid "Shutdown imminent"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:65
+#, java-format
+msgid "Shutdown in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:70
+#, java-format
+msgid "Restart in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
+msgid "Shutdown gracefully"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:56
+msgid "Graceful shutdown initiated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:60
+msgid "Shutdown immediately!  boom bye bye bad bwoy"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
+msgid "Cancel graceful shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:63
+msgid "Graceful shutdown cancelled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+msgid "Graceful restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:67
+msgid "Graceful restart requested"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
+msgid "Hard restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:71
+msgid "Hard restart requested"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:72
+msgid "Rekey and Restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:73
+msgid "Rekeying after graceful restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:76
+msgid "Rekey and Shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:77
+msgid "Rekeying after graceful shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+msgid "Run I2P on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+msgid "Don't run I2P on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
+msgid "Dump threads"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
+msgid "View console on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93
+msgid "Console is to be shown on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
+msgid "Do not view console on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
+msgid "Console is not to be shown on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105
+msgid "Service installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107
+msgid "Warning: unable to install the service"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
+msgid "Service removed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
+msgid "Warning: unable to remove the service"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
+msgid "Stat filter and location updated successfully to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
+msgid "Failed to update the stat filter and location"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
+msgid ""
+"Graph list updated, may take up to 60s to be reflected here and on the <a "
+"href=\"graphs.jsp\">Graphs Page</a>"
+msgstr ""
+
+#. the count isn't really correct anyway, since we don't check for actual changes
+#. addFormNotice("Updated settings for " + updated + " pools.");
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
+msgid "Updated settings for all pools."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
+msgid "Exploratory tunnel configuration saved successfully."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
+msgid ""
+"Error saving the configuration (applied but not saved) - please see the "
+"error logs."
+msgstr ""
+
+#. * dummies for translation
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:15
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
+msgid "Exploratory tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:46
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+msgid "PERFORMANCE WARNING - Settings include very long tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
+msgstr ""
+
+#. buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
+#. tunnel depth
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
+msgid "Length"
+msgstr ""
+
+#. tunnel depth variance
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+msgid "Randomization"
+msgstr ""
+
+#. tunnel quantity
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+msgid "Quantity"
+msgstr ""
+
+#. tunnel backup quantity
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+msgid "Backup quantity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+msgid "Inbound options"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+msgid "Outbound options"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:31
+msgid "Theme change saved."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:33
+msgid "Refresh the page to view."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "English"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "French"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "German"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "Spanish"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Dutch"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Portuguese"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Russian"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Chinese"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Swedish"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:85
+msgid "Update available, attempting to download now"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87
+msgid "Update available, click button on left to download"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93
+msgid "No update available"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101
+msgid "Updating news URL to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109
+msgid "Updating proxy host to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117
+msgid "Updating proxy port to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130
+msgid "Updating refresh frequency to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137
+msgid "Updating update policy to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146
+msgid "Updating update URLs."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155
+msgid "Updating trusted keys."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163
+msgid "Updating unsigned update URL to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
+#: ../java/src/net/i2p/router/web/GraphHelper.java:167
+msgid "Never"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:90
+msgid "Every"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:108
+msgid "Notify only"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:115
+msgid "Download and verify only"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:123
+msgid "Download, verify, and restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/FormHandler.java:174
+msgid ""
+"Invalid form submission, probably because you used the 'back' or 'reload' "
+"button on your browser. Please resubmit."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:93
+msgid "Combined bandwidth graph"
+msgstr ""
+
+#. e.g. "statname for 60m"
+#: ../java/src/net/i2p/router/web/GraphHelper.java:107
+#, java-format
+msgid "{0} for {1}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+msgid "Configure Graph Display"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+msgid "Select Stats"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:150
+msgid "Periods"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:151
+msgid "Plot averages"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:152
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+msgid "or"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:152
+msgid "plot events"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:153
+msgid "Image sizes"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:153
+msgid "width"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:154
+msgid "height"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:154
+#: ../java/src/net/i2p/router/web/GraphHelper.java:155
+msgid "pixels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:156
+msgid "Refresh delay"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:171
+msgid "Redraw"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:203
+msgid "Graph settings saved"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:13
+#: ../java/src/net/i2p/router/web/LogsHelper.java:37
+msgid "File location"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:34
+msgid "File not found"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:52
+msgid "No log messages"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
+msgid "Network Database RouterInfo Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/strings/Strings.java:68
+msgid "Router"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+msgid "not found in network database"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
+msgid "Network Database Contents"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
+msgid "View RouterInfo"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
+msgid "LeaseSets"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
+msgid "LeaseSet"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
+msgid "Local"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+msgid "Unpublished"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
+msgid "Destination"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
+#, java-format
+msgid "Expires in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
+#, java-format
+msgid "Expired {0} ago"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Gateway"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+msgid "Lease"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
+msgid "Tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
+msgid "View LeaseSets"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
+msgid "Not initialized"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
+msgid "Routers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
+msgid "Show all routers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
+msgid "Show all routers with full stats"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
+msgid "Network Database Router Statistics"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+msgid "Count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+msgid "Transports"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+msgid "Country"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+msgid "Our info"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+msgid "Peer info for"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+msgid "Full entry"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+msgid "Hidden"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+msgid "Updated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
+#, java-format
+msgid "{0} ago"
+msgstr ""
+
+#. shouldnt happen
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+msgid "Published"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+msgid "Address(es)"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+msgid "cost"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "Hidden or starting up"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "SSU"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "SSU with introducers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP and SSU"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP and SSU with introducers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#, java-format
+msgid "News last updated {0} ago."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#, java-format
+msgid "News last checked {0} ago."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
+#, java-format
+msgid "Cannot check, plugin {0} is not installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:129
+#, java-format
+msgid "Checking for update of plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154
+#, java-format
+msgid "New plugin version {0} is available"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156
+#, java-format
+msgid "No new version is available for plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:165
+#, java-format
+msgid "Update check failed for plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
+msgid "Downloading plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
+#, java-format
+msgid "{0}B transferred"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153
+msgid "Plugin downloaded"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:345
+#, java-format
+msgid "Cannot create plugin directory {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
+#, java-format
+msgid "from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177
+#, java-format
+msgid "Plugin from {0} is corrupt"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188
+#, java-format
+msgid "Plugin from {0} does not contain the required configuration file"
+msgstr ""
+
+#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:201
+#, java-format
+msgid "Plugin from {0} contains an invalid key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:229
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:238
+#, java-format
+msgid "Plugin signature verification of {0} failed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:253
+#, java-format
+msgid "Plugin from {0} has invalid name or version"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:258
+#, java-format
+msgid "Plugin {0} has mismatched versions"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:266
+#, java-format
+msgid "This plugin requires I2P version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:274
+#, java-format
+msgid "This plugin requires Java version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:282
+msgid ""
+"Downloaded plugin is for new installs only, but the plugin is already "
+"installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:294
+msgid "Installed plugin does not contain the required configuration file"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:302
+msgid "Signature of downloaded plugin does not match installed plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:309
+#, java-format
+msgid "Downloaded plugin version {0} is not newer than installed plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:316
+#, java-format
+msgid "Plugin update requires installed plugin version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:323
+#, java-format
+msgid "Plugin update requires installed plugin version {0} or lower"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:340
+msgid "Plugin is for upgrades only, but the plugin is not installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:353
+#, java-format
+msgid "Failed to install plugin in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
+#, java-format
+msgid "Plugin {0} installed, router restart required"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:362
+#, java-format
+msgid "Plugin {0} installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:380
+#, java-format
+msgid "Plugin {0} installed and started"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
+#, java-format
+msgid "Plugin {0} installed but failed to start, check logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:385
+#, java-format
+msgid "Plugin {0} installed but failed to start"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:395
+#, java-format
+msgid "Failed to download plugin from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:72
+msgid "Peer Profiles"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
+#, java-format
+msgid "Showing {0} recent profiles."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
+#, java-format
+msgid "Hiding {0} older profiles."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
+#, java-format
+msgid "Hiding {0} standard profiles."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
+msgid "Groups (Caps)"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
+msgid "Speed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
+msgid "Capacity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+msgid "Integration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:86
+msgid "Status"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:126
+msgid "Fast, High Capacity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:127
+msgid "High Capacity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:128
+msgid "Standard"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:129
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:163
+msgid "Failing"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+msgid "Integrated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:164
+msgid "Unreachable"
+msgstr ""
+
+#. hide if < 10%
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:171
+msgid "Test Fails"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
+msgid "profile"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+msgid "Floodfill and Integrated Peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
+msgid "Caps"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
+msgid "Integ. Value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+msgid "Last Heard About"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+msgid "Last Heard From"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+msgid "Last Good Send"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+msgid "Last Bad Send"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+msgid "10m Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+msgid "1h Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+msgid "1d Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+msgid "Last Good Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+msgid "Last Bad Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+msgid "Last Good Store"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+msgid "Last Bad Store"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+msgid "1h Fail Rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+msgid "1d Fail Rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
+msgid "Thresholds"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+msgid "fast peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+msgid "high capacity peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
+msgid " well integrated peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+msgid "as determined by the profile organizer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+msgid "groups"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+msgid "capabilities in the netDb, not used to determine profiles"
+msgstr ""
+
+#. capabilities
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/strings/Strings.java:81
+msgid "caps"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+msgid ""
+"peak throughput (bytes per second) over a 1 minute period that the peer has "
+"sustained in a single tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+msgid "speed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+msgid "capacity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+msgid "how many tunnels can we ask them to join in an hour?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+msgid "how many new peers have they told us about lately?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+msgid "integration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+msgid "is the peer banned, or unreachable, or failing tunnel tests?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+msgid "status"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#, java-format
+msgid "Temporary ban expiring in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
+#, java-format
+msgid "Banned until restart or in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
+msgid "unban now"
+msgstr ""
+
+#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:223
+msgid "Bandwidth usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:230
+msgid "Outbound bytes/sec"
+msgstr ""
+
+#. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:232
+msgid "Inbound bytes/sec"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+msgid "bytes/sec"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+msgid "out average"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:115
+msgid "max"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+msgid "in average"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:57
+msgid "GO"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:60
+msgid "Statistics gathered during this router's uptime"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:63
+msgid ""
+"The data gathered is quantized over a 1 minute period, so should just be "
+"used as an estimate."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:64
+msgid "These statistics are primarily used for development and debugging."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+msgid "No lifetime events"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+msgid "frequency"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+msgid "Rolling average events per period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+msgid "Highest events per period"
+msgstr ""
+
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. buf.append("(current is ");
+#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
+#. buf.append(" of max)");
+#. }
+#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
+msgid "Lifetime average events per period"
+msgstr ""
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+msgid "Lifetime average frequency"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
+msgid "rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+msgid "Average"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+msgid "Highest average"
+msgstr ""
+
+#. breaking the sentence like before makes translation in my language impossible.
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:201
+#, java-format
+msgid "There were {0} event(s) in this period"
+msgstr ""
+
+#. buf.append(' ');
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:203
+#, java-format
+msgid " which ended {0} ago."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:205
+msgid "No events"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:211
+msgid "Average event count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:213
+msgid "Events in peak period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:221
+msgid "Graph Data"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:223
+msgid "Graph Event Count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:226
+msgid "Export Data as XML"
+msgstr ""
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:231
+msgid "Lifetime average value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
+msgid "I2P Router Help &amp; FAQ"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
+msgid "Help &amp; FAQ"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
+msgid ""
+"Configure startup of clients and webapps (services); manually start dormant "
+"services"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
+msgid "I2P Services"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
+msgid "Manage your I2P hosts file here (I2P domain name resolution)"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
+msgid "Addressbook"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
+msgid "Built-in anonymous BitTorrent Client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
+msgid "Torrents"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
+msgid "Anonymous webmail client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
+msgid "Webmail"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
+msgid "Anonymous resident webserver"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
+msgid "Webserver"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
+msgid "Configure I2P Router"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
+msgid "I2P Internals"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+msgid "View existing tunnels and tunnel build status"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
+msgid "Show all current peer connections"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
+msgid "Show recent peer performance profiles"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
+msgid "Profiles"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
+msgid "Show list of all known I2P routers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
+msgid "NetDB"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
+msgid "Health Report"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
+msgid "Logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
+msgid "Graph router performance"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
+msgid "Graphs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
+msgid "Textual router performance statistics"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:370
+msgid "Local Destinations"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
+#: ../java/strings/Strings.java:62
+msgid "I2PTunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
+msgid "I2P Router Help"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
+msgid "General"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
+msgid "Local Identity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
+msgid "Your unique I2P router identity is"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
+msgid "never reveal it to anyone"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
+msgid "show"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
+msgid "How long we've been running for this session"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
+msgid "Uptime"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
+msgid ""
+"Help with configuring your firewall and router for optimal I2P performance"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
+msgid "Download"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
+msgid "Download Unsigned"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+msgid "Active"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+msgid "Fast"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+msgid "High capacity"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+msgid "Known"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+msgid "Help with firewall configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+msgid "Check NAT/firewall"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+msgid "Reseed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+msgid "Configure router bandwidth allocation"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+msgid "Bandwidth in/out"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+msgid "Total"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+msgid "Used"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+msgid "Exploratory"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+msgid "Participating"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
+msgid "Share ratio"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+msgid "What's in the router's job queue?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+msgid "Congestion"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+msgid "Job lag"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+msgid "Message delay"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+msgid "Tunnel lag"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+msgid "Backlog"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:106
+msgid "ERR-Client Manager I2CP Error - check logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:113
+#, java-format
+msgid "ERR-Clock Skew of {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:122
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+msgid "OK"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:123
+msgid "ERR-Private TCP Address"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:125
+msgid "ERR-SymmetricNAT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:128
+msgid "WARN-Firewalled with Inbound TCP Enabled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:130
+msgid "WARN-Firewalled and Floodfill"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:132
+msgid "WARN-Firewalled and Fast"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:133
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+msgid "Firewalled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:135
+msgid ""
+"ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and "
+"restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:141
+msgid "ERR-No Active Peers, Check Network Connection and Firewall"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:144
+msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:146
+msgid "WARN-Firewalled with UDP Disabled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:148
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+msgid "Testing"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:370
+msgid "Add/remove/edit &amp; control your client and server tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:382
+msgid "Server"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:386
+msgid "Show tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:397
+msgid "Leases expired"
+msgstr ""
+
+#. red or yellow light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:397
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:398
+msgid "Rebuilding"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:398
+msgid "ago"
+msgstr ""
+
+#. green light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:401
+msgid "Ready"
+msgstr ""
+
+#. yellow light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
+msgid "Building"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
+msgid "Building tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
+msgid "none"
+msgstr ""
+
+#. tunnel nicknames, taken from i2ptunnel.config so they will display
+#. nicely under 'local destinations' in the summary bar
+#. note that if the wording changes in i2ptunnel.config, we have to
+#. keep the old string here as well for existing installs
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:421
+#: ../java/strings/Strings.java:36
+msgid "shared clients"
+msgstr ""
+
+#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
+#, java-format
+msgid "events in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
+#, java-format
+msgid "averaged for {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
+msgid "Events per period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
+msgid "avg"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
+msgid "now"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
+msgid "configure"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
+msgid "dead"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:71
+msgid "Participating tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
+msgid "From"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
+msgid "Receive on"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "Expiration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "Send on"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "To"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+msgid "Rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+msgid "Role"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:107
+msgid "grace period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:117
+msgid "Outbound Endpoint"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:119
+msgid "Inbound Gateway"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:121
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:162
+msgid "Participant"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:126
+msgid "Inactive participating tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:127
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:218
+msgid "Lifetime bandwidth usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Expiry"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:159
+msgid "Participants"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:165
+msgid "Endpoint"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
+msgid "Build in progress"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
+msgid "inbound"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
+msgid "outbound"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:217
+msgid "No tunnels; waiting for the grace period to end."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:219
+msgid "in"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:220
+msgid "out"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:237
+msgid "Tunnel Counts By Peer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "% of total"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Our Tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Participating Tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:256
+msgid "Totals"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:142
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:237
+msgid "Updating"
+msgstr ""
+
+#. Process the .sud/.su2 file
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:88
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:116
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:261
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:286
+msgid "Update downloaded"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#, java-format
+msgid "Unsigned update file from {0} is corrupt"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+msgid "Restarting"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
+msgid "Click Restart to install"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
+msgid "Click Shutdown and restart to install"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:292
+#, java-format
+msgid "Version {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
+#, java-format
+msgid "Failed copy to {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
+#, java-format
+msgid "Updating from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#, java-format
+msgid "No new version found at {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+msgid "Update verified"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#, java-format
+msgid "Transfer failed from {0}"
+msgstr ""
+
+#. wars for ConfigClientsHelper
+#: ../java/strings/Strings.java:12
+msgid "addressbook"
+msgstr ""
+
+#: ../java/strings/Strings.java:13
+msgid "i2psnark"
+msgstr ""
+
+#: ../java/strings/Strings.java:14
+msgid "i2ptunnel"
+msgstr ""
+
+#: ../java/strings/Strings.java:15
+msgid "susimail"
+msgstr ""
+
+#: ../java/strings/Strings.java:16
+msgid "susidns"
+msgstr ""
+
+#: ../java/strings/Strings.java:17
+msgid "routerconsole"
+msgstr ""
+
+#. clients, taken from clients.config, for ConfigClientsHelper
+#. note that if the wording changes in clients.config, we have to
+#. keep the old string here as well for existing installs
+#: ../java/strings/Strings.java:22
+msgid "Web console"
+msgstr ""
+
+#: ../java/strings/Strings.java:23
+msgid "SAM application bridge"
+msgstr ""
+
+#: ../java/strings/Strings.java:24
+msgid "Application tunnels"
+msgstr ""
+
+#: ../java/strings/Strings.java:25
+msgid "My eepsite web server"
+msgstr ""
+
+#: ../java/strings/Strings.java:26
+msgid "I2P webserver (eepsite)"
+msgstr ""
+
+#: ../java/strings/Strings.java:27
+msgid "Browser launch at startup"
+msgstr ""
+
+#: ../java/strings/Strings.java:28
+msgid "BOB application bridge"
+msgstr ""
+
+#: ../java/strings/Strings.java:30
+msgid "Open Router Console in web browser at startup"
+msgstr ""
+
+#: ../java/strings/Strings.java:37
+msgid "IRC proxy"
+msgstr ""
+
+#: ../java/strings/Strings.java:38
+msgid "eepsite"
+msgstr ""
+
+#: ../java/strings/Strings.java:39
+msgid "I2P webserver"
+msgstr ""
+
+#: ../java/strings/Strings.java:40
+msgid "HTTP Proxy"
+msgstr ""
+
+#. older names for pre-0.7.4 installs
+#: ../java/strings/Strings.java:42
+msgid "eepProxy"
+msgstr ""
+
+#: ../java/strings/Strings.java:43
+msgid "ircProxy"
+msgstr ""
+
+#. hardcoded in i2psnark
+#: ../java/strings/Strings.java:45
+msgid "I2PSnark"
+msgstr ""
+
+#. hardcoded in iMule?
+#: ../java/strings/Strings.java:47
+msgid "iMule"
+msgstr ""
+
+#. standard themes for ConfigUIHelper
+#: ../java/strings/Strings.java:51
+msgid "classic"
+msgstr ""
+
+#: ../java/strings/Strings.java:52
+msgid "dark"
+msgstr ""
+
+#: ../java/strings/Strings.java:53
+msgid "light"
+msgstr ""
+
+#: ../java/strings/Strings.java:54
+msgid "midnight"
+msgstr ""
+
+#. stat groups for stats.jsp
+#: ../java/strings/Strings.java:57
+msgid "Bandwidth"
+msgstr ""
+
+#: ../java/strings/Strings.java:58
+msgid "BandwidthLimiter"
+msgstr ""
+
+#: ../java/strings/Strings.java:59
+msgid "ClientMessages"
+msgstr ""
+
+#: ../java/strings/Strings.java:60
+msgid "Encryption"
+msgstr ""
+
+#: ../java/strings/Strings.java:61
+msgid "i2cp"
+msgstr ""
+
+#: ../java/strings/Strings.java:63
+msgid "InNetPool"
+msgstr ""
+
+#: ../java/strings/Strings.java:64
+msgid "JobQueue"
+msgstr ""
+
+#: ../java/strings/Strings.java:65
+msgid "NetworkDatabase"
+msgstr ""
+
+#: ../java/strings/Strings.java:66
+msgid "ntcp"
+msgstr ""
+
+#: ../java/strings/Strings.java:69
+msgid "Stream"
+msgstr ""
+
+#: ../java/strings/Strings.java:70
+msgid "Throttle"
+msgstr ""
+
+#: ../java/strings/Strings.java:71
+msgid "Transport"
+msgstr ""
+
+#: ../java/strings/Strings.java:73
+msgid "udp"
+msgstr ""
+
+#. parameters in transport addresses (netdb.jsp)
+#. may or may not be worth translating
+#: ../java/strings/Strings.java:77
+msgid "host"
+msgstr ""
+
+#: ../java/strings/Strings.java:78
+msgid "key"
+msgstr ""
+
+#: ../java/strings/Strings.java:79
+msgid "port"
+msgstr ""
+
+#. introducer host
+#: ../java/strings/Strings.java:83
+msgid "ihost0"
+msgstr ""
+
+#: ../java/strings/Strings.java:84
+msgid "ihost1"
+msgstr ""
+
+#: ../java/strings/Strings.java:85
+msgid "ihost2"
+msgstr ""
+
+#. introducer port
+#: ../java/strings/Strings.java:87
+msgid "iport0"
+msgstr ""
+
+#: ../java/strings/Strings.java:88
+msgid "iport1"
+msgstr ""
+
+#: ../java/strings/Strings.java:89
+msgid "iport2"
+msgstr ""
+
+#. introducer key
+#: ../java/strings/Strings.java:91
+msgid "ikey0"
+msgstr ""
+
+#: ../java/strings/Strings.java:92
+msgid "ikey1"
+msgstr ""
+
+#: ../java/strings/Strings.java:93
+msgid "ikey2"
+msgstr ""
+
+#. introducer tag
+#: ../java/strings/Strings.java:95
+msgid "itag0"
+msgstr ""
+
+#: ../java/strings/Strings.java:96
+msgid "itag1"
+msgstr ""
+
+#: ../java/strings/Strings.java:97
+msgid "itag2"
+msgstr ""
+
+#. Descriptions for the stats that are graphed by default
+#. There are over 500 stats currently defined, we aren't going to tag them all
+#: ../java/strings/Strings.java:101
+msgid "Low-level bandwidth receive rate"
+msgstr ""
+
+#. bw.recvRate
+#: ../java/strings/Strings.java:102
+msgid "Low-level bandwidth send rate"
+msgstr ""
+
+#. bw.sendRate
+#: ../java/strings/Strings.java:103
+msgid "How many peers we are actively talking with"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+msgid "config networking"
+msgstr ""
+
+#. We have intl defined when this is included, but not when compiled standalone.
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:215
+msgid "Refresh (s)"
+msgstr ""
+
+#. ditto
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219
+msgid "Enable"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+msgid "I2P Network Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+msgid "Bandwidth limiter"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
+msgid ""
+"I2P will work best if you configure your rates to match the speed of your "
+"internet connection."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
+msgid "KBps In"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+msgid "KBps Out"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+msgid "Share"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
+msgid "NOTE"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#, java-format
+msgid "You have configured I2P to share only {0} KBps."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
+msgid "I2P requires at least 12KBps to enable sharing. "
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
+msgid ""
+"Please enable sharing (participating in tunnels) by configuring more "
+"bandwidth. "
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
+msgid ""
+"It improves your anonymity by creating cover traffic, and helps the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
+#, java-format
+msgid "You have configured I2P to share {0} KBps."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
+msgid ""
+"The higher the share bandwidth the more you improve your anonymity and help "
+"the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
+msgid "Cancel"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+msgid "IP and Transport Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:306
+msgid "The default settings will work for most people."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+msgid "There is help below."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+msgid "UPnP Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+msgid "Enable UPnP to open firewall ports"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+msgid "UPnP status"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+msgid "IP Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
+msgid "Externally reachable hostname or IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+msgid "Use all auto-detect methods"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+msgid "Disable UPnP IP address detection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+msgid "Ignore local interface IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+msgid "Use SSU IP address detection only"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
+msgid "Specify hostname or IP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+msgid "Select Interface"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+msgid "Hidden mode - do not publish IP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+msgid "(prevents participating traffic)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+msgid "Action when IP changes"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
+msgid ""
+"Laptop mode - Change router identity and UDP port when IP changes for "
+"enhanced anonymity"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+msgid "Experimental"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+msgid "UDP Configuration:"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+msgid "UDP port:"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+msgid "TCP Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+msgid "Use auto-detected IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:467
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:499
+msgid "currently"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+msgid "if we are not firewalled"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+msgid "Always use auto-detected IP address (Not firewalled)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+msgid "Disable inbound (Firewalled)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+msgid "Completely disable"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
+msgid ""
+"(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+msgid "Externally reachable TCP port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+msgid "Use the same port configured for UDP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+msgid "Specify Port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
+msgid "Note"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+msgid "Changing these settings will restart your router."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+msgid "Configuration Help"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
+msgid ""
+"While I2P will work fine behind most firewalls, your speeds and network "
+"integration will generally improve if the I2P port is forwarded for both UDP "
+"and TCP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
+msgid ""
+"If you can, please poke a hole in your firewall to allow unsolicited UDP and "
+"TCP packets to reach you."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
+msgid ""
+"If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole "
+"punching with \"SSU introductions\" to relay traffic."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
+msgid ""
+"Most of the options above are for special situations, for example where UPnP "
+"does not work correctly, or a firewall not under your control is doing harm."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
+msgid ""
+"UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect "
+"the external IP address and forward ports."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+msgid "UPnP support is beta, and may not work for any number of reasons"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+msgid "No UPnP-compatible device present"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+msgid "UPnP disabled on the device"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+msgid "Software firewall interference with UPnP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+msgid "Bugs in the device's UPnP implementation"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+msgid "Multiple firewall/routers in the internet connection path"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+msgid "UPnP device change, reset, or address change"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+msgid "Review the UPnP status here."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+msgid ""
+"UPnP may be enabled or disabled above, but a change requires a router "
+"restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+msgid "Hostnames entered above will be published in the network database."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+msgid "They are <b>not private</b>."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
+msgid ""
+"Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
+msgid ""
+"If you specify the wrong IP address or hostname, or do not properly "
+"configure your NAT or firewall, your network performance will degrade "
+"substantially."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+msgid "When in doubt, leave the settings at the defaults."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+msgid "Reachability Help"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
+msgid ""
+"If you think you have opened up your firewall and I2P still thinks you are "
+"firewalled, remember that you may have multiple firewalls, for example both "
+"software packages and external hardware routers."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
+msgid ""
+"If there is an error, the <a href=\"logs.jsp\">logs</a> may also help "
+"diagnose the problem."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+msgid "Your UDP port does not appear to be firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+msgid "Your UDP port appears to be firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
+msgid ""
+"As the firewall detection methods are not 100% reliable, this may "
+"occasionally be displayed in error."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
+msgid ""
+"However, if it appears consistently, you should check whether both your "
+"external and internal firewalls are open for your port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
+msgid ""
+"I2P will work fine when firewalled, there is no reason for concern. When "
+"firewalled, the router uses \"introducers\" to relay inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
+msgid ""
+"However, you will get more participating traffic and help the network more "
+"if you can open your firewall(s)."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
+msgid ""
+"If you think you have already done so, remember that you may have both a "
+"hardware and a software firewall, or be behind an additional, institutional "
+"firewall you cannot control."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
+msgid ""
+"Also, some routers cannot correctly forward both TCP and UDP on a single "
+"port, or may have other limitations or bugs that prevent them from passing "
+"traffic through to I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
+msgid "The router is currently testing whether your UDP port is firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
+msgid ""
+"The router is not configured to publish its address, therefore it does not "
+"expect incoming connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+msgid "WARN - Firewalled and Fast"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
+msgid ""
+"You have configured I2P to share more than 128KBps of bandwidth, but you are "
+"firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
+msgid ""
+"While I2P will work fine in this configuration, if you really have over "
+"128KBps of bandwidth to share, it will be much more helpful to the network "
+"if you open your firewall."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
+msgid "WARN - Firewalled and Floodfill"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
+msgid ""
+"You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
+msgid ""
+"For best participation as a floodfill router, you should open your firewall."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
+msgid "WARN - Firewalled with Inbound TCP Enabled"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
+msgid ""
+"You have configured inbound TCP, however your UDP port is firewalled, and "
+"therefore it is likely that your TCP port is firewalled as well."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
+msgid ""
+"If your TCP port is firewalled with inbound TCP enabled, routers will not be "
+"able to contact you via TCP, which will hurt the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
+msgid "Please open your firewall or disable inbound TCP above."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
+msgid "WARN - Firewalled with UDP Disabled"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+msgid "You have configured inbound TCP, however you have disabled UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
+msgid ""
+"You appear to be firewalled on TCP, therefore your router cannot accept "
+"inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
+msgid "Please open your firewall or enable UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+msgid "ERR - Clock Skew"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
+msgid ""
+"Your system's clock is skewed, which will make it difficult to participate "
+"in the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
+msgid "Correct your clock setting if this error persists."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+msgid "ERR - Private TCP Address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
+msgid ""
+"You must never advertise an unroutable IP address such as 127.0.0.1 or "
+"192.168.1.1 as your external address."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
+msgid "Correct the address or disable inbound TCP above."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
+msgid "ERR - SymmetricNAT"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
+msgid "I2P detected that you are firewalled by a Symmetric NAT."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
+msgid ""
+"I2P does not work well behind this type of firewall. You will probably not "
+"be able to accept inbound connections, which will limit your participation "
+"in the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
+msgid ""
+"ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config "
+"and restart"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
+msgid "I2P was unable to bind to port 8887 or other configured port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
+msgid ""
+"Check to see if another program is using the configured port. If so, stop "
+"that program or configure I2P to use a different port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
+msgid ""
+"This may be a transient error, if the other program is no longer using the "
+"port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
+msgid "However, a restart is always required after this error."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
+msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
+msgid ""
+"You have not configured inbound TCP with a hostname and port above, however "
+"you have disabled UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
+msgid "Therefore your router cannot accept inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
+msgid "Please configure a TCP host and port above or enable UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
+msgid "ERR - Client Manager I2CP Error - check logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
+msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
+msgid ""
+"Do you have another I2P instance running? Stop the conflicting program and "
+"restart I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+msgid "config advanced"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+msgid "I2P Advanced Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+msgid "Advanced I2P Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+msgid "Some changes may require a restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+msgid "config clients"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+msgid "I2P Client Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+msgid "Client Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
+msgid ""
+"The Java clients listed below are started by the router and run in the same "
+"JVM."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
+msgid "To change other client options, edit the file"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:415
+msgid "All changes require restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
+msgid "Advanced Client Interface Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+msgid "External I2CP (I2P Client Protocol) Interface Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+msgid "Enabled without SSL"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+msgid "Enabled with SSL required"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+msgid "Disabled - Clients outside this Java process may not connect"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+msgid "I2CP Port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
+msgid "I2CP Interface"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
+msgid "Authorization"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+msgid "Require username and password"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+msgid "Username"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+msgid "Password"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+msgid "Any changes made here must also be configured in the external client."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+msgid "Many clients do not support SSL or authorization."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
+msgid "WebApp Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
+msgid ""
+"The Java web applications listed below are started by the webConsole client "
+"and run in the same JVM as the router. They are usually web applications "
+"accessible through the router console. They may be complete applications (e."
+"g. i2psnark),front-ends to another client or application which must be "
+"separately enabled (e.g. susidns, i2ptunnel), or have no web interface at "
+"all (e.g. addressbook)."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:411
+msgid ""
+"A web app may also be disabled by removing the .war file from the webapps "
+"directory; however the .war file and web app will reappear when you update "
+"your router to a newer version, so disabling the web app here is the "
+"preferred method."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
+msgid "Plugin Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+msgid "The plugins listed below are started by the webConsole client."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
+msgid "Plugin Installation"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+msgid "To install a plugin, enter the download URL:"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+msgid "config keyring"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+msgid "I2P Keyring Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+msgid "The router keyring is used to decrypt encrypted leaseSets."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
+msgid ""
+"The keyring may contain keys for local or remote encrypted destinations."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
+msgid "Manual Keyring Addition"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+msgid "Enter keys for encrypted remote destinations here."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+msgid "Keys for local destinations must be entered on the"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+msgid "I2PTunnel page"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+msgid "Dest. name, hash, or full key"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+msgid "Encryption Key"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+msgid "config logging"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+msgid "I2P Logging Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
+msgid "Configure I2P Logging Options"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+msgid "Logging filename"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
+msgid "(the symbol '@' will be replaced during log rotation)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+msgid "Log record format"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
+msgid ""
+"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
+msgid "Log date format"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
+msgid ""
+"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
+"= millisecond)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
+msgid "Max log file size"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+msgid "Default log level"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
+msgid ""
+"(DEBUG and INFO are not recommended defaults, as they will drastically slow "
+"down your router)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+msgid "Log level overrides"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+msgid "New override"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+msgid "config peers"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+msgid "I2P Peer Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+msgid "Manual Peer Controls"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+msgid "Router Hash"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+msgid "Manually Ban / Unban a Peer"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
+msgid ""
+"Banning will prevent the participation of this peer in tunnels you create."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+msgid "Adjust Profile Bonuses"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
+msgid ""
+"Bonuses may be positive or negative, and affect the peer's inclusion in Fast "
+"and High Capacity tiers. Fast peers are used for client tunnels, and High "
+"Capacity peers are used for some exploratory tunnels. Current bonuses are "
+"displayed on the"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
+msgid "profiles page"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
+msgid "Banned Peers"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+msgid "Banned IPs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
+msgid "config reseeding"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+msgid "I2P Reseeding Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
+msgid "Reseeding Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:302
+msgid ""
+"Reseeding is the bootstrapping process used to find other routers when you "
+"first install I2P, or when your router has too few router references "
+"remaining."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:304
+msgid ""
+"If reseeding has failed, you should first check your network connection."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:308
+msgid ""
+"Change these only if HTTP is blocked by a restrictive firewall, reseed has "
+"failed, and you have access to an HTTP proxy."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#, java-format
+msgid "See {0} for instructions on reseeding manually."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+msgid "the FAQ"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+msgid "Reseed URL Selection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+msgid "Try SSL first then non-SSL"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+msgid "Use SSL only"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+msgid "Use non-SSL only"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
+msgid "Reseed URLs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+msgid "Enable HTTP proxy (not used for SSL)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
+msgid "HTTP Proxy Host"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+msgid "HTTP Proxy Port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+msgid "config service"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+msgid "I2P Service Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+msgid "Shutdown the router"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
+msgid ""
+"Graceful shutdown lets the router satisfy the agreements it has already made "
+"before shutting down, but may take a few minutes."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
+msgid ""
+"If you need to kill the router immediately, that option is available as well."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
+msgid ""
+"If you want the router to restart itself after shutting down, you can choose "
+"one of the following."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
+msgid ""
+"This is useful in some situations - for example, if you changed some "
+"settings that client applications only read at startup, such as the "
+"routerconsole password or the interface it listens on."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
+msgid ""
+"A graceful restart will take a few minutes (but your peers will appreciate "
+"your patience), while a hard restart does so immediately."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
+msgid ""
+"After tearing down the router, it will wait 1 minute before starting back up "
+"again."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
+msgid "Run on startup"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
+msgid ""
+"You can control whether I2P is run on startup or not by selecting one of the "
+"following options - I2P will install (or remove) a service accordingly."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
+msgid "If you prefer the command line, you can also run the "
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
+msgid ""
+"If you are running I2P as service right now, removing it will shut down your "
+"router immediately."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+msgid ""
+"You may want to consider shutting down gracefully, as above, then running "
+"uninstall_i2p_service_winnt.bat."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+msgid "Debugging"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+msgid "View the job queue"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
+msgid ""
+"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
+"please select the following option and review the thread dumped to <a href="
+"\"logs.jsp#servicelogs\">wrapper.log</a>."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+msgid "Launch browser on router startup?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
+msgid ""
+"I2P's main configuration interface is this web console, so for your "
+"convenience I2P can launch a web browser on startup pointing at"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
+msgid "config stats"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+msgid "I2P Stats Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
+msgid "Configure I2P Stat Collection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+msgid "Enable full stats?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
+msgid "change requires restart to take effect"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+msgid "Stat file"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
+msgid "Filter"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+msgid "toggle all"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
+msgid "Log"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+msgid "Graph"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+msgid "Advanced filter"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+msgid "config tunnels"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+msgid "I2P Tunnel Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+msgid "The default settings work for most people."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+msgid "There is a fundamental tradeoff between anonymity and performance."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
+msgid ""
+"Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 "
+"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely "
+"reduce performance or reliability."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+msgid "High CPU and/or high outbound bandwidth usage may result."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
+msgid "Change these settings with care, and adjust them if you have problems."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
+msgid ""
+"Exploratory tunnel setting changes are stored in the router.config file."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
+msgid "Client tunnel changes are temporary and are not saved."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+msgid "To make permanent client tunnel changes see the"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+msgid "i2ptunnel page"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+msgid "config UI"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+msgid "I2P UI Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+msgid "Router Console Theme"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+msgid "Theme selection disabled for Internet Explorer, sorry."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
+msgid ""
+"If you're not using IE, it's likely that your browser is pretending to be "
+"IE; please configure your browser (or proxy) to use a different User Agent "
+"string if you'd like to access the console themes."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+msgid "Router Console Language"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
+msgid ""
+"Please contribute to the router console translation project! Contact the "
+"developers on IRC #i2p to help."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
+msgid "Apply"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+msgid "config update"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+msgid "I2P Update Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+msgid "Check for I2P and news updates"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+msgid "News &amp; I2P Updates"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+msgid "Update In Progress"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+msgid "News URL"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+msgid "Refresh frequency"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+msgid "Update policy"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+msgid "Update through the eepProxy?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+msgid "eepProxy host"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+msgid "eepProxy port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+msgid "Update URLs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+msgid "Trusted keys"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+msgid "Update with unsigned development builds?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+msgid "Unsigned Build URL"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
+msgid ""
+"I2P updates are disabled because you do not have write permission for the "
+"install directory."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
+msgid "Save"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+msgid "Internal Error"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
+msgid "Router Console"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
+msgid "Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+msgid "Sorry! There has been an internal error."
+msgstr ""
+
+#. note to translators - both parameters are URLs
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:133
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:232
+#, java-format
+msgid "Please report bugs on {0} or {1}."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:137
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
+msgid ""
+"You may use the username \"guest\" and password \"guest\" if you do not wish "
+"to register."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:139
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
+msgid "Please include this information in bug reports"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+msgid "Error Details"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#, java-format
+msgid "Error {0}"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:163
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:228
+msgid "I2P Version and Running Environment"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:191
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
+msgid ""
+"Note that system information, log timestamps, and log messages may provide "
+"clues to your location; please review everything you include in a bug report."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
+msgid "Page Not Found"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
+msgid ""
+"Sorry! You appear to be requesting a non-existent Router Console page or "
+"resource."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
+msgid "Error 404"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+msgid "not found"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+msgid "graphs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+msgid "I2P Performance Graphs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+msgid "home"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+msgid "job queue"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+msgid "I2P Router Job Queue"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+msgid "logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+msgid "I2P Router Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+msgid "Critical Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
+msgid "Router Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+msgid "Service (Wrapper) Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+msgid "network database summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+msgid "I2P Network Database Summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
+msgid "WebApp Not Found"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
+msgid "Web Application Not Running"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+msgid "The requested web application is not running."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
+msgid ""
+"Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</"
+"a> to start it."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+msgid "peer connections"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+msgid "I2P Network Peers"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+msgid "peer profiles"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+msgid "I2P Network Peer Profiles"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+msgid "statistics"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+msgid "I2P Router Statistics"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248
+#, java-format
+msgid "Disable {0} Refresh"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+msgid "tunnel summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+msgid "I2P Tunnel Summary"
+msgstr ""
diff --git a/apps/routerconsole/locale/messages_nl.po b/apps/routerconsole/locale/messages_nl.po
index 27e8e554482faf9cab8af55456b96c6bc96ccd2e..3e05adfb5f45dc9d8c9a8179e29bbb97bca55ad1 100644
--- a/apps/routerconsole/locale/messages_nl.po
+++ b/apps/routerconsole/locale/messages_nl.po
@@ -3,27 +3,30 @@
 # This file is distributed under the same license as the routerconsole package.
 # To contribute translations, see http://www.i2p2.de/newdevelopers
 # foo <foo@bar>, 2009.
-#
+# 
 msgid ""
 msgstr ""
-"Project-Id-Version: I2P routerconsole\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-20 19:26+0000\n"
-"PO-Revision-Date: 2010-07-04 15:04+0100\n"
-"Last-Translator: duck <duck@mail.i2p>\n"
-"Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-02-13 13:34+0000\n"
+"PO-Revision-Date: 2011-02-13 17:41+0000\n"
+"Last-Translator: ducki2p <ducki2p@gmail.com>\n"
+"Language-Team: Dutch <>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
-"X-Poedit-Language: Dutch\n"
 
-#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
-#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there
+#. are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it
+#. is used in
 #. a lot of tables.
 #. milliseconds
 #. Note to translators, may be negative or zero, 2999 maximum.
-#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English
+#. locale.
 #. If you want the digit separator in your locale, translate as {0}.
 #. alternates: msec, msecs
 #: ../../../core/java/src/net/i2p/data/DataHelper.java:1124
@@ -77,21 +80,21 @@ msgid_plural "{0} days"
 msgstr[0] "1 dag"
 msgstr[1] "{0} dagen"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:126
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:122
 #, java-format
 msgid "Banned by router hash: {0}"
 msgstr "Verbannen wegens router hash: {0}"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:128
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:124
 msgid "Banned by router hash"
 msgstr "Verbannen wegens router hash"
 
 #. Temporary reason, until the job finishes
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:673
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:669
 msgid "IP banned"
 msgstr "IP verbannen"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:743
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:739
 #, java-format
 msgid "IP banned by blocklist.txt entry {0}"
 msgstr "IP verbannen wegens blocklist.txt item {0}"
@@ -105,7 +108,8 @@ msgid "Rejecting tunnels: High message delay"
 msgstr "Tunnels geweigerd: Hoge bericht vertraging"
 
 #. hard to do {0} from here
-#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of tunnels: High number of requests");
+#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of
+#. tunnels: High number of requests");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:177
 msgid "Rejecting most tunnels: High number of requests"
 msgstr "Meeste tunnels geweigerd: Hoog aantal aanvragen"
@@ -122,13 +126,15 @@ msgid "Rejecting tunnels: Bandwidth limit"
 msgstr "Tunnels geweigerd: Bandbreedte limiet"
 
 #. hard to do {0} from here
-#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit");
+#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels:
+#. Bandwidth limit");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:371
 msgid "Rejecting most tunnels: Bandwidth limit"
 msgstr "Meeste tunnels geweigerd: Bandbreedte limiet"
 
 #. hard to do {0} from here
-#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
+#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of
+#. tunnels");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375
 msgid "Accepting most tunnels"
 msgstr "Meeste tunnels geaccepteerd"
@@ -139,98 +145,89 @@ msgstr "Tunnels geaccepteerd"
 
 #. NPE, too early
 #. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
-#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
+#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too
+#. low");
 #. else
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:488
 msgid "Rejecting tunnels"
 msgstr "Tunnels geweigerd"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:98
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
 msgid "Reseeding"
 msgstr "Reseeden"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:121
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
 #, java-format
 msgid "Reseed fetched only 1 router."
 msgid_plural "Reseed fetched only {0} routers."
 msgstr[0] "Reseed heeft slechts 1 router opgehaald."
 msgstr[1] "Reseed heeft slechts {0} routers opgehaald."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
 msgid "Reseed failed."
 msgstr "Reseed gefaald"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:129
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
 #, java-format
 msgid "See {0} for help."
 msgstr "Zie {0} voor hulp."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
 msgid "reseed configuration page"
 msgstr "reseed configuratie pagina"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
 msgid "Reseeding: fetching seed URL."
 msgstr "Reseed: opvragen seed URL."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
 #, java-format
-msgid ""
-"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
-msgstr ""
-"Reseeden: opvragen router info van seed URL ({0} succesvol, {1} fouten)."
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr "Reseeden: opvragen router info van seed URL ({0} succesvol, {1} fouten)."
 
-#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:513
+#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
 msgid "NetDb entry"
 msgstr "NetDd item"
 
-#. This used to be "no common transports" but it is almost always no transports at all
+#. This used to be "no common transports" but it is almost always no
+#. transports at all
 #: ../../../router/java/src/net/i2p/router/transport/GetBidsJob.java:70
 msgid "No transports (hidden or starting up?)"
 msgstr "Geen transport (verborgen of aan het opstarten?)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:452
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450
 msgid "Unreachable on any transport"
 msgstr "Onbereikbaar op alle transports"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:501
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499
 msgid "Router Transport Addresses"
 msgstr "Router Transport Adressen"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:506
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504
 #, java-format
 msgid "{0} is used for outbound connections only"
 msgstr "{0} is alleen gebruikt voor uitgaande connecties"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
 msgid "Help"
 msgstr "Help"
 
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr "De limieten van je transport verbinding zijn automatisch ingesteld gebaseerd op de geconfigureerde bandbreedte."
+
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521
-msgid ""
-"Your transport connection limits are automatically set based on your "
-"configured bandwidth."
-msgstr ""
-"De limieten van je transport verbinding zijn automatisch ingesteld gebaseerd "
-"op de geconfigureerde bandbreedte."
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr "Om deze limieten te overschrijven, voeg dan de instelling i2np.ntcp.maxConnections=nnn en i2np.udp.maxConnections=nnn toe aan de geavanceerde configuratie pagina."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
-msgid ""
-"To override these limits, add the settings i2np.ntcp.maxConnections=nnn and "
-"i2np.udp.maxConnections=nnn on the advanced configuration page."
-msgstr ""
-"Om deze limieten te overschrijven, voeg dan de instelling i2np.ntcp."
-"maxConnections=nnn en i2np.udp.maxConnections=nnn toe aan de geavanceerde "
-"configuratie pagina."
-
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid "Definitions"
 msgstr "Definities"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
@@ -242,164 +239,149 @@ msgstr "Definities"
 msgid "Peer"
 msgstr "Peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 msgid "The remote peer, identified by router hash"
 msgstr "De remote peer, geïdentificeerd door de router hash"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Dir"
 msgstr "Richting"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
 msgid "Inbound connection"
 msgstr "Inkomende connectie"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
 msgid "Outbound connection"
 msgstr "Uitgaande connectie"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
 msgid "They offered to introduce us (help other peers traverse our firewall)"
-msgstr ""
-"Ze hebben aangeboden ons te introduceren (helpt andere peers om door onze "
-"firewall te komen)"
+msgstr "Ze hebben aangeboden ons te introduceren (helpt andere peers om door onze firewall te komen)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
 msgid "We offered to introduce them (help other peers traverse their firewall)"
-msgstr ""
-"We hebben aangeboden ze te introduceren (helpt andere peers om door hun "
-"firewall te komen)"
+msgstr "We hebben aangeboden ze te introduceren (helpt andere peers om door hun firewall te komen)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "How long since a packet has been received / sent"
 msgstr "Hoe lang sinds een pakket ontvangen / verstuurd is"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Idle"
 msgstr "Idle"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
 msgstr "In/Uit"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
-msgstr ""
-"De afgevlakte inkomende / uitgaande overdrachtsnelheid (KBytes per seconde)"
+msgstr "De afgevlakte inkomende / uitgaande overdrachtsnelheid (KBytes per seconde)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "How long ago this connection was established"
 msgstr "Hoe lang sinds deze connectie is gemaakt"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Up"
 msgstr "Up"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
 msgid "Skew"
 msgstr "Afwijking"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "The difference between the peer's clock and your own"
 msgstr "Het verschil tussen de klok van de peer en je eigen"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
-msgid ""
-"The congestion window, which is how many bytes can be sent without an "
-"acknowledgement"
-msgstr ""
-"Het congestion window, hoeveel bytes verzonden kunnen worden zonder een "
-"bevestiging"
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr "Het congestion window, hoeveel bytes verzonden kunnen worden zonder een bevestiging"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The number of sent messages awaiting acknowledgement"
 msgstr "Het aantal verzonden berichten, wachtend op bevestiging"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The maximum number of concurrent messages to send"
 msgstr "Het maximum aantal berichten om gelijktijdig te verzenden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The number of pending sends which exceed congestion window"
-msgstr ""
-"Het aantal wachtende uitgaande berichten dat het congestion window "
-"overschrijdt"
+msgstr "Het aantal wachtende uitgaande berichten dat het congestion window overschrijdt"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The slow start threshold"
 msgstr "De vertraagde-start drempel"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The round trip time in milliseconds"
 msgstr "De rondgangstijd in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Dev"
 msgstr "SD"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The standard deviation of the round trip time in milliseconds"
 msgstr "De standaarddeviatie van de rondgangstijd in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The retransmit timeout in milliseconds"
 msgstr "De herzend time-out in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
-msgid ""
-"Current maximum send packet size / estimated maximum receive packet size "
-"(bytes)"
-msgstr ""
-"Huidige maximum verzonden pakket grootte / verwachte maximimum ontvangen "
-"pakket grootte (bytes)"
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr "Huidige maximum verzonden pakket grootte / verwachte maximimum ontvangen pakket grootte (bytes)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "TX"
 msgstr "TX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid "The total number of packets sent to the peer"
 msgstr "Het totaal aantal pakketten verzonden aan de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "RX"
 msgstr "RX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets received from the peer"
 msgstr "Het totaal aantal ontvangen pakketten van de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
 msgid "Dup TX"
 msgstr "Dup TX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets retransmitted to the peer"
 msgstr "Het totaal aantal pakketten dat opnieuw is verzonden aan de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931
 msgid "Dup RX"
 msgstr "Dup RX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of duplicate packets received from the peer"
 msgstr "Het totaal aantal pakketten dat dubbel is ontvangen van de peer"
 
@@ -581,7 +563,8 @@ msgid "Dropping tunnel requests: Queue time"
 msgstr "Negeer tunnel aanvragen: Wachttijd"
 
 #. Automatically generated pseudo-java for xgettext - do not edit
-#. Translators may wish to translate a few of these, do not bother to translate all of them!!
+#. Translators may wish to translate a few of these, do not bother to
+#. translate all of them!!
 #: ../java/build/Countries.java:3
 msgid "Andorra"
 msgstr "Andorra"
@@ -1526,12 +1509,8 @@ msgstr "Configuratie succesvol opgeslagen"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:268
-msgid ""
-"Error saving the configuration (applied but not saved) - please see the "
-"error logs"
-msgstr ""
-"Fout bij opslaan van de configuratie (toegepast, maar niet opgeslagen) - "
-"kijk in de fout logs"
+msgid "Error saving the configuration (applied but not saved) - please see the error logs"
+msgstr "Fout bij opslaan van de configuratie (toegepast, maar niet opgeslagen) - kijk in de fout logs"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
@@ -1596,10 +1575,8 @@ msgid "New client added"
 msgstr "Nieuwe client toegevoegd"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
-msgid ""
-"Client configuration saved successfully - restart required to take effect."
-msgstr ""
-"Client configuratie succesvol opgeslagen - herstart nodig."
+msgid "Client configuration saved successfully - restart required to take effect."
+msgstr "Client configuratie succesvol opgeslagen - herstart nodig."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
@@ -1682,10 +1659,8 @@ msgid "Error starting plugin {0}"
 msgstr "Fout bij starten plugin {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
-msgid ""
-"Interface configuration saved successfully - restart required to take effect."
-msgstr ""
-"Interface configuratie succesvol opgeslagen - herstart nodig."
+msgid "Interface configuration saved successfully - restart required to take effect."
+msgstr "Interface configuratie succesvol opgeslagen - herstart nodig."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
@@ -1832,19 +1807,12 @@ msgid "Log configuration saved"
 msgstr "Log configuratie opgeslagen"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
-msgid ""
-"Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
-msgstr ""
-"Voeg additionele logging regels boven toe. Bijvoorbeeld: net.i2p.router."
-"tunnel=WARN"
+msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr "Voeg additionele logging regels boven toe. Bijvoorbeeld: net.i2p.router.tunnel=WARN"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
-msgid ""
-"Or put entries in the logger.config file. Example: logger.record.net.i2p."
-"router.tunnel=WARN"
-msgstr ""
-"Of stop regels in het logger.config bestand. Bijvoorbeeld: logger.record.net."
-"i2p.router.tunnel=WARN"
+msgid "Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN"
+msgstr "Of stop regels in het logger.config bestand. Bijvoorbeeld: logger.record.net.i2p.router.tunnel=WARN"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
 msgid "Valid levels are DEBUG, INFO, WARN, ERROR, CRIT"
@@ -2010,7 +1978,8 @@ msgstr "Laptop modes uitgeschakeld"
 msgid "Requiring SSU introducers"
 msgstr "SSU introducers nodig"
 
-#. There's a few changes that don't really require restart (e.g. enabling inbound TCP)
+#. There's a few changes that don't really require restart (e.g. enabling
+#. inbound TCP)
 #. But it would be hard to get right, so just do a restart.
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:291
 msgid "Gracefully restarting I2P to change published router address"
@@ -2211,79 +2180,51 @@ msgid "Rekeying after graceful shutdown"
 msgstr "Hersleuteling na gecontrolleerde stop"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
 msgid "Run I2P on startup"
 msgstr "Start I2P bij opstarten"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Don't run I2P on startup"
 msgstr "Start I2P niet bij opstarten"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Dump threads"
 msgstr "Dump threads"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
-msgid "Show systray icon"
-msgstr "Toon systray icon"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
-msgid "System tray icon enabled."
-msgstr "System tray icon ingeschakeld."
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:98
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:110
-msgid "System tray icon feature not supported on this platform. Sorry!"
-msgstr "System tray icon feature not ondersteund op dit platform. Sorry!"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:101
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
-msgid "Warning: unable to contact the systray manager"
-msgstr "Waarschuwing: kan geen verbinding maken met de systray manager"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
-msgid "Hide systray icon"
-msgstr "Verberg systray icon"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:108
-msgid "System tray icon disabled."
-msgstr "System tray icon uitgeschakeld."
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "View console on startup"
 msgstr "Toon console na opstarten"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:117
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93
 msgid "Console is to be shown on startup"
 msgstr "Console wordt getoond na opstarten"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
 msgid "Do not view console on startup"
 msgstr "Toon console niet na opstarten"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
 msgid "Console is not to be shown on startup"
 msgstr "De console wordt niet getoond na opstarten"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:129
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105
 msgid "Service installed"
 msgstr "Service geinstalleerd"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:131
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107
 msgid "Warning: unable to install the service"
 msgstr "Waarschuwing: kan de service niet installeren"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
 msgid "Service removed"
 msgstr "Service verwijderd"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:139
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
 msgid "Warning: unable to remove the service"
 msgstr "Waarschuwing: kan de service niet verwijderen"
 
@@ -2296,14 +2237,11 @@ msgid "Failed to update the stat filter and location"
 msgstr "Kan de statistiek filter en locatie niet updaten"
 
 #: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
-msgid ""
-"Graph list updated, may take up to 60s to be reflected here and on the <a "
-"href=\"graphs.jsp\">Graphs Page</a>"
-msgstr ""
-"Grafiek lijst geupdate, kan 60s duren voordat dit op deze plek en de <a href="
-"\"graphs.jsp\">Grafiek Pagina</a> door komt"
+msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
+msgstr "Grafiek lijst geupdate, kan 60s duren voordat dit op deze plek en de <a href=\"graphs.jsp\">Grafiek Pagina</a> door komt"
 
-#. the count isn't really correct anyway, since we don't check for actual changes
+#. the count isn't really correct anyway, since we don't check for actual
+#. changes
 #. addFormNotice("Updated settings for " + updated + " pools.");
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
 msgid "Updated settings for all pools."
@@ -2315,12 +2253,8 @@ msgstr "Exploratory tunnel configuratie succesvol opgeslagen."
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
-msgid ""
-"Error saving the configuration (applied but not saved) - please see the "
-"error logs."
-msgstr ""
-"Fout bij opslaan van de configuratie (toegepast maar niet opgeslagen) - kijk "
-"in de fout logs."
+msgid "Error saving the configuration (applied but not saved) - please see the error logs."
+msgstr "Fout bij opslaan van de configuratie (toegepast maar niet opgeslagen) - kijk in de fout logs."
 
 #. * dummies for translation
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
@@ -2502,12 +2436,8 @@ msgid "Download, verify, and restart"
 msgstr "Download, controlleer en herstart"
 
 #: ../java/src/net/i2p/router/web/FormHandler.java:174
-msgid ""
-"Invalid form submission, probably because you used the 'back' or 'reload' "
-"button on your browser. Please resubmit."
-msgstr ""
-"Ongeldig formulier verzonden, mogelijk omdat je de 'terug' of 'vernieuw' "
-"knop in je browser hebt gebruikt. Probeer opnieuw te verzenden."
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr "Ongeldig formulier verzonden, mogelijk omdat je de 'terug' of 'vernieuw' knop in je browser hebt gebruikt. Probeer opnieuw te verzenden."
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:93
 msgid "Combined bandwidth graph"
@@ -2537,7 +2467,7 @@ msgstr "Teken gemiddelden"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:152
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
 msgid "or"
 msgstr "of"
 
@@ -2802,135 +2732,128 @@ msgstr "Downloaden van plugin"
 msgid "{0}B transferred"
 msgstr "{0}B ontvangen"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:152
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153
 msgid "Plugin downloaded"
 msgstr "Plugin gedownload"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:157
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:344
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:345
 #, java-format
 msgid "Cannot create plugin directory {0}"
 msgstr "Kan plugin directory {0} niet maken"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:298
 #, java-format
 msgid "from {0}"
 msgstr "van {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:176
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177
 #, java-format
 msgid "Plugin from {0} is corrupt"
 msgstr "Plugin van {0} is corrupt"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:187
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
 msgstr "Plugin van {0} bevat niet het vereiste configuratie bestand"
 
-#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:200
+#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' '
+#. + signer + "</b>");
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:201
 #, java-format
 msgid "Plugin from {0} contains an invalid key"
 msgstr "Plugin van {0} bevat een ongeldige sleutel"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:219
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:228
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:237
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:229
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:238
 #, java-format
 msgid "Plugin signature verification of {0} failed"
 msgstr "Plugin handtekening verificatie van {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:252
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:253
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
 msgstr "Plugin van {0} heeft ingeldige naam of versie"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:257
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:258
 #, java-format
 msgid "Plugin {0} has mismatched versions"
 msgstr "Plugin {0} heeft een verkeerde combinatie van versies"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:265
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:266
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
 msgstr "Deze plugin heeft I2P versie {0} of hoger nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:273
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:274
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
 msgstr "Deze plugin heeft Java versie {0} of hoger nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:281
-msgid ""
-"Downloaded plugin is for new installs only, but the plugin is already "
-"installed"
-msgstr ""
-"De gedownloaded plugin is alleen voor nieuwe installaties, maar de plugin is "
-"al geïnstalleerd"
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:282
+msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
+msgstr "De gedownloaded plugin is alleen voor nieuwe installaties, maar de plugin is al geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:294
 msgid "Installed plugin does not contain the required configuration file"
 msgstr "De geïnstalleerde plugin bevat het vereiste configuratie bestand niet"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:301
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:302
 msgid "Signature of downloaded plugin does not match installed plugin"
-msgstr ""
-"De handtekening van de gedownloade plugin komt niet overeen met de "
-"geïnstalleerde plugin"
+msgstr "De handtekening van de gedownloade plugin komt niet overeen met de geïnstalleerde plugin"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:308
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:309
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
-msgstr ""
-"De gedownloade plugin versie {0} is niet nieuwer dan de geïnstalleerde plugin"
+msgstr "De gedownloade plugin versie {0} is niet nieuwer dan de geïnstalleerde plugin"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:315
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:316
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
 msgstr "Plugin update vereist de installatie van plugin versie {0} of hoger"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:322
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:323
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
 msgstr "Plugin update vereist de installatie van plugin versie {0} of lager"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:339
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:340
 msgid "Plugin is for upgrades only, but the plugin is not installed"
-msgstr ""
-"De plugin is alleen voor upgrades, maar de plugin is niet geïnstalleerd"
+msgstr "De plugin is alleen voor upgrades, maar de plugin is niet geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:352
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:353
 #, java-format
 msgid "Failed to install plugin in {0}"
 msgstr "Installatie van plugin in {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:359
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
 #, java-format
 msgid "Plugin {0} installed, router restart required"
 msgstr "Plugin {0} geïnstalleerd, router herstart nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:361
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:362
 #, java-format
 msgid "Plugin {0} installed"
 msgstr "Plugin {0} geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:379
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:380
 #, java-format
 msgid "Plugin {0} installed and started"
 msgstr "Plugin {0} geïnstalleerd en gestart"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:382
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
 msgstr "Plugin {0} geïnstalleerd maar gefaald om te starten, kijk in de logs"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:385
 #, java-format
 msgid "Plugin {0} installed but failed to start"
 msgstr "Plugin {0} geïnstalleerd maar gefaald om te starten"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:395
 #, java-format
 msgid "Failed to download plugin from {0}"
 msgstr "Kan de plugin niet downloaden van {0}"
@@ -3113,12 +3036,8 @@ msgid "caps"
 msgstr "caps"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
-msgid ""
-"peak throughput (bytes per second) over a 1 minute period that the peer has "
-"sustained in a single tunnel"
-msgstr ""
-"piek doorvoer (bytes per seconde) over een 1 minuut periode zoals de peer "
-"heeft ondervonden in een enkele tunnel"
+msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
+msgstr "piek doorvoer (bytes per seconde) over een 1 minuut periode zoals de peer heeft ondervonden in een enkele tunnel"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 msgid "speed"
@@ -3130,8 +3049,7 @@ msgstr "capaciteit"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "how many tunnels can we ask them to join in an hour?"
-msgstr ""
-"hoeveel tunnels kunnen we ze vragen om zich in een uur bij aan te sluiten?"
+msgstr "hoeveel tunnels kunnen we ze vragen om zich in een uur bij aan te sluiten?"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "how many new peers have they told us about lately?"
@@ -3163,7 +3081,8 @@ msgstr "Verbanning tot volgende herstart of in {0}"
 msgid "unban now"
 msgstr "Hef verbanning nu op"
 
-#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#. Note to translators: all runtime zh translation disabled in this file, no
+#. font available in RRD
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:223
 msgid "Bandwidth usage"
 msgstr "Bandbreedte gebruik"
@@ -3207,17 +3126,12 @@ msgid "Statistics gathered during this router's uptime"
 msgstr "Statistieken verzameld gedurende de uptime van deze router"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:63
-msgid ""
-"The data gathered is quantized over a 1 minute period, so should just be "
-"used as an estimate."
-msgstr ""
-"De verzamelde data is gekwantiseerd over een 1 minuut peiode, dit is dus "
-"slechts een schatting."
+msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
+msgstr "De verzamelde data is gekwantiseerd over een 1 minuut peiode, dit is dus slechts een schatting."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:64
 msgid "These statistics are primarily used for development and debugging."
-msgstr ""
-"Deze statistieken worden primair gebruikt voor ontwikkeling en debugging."
+msgstr "Deze statistieken worden primair gebruikt voor ontwikkeling en debugging."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:105
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:156
@@ -3236,12 +3150,14 @@ msgstr "Voortschrijdend gemiddelde gebeurtenissen per periode"
 msgid "Highest events per period"
 msgstr "Hoogste gebeurtenissen per periode"
 
-#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) &&
+#. (curFreq.getAverageEventsPerPeriod() > 0) ) {
 #. buf.append("(current is ");
 #. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
 #. buf.append(" of max)");
 #. }
-#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(" <i>avg interval between updates:</i>
+#. (").append(num(curFreq.getAverageInterval())).append("ms, min ");
 #. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:135
 msgid "Lifetime average events per period"
@@ -3264,37 +3180,45 @@ msgstr "Gemiddelde"
 msgid "Highest average"
 msgstr "Hoogste gemiddelde"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:202
+#. breaking the sentence like before makes translation in my language
+#. impossible.
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:201
 #, java-format
-msgid "in this period which ended {0} ago."
-msgstr "in deze periode welke {0} geleden eindigde."
+msgid "There were {0} event(s) in this period"
+msgstr "Er waren {0} event(s) in deze periode"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:204
+#. buf.append(' ');
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:203
+#, java-format
+msgid " which ended {0} ago."
+msgstr "die {0} geleden eindigde."
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:205
 msgid "No events"
 msgstr "Geen gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:210
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:211
 msgid "Average event count"
 msgstr "Gemiddeld aantal gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:212
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:213
 msgid "Events in peak period"
 msgstr "Gebeurtenissen in piek periode"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:220
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:221
 msgid "Graph Data"
 msgstr "Grafiek Data"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:222
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:223
 msgid "Graph Event Count"
 msgstr "Grafiek Aantal Gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:225
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:226
 msgid "Export Data as XML"
 msgstr "Exporteer Data als XML"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:230
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:231
 msgid "Lifetime average value"
 msgstr "Levenslange gemiddelde waarde"
 
@@ -3307,12 +3231,8 @@ msgid "Help &amp; FAQ"
 msgstr "Hulp &amp; FAQ"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
-msgid ""
-"Configure startup of clients and webapps (services); manually start dormant "
-"services"
-msgstr ""
-"Configureer de opstart van clients en webapps (services); start sluimerende "
-"services handmatig"
+msgid "Configure startup of clients and webapps (services); manually start dormant services"
+msgstr "Configureer de opstart van clients en webapps (services); start sluimerende services handmatig"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
@@ -3447,11 +3367,8 @@ msgid "Uptime"
 msgstr "Uptime"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
-msgid ""
-"Help with configuring your firewall and router for optimal I2P performance"
-msgstr ""
-"Hulp bij het configureren van je firewall en router voor optimale I2P "
-"prestatie"
+msgid "Help with configuring your firewall and router for optimal I2P performance"
+msgstr "Hulp bij het configureren van je firewall en router voor optimale I2P prestatie"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
 msgid "Download"
@@ -3581,9 +3498,7 @@ msgid "Firewalled"
 msgstr "Firewall"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:135
-msgid ""
-"ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and "
-"restart"
+msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "ERR-UDP Poort in Gebruik"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:141
@@ -3605,8 +3520,7 @@ msgstr "Testen"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:370
 msgid "Add/remove/edit &amp; control your client and server tunnels"
-msgstr ""
-"Toevoegen/verwijderen/wijzigen &amp; beheer je client en server tunnels"
+msgstr "Toevoegen/verwijderen/wijzigen &amp; beheer je client en server tunnels"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:382
 msgid "Server"
@@ -3657,7 +3571,8 @@ msgstr "geen"
 msgid "shared clients"
 msgstr "gedeelde clients"
 
-#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#. Note to translators: all runtime zh translation disabled in this file, no
+#. font available in RRD
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
 #, java-format
 msgid "events in {0}"
@@ -4126,7 +4041,8 @@ msgstr "Met hoeveel peers communiceren we actief"
 msgid "config networking"
 msgstr "configureer netwerk"
 
-#. We have intl defined when this is included, but not when compiled standalone.
+#. We have intl defined when this is included, but not when compiled
+#. standalone.
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
@@ -4201,12 +4117,8 @@ msgid "Bandwidth limiter"
 msgstr "Bandbreedte beperker"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
-msgid ""
-"I2P will work best if you configure your rates to match the speed of your "
-"internet connection."
-msgstr ""
-"I2P zal beter werken wanneer je de configuratie van de bandbreedte afstemt "
-"met de snelheid van je internet verbinding."
+msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
+msgstr "I2P zal beter werken wanneer je de configuratie van de bandbreedte afstemt met de snelheid van je internet verbinding."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
 msgid "KBps In"
@@ -4236,19 +4148,12 @@ msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P vereist tenminste 12KBps om sharing in te schakelen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
-msgid ""
-"Please enable sharing (participating in tunnels) by configuring more "
-"bandwidth. "
-msgstr ""
-"Schakel sharing in (deelname aan tunnels) door meer bandbreedte toe te "
-"kennen."
+msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
+msgstr "Schakel sharing in (deelname aan tunnels) door meer bandbreedte toe te kennen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
-msgid ""
-"It improves your anonymity by creating cover traffic, and helps the network."
-msgstr ""
-"Het verbeterd je anonimiteit door camouflage verkeer te genereren en help "
-"het netwerk."
+msgid "It improves your anonymity by creating cover traffic, and helps the network."
+msgstr "Het verbeterd je anonimiteit door camouflage verkeer te genereren en help het netwerk."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
 #, java-format
@@ -4256,12 +4161,8 @@ msgid "You have configured I2P to share {0} KBps."
 msgstr "Je hebt I2P geconfigureerd om {0} KBps te delen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
-msgid ""
-"The higher the share bandwidth the more you improve your anonymity and help "
-"the network."
-msgstr ""
-"Hoe meer bandbreedte je deelt, des te meer je anonimiteit verbeterd en je "
-"het netwerk helpt."
+msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
+msgstr "Hoe meer bandbreedte je deelt, des te meer je anonimiteit verbeterd en je het netwerk helpt."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
@@ -4351,12 +4252,8 @@ msgid "Action when IP changes"
 msgstr "Actie wanneer IP wijzigd"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
-msgid ""
-"Laptop mode - Change router identity and UDP port when IP changes for "
-"enhanced anonymity"
-msgstr ""
-"Laptop modus - Wijzig router identiteit en UDP poort wanneeer IP wijzigd for "
-"meer anonimiteit"
+msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
+msgstr "Laptop modus - Wijzig router identiteit en UDP poort wanneeer IP wijzigd for meer anonimiteit"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
 msgid "Experimental"
@@ -4400,11 +4297,8 @@ msgid "Completely disable"
 msgstr "Schakel volledig uit"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
-msgid ""
-"(select only if behind a firewall that throttles or blocks outbound TCP)"
-msgstr ""
-"(selecteer alleen wanneer je achter een firewall zit dat uitgaand TCP "
-"beperkt of blokkeert)"
+msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr "(selecteer alleen wanneer je achter een firewall zit dat uitgaand TCP beperkt of blokkeert)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Externally reachable TCP port"
@@ -4419,7 +4313,7 @@ msgid "Specify Port"
 msgstr "Specificeer Poort"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
 msgid "Note"
 msgstr "Opmerking"
@@ -4434,52 +4328,28 @@ msgstr "Configuratie Help"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
-msgid ""
-"While I2P will work fine behind most firewalls, your speeds and network "
-"integration will generally improve if the I2P port is forwarded for both UDP "
-"and TCP."
-msgstr ""
-"Alhoewel I2P zal werken achter de meeste firewalls, zal de snelheid en "
-"netwerk integratie doorgaans verbeteren wanneer de I2P poort is geforward "
-"voor zowel UDP als TCP."
+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 "Alhoewel I2P zal werken achter de meeste firewalls, zal de snelheid en netwerk integratie doorgaans verbeteren wanneer de I2P poort is geforward voor zowel UDP als TCP."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
-msgid ""
-"If you can, please poke a hole in your firewall to allow unsolicited UDP and "
-"TCP packets to reach you."
-msgstr ""
-"Indien mogelijk, probeer een opening in je firewall te maken om nieuwe UDP "
-"en TCP pakketten binnen te laten."
+msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
+msgstr "Indien mogelijk, probeer een opening in je firewall te maken om nieuwe UDP en TCP pakketten binnen te laten."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
-msgid ""
-"If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole "
-"punching with \"SSU introductions\" to relay traffic."
-msgstr ""
-"Indien dit niet mogelijk is, I2P ondersteunt UPnP (Universal Plug en Play) "
-"en UDP perforatie met \"SSU introducties\" om verkeer te herleiden."
+msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
+msgstr "Indien dit niet mogelijk is, I2P ondersteunt UPnP (Universal Plug en Play) en UDP perforatie met \"SSU introducties\" om verkeer te herleiden."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
-msgid ""
-"Most of the options above are for special situations, for example where UPnP "
-"does not work correctly, or a firewall not under your control is doing harm."
-msgstr ""
-"De meeste bovenstaande opties zijn voor speciale situaties, bijvoorbeeld "
-"wanneer UPnP niet correct werkt, of wanneer firewall buiten je beheer in de "
-"weg zit."
+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 "De meeste bovenstaande opties zijn voor speciale situaties, bijvoorbeeld wanneer UPnP niet correct werkt, of wanneer firewall buiten je beheer in de weg zit."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
-msgstr ""
-"Bepaalde firewalls zoals symmetrische NATs werken mogelijk niet goed met I2P."
+msgstr "Bepaalde firewalls zoals symmetrische NATs werken mogelijk niet goed met I2P."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
-msgid ""
-"UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect "
-"the external IP address and forward ports."
-msgstr ""
-"UPnP is gebruikt om te communiceren met Internet Gateway Devices (IGDs) om "
-"het externe IP adres te detecteren en poorten door te sturen."
+msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
+msgstr "UPnP is gebruikt om te communiceren met Internet Gateway Devices (IGDs) om het externe IP adres te detecteren en poorten door te sturen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
 msgid "UPnP support is beta, and may not work for any number of reasons"
@@ -4514,37 +4384,24 @@ msgid "Review the UPnP status here."
 msgstr "Bekijk de UPnP status hier."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
-msgid ""
-"UPnP may be enabled or disabled above, but a change requires a router "
-"restart to take effect."
-msgstr ""
-"UPnP kan hierboven in- en uitgeschakeld worden, maar na een wijziging is een "
-"router herstart nodig."
+msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
+msgstr "UPnP kan hierboven in- en uitgeschakeld worden, maar na een wijziging is een router herstart nodig."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "Hostnames entered above will be published in the network database."
-msgstr ""
-"Hierboven ingevulde hostnames zullen worden gepubliceerd in de netwerk "
-"database."
+msgstr "Hierboven ingevulde hostnames zullen worden gepubliceerd in de netwerk database."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "They are <b>not private</b>."
 msgstr "Deze zijn <b>niet privé</b>."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
-msgid ""
-"Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
-msgstr ""
-"Tevens, <b>vul geen privé IP addres in</b> zoals 127.0.0.1 of 192.168.1.1."
+msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr "Tevens, <b>vul geen privé IP addres in</b> zoals 127.0.0.1 of 192.168.1.1."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
-msgid ""
-"If you specify the wrong IP address or hostname, or do not properly "
-"configure your NAT or firewall, your network performance will degrade "
-"substantially."
-msgstr ""
-"Als je het verkeerde IP adres of hostnaam invult, of je NAT of firewall niet "
-"goed te configureert, zal je netwerk prestaties aanzienlijk verslechteren."
+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 "Als je het verkeerde IP adres of hostnaam invult, of je NAT of firewall niet goed te configureert, zal je netwerk prestaties aanzienlijk verslechteren."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "When in doubt, leave the settings at the defaults."
@@ -4555,23 +4412,12 @@ msgid "Reachability Help"
 msgstr "Bereikbaarheids Help"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
-msgid ""
-"If you think you have opened up your firewall and I2P still thinks you are "
-"firewalled, remember that you may have multiple firewalls, for example both "
-"software packages and external hardware routers."
-msgstr ""
-"Wanneer je denkt dat je je firewall open hebt gezet maar I2P nog steeds zegt "
-"dat je achter een firewall zit, bedenk dan dat je mogelijk meerdere "
-"firewalls hebt, bijvoorbeeld zowel als software pakket en een externe "
-"hardware router."
+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 "Wanneer je denkt dat je je firewall open hebt gezet maar I2P nog steeds zegt dat je achter een firewall zit, bedenk dan dat je mogelijk meerdere firewalls hebt, bijvoorbeeld zowel als software pakket en een externe hardware router."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
-msgid ""
-"If there is an error, the <a href=\"logs.jsp\">logs</a> may also help "
-"diagnose the problem."
-msgstr ""
-"Indien er een fout is zijn de <a href=\"logs.jsp\">logs</a> mogelijk hulpvol "
-"om het probleem te onderzoeken."
+msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
+msgstr "Indien er een fout is zijn de <a href=\"logs.jsp\">logs</a> mogelijk hulpvol om het probleem te onderzoeken."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
 msgid "Your UDP port does not appear to be firewalled."
@@ -4582,129 +4428,72 @@ msgid "Your UDP port appears to be firewalled."
 msgstr "Je UDP poort lijkt achter een firewall te zitten."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
-msgid ""
-"As the firewall detection methods are not 100% reliable, this may "
-"occasionally be displayed in error."
-msgstr ""
-"Omdat de firewall detectie methode niet 100% betrouwbaar is, kan dit soms "
-"foutief getoond worden."
+msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
+msgstr "Omdat de firewall detectie methode niet 100% betrouwbaar is, kan dit soms foutief getoond worden."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
-msgid ""
-"However, if it appears consistently, you should check whether both your "
-"external and internal firewalls are open for your port."
-msgstr ""
-"Indien dit echter consistent optreedt, controlleer in zowel externe als "
-"interne firewalls of de poort wel geopend is."
+msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
+msgstr "Indien dit echter consistent optreedt, controlleer in zowel externe als interne firewalls of de poort wel geopend is."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
-msgid ""
-"I2P will work fine when firewalled, there is no reason for concern. When "
-"firewalled, the router uses \"introducers\" to relay inbound connections."
-msgstr ""
-"Geen paniek, I2P zal werken achter een firewall. Wanneer dit het geval is "
-"maakt de router gebruik van \"introducers\" om inkomende connecties door te "
-"sturen."
+msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
+msgstr "Geen paniek, I2P zal werken achter een firewall. Wanneer dit het geval is maakt de router gebruik van \"introducers\" om inkomende connecties door te sturen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
-msgid ""
-"However, you will get more participating traffic and help the network more "
-"if you can open your firewall(s)."
-msgstr ""
-"Je krijgt meer deelnemend verkeer en helpt het netwerk meer door de firewall"
-"(s) te openen."
+msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
+msgstr "Je krijgt meer deelnemend verkeer en helpt het netwerk meer door de firewall(s) te openen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
-msgid ""
-"If you think you have already done so, remember that you may have both a "
-"hardware and a software firewall, or be behind an additional, institutional "
-"firewall you cannot control."
-msgstr ""
-"Indien je van mening bent dat je dit al hebt gedaan, bedenk dat er zowel een "
-"hardware als software firewall kan zijn, of dat er een additionele firewall "
-"(universiteit, provider, etc) kan zijn waar je geen invloed op hebt."
+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 "Indien je van mening bent dat je dit al hebt gedaan, bedenk dat er zowel een hardware als software firewall kan zijn, of dat er een additionele firewall (universiteit, provider, etc) kan zijn waar je geen invloed op hebt."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
-msgid ""
-"Also, some routers cannot correctly forward both TCP and UDP on a single "
-"port, or may have other limitations or bugs that prevent them from passing "
-"traffic through to I2P."
-msgstr ""
-"Tevens hebben sommige routers moeite om zowel TCP als UDP op dezelfde poort "
-"correct door te laten, of hebben andere beperkingen of bugs die voorkomen "
-"dat I2P verkeer goed doorkomt."
+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 "Tevens hebben sommige routers moeite om zowel TCP als UDP op dezelfde poort correct door te laten, of hebben andere beperkingen of bugs die voorkomen dat I2P verkeer goed doorkomt."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "The router is currently testing whether your UDP port is firewalled."
 msgstr "De router test op dit moment of je UDP poort achter een firewall is."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
-msgid ""
-"The router is not configured to publish its address, therefore it does not "
-"expect incoming connections."
-msgstr ""
-"De router is niet geconfigureerd om zijn adres te publiceren, daarom "
-"verwacht het geen inkomende verbindingen."
+msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
+msgstr "De router is niet geconfigureerd om zijn adres te publiceren, daarom verwacht het geen inkomende verbindingen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
 msgid "WARN - Firewalled and Fast"
 msgstr "WARN - Firewall en Snel"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
-msgid ""
-"You have configured I2P to share more than 128KBps of bandwidth, but you are "
-"firewalled."
-msgstr ""
-"Je hebt I2P geconfigureerd om meer dan 128KBps aan bandbreedte te delen, "
-"maar je zit achter een firewall."
+msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
+msgstr "Je hebt I2P geconfigureerd om meer dan 128KBps aan bandbreedte te delen, maar je zit achter een firewall."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
-msgid ""
-"While I2P will work fine in this configuration, if you really have over "
-"128KBps of bandwidth to share, it will be much more helpful to the network "
-"if you open your firewall."
-msgstr ""
-"Alhoewel I2P met deze configuratie prima werkt, zal je 128KBps of meer aan "
-"bandbreedte het netwerk beter helpen wanneer je je firewall open zet."
+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 "Alhoewel I2P met deze configuratie prima werkt, zal je 128KBps of meer aan bandbreedte het netwerk beter helpen wanneer je je firewall open zet."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
 msgid "WARN - Firewalled and Floodfill"
 msgstr "WARN - Firewall en Floodfill"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
-msgid ""
-"You have configured I2P to be a floodfill router, but you are firewalled."
-msgstr ""
-"Je hebt I2P geconfigureerd als floodfill router, maar je zit achter een "
-"firewall."
+msgid "You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr "Je hebt I2P geconfigureerd als floodfill router, maar je zit achter een firewall."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
-msgid ""
-"For best participation as a floodfill router, you should open your firewall."
-msgstr ""
-"Voor een betere deelname als floodfill router, moet je je firewall openen."
+msgid "For best participation as a floodfill router, you should open your firewall."
+msgstr "Voor een betere deelname als floodfill router, moet je je firewall openen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "WARN - Firewall en Inkomende TCP Ingeschakeld"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
-msgid ""
-"You have configured inbound TCP, however your UDP port is firewalled, and "
-"therefore it is likely that your TCP port is firewalled as well."
-msgstr ""
-"Je hebt inkomende TCP geconfigureerd, echter aangezien je UDP poort achter "
-"een firewall zit, is het waarschijnlijk dat dit ook voor je TCP poort het "
-"geval is."
+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 "Je hebt inkomende TCP geconfigureerd, echter aangezien je UDP poort achter een firewall zit, is het waarschijnlijk dat dit ook voor je TCP poort het geval is."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
-msgid ""
-"If your TCP port is firewalled with inbound TCP enabled, routers will not be "
-"able to contact you via TCP, which will hurt the network."
-msgstr ""
-"Indien je TCP poort achter een firewall zit met inkomende TCP ingeschakeld, "
-"kunnen routers geen verbinding met je maken via TCP, dit is niet goed voor "
-"het netwerk."
+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 "Indien je TCP poort achter een firewall zit met inkomende TCP ingeschakeld, kunnen routers geen verbinding met je maken via TCP, dit is niet goed voor het netwerk."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 msgid "Please open your firewall or disable inbound TCP above."
@@ -4719,12 +4508,8 @@ msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "Je hebt inkomende TCP geconfigureerd, echter UDP is uitgeschakeld."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
-msgid ""
-"You appear to be firewalled on TCP, therefore your router cannot accept "
-"inbound connections."
-msgstr ""
-"Het lijkt erop dat je voor TCP achter een firewall zit, daarom kan je router "
-"geen inkomende connecties accepteren."
+msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
+msgstr "Het lijkt erop dat je voor TCP achter een firewall zit, daarom kan je router geen inkomende connecties accepteren."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
 msgid "Please open your firewall or enable UDP."
@@ -4735,12 +4520,8 @@ msgid "ERR - Clock Skew"
 msgstr "ERR - Klok Afwijking"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
-msgid ""
-"Your system's clock is skewed, which will make it difficult to participate "
-"in the network."
-msgstr ""
-"Je systeemklok heeft een afwijking, dit zal het moeilijk maken om aan het "
-"netwerk deel te nemen."
+msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
+msgstr "Je systeemklok heeft een afwijking, dit zal het moeilijk maken om aan het netwerk deel te nemen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
 msgid "Correct your clock setting if this error persists."
@@ -4751,12 +4532,8 @@ msgid "ERR - Private TCP Address"
 msgstr "ERR - Privaat TCP Adres"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
-msgid ""
-"You must never advertise an unroutable IP address such as 127.0.0.1 or "
-"192.168.1.1 as your external address."
-msgstr ""
-"Je moet nooit een niet-routeerbaar IP adres zoals 127.0.0.1 of 192.168.1.1 "
-"adverteren als je externe adres."
+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 "Je moet nooit een niet-routeerbaar IP adres zoals 127.0.0.1 of 192.168.1.1 adverteren als je externe adres."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "Correct the address or disable inbound TCP above."
@@ -4768,46 +4545,27 @@ msgstr "ERR - SymmetricNAT"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
-msgstr ""
-"I2P heeft gedetecteerd dat je achter een firewall zit door een Symmetric NAT."
+msgstr "I2P heeft gedetecteerd dat je achter een firewall zit door een Symmetric NAT."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
-msgid ""
-"I2P does not work well behind this type of firewall. You will probably not "
-"be able to accept inbound connections, which will limit your participation "
-"in the network."
-msgstr ""
-"I2P werkt niet goed achter dit type firewall. Waarschijnlijk kan je geen "
-"inkomende verbindingen accepteren, "
+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 werkt niet goed achter dit type firewall. Waarschijnlijk kan je geen inkomende verbindingen accepteren, "
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
-msgid ""
-"ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config "
-"and restart"
-msgstr ""
-"ERR - UDP Poort In Gebruik - Zet i2np.udp.internalPort=xxxx in geavanceerde "
-"configuratie en herstart"
+msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ERR - UDP Poort In Gebruik - Zet i2np.udp.internalPort=xxxx in geavanceerde configuratie en herstart"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
 msgid "I2P was unable to bind to port 8887 or other configured port."
-msgstr ""
-"I2P kon niet binden met poort 8887 of een andere geconfigureerde poort."
+msgstr "I2P kon niet binden met poort 8887 of een andere geconfigureerde poort."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
-msgid ""
-"Check to see if another program is using the configured port. If so, stop "
-"that program or configure I2P to use a different port."
-msgstr ""
-"Controlleer of een ander programma de geconfigureerde poort gebruikt. Als "
-"dit zo is, stop dit programma of configureer I2P op een andere poort."
+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 "Controlleer of een ander programma de geconfigureerde poort gebruikt. Als dit zo is, stop dit programma of configureer I2P op een andere poort."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
-msgid ""
-"This may be a transient error, if the other program is no longer using the "
-"port."
-msgstr ""
-"Dit kan een voorbijgaande fout zijn, als het andere programma de poort niet "
-"meer gebruikt."
+msgid "This may be a transient error, if the other program is no longer using the port."
+msgstr "Dit kan een voorbijgaande fout zijn, als het andere programma de poort niet meer gebruikt."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
 msgid "However, a restart is always required after this error."
@@ -4818,12 +4576,8 @@ msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
 msgstr "ERR - UDP Uitgeschakeld en Inkomende TCP host/poort niet gezet"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
-msgid ""
-"You have not configured inbound TCP with a hostname and port above, however "
-"you have disabled UDP."
-msgstr ""
-"Je hebt inkomende TCP hierboven niet geconfigureerd met een hostname en "
-"poort, echter heb je je UDP uitgeschakeld."
+msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
+msgstr "Je hebt inkomende TCP hierboven niet geconfigureerd met een hostname en poort, echter heb je je UDP uitgeschakeld."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "Therefore your router cannot accept inbound connections."
@@ -4839,17 +4593,11 @@ msgstr "ERR - Client Manager I2CP Fout - controlleer logs"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
-msgstr ""
-"Dit komt doorgaans door een conflict met poort 7654. Kijk in de logs om dit "
-"te bevestigen."
+msgstr "Dit komt doorgaans door een conflict met poort 7654. Kijk in de logs om dit te bevestigen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
-msgid ""
-"Do you have another I2P instance running? Stop the conflicting program and "
-"restart I2P."
-msgstr ""
-"Heb je een andere I2P instantie draaien? Stop het conflicerende programma en "
-"herstart I2P."
+msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
+msgstr "Heb je een andere I2P instantie draaien? Stop het conflicerende programma en herstart I2P."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
 msgid "config advanced"
@@ -4880,12 +4628,8 @@ msgid "Client Configuration"
 msgstr "Client Configuratie"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
-msgid ""
-"The Java clients listed below are started by the router and run in the same "
-"JVM."
-msgstr ""
-"De Java clients in onderstaande lijst zijn gestart door de router en draaien "
-"in dezelfde JVM."
+msgid "The Java clients listed below are started by the router and run in the same JVM."
+msgstr "De Java clients in onderstaande lijst zijn gestart door de router en draaien in dezelfde JVM."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
 msgid "To change other client options, edit the file"
@@ -4954,33 +4698,12 @@ msgid "WebApp Configuration"
 msgstr "WebApp Configuratie"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
-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 ""
-"De Java web applicaties hier beneden zijn gestart door de webConsole client "
-"en draaien in dezelfe JVM als de router. Het zijn meestal web applicaties "
-"die te benaderen zijn via de router console. Het kunnen volledige "
-"applicaties zijn (zoals i2psnark), front-ends voor een client of applicatie "
-"dat los hiervan ingeschakeld moet worden (zoals susidns, i2ptunnel), of "
-"zonder web interface (zoals addressbook)."
+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 "De Java web applicaties hier beneden zijn gestart door de webConsole client en draaien in dezelfe JVM als de router. Het zijn meestal web applicaties die te benaderen zijn via de router console. Het kunnen volledige applicaties zijn (zoals i2psnark), front-ends voor een client of applicatie dat los hiervan ingeschakeld moet worden (zoals susidns, i2ptunnel), of zonder web interface (zoals addressbook)."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:411
-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 ""
-"Een web app kan ook uitgeschakeld worden door het .war bestand te "
-"verwijderen uit de webapps directory; ever het .war bestand en de web "
-"applicatie zal weer terugkomen wanneer je de router upgrade naar een "
-"nieuwere versie. Daarom is het aanbevolen om de web app hier uit te "
-"schakelen."
+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 "Een web app kan ook uitgeschakeld worden door het .war bestand te verwijderen uit de webapps directory; ever het .war bestand en de web applicatie zal weer terugkomen wanneer je de router upgrade naar een nieuwere versie. Daarom is het aanbevolen om de web app hier uit te schakelen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Plugin Configuration"
@@ -5008,16 +4731,11 @@ msgstr "I2P Sleutelbos Configuratie"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
 msgid "The router keyring is used to decrypt encrypted leaseSets."
-msgstr ""
-"De sleutelbos van de router is gebruikt om versleutelde leaseSets te "
-"ontsleutelen."
+msgstr "De sleutelbos van de router is gebruikt om versleutelde leaseSets te ontsleutelen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
-msgid ""
-"The keyring may contain keys for local or remote encrypted destinations."
-msgstr ""
-"De sleutelbos kan sleutels bevatten voor lokale en remote versleutelde "
-"destinations."
+msgid "The keyring may contain keys for local or remote encrypted destinations."
+msgstr "De sleutelbos kan sleutels bevatten voor lokale en remote versleutelde destinations."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
 msgid "Manual Keyring Addition"
@@ -5068,23 +4786,16 @@ msgid "Log record format"
 msgstr "Log regel formaat"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
-msgid ""
-"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
-msgstr ""
-"(gebruik 'd' = datum, 'c' = class, 't' = thread, 'p' = prioriteit, 'm' = "
-"bericht)"
+msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
+msgstr "(gebruik 'd' = datum, 'c' = class, 't' = thread, 'p' = prioriteit, 'm' = bericht)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
 msgid "Log date format"
 msgstr "Log datum formaat"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
-msgid ""
-"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
-"= millisecond)"
-msgstr ""
-"('MM' = maand, 'dd' = dag, 'HH' = uur, 'mm' = minuut, 'ss' = seconde, 'SSS' "
-"= milliseconde)"
+msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
+msgstr "('MM' = maand, 'dd' = dag, 'HH' = uur, 'mm' = minuut, 'ss' = seconde, 'SSS' = milliseconde)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Max log file size"
@@ -5095,12 +4806,8 @@ msgid "Default log level"
 msgstr "Standaard log niveau"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
-msgid ""
-"(DEBUG and INFO are not recommended defaults, as they will drastically slow "
-"down your router)"
-msgstr ""
-"(DEBUG en INFO zijn geen aanbevolen standaardwaarden, ze zullen je router "
-"drastisch vertragen)"
+msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
+msgstr "(DEBUG en INFO zijn geen aanbevolen standaardwaarden, ze zullen je router drastisch vertragen)"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
 msgid "Log level overrides"
@@ -5131,8 +4838,7 @@ msgid "Manually Ban / Unban a Peer"
 msgstr "Handmatig een Peer Verbannen / Verbanning Opheffen"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
-msgid ""
-"Banning will prevent the participation of this peer in tunnels you create."
+msgid "Banning will prevent the participation of this peer in tunnels you create."
 msgstr "Verbanning zorgt ervoor dat deze peer niet deelneemt aan je tunnels."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
@@ -5140,17 +4846,8 @@ msgid "Adjust Profile Bonuses"
 msgstr "Aanpassing van Profiel Bonussen"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
-msgid ""
-"Bonuses may be positive or negative, and affect the peer's inclusion in Fast "
-"and High Capacity tiers. Fast peers are used for client tunnels, and High "
-"Capacity peers are used for some exploratory tunnels. Current bonuses are "
-"displayed on the"
-msgstr ""
-"Bonussen kunnen zowel positief als negatief zijn, en hebben invloed op de "
-"toekenning van de peer aan de category Snel en Hoge Capaciteit. Snelle peers "
-"worden gebruikt voor client tunnels, en Hoge Capaciteit peers worden "
-"gebruikt voor sommige exploratory tunnels. De huidige bonussen worden "
-"getoond op de"
+msgid "Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the"
+msgstr "Bonussen kunnen zowel positief als negatief zijn, en hebben invloed op de toekenning van de peer aan de category Snel en Hoge Capaciteit. Snelle peers worden gebruikt voor client tunnels, en Hoge Capaciteit peers worden gebruikt voor sommige exploratory tunnels. De huidige bonussen worden getoond op de"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
 msgid "profiles page"
@@ -5178,28 +4875,16 @@ msgid "Reseeding Configuration"
 msgstr "Reseeden Configuratie"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:302
-msgid ""
-"Reseeding is the bootstrapping process used to find other routers when you "
-"first install I2P, or when your router has too few router references "
-"remaining."
-msgstr ""
-"Reseeden is het opstart proces dat gebruikt wordt om andere routers te vinden "
-"wanneer je I2P voor het eerst installeert, of wanneer je router te weinig "
-"router referenties heeft."
+msgid "Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining."
+msgstr "Reseeden is het opstart proces dat gebruikt wordt om andere routers te vinden wanneer je I2P voor het eerst installeert, of wanneer je router te weinig router referenties heeft."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:304
-msgid ""
-"If reseeding has failed, you should first check your network connection."
-msgstr ""
-"Wanneer reseeden heeft gefaald moet je eerst je netwerkverbinding controlleren."
+msgid "If reseeding has failed, you should first check your network connection."
+msgstr "Wanneer reseeden heeft gefaald moet je eerst je netwerkverbinding controlleren."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:308
-msgid ""
-"Change these only if HTTP is blocked by a restrictive firewall, reseed has "
-"failed, and you have access to an HTTP proxy."
-msgstr ""
-"Wijzig deze alleen wanneer HTTP geblokkeerd is door een beperkende firewall, "
-"reseeden heeft gefaald en je toegang hebt tot een HTTP proxy."
+msgid "Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy."
+msgstr "Wijzig deze alleen wanneer HTTP geblokkeerd is door een beperkende firewall, reseeden heeft gefaald en je toegang hebt tot een HTTP proxy."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
 #, java-format
@@ -5255,140 +4940,68 @@ msgid "Shutdown the router"
 msgstr "Stop de router"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
-msgid ""
-"Graceful shutdown lets the router satisfy the agreements it has already made "
-"before shutting down, but may take a few minutes."
-msgstr ""
-"Een gecontrolleerde afsluiting laat de router zijn reeds bestaande "
-"overeenkomsten vervullen alvorens te stoppen, maar dit kan een aantal "
-"minuten duren."
+msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
+msgstr "Een gecontrolleerde afsluiting laat de router zijn reeds bestaande overeenkomsten vervullen alvorens te stoppen, maar dit kan een aantal minuten duren."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
-msgid ""
-"If you need to kill the router immediately, that option is available as well."
+msgid "If you need to kill the router immediately, that option is available as well."
 msgstr "Indien je de router onmiddelijk wilt stoppen, dan is dit ook mogelijk."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
-msgid ""
-"If you want the router to restart itself after shutting down, you can choose "
-"one of the following."
-msgstr ""
-"Indien je de router wilt herstarten na het afsluiten, kies dan één van de "
-"volgende opties."
+msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
+msgstr "Indien je de router wilt herstarten na het afsluiten, kies dan één van de volgende opties."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
-msgid ""
-"This is useful in some situations - for example, if you changed some "
-"settings that client applications only read at startup, such as the "
-"routerconsole password or the interface it listens on."
-msgstr ""
-"Dit is handig in sommige situaties - bijvoorbeeld wanneer je een "
-"configuratie hebt gewijzigd die client applicaties alleen lezen bij het "
-"opstarten, zoals het routerconsole wachtwoord of de interface waar het op "
-"luistert."
+msgid "This is useful in some situations - for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on."
+msgstr "Dit is handig in sommige situaties - bijvoorbeeld wanneer je een configuratie hebt gewijzigd die client applicaties alleen lezen bij het opstarten, zoals het routerconsole wachtwoord of de interface waar het op luistert."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
-msgid ""
-"A graceful restart will take a few minutes (but your peers will appreciate "
-"your patience), while a hard restart does so immediately."
-msgstr ""
-"Een gecontrolleerde herstart zal een aantal minuten duren (maar je peers "
-"stellen je gedult zeer op prijs), terwijl een harde herstart onmiddelijk is."
+msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
+msgstr "Een gecontrolleerde herstart zal een aantal minuten duren (maar je peers stellen je gedult zeer op prijs), terwijl een harde herstart onmiddelijk is."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
-msgid ""
-"After tearing down the router, it will wait 1 minute before starting back up "
-"again."
-msgstr ""
-"Na het stoppen van de router, zal het 1 minuut wachten alvorens opnieuw te "
-"starten."
+msgid "After tearing down the router, it will wait 1 minute before starting back up again."
+msgstr "Na het stoppen van de router, zal het 1 minuut wachten alvorens opnieuw te starten."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
-msgid "Systray integration"
-msgstr "Systray integratie"
+msgid "Run on startup"
+msgstr "Aan bij opstarten"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
-msgid ""
-"On the windows platform, there is a small application to sit in the system "
-"tray, allowing you to view the router's status"
-msgstr ""
-"Op het windows platform is er een kleine applicatie die in je system tray "
-"zit, waarmee de router status te bekijken is"
+msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly."
+msgstr "Je kan bepalen of I2P al dan niet bij het opstarten moet starten met behulp van de volgende opties - I2P zal dan de service toevoegen (of verwijderen)."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
-msgid ""
-"(later on, I2P client applications will be able to integrate their own "
-"functionality into the system tray as well)."
-msgstr ""
-"(in de toekomst zullen I2P client applicaties hun functionaliteit ook in de "
-"system tray kunnen integreren)."
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
-msgid "If you are on windows, you can either enable or disable that icon here."
-msgstr "Indien je windows gebruikt kun je het icon hier in- of uitschakelen."
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
-msgid "Run on startup"
-msgstr "Aan bij opstarten"
+msgid "If you prefer the command line, you can also run the "
+msgstr "Indien je de voorkeur geeft aan de command line, kan je het ook starten met "
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
-msgid ""
-"You can control whether I2P is run on startup or not by selecting one of the "
-"following options - I2P will install (or remove) a service accordingly."
-msgstr ""
-"Je kan bepalen of I2P al dan niet bij het opstarten moet starten met behulp "
-"van de volgende opties - I2P zal dan de service toevoegen (of verwijderen)."
+msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
+msgstr "Indien je op dit moment I2P als service draait zal het verwijderen je router onmiddelijk stoppen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
-msgid "If you prefer the command line, you can also run the "
-msgstr ""
-"Indien je de voorkeur geeft aan de command line, kan je het ook starten met "
+msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
+msgstr "Overweeg om hierboven je router gecontrolleerd te stoppen, en daarna uninstall_i2p_service_winnt.bat te draaien."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
-msgid ""
-"If you are running I2P as service right now, removing it will shut down your "
-"router immediately."
-msgstr ""
-"Indien je op dit moment I2P als service draait zal het verwijderen je router "
-"onmiddelijk stoppen."
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
-msgid ""
-"You may want to consider shutting down gracefully, as above, then running "
-"uninstall_i2p_service_winnt.bat."
-msgstr ""
-"Overweeg om hierboven je router gecontrolleerd te stoppen, en daarna "
-"uninstall_i2p_service_winnt.bat te draaien."
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
 msgid "Debugging"
 msgstr "Debugging"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
 msgid "View the job queue"
 msgstr "Bekijk de taak wachtrij"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
-msgid ""
-"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
-"please select the following option and review the thread dumped to <a href="
-"\"logs.jsp#servicelogs\">wrapper.log</a>."
-msgstr ""
-"Soms kan het handig zijn om I2P te debuggen met een thread dump. Om dit te "
-"doen, selecteer de volgende optie en bekijk de thread dump in de <a href="
-"\"logs.jsp#servicelogs\">wrapper.log</a>."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
+msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
+msgstr "Soms kan het handig zijn om I2P te debuggen met een thread dump. Om dit te doen, selecteer de volgende optie en bekijk de thread dump in de <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
 msgid "Launch browser on router startup?"
 msgstr "Start browser bij opstarten router?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
-msgid ""
-"I2P's main configuration interface is this web console, so for your "
-"convenience I2P can launch a web browser on startup pointing at"
-msgstr ""
-"De hoofd configuratie interface van I2P is deze web console, indien gewenst "
-"kan I2P na het opstarten een web browser starten die verwijst naar"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
+msgid "I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at"
+msgstr "De hoofd configuratie interface van I2P is deze web console, indien gewenst kan I2P na het opstarten een web browser starten die verwijst naar"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
 msgid "config stats"
@@ -5452,14 +5065,8 @@ msgid "There is a fundamental tradeoff between anonymity and performance."
 msgstr "Er is een fundamentele afweging tussen anonimiteit en prestatie."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
-msgid ""
-"Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 "
-"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely "
-"reduce performance or reliability."
-msgstr ""
-"Tunnels langer dan 3 hops (bijvoorbeeld 2 hops + 0-2 hops, 3 hops + 0-1 "
-"hops, 3 hops + 0-2 hops), of een hoge hoeveelheid + backup hoeveelheid, "
-"kunnen leiden tot een vermindering van prestatie of bereikbaarheid."
+msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
+msgstr "Tunnels langer dan 3 hops (bijvoorbeeld 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), of een hoge hoeveelheid + backup hoeveelheid, kunnen leiden tot een vermindering van prestatie of bereikbaarheid."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
 msgid "High CPU and/or high outbound bandwidth usage may result."
@@ -5467,15 +5074,11 @@ msgstr "CPU gebruik en/of uitgaand bandbreedte kan toenemen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
 msgid "Change these settings with care, and adjust them if you have problems."
-msgstr ""
-"Wijzig deze instellingen met zorg, en pas ze aan indien problemen optreden."
+msgstr "Wijzig deze instellingen met zorg, en pas ze aan indien problemen optreden."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
-msgid ""
-"Exploratory tunnel setting changes are stored in the router.config file."
-msgstr ""
-"Exploratory tunnel configuratie wijzigingen zijn opgeslagen in het router."
-"config bestand."
+msgid "Exploratory tunnel setting changes are stored in the router.config file."
+msgstr "Exploratory tunnel configuratie wijzigingen zijn opgeslagen in het router.config bestand."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
 msgid "Client tunnel changes are temporary and are not saved."
@@ -5506,26 +5109,16 @@ msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "Thema selectie is uitgeschakeld voor Internet Explorer, sorry."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
-msgid ""
-"If you're not using IE, it's likely that your browser is pretending to be "
-"IE; please configure your browser (or proxy) to use a different User Agent "
-"string if you'd like to access the console themes."
-msgstr ""
-"Indien je geen IE gebruikt, is het mogelijk dat je browser zich voordoet als "
-"IE; configureer je browser (of proxy) om een andere User Agent tekst te "
-"gebruiken indien je de console thema's wilt wijzigen."
+msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
+msgstr "Indien je geen IE gebruikt, is het mogelijk dat je browser zich voordoet als IE; configureer je browser (of proxy) om een andere User Agent tekst te gebruiken indien je de console thema's wilt wijzigen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
 msgid "Router Console Language"
 msgstr "Router Console Taal"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
-msgid ""
-"Please contribute to the router console translation project! Contact the "
-"developers on IRC #i2p to help."
-msgstr ""
-"Lever een bijdrage aan het router console vertaal project! Neem contact op "
-"met de ontwikkelaars op IRC #i2p om te helpen."
+msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
+msgstr "Lever een bijdrage aan het router console vertaal project! Neem contact op met de ontwikkelaars op IRC #i2p om te helpen."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
 msgid "Apply"
@@ -5592,12 +5185,8 @@ msgid "Unsigned Build URL"
 msgstr "Niet-ondertekende Build URL"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
-msgid ""
-"I2P updates are disabled because you do not have write permission for the "
-"install directory."
-msgstr ""
-"I2P updates zijn uitgeschakeld omdat je geen schrijf rechten hebt op de "
-"installatie directory."
+msgid "I2P updates are disabled because you do not have write permission for the install directory."
+msgstr "I2P updates zijn uitgeschakeld omdat je geen schrijf rechten hebt op de installatie directory."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
 msgid "Save"
@@ -5628,12 +5217,8 @@ msgstr "Rapporteer bugs op {0} of {1}."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:137
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
-msgid ""
-"You may use the username \"guest\" and password \"guest\" if you do not wish "
-"to register."
-msgstr ""
-"Indien je niet wilt registreren kan je de username \"guest\" en wachtwoord "
-"\"guest\" gebruiken."
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "Indien je niet wilt registreren kan je de username \"guest\" en wachtwoord \"guest\" gebruiken."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:139
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
@@ -5656,22 +5241,15 @@ msgstr "I2P Versie en Omgevingsinformatie"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:191
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
-msgid ""
-"Note that system information, log timestamps, and log messages may provide "
-"clues to your location; please review everything you include in a bug report."
-msgstr ""
-"Merk op dat systeem informatie, log timestamps en log berichten mogelijk "
-"aanwijzingen kunnen geven over je lokatie; controlleer daarom alles dat je "
-"in een bug report opneemt."
+msgid "Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report."
+msgstr "Merk op dat systeem informatie, log timestamps en log berichten mogelijk aanwijzingen kunnen geven over je lokatie; controlleer daarom alles dat je in een bug report opneemt."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
 msgid "Page Not Found"
 msgstr "Pagina Niet Gevonden"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
-msgid ""
-"Sorry! You appear to be requesting a non-existent Router Console page or "
-"resource."
+msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
 msgstr "Sorry! Je benadert een niet bestaande Router Console pagina of bron."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
@@ -5743,12 +5321,8 @@ msgid "The requested web application is not running."
 msgstr "De gevraagde web applicatie draait niet."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
-msgid ""
-"Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</"
-"a> to start it."
-msgstr ""
-"Bezoek de <a href=\"/configclients.jsp#webapp\">config clients pagina</a> om "
-"het te starten."
+msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
+msgstr "Bezoek de <a href=\"/configclients.jsp#webapp\">config clients pagina</a> om het te starten."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
 msgid "peer connections"
diff --git a/apps/routerconsole/locale/messages_zh.po b/apps/routerconsole/locale/messages_zh.po
index 4e7419ac05cb9f6a3bcf389afdac56f21bd4413a..d239aff0faa87c577029285e3f9a8df511475bfe 100644
--- a/apps/routerconsole/locale/messages_zh.po
+++ b/apps/routerconsole/locale/messages_zh.po
@@ -8,9 +8,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-04 02:45+0000\n"
+"POT-Creation-Date: 2011-02-12 11:39+0000\n"
 "PO-Revision-Date: \n"
-"Last-Translator: walking <walking@mail.i2p>\n"
+"Last-Translator: \n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -19,21 +19,75 @@ msgstr ""
 "X-Poedit-Country: CHINA\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:126
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1124
+#, java-format
+msgid "1 ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] "{0,number,####} 毫秒"
+
+#. seconds
+#. Note to translators: quantity will always be greater than one.
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1129
+#, java-format
+msgid "1 sec"
+msgid_plural "{0} sec"
+msgstr[0] "{0} 秒"
+
+#. minutes
+#. Note to translators: quantity will always be greater than one.
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1134
+#, java-format
+msgid "1 min"
+msgid_plural "{0} min"
+msgstr[0] "{0} 分钟"
+
+#. hours
+#. Note to translators: quantity will always be greater than one.
+#. alternates: hrs, hr., hrs.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1139
+#, java-format
+msgid "1 hour"
+msgid_plural "{0} hours"
+msgstr[0] "{0} 小时"
+
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1141
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+msgid "n/a"
+msgstr "N/A"
+
+#. days
+#. Note to translators: quantity will always be greater than one.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1145
+#, java-format
+msgid "1 day"
+msgid_plural "{0} days"
+msgstr[0] "{0} 天"
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:122
 #, java-format
 msgid "Banned by router hash: {0}"
 msgstr "按路由器 HASH 封杀: {0}"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:128
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:124
 msgid "Banned by router hash"
 msgstr "已按路由 HASH 封杀"
 
 #. Temporary reason, until the job finishes
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:673
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:669
 msgid "IP banned"
 msgstr "IP封锁"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:743
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:739
 #, java-format
 msgid "IP banned by blocklist.txt entry {0}"
 msgstr "按IP黑名单blocklist.txt封杀的节点{0}"
@@ -83,50 +137,44 @@ msgstr "接收共享隧道"
 #. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
 #. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
 #. else
-#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:487
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:488
 msgid "Rejecting tunnels"
 msgstr "拒绝参与共享隧道"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:48
-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:80
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
 msgid "Reseeding"
-msgstr "正在补种(引导网络启动)..."
+msgstr "网络引导"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:144
-msgid "Reseeding: fetching seed URL."
-msgstr "正在补种:获取补种连接..."
-
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
-msgid "Last reseed failed fully (failed reading seed URL)."
-msgstr "上次补种尝试失败(读取补种URL失败)。"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#, java-format
+msgid "Reseed fetched only 1 router."
+msgid_plural "Reseed fetched only {0} routers."
+msgstr[0] "网络引导只发现了 {0} 个I2P用户。"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:176
-msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
-msgstr "上次补种尝试失败(补种服务器未返回任何路由信息URL)。"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
+msgid "Reseed failed."
+msgstr "网络引导失败"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:189
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
 #, java-format
-msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
-msgstr "正在补种:从补种服务器获取路由信息({0}成功,{1}失败)。"
+msgid "See {0} for help."
+msgstr "帮助参见 {0}。"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:210
-#, java-format
-msgid "Last reseed failed partly ({0}% of {1})."
-msgstr "上次补种部分失败({0}%失败,共{1})"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
+msgid "reseed configuration page"
+msgstr "网络引导设置页面"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:215
-#, java-format
-msgid "Last reseed failed ({0}% of {1})."
-msgstr "上次补种失败({0}%失败,共{1})"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+msgid "Reseeding: fetching seed URL."
+msgstr "正在补种:获取补种连接..."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:225
-msgid "Last reseed failed fully (exception caught)."
-msgstr "上次补种失败(exception caught)."
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#, java-format
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr "正在补种:从补种服务器获取路由信息({0}成功,{1}失败)。"
 
-#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510
+#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
 msgid "NetDb entry"
 msgstr "NetDb 项目"
 
@@ -135,27 +183,40 @@ msgstr "NetDb 项目"
 msgid "No transports (hidden or starting up?)"
 msgstr "无数据传输(隐身或正在启动)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:457
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450
 msgid "Unreachable on any transport"
 msgstr "各传输方式均不可达"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:508
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499
 msgid "Router Transport Addresses"
 msgstr "路由传输地址"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:514
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504
 #, java-format
 msgid "{0} is used for outbound connections only"
 msgstr "{0} 仅被用作出站连接"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+msgid "Help"
+msgstr "帮助"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr "最大传输连接数会根据您的带宽设置自动调整。"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr "要自定义连接数限制,您可以在高级配置页面中使用参数 i2np.ntcp.maxConnections=nnn 及 i2np.udp.maxConnections=nnn 。"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid "Definitions"
 msgstr "定义"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
 #: ../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
@@ -165,149 +226,149 @@ msgstr "定义"
 msgid "Peer"
 msgstr "节点"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 msgid "The remote peer, identified by router hash"
 msgstr "以路由Hash区分的远程节点"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Dir"
 msgstr "类别"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
 msgid "Inbound connection"
 msgstr "进站连接"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
 msgid "Outbound connection"
 msgstr "出站连接"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
 msgid "They offered to introduce us (help other peers traverse our firewall)"
 msgstr "对方节点为中继帮助我方穿越防火墙"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
 msgid "We offered to introduce them (help other peers traverse their firewall)"
 msgstr "我方为中继帮助其他节点穿越防火墙"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "How long since a packet has been received / sent"
 msgstr "最近一次数据传输距现在的时间"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Idle"
 msgstr "空闲"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
 msgstr "入/出"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
 msgstr "进/出站平滑传输率(Kbyte/s)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "How long ago this connection was established"
 msgstr "连接建立时间"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Up"
 msgstr "寿命"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
 msgid "Skew"
 msgstr "时滞"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "The difference between the peer's clock and your own"
 msgstr "节点与本地时钟间的时滞"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
 msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
 msgstr "拥塞窗口,即每次确认前可发送的字节量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The number of sent messages awaiting acknowledgement"
 msgstr "等待确认的已发送数据包数量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The maximum number of concurrent messages to send"
 msgstr "并发消息的最大发送量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The number of pending sends which exceed congestion window"
 msgstr "超过拥塞窗口的待发送数量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The slow start threshold"
 msgstr "慢启动门槛"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The round trip time in milliseconds"
 msgstr "往返时间单位毫秒"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1912
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Dev"
 msgstr "偏差"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The standard deviation of the round trip time in milliseconds"
 msgstr "环行时间的标准差单位毫秒"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The retransmit timeout in milliseconds"
 msgstr "重传输超时时间单位毫秒"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
 msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
 msgstr "当前发送数据包的最大大小/预计接收数据包的最大大小(字节)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "TX"
 msgstr "发包"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid "The total number of packets sent to the peer"
 msgstr "向节点发送的数据包总量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "RX"
 msgstr "接包"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets received from the peer"
 msgstr "从节点接收到数据包总量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
 msgid "Dup TX"
 msgstr "重发包"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets retransmitted to the peer"
 msgstr "向节点发送的重复数据包总量"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931
 msgid "Dup RX"
 msgstr "重接包"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of duplicate packets received from the peer"
 msgstr "从节点接收到的重复数据包总量"
 
@@ -317,149 +378,149 @@ msgstr "从节点接收到的重复数据包总量"
 msgid "Excessive clock skew: {0}"
 msgstr "严重时滞:{0}"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:710
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
 msgid "NTCP connections"
 msgstr "NTCP连接"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1881
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886
 msgid "Limit"
 msgstr "限制"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
 msgid "Timeout"
 msgstr "超时"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:723
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
 msgid "Out Queue"
 msgstr "出队"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:724
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
 msgid "Backlogged?"
 msgstr "积压?"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1944
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Inbound"
 msgstr "入站"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Outbound"
 msgstr "出站"
 
 #. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:787
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
 msgid "peers"
 msgstr "节点"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1880
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
 msgid "UDP connections"
 msgstr "UDP连接"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
 msgid "Sort by peer hash"
 msgstr "按节点Hash"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Direction/Introduction"
 msgstr "方向"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
 msgid "Sort by idle inbound"
 msgstr "出站空闲"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
 msgid "Sort by idle outbound"
 msgstr "入站空闲"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
 msgid "Sort by inbound rate"
 msgstr "按入站速度"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
 msgid "Sort by outbound rate"
 msgstr "按出站速度"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
 msgid "Sort by connection uptime"
 msgstr "按连接时间"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
 msgid "Sort by clock skew"
 msgstr "按时滞"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
 msgid "Sort by congestion window"
 msgstr "按拥塞窗口"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
 msgid "Sort by slow start threshold"
 msgstr "按启动门槛"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
 msgid "Sort by round trip time"
 msgstr "按往返时间"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
 msgid "Sort by round trip time deviation"
 msgstr "按RTT偏差"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
 msgid "Sort by retransmission timeout"
 msgstr "按重传输超时时间"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
 msgid "Sort by outbound maximum transmit unit"
 msgstr "按出站最大传输单元"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
 msgid "Sort by packets sent"
 msgstr "按已发送数据包"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
 msgid "Sort by packets received"
 msgstr "按已接收数据包"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930
 msgid "Sort by packets retransmitted"
 msgstr "按重传数据包"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932
 msgid "Sort by packets received more than once"
 msgstr "按重复数据包"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1953
 msgid "We offered to introduce them"
 msgstr "中继客户"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1955
 msgid "They offered to introduce us"
 msgstr "中继"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1954
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1959
 msgid "Choked"
-msgstr ""
+msgstr "阻塞"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1962
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1967
 msgid "1 fail"
 msgstr "失败 1 次"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1969
 #, java-format
 msgid "{0} fails"
 msgstr "失败 {0} 次"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1970
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1975
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
 msgid "Banned"
 msgstr "已封锁"
 
 #. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2102
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2106
 msgid "SUMMARY"
 msgstr "总结"
 
@@ -550,876 +611,877 @@ msgstr "澳大利亚"
 msgid "Aruba"
 msgstr "阿鲁巴"
 
-#: ../java/build/Countries.java:18
+#: ../java/build/Countries.java:19
 msgid "Azerbaijan"
 msgstr "阿塞拜疆"
 
-#: ../java/build/Countries.java:19
+#: ../java/build/Countries.java:20
 msgid "Bosnia and Herzegovina"
 msgstr "波黑"
 
-#: ../java/build/Countries.java:20
+#: ../java/build/Countries.java:21
 msgid "Barbados"
 msgstr "巴巴多斯"
 
-#: ../java/build/Countries.java:21
+#: ../java/build/Countries.java:22
 msgid "Bangladesh"
 msgstr "孟加拉"
 
-#: ../java/build/Countries.java:22
+#: ../java/build/Countries.java:23
 msgid "Belgium"
 msgstr "比利时"
 
-#: ../java/build/Countries.java:23
+#: ../java/build/Countries.java:24
 msgid "Burkina Faso"
 msgstr "布基纳法索"
 
-#: ../java/build/Countries.java:24
+#: ../java/build/Countries.java:25
 msgid "Bulgaria"
 msgstr "保加利亚"
 
-#: ../java/build/Countries.java:25
+#: ../java/build/Countries.java:26
 msgid "Bahrain"
 msgstr "å·´æž—"
 
-#: ../java/build/Countries.java:26
+#: ../java/build/Countries.java:27
 msgid "Burundi"
 msgstr "不丹"
 
-#: ../java/build/Countries.java:27
+#: ../java/build/Countries.java:28
 msgid "Benin"
 msgstr "贝宁"
 
-#: ../java/build/Countries.java:28
+#: ../java/build/Countries.java:29
 msgid "Bermuda"
 msgstr "百慕大"
 
-#: ../java/build/Countries.java:29
+#: ../java/build/Countries.java:30
 msgid "Brunei Darussalam"
 msgstr "文莱达鲁萨兰"
 
-#: ../java/build/Countries.java:30
+#: ../java/build/Countries.java:31
 msgid "Bolivia"
 msgstr "玻利维亚"
 
-#: ../java/build/Countries.java:31
+#: ../java/build/Countries.java:32
 msgid "Brazil"
 msgstr "巴西"
 
-#: ../java/build/Countries.java:32
+#: ../java/build/Countries.java:33
 msgid "Bahamas"
 msgstr "巴哈马"
 
-#: ../java/build/Countries.java:33
+#: ../java/build/Countries.java:34
 msgid "Bhutan"
 msgstr "不丹"
 
-#: ../java/build/Countries.java:34
+#: ../java/build/Countries.java:35
 msgid "Bouvet Island"
 msgstr "布韦群岛"
 
-#: ../java/build/Countries.java:35
+#: ../java/build/Countries.java:36
 msgid "Botswana"
 msgstr "伯兹瓦纳"
 
-#: ../java/build/Countries.java:36
+#: ../java/build/Countries.java:37
 msgid "Belarus"
 msgstr "白俄罗斯"
 
-#: ../java/build/Countries.java:37
+#: ../java/build/Countries.java:38
 msgid "Belize"
 msgstr "伯利兹"
 
-#: ../java/build/Countries.java:38
+#: ../java/build/Countries.java:39
 msgid "Canada"
 msgstr "加拿大"
 
-#: ../java/build/Countries.java:39
+#: ../java/build/Countries.java:40
 msgid "The Democratic Republic of the Congo"
 msgstr "刚果"
 
-#: ../java/build/Countries.java:40
+#: ../java/build/Countries.java:41
 msgid "Central African Republic"
 msgstr "中非"
 
-#: ../java/build/Countries.java:41
+#: ../java/build/Countries.java:42
 msgid "Congo"
 msgstr "Congo"
 
-#: ../java/build/Countries.java:42
+#: ../java/build/Countries.java:43
 msgid "Switzerland"
 msgstr "瑞士"
 
-#: ../java/build/Countries.java:43
+#: ../java/build/Countries.java:44
 msgid "Cote D'Ivoire"
 msgstr "象牙海岸"
 
-#: ../java/build/Countries.java:44
+#: ../java/build/Countries.java:45
 msgid "Cook Islands"
 msgstr "库克群岛"
 
-#: ../java/build/Countries.java:45
+#: ../java/build/Countries.java:46
 msgid "Chile"
 msgstr "智利"
 
-#: ../java/build/Countries.java:46
+#: ../java/build/Countries.java:47
 msgid "Cameroon"
 msgstr "喀麦隆"
 
-#: ../java/build/Countries.java:47
+#: ../java/build/Countries.java:48
 msgid "China"
 msgstr "中国"
 
-#: ../java/build/Countries.java:48
+#: ../java/build/Countries.java:49
 msgid "Colombia"
 msgstr "哥伦比亚"
 
-#: ../java/build/Countries.java:49
+#: ../java/build/Countries.java:50
 msgid "Costa Rica"
 msgstr "哥斯达黎加"
 
-#: ../java/build/Countries.java:50
+#: ../java/build/Countries.java:51
 msgid "Serbia and Montenegro"
 msgstr "塞尔维亚与黑山"
 
-#: ../java/build/Countries.java:51
+#: ../java/build/Countries.java:52
 msgid "Cuba"
 msgstr "古巴"
 
-#: ../java/build/Countries.java:52
+#: ../java/build/Countries.java:53
 msgid "Cape Verde"
 msgstr "佛得角"
 
-#: ../java/build/Countries.java:53
+#: ../java/build/Countries.java:54
 msgid "Cyprus"
 msgstr "塞浦路斯"
 
-#: ../java/build/Countries.java:54
+#: ../java/build/Countries.java:55
 msgid "Czech Republic"
 msgstr "捷克"
 
-#: ../java/build/Countries.java:55
+#: ../java/build/Countries.java:56
 msgid "Germany"
 msgstr "德国"
 
-#: ../java/build/Countries.java:56
+#: ../java/build/Countries.java:57
 msgid "Djibouti"
 msgstr "吉布提"
 
-#: ../java/build/Countries.java:57
+#: ../java/build/Countries.java:58
 msgid "Denmark"
 msgstr "丹麦"
 
-#: ../java/build/Countries.java:58
+#: ../java/build/Countries.java:59
 msgid "Dominica"
 msgstr "多米尼"
 
-#: ../java/build/Countries.java:59
+#: ../java/build/Countries.java:60
 msgid "Dominican Republic"
 msgstr "多米尼加联邦"
 
-#: ../java/build/Countries.java:60
+#: ../java/build/Countries.java:61
 msgid "Algeria"
 msgstr "阿尔及利亚"
 
-#: ../java/build/Countries.java:61
+#: ../java/build/Countries.java:62
 msgid "Ecuador"
 msgstr "厄瓜多尔"
 
-#: ../java/build/Countries.java:62
+#: ../java/build/Countries.java:63
 msgid "Estonia"
 msgstr "爱沙尼亚"
 
-#: ../java/build/Countries.java:63
+#: ../java/build/Countries.java:64
 msgid "Egypt"
 msgstr "埃及"
 
-#: ../java/build/Countries.java:64
+#: ../java/build/Countries.java:65
 msgid "Eritrea"
 msgstr "厄立特里亚"
 
-#: ../java/build/Countries.java:65
+#: ../java/build/Countries.java:66
 msgid "Spain"
 msgstr "西班牙"
 
-#: ../java/build/Countries.java:66
+#: ../java/build/Countries.java:67
 msgid "Ethiopia"
 msgstr "埃塞俄比亚"
 
-#: ../java/build/Countries.java:67
+#: ../java/build/Countries.java:68
 msgid "Finland"
 msgstr "芬兰"
 
-#: ../java/build/Countries.java:68
+#: ../java/build/Countries.java:69
 msgid "Fiji"
 msgstr "斐济"
 
-#: ../java/build/Countries.java:69
+#: ../java/build/Countries.java:70
 msgid "Falkland Islands (Malvinas)"
 msgstr "福克兰群岛"
 
-#: ../java/build/Countries.java:70
+#: ../java/build/Countries.java:71
 msgid "Federated States of Micronesia"
 msgstr "密克罗尼西亚"
 
-#: ../java/build/Countries.java:71
+#: ../java/build/Countries.java:72
 msgid "Faroe Islands"
 msgstr "法罗群岛"
 
-#: ../java/build/Countries.java:72
+#: ../java/build/Countries.java:73
 msgid "France"
 msgstr "法国"
 
-#: ../java/build/Countries.java:73
+#: ../java/build/Countries.java:74
 msgid "Gabon"
 msgstr "加蓬"
 
-#: ../java/build/Countries.java:74
+#: ../java/build/Countries.java:75
 msgid "United Kingdom"
 msgstr "英国"
 
-#: ../java/build/Countries.java:75
+#: ../java/build/Countries.java:76
 msgid "Grenada"
 msgstr "格林纳达"
 
-#: ../java/build/Countries.java:76
+#: ../java/build/Countries.java:77
 msgid "Georgia"
 msgstr "格鲁吉亚"
 
-#: ../java/build/Countries.java:77
+#: ../java/build/Countries.java:78
 msgid "French Guiana"
 msgstr "圭亚那"
 
-#: ../java/build/Countries.java:78
+#: ../java/build/Countries.java:79
 msgid "Ghana"
 msgstr "加纳"
 
-#: ../java/build/Countries.java:79
+#: ../java/build/Countries.java:80
 msgid "Gibraltar"
 msgstr "直布罗陀"
 
-#: ../java/build/Countries.java:80
+#: ../java/build/Countries.java:81
 msgid "Greenland"
 msgstr "格陵兰群岛"
 
-#: ../java/build/Countries.java:81
+#: ../java/build/Countries.java:82
 msgid "Gambia"
 msgstr "冈比亚"
 
-#: ../java/build/Countries.java:82
+#: ../java/build/Countries.java:83
 msgid "Guinea"
 msgstr "几内亚"
 
-#: ../java/build/Countries.java:83
+#: ../java/build/Countries.java:84
 msgid "Guadeloupe"
 msgstr "瓜德罗普岛"
 
-#: ../java/build/Countries.java:84
+#: ../java/build/Countries.java:85
 msgid "Equatorial Guinea"
 msgstr "赤道几内亚"
 
-#: ../java/build/Countries.java:85
+#: ../java/build/Countries.java:86
 msgid "Greece"
 msgstr "希腊"
 
-#: ../java/build/Countries.java:86
+#: ../java/build/Countries.java:87
 msgid "South Georgia and the South Sandwich Islands"
 msgstr "南乔治亚岛和南桑德韦奇岛"
 
-#: ../java/build/Countries.java:87
+#: ../java/build/Countries.java:88
 msgid "Guatemala"
 msgstr "危地马拉"
 
-#: ../java/build/Countries.java:88
+#: ../java/build/Countries.java:89
 msgid "Guam"
 msgstr "关岛"
 
-#: ../java/build/Countries.java:89
+#: ../java/build/Countries.java:90
 msgid "Guinea-Bissau"
 msgstr "几内亚比绍"
 
-#: ../java/build/Countries.java:90
+#: ../java/build/Countries.java:91
 msgid "Guyana"
 msgstr "圭亚那"
 
-#: ../java/build/Countries.java:91
+#: ../java/build/Countries.java:92
 msgid "Hong Kong"
 msgstr "香港"
 
-#: ../java/build/Countries.java:92
+#: ../java/build/Countries.java:93
 msgid "Honduras"
 msgstr "洪都拉斯"
 
-#: ../java/build/Countries.java:93
+#: ../java/build/Countries.java:94
 msgid "Croatia"
 msgstr "克罗蒂亚"
 
-#: ../java/build/Countries.java:94
+#: ../java/build/Countries.java:95
 msgid "Haiti"
 msgstr "海地"
 
-#: ../java/build/Countries.java:95
+#: ../java/build/Countries.java:96
 msgid "Hungary"
 msgstr "匈牙利"
 
-#: ../java/build/Countries.java:96
+#: ../java/build/Countries.java:97
 msgid "Indonesia"
 msgstr "印尼"
 
-#: ../java/build/Countries.java:97
+#: ../java/build/Countries.java:98
 msgid "Ireland"
 msgstr "爱尔兰"
 
-#: ../java/build/Countries.java:98
+#: ../java/build/Countries.java:99
 msgid "Israel"
 msgstr "以色列"
 
-#: ../java/build/Countries.java:99
+#: ../java/build/Countries.java:101
 msgid "India"
 msgstr "印度"
 
-#: ../java/build/Countries.java:100
+#: ../java/build/Countries.java:102
 msgid "British Indian Ocean Territory"
 msgstr "英属印度洋地区"
 
-#: ../java/build/Countries.java:101
+#: ../java/build/Countries.java:103
 msgid "Iraq"
 msgstr "伊拉克"
 
-#: ../java/build/Countries.java:102
+#: ../java/build/Countries.java:104
 msgid "Islamic Republic of Iran"
 msgstr "伊朗"
 
-#: ../java/build/Countries.java:103
+#: ../java/build/Countries.java:105
 msgid "Iceland"
 msgstr "冰岛"
 
-#: ../java/build/Countries.java:104
+#: ../java/build/Countries.java:106
 msgid "Italy"
 msgstr "意大利"
 
-#: ../java/build/Countries.java:105
+#: ../java/build/Countries.java:108
 msgid "Jamaica"
 msgstr "牙买加"
 
-#: ../java/build/Countries.java:106
+#: ../java/build/Countries.java:109
 msgid "Jordan"
 msgstr "约旦"
 
-#: ../java/build/Countries.java:107
+#: ../java/build/Countries.java:110
 msgid "Japan"
 msgstr "日本"
 
-#: ../java/build/Countries.java:108
+#: ../java/build/Countries.java:111
 msgid "Kenya"
 msgstr "肯尼亚"
 
-#: ../java/build/Countries.java:109
+#: ../java/build/Countries.java:112
 msgid "Kyrgyzstan"
 msgstr "吉尔吉斯斯坦"
 
-#: ../java/build/Countries.java:110
+#: ../java/build/Countries.java:113
 msgid "Cambodia"
 msgstr "柬埔塞"
 
-#: ../java/build/Countries.java:111
+#: ../java/build/Countries.java:114
 msgid "Kiribati"
 msgstr "基里巴斯"
 
-#: ../java/build/Countries.java:112
+#: ../java/build/Countries.java:115
 msgid "Comoros"
 msgstr "科摩罗"
 
-#: ../java/build/Countries.java:113
+#: ../java/build/Countries.java:116
 msgid "Saint Kitts and Nevis"
 msgstr "圣克里斯多福与尼维斯"
 
-#: ../java/build/Countries.java:114
+#: ../java/build/Countries.java:117
 msgid "Republic of Korea"
 msgstr "韩国"
 
-#: ../java/build/Countries.java:115
+#: ../java/build/Countries.java:118
 msgid "Kuwait"
 msgstr "科威特"
 
-#: ../java/build/Countries.java:116
+#: ../java/build/Countries.java:119
 msgid "Cayman Islands"
 msgstr "开曼群岛"
 
-#: ../java/build/Countries.java:117
+#: ../java/build/Countries.java:120
 msgid "Kazakhstan"
 msgstr "哈萨克斯坦"
 
-#: ../java/build/Countries.java:118
+#: ../java/build/Countries.java:121
 msgid "Lao People's Democratic Republic"
 msgstr "老挝"
 
-#: ../java/build/Countries.java:119
+#: ../java/build/Countries.java:122
 msgid "Lebanon"
 msgstr "黎巴嫩"
 
-#: ../java/build/Countries.java:120
+#: ../java/build/Countries.java:123
 msgid "Saint Lucia"
 msgstr "圣露西亚岛"
 
-#: ../java/build/Countries.java:121
+#: ../java/build/Countries.java:124
 msgid "Liechtenstein"
 msgstr "列支敦士登"
 
-#: ../java/build/Countries.java:122
+#: ../java/build/Countries.java:125
 msgid "Sri Lanka"
 msgstr "斯里兰卡"
 
-#: ../java/build/Countries.java:123
+#: ../java/build/Countries.java:126
 msgid "Liberia"
 msgstr "利比里亚"
 
-#: ../java/build/Countries.java:124
+#: ../java/build/Countries.java:127
 msgid "Lesotho"
 msgstr "莱索托"
 
-#: ../java/build/Countries.java:125
+#: ../java/build/Countries.java:128
 msgid "Lithuania"
 msgstr "立陶宛"
 
-#: ../java/build/Countries.java:126
+#: ../java/build/Countries.java:129
 msgid "Luxembourg"
 msgstr "卢森堡"
 
-#: ../java/build/Countries.java:127
+#: ../java/build/Countries.java:130
 msgid "Latvia"
 msgstr "拉脱维亚"
 
-#: ../java/build/Countries.java:128
+#: ../java/build/Countries.java:131
 msgid "Libyan Arab Jamahiriya"
 msgstr "利比亚"
 
-#: ../java/build/Countries.java:129
+#: ../java/build/Countries.java:132
 msgid "Morocco"
 msgstr "摩洛哥"
 
-#: ../java/build/Countries.java:130
+#: ../java/build/Countries.java:133
 msgid "Monaco"
 msgstr "摩纳哥"
 
-#: ../java/build/Countries.java:131
+#: ../java/build/Countries.java:134
 msgid "Republic of Moldova"
 msgstr "摩尔多瓦"
 
-#: ../java/build/Countries.java:132
+#: ../java/build/Countries.java:137
 msgid "Madagascar"
 msgstr "马达加斯加"
 
-#: ../java/build/Countries.java:133
+#: ../java/build/Countries.java:138
 msgid "Marshall Islands"
 msgstr "马绍尔群岛"
 
-#: ../java/build/Countries.java:134
+#: ../java/build/Countries.java:139
 msgid "The Former Yugoslav Republic of Macedonia"
 msgstr "前南斯拉夫之马其顿共和国"
 
-#: ../java/build/Countries.java:135
+#: ../java/build/Countries.java:140
 msgid "Mali"
 msgstr "马里"
 
-#: ../java/build/Countries.java:136
+#: ../java/build/Countries.java:141
 msgid "Myanmar"
 msgstr "缅甸"
 
-#: ../java/build/Countries.java:137
+#: ../java/build/Countries.java:142
 msgid "Mongolia"
 msgstr "蒙古"
 
-#: ../java/build/Countries.java:138
+#: ../java/build/Countries.java:143
 msgid "Macao"
 msgstr "澳门"
 
-#: ../java/build/Countries.java:139
+#: ../java/build/Countries.java:144
 msgid "Northern Mariana Islands"
 msgstr "北马里亚纳群岛"
 
-#: ../java/build/Countries.java:140
+#: ../java/build/Countries.java:145
 msgid "Martinique"
 msgstr "马提尼克岛"
 
-#: ../java/build/Countries.java:141
+#: ../java/build/Countries.java:146
 msgid "Mauritania"
 msgstr "毛里塔尼亚"
 
-#: ../java/build/Countries.java:142
+#: ../java/build/Countries.java:147
 msgid "Montserrat"
 msgstr "蒙特塞拉特"
 
-#: ../java/build/Countries.java:143
+#: ../java/build/Countries.java:148
 msgid "Malta"
 msgstr "马尔他"
 
-#: ../java/build/Countries.java:144
+#: ../java/build/Countries.java:149
 msgid "Mauritius"
 msgstr "毛里求斯"
 
-#: ../java/build/Countries.java:145
+#: ../java/build/Countries.java:150
 msgid "Maldives"
 msgstr "马尔代夫"
 
-#: ../java/build/Countries.java:146
+#: ../java/build/Countries.java:151
 msgid "Malawi"
 msgstr "马拉维"
 
-#: ../java/build/Countries.java:147
+#: ../java/build/Countries.java:152
 msgid "Mexico"
 msgstr "墨西哥"
 
-#: ../java/build/Countries.java:148
+#: ../java/build/Countries.java:153
 msgid "Malaysia"
 msgstr "马来西亚"
 
-#: ../java/build/Countries.java:149
+#: ../java/build/Countries.java:154
 msgid "Mozambique"
 msgstr "莫桑比克"
 
-#: ../java/build/Countries.java:150
+#: ../java/build/Countries.java:155
 msgid "Namibia"
 msgstr "纳米比亚"
 
-#: ../java/build/Countries.java:151
+#: ../java/build/Countries.java:156
 msgid "New Caledonia"
 msgstr "新喀里多尼亚"
 
-#: ../java/build/Countries.java:152
+#: ../java/build/Countries.java:157
 msgid "Niger"
 msgstr "尼日尔"
 
-#: ../java/build/Countries.java:153
+#: ../java/build/Countries.java:158
 msgid "Norfolk Island"
 msgstr "尼加拉瓜"
 
-#: ../java/build/Countries.java:154
+#: ../java/build/Countries.java:159
 msgid "Nigeria"
 msgstr "尼日利亚"
 
-#: ../java/build/Countries.java:155
+#: ../java/build/Countries.java:160
 msgid "Nicaragua"
 msgstr "尼加拉瓜"
 
-#: ../java/build/Countries.java:156
+#: ../java/build/Countries.java:161
 msgid "Netherlands"
 msgstr "荷兰"
 
-#: ../java/build/Countries.java:157
+#: ../java/build/Countries.java:162
 msgid "Norway"
 msgstr "挪威"
 
-#: ../java/build/Countries.java:158
+#: ../java/build/Countries.java:163
 msgid "Nepal"
 msgstr "尼泊尔"
 
-#: ../java/build/Countries.java:159
+#: ../java/build/Countries.java:164
 msgid "Nauru"
 msgstr "瑙鲁"
 
-#: ../java/build/Countries.java:160
+#: ../java/build/Countries.java:165
 msgid "Niue"
 msgstr "纽埃岛"
 
-#: ../java/build/Countries.java:161
+#: ../java/build/Countries.java:166
 msgid "New Zealand"
 msgstr "新西兰"
 
-#: ../java/build/Countries.java:162
+#: ../java/build/Countries.java:167
 msgid "Oman"
 msgstr "阿曼"
 
-#: ../java/build/Countries.java:163
+#: ../java/build/Countries.java:168
 msgid "Panama"
 msgstr "巴拿马"
 
-#: ../java/build/Countries.java:164
+#: ../java/build/Countries.java:169
 msgid "Peru"
 msgstr "秘鲁"
 
-#: ../java/build/Countries.java:165
+#: ../java/build/Countries.java:170
 msgid "French Polynesia"
 msgstr "玻利尼西亚"
 
-#: ../java/build/Countries.java:166
+#: ../java/build/Countries.java:171
 msgid "Papua New Guinea"
 msgstr "巴布亚新几内亚"
 
-#: ../java/build/Countries.java:167
+#: ../java/build/Countries.java:172
 msgid "Philippines"
 msgstr "菲律宾"
 
-#: ../java/build/Countries.java:168
+#: ../java/build/Countries.java:173
 msgid "Pakistan"
 msgstr "巴基斯坦"
 
-#: ../java/build/Countries.java:169
+#: ../java/build/Countries.java:174
 msgid "Poland"
 msgstr "波兰"
 
-#: ../java/build/Countries.java:170
+#: ../java/build/Countries.java:175
 msgid "Saint Pierre and Miquelon"
 msgstr "圣皮埃尔岛和密克隆"
 
-#: ../java/build/Countries.java:171
+#: ../java/build/Countries.java:176
 msgid "Puerto Rico"
 msgstr "波多黎各"
 
-#: ../java/build/Countries.java:172
+#: ../java/build/Countries.java:177
 msgid "Palestinian Territory"
 msgstr "巴勒斯坦地区"
 
-#: ../java/build/Countries.java:173
+#: ../java/build/Countries.java:178
 msgid "Portugal"
 msgstr "葡萄牙"
 
-#: ../java/build/Countries.java:174
+#: ../java/build/Countries.java:179
 msgid "Palau"
 msgstr "帕劳"
 
-#: ../java/build/Countries.java:175
+#: ../java/build/Countries.java:180
 msgid "Paraguay"
 msgstr "巴拉圭"
 
-#: ../java/build/Countries.java:176
+#: ../java/build/Countries.java:181
 msgid "Qatar"
 msgstr "卡塔尔"
 
-#: ../java/build/Countries.java:177
+#: ../java/build/Countries.java:182
 msgid "Reunion"
 msgstr "留尼汪岛"
 
-#: ../java/build/Countries.java:178
+#: ../java/build/Countries.java:183
 msgid "Romania"
 msgstr "罗马尼亚"
 
-#: ../java/build/Countries.java:179
+#: ../java/build/Countries.java:184
 msgid "Serbia"
 msgstr "塞尔维亚"
 
-#: ../java/build/Countries.java:180
+#: ../java/build/Countries.java:185
 msgid "Russian Federation"
 msgstr "俄联邦"
 
-#: ../java/build/Countries.java:181
+#: ../java/build/Countries.java:186
 msgid "Rwanda"
 msgstr "卢旺达"
 
-#: ../java/build/Countries.java:182
+#: ../java/build/Countries.java:187
 msgid "Saudi Arabia"
 msgstr "沙特阿拉伯"
 
-#: ../java/build/Countries.java:183
+#: ../java/build/Countries.java:188
 msgid "Solomon Islands"
 msgstr "所罗门群岛"
 
-#: ../java/build/Countries.java:184
+#: ../java/build/Countries.java:189
 msgid "Seychelles"
 msgstr "塞舌尔"
 
-#: ../java/build/Countries.java:185
+#: ../java/build/Countries.java:190
 msgid "Sudan"
 msgstr "苏丹"
 
-#: ../java/build/Countries.java:186
+#: ../java/build/Countries.java:191
 msgid "Sweden"
 msgstr "ç‘žå…¸"
 
-#: ../java/build/Countries.java:187
+#: ../java/build/Countries.java:192
 msgid "Singapore"
 msgstr "新加坡"
 
-#: ../java/build/Countries.java:188
+#: ../java/build/Countries.java:193
 msgid "Slovenia"
 msgstr "斯洛文尼亚"
 
-#: ../java/build/Countries.java:189
+#: ../java/build/Countries.java:194
 msgid "Slovakia"
 msgstr "斯洛伐克"
 
-#: ../java/build/Countries.java:190
+#: ../java/build/Countries.java:195
 msgid "Sierra Leone"
 msgstr "塞拉利昂"
 
-#: ../java/build/Countries.java:191
+#: ../java/build/Countries.java:196
 msgid "San Marino"
 msgstr "圣马力诺"
 
-#: ../java/build/Countries.java:192
+#: ../java/build/Countries.java:197
 msgid "Senegal"
 msgstr "塞内加尔"
 
-#: ../java/build/Countries.java:193
+#: ../java/build/Countries.java:198
 msgid "Somalia"
 msgstr "索马里"
 
-#: ../java/build/Countries.java:194
+#: ../java/build/Countries.java:199
 msgid "Suriname"
 msgstr "苏里南"
 
-#: ../java/build/Countries.java:195
+#: ../java/build/Countries.java:200
 msgid "Sao Tome and Principe"
 msgstr "圣多美与普林西比共和国"
 
-#: ../java/build/Countries.java:196
+#: ../java/build/Countries.java:201
 msgid "El Salvador"
 msgstr "萨尔瓦多"
 
-#: ../java/build/Countries.java:197
+#: ../java/build/Countries.java:202
 msgid "Syrian Arab Republic"
 msgstr "叙利亚"
 
-#: ../java/build/Countries.java:198
+#: ../java/build/Countries.java:203
 msgid "Swaziland"
 msgstr "斯威士兰"
 
-#: ../java/build/Countries.java:199
+#: ../java/build/Countries.java:204
 msgid "Turks and Caicos Islands"
 msgstr "特克斯和凯科斯群岛"
 
-#: ../java/build/Countries.java:200
+#: ../java/build/Countries.java:205
 msgid "Chad"
 msgstr "乍得"
 
-#: ../java/build/Countries.java:201
+#: ../java/build/Countries.java:206
 msgid "French Southern Territories"
 msgstr "法属南半球领地"
 
-#: ../java/build/Countries.java:202
+#: ../java/build/Countries.java:207
 msgid "Togo"
 msgstr "多哥"
 
-#: ../java/build/Countries.java:203
+#: ../java/build/Countries.java:208
 msgid "Thailand"
 msgstr "泰国"
 
-#: ../java/build/Countries.java:204
+#: ../java/build/Countries.java:209
 msgid "Tajikistan"
 msgstr "塔吉克斯坦"
 
-#: ../java/build/Countries.java:205
+#: ../java/build/Countries.java:210
 msgid "Tokelau"
 msgstr "托克劳群岛"
 
-#: ../java/build/Countries.java:206
+#: ../java/build/Countries.java:211
 msgid "Timor-Leste"
 msgstr "东帝汶"
 
-#: ../java/build/Countries.java:207
+#: ../java/build/Countries.java:212
 msgid "Turkmenistan"
 msgstr "土库曼斯坦"
 
-#: ../java/build/Countries.java:208
+#: ../java/build/Countries.java:213
 msgid "Tunisia"
 msgstr "突尼斯"
 
-#: ../java/build/Countries.java:209
+#: ../java/build/Countries.java:214
 msgid "Tonga"
 msgstr "汤加"
 
-#: ../java/build/Countries.java:210
+#: ../java/build/Countries.java:215
 msgid "Turkey"
 msgstr "土耳其"
 
-#: ../java/build/Countries.java:211
+#: ../java/build/Countries.java:216
 msgid "Trinidad and Tobago"
 msgstr "特立尼达和多巴哥"
 
-#: ../java/build/Countries.java:212
+#: ../java/build/Countries.java:217
 msgid "Tuvalu"
 msgstr "图瓦鲁"
 
-#: ../java/build/Countries.java:213
+#: ../java/build/Countries.java:218
 msgid "Taiwan"
 msgstr "台湾"
 
-#: ../java/build/Countries.java:214
+#: ../java/build/Countries.java:219
 msgid "United Republic of Tanzania"
 msgstr "坦桑尼亚"
 
-#: ../java/build/Countries.java:215
+#: ../java/build/Countries.java:220
 msgid "Ukraine"
 msgstr "乌克兰"
 
-#: ../java/build/Countries.java:216
+#: ../java/build/Countries.java:221
 msgid "Uganda"
 msgstr "乌干达"
 
-#: ../java/build/Countries.java:217
+#: ../java/build/Countries.java:222
 msgid "United States Minor Outlying Islands"
 msgstr "美国本土外小岛屿"
 
-#: ../java/build/Countries.java:218
+#: ../java/build/Countries.java:223
 msgid "United States"
 msgstr "美国"
 
-#: ../java/build/Countries.java:219
+#: ../java/build/Countries.java:224
 msgid "Uruguay"
 msgstr "乌拉圭"
 
-#: ../java/build/Countries.java:220
+#: ../java/build/Countries.java:225
 msgid "Uzbekistan"
 msgstr "乌兹别克斯坦"
 
-#: ../java/build/Countries.java:221
+#: ../java/build/Countries.java:226
 msgid "Holy See (Vatican City State)"
 msgstr "梵地冈"
 
-#: ../java/build/Countries.java:222
+#: ../java/build/Countries.java:227
 msgid "Saint Vincent and the Grenadines"
 msgstr "圣文森特和格林纳丁斯"
 
-#: ../java/build/Countries.java:223
+#: ../java/build/Countries.java:228
 msgid "Venezuela"
 msgstr "委内瑞拉"
 
-#: ../java/build/Countries.java:224
-#: ../java/build/Countries.java:225
+#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:230
 msgid "Virgin Islands"
 msgstr "维京群岛"
 
-#: ../java/build/Countries.java:226
+#: ../java/build/Countries.java:231
 msgid "Viet Nam"
 msgstr "越南"
 
-#: ../java/build/Countries.java:227
+#: ../java/build/Countries.java:232
 msgid "Vanuatu"
 msgstr "瓦努阿图"
 
-#: ../java/build/Countries.java:228
+#: ../java/build/Countries.java:233
 msgid "Wallis and Futuna"
 msgstr "瓦利斯群岛和富图纳群岛"
 
-#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:234
 msgid "Samoa"
 msgstr "东萨摩亚"
 
-#: ../java/build/Countries.java:230
+#: ../java/build/Countries.java:235
 msgid "Yemen"
 msgstr "也门"
 
-#: ../java/build/Countries.java:231
+#: ../java/build/Countries.java:236
 msgid "Mayotte"
 msgstr "马约特"
 
-#: ../java/build/Countries.java:232
+#: ../java/build/Countries.java:237
 msgid "South Africa"
 msgstr "南非"
 
-#: ../java/build/Countries.java:233
+#: ../java/build/Countries.java:238
 msgid "Zambia"
 msgstr "赞比亚"
 
-#: ../java/build/Countries.java:234
+#: ../java/build/Countries.java:239
 msgid "Zimbabwe"
 msgstr "津巴布韦"
 
 #: ../java/src/net/i2p/router/web/CSSHelper.java:57
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:34
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:36
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:35
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:37
 #: ../java/strings/Strings.java:29
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:119
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:233
 msgid "I2P Router Console"
 msgstr "I2P 路由控制台"
 
@@ -1437,245 +1499,255 @@ msgstr "设置保存成功"
 msgid "Error saving the configuration (applied but not saved) - please see the error logs"
 msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:334
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
 msgid "Save Client Configuration"
 msgstr "保存客户程序设置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405
+msgid "Save Interface Configuration"
+msgstr "保存接口配置"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
 msgid "Save WebApp Configuration"
 msgstr "保存 WebApp 设置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:356
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
 msgid "Save Plugin Configuration"
 msgstr "保存插件配置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:362
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
 msgid "Install Plugin"
 msgstr "安装插件"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:82
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87
 #, java-format
 msgid "Deleted plugin {0}"
 msgstr "删除插件 {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:84
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89
 #, java-format
 msgid "Error deleting plugin {0}"
 msgstr "删除插件 {0} 时发生错误"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:96
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101
 #, java-format
 msgid "Stopped plugin {0}"
 msgstr "插件 {0} 已停用"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:98
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103
 #, java-format
 msgid "Error stopping plugin {0}"
 msgstr "停用插件 {0} 时发生错误"
 
 #. label (IE)
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:255
 msgid "Start"
 msgstr "启动"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:138
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:143
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:33
 msgid "Unsupported"
 msgstr "未支持的"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:184
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189
 msgid "New client added"
 msgstr "新客户端添加完毕"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:188
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
 msgid "Client configuration saved successfully - restart required to take effect."
 msgstr "客户程序设置保存成功 - 程序重启后生效"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:202
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:213
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 msgid "Bad client index."
 msgstr "客户程序索引无效"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:387
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:379
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:384
 msgid "Client"
 msgstr "客户"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
 msgid "started"
 msgstr "已启动"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
 msgid "deleted"
 msgstr "已删除"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240
 msgid "WebApp configuration saved."
 msgstr "WebApp 设置已保存"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:251
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256
 msgid "Plugin configuration saved."
 msgstr "插件配置已保存"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
 msgid "WebApp"
 msgstr "Web程序"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:268
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
 msgid "Failed to start"
 msgstr "启动失败"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278
 msgid "Failed to find server."
 msgstr "服务器或服务程序查找失败。"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284
 msgid "No plugin URL specified."
 msgstr "未指定插件链接"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:289
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
 #, java-format
 msgid "No update URL specified for {0}"
 msgstr "{0} 未指定更新链接"
 
-#: ../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:307
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:325
 msgid "Plugin or update download already in progress."
 msgstr "插件/更新包的下载正在进行"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:311
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118
 #, java-format
 msgid "Downloading plugin from {0}"
 msgstr "正在从 {0} 下载插件"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:324
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329
 #, java-format
 msgid "Checking plugin {0} for updates"
 msgstr "正在检查插件 {0} 是否存在更新"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
 #, java-format
 msgid "Started plugin {0}"
 msgstr "插件 {0} 已运行"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:336
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341
 #, 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:192
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
+msgid "Interface configuration saved successfully - restart required to take effect."
+msgstr "接口配置保存成功 - I2P重启后生效"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
 msgid "Edit"
 msgstr "编辑"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
 msgid "Add Client"
 msgstr "添加客户端"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
 msgid "Class and arguments"
 msgstr "类与参数"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 msgid "Control"
 msgstr "控制项"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 msgid "Run at Startup?"
 msgstr "启动时运行?"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:131
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
 msgid "Description"
 msgstr "描述"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 msgid "Plugin"
 msgstr "插件"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:180
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "版本"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:97
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:163
 msgid "Signed by"
 msgstr "数字签名者:"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:114
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:180
 msgid "Date"
 msgstr "日期"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:120
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:186
 msgid "Author"
 msgstr "作者"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:136
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
 msgid "License"
 msgstr "许可证"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:141
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
 msgid "Website"
 msgstr "网站"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
 msgid "Update link"
 msgstr "更新链接"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
 msgid "Stop"
 msgstr "停止"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:312
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:262
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:78
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313
 msgid "Check for updates"
 msgstr "检查更新"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:263
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:230
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:237
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242
 msgid "Update"
 msgstr "æ›´æ–°"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
 #, java-format
 msgid "Are you sure you want to delete {0}?"
 msgstr "您确定要删除 {0} ?"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:204
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:270
 msgid "Delete"
 msgstr "删除"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
 msgid "Add key"
 msgstr "添加密钥"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
 msgid "Delete key"
 msgstr "删除密钥"
 
@@ -1713,40 +1785,56 @@ msgstr "在钥匙环未找到"
 msgid "Invalid destination"
 msgstr "目标无效"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:46
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
+msgid "Log overrides updated"
+msgstr "日志参数已更新"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
+msgid "Log configuration saved"
+msgstr "日志设置已保存"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
 msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
-msgstr ""
+msgstr "额外的日志参数可以在上方的文本框中加入,例如: net.i2p.router.tunnel=WARN"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:47
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
 msgid "Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN"
-msgstr ""
+msgstr "或加入logger.config文件中。例如 logger.record.net.i2p.router.tunnel=WARN"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
 msgid "Valid levels are DEBUG, INFO, WARN, ERROR, CRIT"
-msgstr ""
+msgstr "可用的日志等级包括 DEBUG, INFO, WARN, ERROR, CRIT"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "CRIT"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "DEBUG"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "ERROR"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "INFO"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "WARN"
 msgstr ""
 
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
+msgid "Remove"
+msgstr "删除"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
+msgid "Select a class to add"
+msgstr "选择要添加的类"
+
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:199
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
 msgid "Network"
 msgstr "网络"
 
@@ -1755,8 +1843,8 @@ msgid "Service"
 msgstr "服务"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:100
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "隧道"
@@ -1770,7 +1858,7 @@ msgid "Clients"
 msgstr "客户端"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
 msgid "Keyring"
 msgstr "钥匙环"
 
@@ -1779,15 +1867,15 @@ msgid "Logging"
 msgstr "日志"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:106
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:255
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "节点"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:382
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:142
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "统计"
 
@@ -1797,13 +1885,15 @@ msgstr "高级"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:343
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:29
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:344
 msgid "Save changes"
 msgstr "保存修改"
 
@@ -1889,25 +1979,25 @@ msgstr "正在更新共享带宽比例"
 msgid "Updated bandwidth limits"
 msgstr "带宽限制更新完毕"
 
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:39
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:47
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:50
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:57
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:60
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:41
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:49
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:59
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:62
 msgid "unknown"
 msgstr "未知"
 
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:169
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:172
 msgid "bits per second"
 msgstr "Bit/s"
 
-#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:170
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173
 #, java-format
 msgid "or {0} bytes per month maximum"
 msgstr "或最多 {0} Byte/月(假设始终 7 天 x 24小时开机)"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
 msgid "Ban peer until restart"
 msgstr "封杀节点直到重启"
 
@@ -1927,7 +2017,7 @@ msgid "Invalid peer"
 msgstr "无效节点"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
 msgid "Unban peer"
 msgstr "节点解封"
 
@@ -1940,8 +2030,8 @@ msgid "is not currently banned"
 msgstr "目前未封锁"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:322
-msgid "Adjust Profile Bonuses"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+msgid "Adjust peer bonuses"
 msgstr "调整节点评分"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
@@ -1952,10 +2042,28 @@ msgstr "速度值无效"
 msgid "Bad capacity value"
 msgstr "容量值无效"
 
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:17
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
+msgid "Save changes and reseed now"
+msgstr "保存修改+立刻开始网络引导"
+
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:21
+msgid "Reseeding is already in progress"
+msgstr "网络引导中"
+
+#. skip the nonce checking in ReseedHandler
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:24
+msgid "Starting reseed process"
+msgstr "正在开始引导过程"
+
+#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:66
+msgid "Configuration saved successfully."
+msgstr "设置保存成功"
+
 #. Normal browsers send value, IE sends button label
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
 msgid "Shutdown immediately"
 msgstr "立刻关闭"
 
@@ -2002,7 +2110,7 @@ msgid "Restart in {0}"
 msgstr "{0} 后重启"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:290
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
 msgid "Shutdown gracefully"
 msgstr "平滑关闭"
 
@@ -2015,7 +2123,7 @@ msgid "Shutdown immediately!  boom bye bye bad bwoy"
 msgstr "立即关闭!不推荐"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
 msgid "Cancel graceful shutdown"
 msgstr "取消平滑关闭"
 
@@ -2024,7 +2132,7 @@ msgid "Graceful shutdown cancelled"
 msgstr "平滑关闭已取消"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
 msgid "Graceful restart"
 msgstr "平滑重启"
 
@@ -2033,7 +2141,7 @@ msgid "Graceful restart requested"
 msgstr "平滑重启已请求"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Hard restart"
 msgstr "硬重启"
 
@@ -2058,105 +2166,77 @@ msgid "Rekeying after graceful shutdown"
 msgstr "平滑关闭后更换密钥"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
 msgid "Run I2P on startup"
 msgstr "系统启动时运行I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Don't run I2P on startup"
 msgstr "系统启动时不运行I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Dump threads"
 msgstr ""
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322
-msgid "Show systray icon"
-msgstr "显示托盘图标"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
-msgid "System tray icon enabled."
-msgstr "系统托盘图标已启用"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:98
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:110
-msgid "System tray icon feature not supported on this platform. Sorry!"
-msgstr "您的平台不支持系统托盘图标功能"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:101
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
-msgid "Warning: unable to contact the systray manager"
-msgstr "警告:与托盘管理器通讯失败"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:324
-msgid "Hide systray icon"
-msgstr "隐藏系统图标"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:108
-msgid "System tray icon disabled."
-msgstr "系统托盘已禁用"
-
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "View console on startup"
 msgstr "程序启动时显示控制台"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:117
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93
 msgid "Console is to be shown on startup"
 msgstr "启动后显示控制台"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:364
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
 msgid "Do not view console on startup"
 msgstr "启动后不打开控制台"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
 msgid "Console is not to be shown on startup"
 msgstr "启动后不显示控制台"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:129
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105
 msgid "Service installed"
 msgstr "服务已安装"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:131
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107
 msgid "Warning: unable to install the service"
 msgstr "警告:无法安装服务"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
 msgid "Service removed"
 msgstr "服务已卸载"
 
-#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:139
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
 msgid "Warning: unable to remove the service"
 msgstr "警告:无法卸载服务"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:118
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
 msgid "Stat filter and location updated successfully to"
 msgstr "统计数据过滤器及位置成功更新至"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
 msgid "Failed to update the stat filter and location"
 msgstr "统计数据过滤器及地址更新失败"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:121
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
 msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
 msgstr "曲线图列表已更新,更新后的内容可能需要最多 60s 的时间才能在这里及 <a href=\"graphs.jsp\">统计图表</a>页面中反映出来。"
 
 #. the count isn't really correct anyway, since we don't check for actual changes
 #. addFormNotice("Updated settings for " + updated + " pools.");
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
 msgid "Updated settings for all pools."
 msgstr "隧道池更新完毕"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
 msgid "Exploratory tunnel configuration saved successfully."
 msgstr "探索隧道设置保存成功。"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:144
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
 msgid "Error saving the configuration (applied but not saved) - please see the error logs."
 msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
@@ -2249,68 +2329,76 @@ msgstr "法语"
 msgid "German"
 msgstr "德语"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
-msgid "Chinese"
-msgstr "中文"
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "Spanish"
+msgstr "西班牙语"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Dutch"
 msgstr "荷兰语"
 
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Portuguese"
+msgstr "葡萄牙语"
+
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Russian"
 msgstr "俄语"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Chinese"
+msgstr "中文"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Swedish"
 msgstr "瑞士语"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:88
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:85
 msgid "Update available, attempting to download now"
 msgstr "有更新可用,正在尝试下载"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:90
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87
 msgid "Update available, click button on left to download"
 msgstr "有更新可用,点左侧按钮下载"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:96
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93
 msgid "No update available"
 msgstr "æ— æ›´æ–°"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:104
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101
 msgid "Updating news URL to"
 msgstr "正在更新新闻链接至"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109
 msgid "Updating proxy host to"
 msgstr "正在更新代理主机至"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117
 msgid "Updating proxy port to"
 msgstr "正在更新代理端口至"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:133
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130
 msgid "Updating refresh frequency to"
 msgstr "正在更新更新频率为"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:140
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137
 msgid "Updating update policy to"
 msgstr "正在更新更新策略为"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:149
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146
 msgid "Updating update URLs."
 msgstr "正在更新更新链接至"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:158
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155
 msgid "Updating trusted keys."
 msgstr "正在更新可信公钥为"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:166
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163
 msgid "Updating unsigned update URL to"
 msgstr "正在更新未签名软件链接至"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:167
 msgid "Never"
 msgstr "从不"
 
@@ -2330,264 +2418,264 @@ msgstr "仅下载并验证"
 msgid "Download, verify, and restart"
 msgstr "仅下载、验证并重启"
 
-#: ../java/src/net/i2p/router/web/FormHandler.java:163
+#: ../java/src/net/i2p/router/web/FormHandler.java:174
 msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
 msgstr "表单提交无效,可能的原因是您使用了“后退”或“刷新”按钮。请重新提交。"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:82
+#: ../java/src/net/i2p/router/web/GraphHelper.java:93
 msgid "Combined bandwidth graph"
 msgstr "复合带宽图"
 
 #. e.g. "statname for 60m"
-#: ../java/src/net/i2p/router/web/GraphHelper.java:96
+#: ../java/src/net/i2p/router/web/GraphHelper.java:107
 #, java-format
 msgid "{0} for {1}"
 msgstr "过去 {1} 统计 {0}"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Configure Graph Display"
 msgstr "图表显示设置"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Select Stats"
 msgstr "选择统计项"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:132
+#: ../java/src/net/i2p/router/web/GraphHelper.java:150
 msgid "Periods"
 msgstr "周期"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:133
+#: ../java/src/net/i2p/router/web/GraphHelper.java:151
 msgid "Plot averages"
 msgstr "事件均值"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
+#: ../java/src/net/i2p/router/web/GraphHelper.java:152
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
 msgid "or"
 msgstr "或"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
+#: ../java/src/net/i2p/router/web/GraphHelper.java:152
 msgid "plot events"
 msgstr "事件数量"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:153
 msgid "Image sizes"
 msgstr "图像尺寸"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:153
 msgid "width"
 msgstr "宽度"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
+#: ../java/src/net/i2p/router/web/GraphHelper.java:154
 msgid "height"
 msgstr "高度"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
-#: ../java/src/net/i2p/router/web/GraphHelper.java:137
+#: ../java/src/net/i2p/router/web/GraphHelper.java:154
+#: ../java/src/net/i2p/router/web/GraphHelper.java:155
 msgid "pixels"
 msgstr "像素"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:156
 msgid "Refresh delay"
 msgstr "刷新延迟"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
-msgid "hour"
-msgstr "小时"
-
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
-msgid "minute"
-msgstr "分钟"
-
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
-msgid "minutes"
-msgstr "分钟"
-
-#: ../java/src/net/i2p/router/web/GraphHelper.java:139
+#: ../java/src/net/i2p/router/web/GraphHelper.java:171
 msgid "Redraw"
 msgstr "重绘"
 
+#: ../java/src/net/i2p/router/web/GraphHelper.java:203
+msgid "Graph settings saved"
+msgstr "图表设置已保存"
+
 #: ../java/src/net/i2p/router/web/LogsHelper.java:13
 #: ../java/src/net/i2p/router/web/LogsHelper.java:37
 msgid "File location"
 msgstr "文件位置"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:77
+#: ../java/src/net/i2p/router/web/LogsHelper.java:34
+msgid "File not found"
+msgstr "文件未找到"
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:52
+msgid "No log messages"
+msgstr "日志中无消息"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
 msgid "Network Database RouterInfo Lookup"
 msgstr "网络数据库 RouterInfo 检索"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 #: ../java/strings/Strings.java:68
 msgid "Router"
 msgstr "路由器"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 msgid "not found in network database"
 msgstr "在网络数据库概况未找到"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:104
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "Network Database Contents"
 msgstr "网络数据库内容"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:105
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
 msgid "View RouterInfo"
 msgstr "浏览 RouterInfo"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:106
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
 msgid "LeaseSets"
 msgstr "赁集"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:128
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
 msgid "LeaseSet"
 msgstr "赁集"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:130
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
 msgid "Local"
 msgstr "本地"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:132
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
 msgid "Unpublished"
 msgstr "未发布"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:140
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
 msgid "Destination"
 msgstr "目标"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:150
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
 #, java-format
 msgid "Expires in {0}"
 msgstr "{0} 后过期"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:152
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
 #, java-format
 msgid "Expired {0} ago"
 msgstr "{0}前过期"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Gateway"
 msgstr "网关"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 msgid "Lease"
 msgstr "租赁"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
 msgid "Tunnel"
 msgstr "隧道"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "View LeaseSets"
 msgstr "查看赁集"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:214
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
 msgid "Not initialized"
 msgstr "未初始化"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:223
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
 msgid "Routers"
 msgstr "路由器"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:225
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
 msgid "Show all routers"
 msgstr "显示所有路由器"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:227
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
 msgid "Show all routers with full stats"
 msgstr "显示所有路由及统计"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:262
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
 msgid "Network Database Router Statistics"
 msgstr "NetDb路由器统计"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
 msgid "Count"
 msgstr "计数"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
 msgid "Transports"
 msgstr "传输"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
 msgid "Country"
 msgstr "国家"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:339
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
 msgid "Our info"
 msgstr "我方信息"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:341
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Peer info for"
 msgstr "节点信息"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:345
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
 msgid "Full entry"
 msgstr "完整项"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:110
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:600
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 msgid "Hidden"
 msgstr "隐身"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
 msgid "Updated"
 msgstr "已更新"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:352
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
 #, java-format
 msgid "{0} ago"
 msgstr "{0}前"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
 msgid "Published"
 msgstr "发布"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:360
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Address(es)"
 msgstr "地址"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:373
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
 msgid "cost"
 msgstr "开销"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "Hidden or starting up"
 msgstr "隐身或正在启动"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "SSU"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "SSU with introducers"
 msgstr "使用中介的SSU连接"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP and SSU"
 msgstr "NTCP 与 SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP and SSU with introducers"
 msgstr "使用中介的NTCP与SSU连接"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:82
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "新闻更新于{0}前"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:88
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "最近一次查收新闻在{0}前"
@@ -2617,137 +2705,137 @@ msgstr "插件 {0} 有更新"
 msgid "Update check failed for plugin {0}"
 msgstr "插件 {0} 更新检测失败"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:138
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
 msgid "Downloading plugin"
 msgstr "正在下载插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:145
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:179
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
 #, java-format
 msgid "{0}B transferred"
 msgstr "已传输 {0}B"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:151
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153
 msgid "Plugin downloaded"
 msgstr "插件下载完成"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:156
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:343
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:345
 #, java-format
 msgid "Cannot create plugin directory {0}"
 msgstr "无法创建插件目录 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:165
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
 #, java-format
 msgid "from {0}"
 msgstr "自 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:175
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177
 #, java-format
 msgid "Plugin from {0} is corrupt"
 msgstr "由 {0} 获取的插件已损坏。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:186
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
 msgstr "由 {0} 获取的插件缺少必要的配置文件"
 
 #. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:199
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:201
 #, java-format
 msgid "Plugin from {0} contains an invalid key"
 msgstr "由 {0} 获取的插件签名密钥无效"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:218
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:227
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:236
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:229
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:238
 #, java-format
 msgid "Plugin signature verification of {0} failed"
 msgstr "插件 {0} 的签名验证失败。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:251
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:253
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
 msgstr "从 {0} 获取的插件缺少有效的名称或版本"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:256
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:258
 #, java-format
 msgid "Plugin {0} has mismatched versions"
 msgstr "插件 {0} 的内部版本不符。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:264
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:266
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
 msgstr "插件需要I2P版本 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:272
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:274
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
 msgstr "插件需要 Java 版本 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:280
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:282
 msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
 msgstr "所下插件包仅用于全新安装,但您已经安装过该插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:292
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:294
 msgid "Installed plugin does not contain the required configuration file"
 msgstr "已安装插件缺少所需的配置文件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:300
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:302
 msgid "Signature of downloaded plugin does not match installed plugin"
 msgstr "所下插件的签名(人)与所安装插件的签名不符"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:309
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
 msgstr "所下插件版本 {0} 没有已安装插件的版本新"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:314
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:316
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
 msgstr "插件更新包需要安装插件的版本为 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:321
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:323
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
 msgstr "插件更新包需要安装插件的版本不高于 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:338
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:340
 msgid "Plugin is for upgrades only, but the plugin is not installed"
 msgstr "插件更新包包找不到对应的原版插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:353
 #, java-format
 msgid "Failed to install plugin in {0}"
 msgstr "无法将插件安装至目录{0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:358
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
 #, java-format
 msgid "Plugin {0} installed, router restart required"
 msgstr "插件 {0} 已安装,重启I2P后生效"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:362
 #, java-format
 msgid "Plugin {0} installed"
 msgstr "插件 {0} 已安装"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:369
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:380
 #, java-format
 msgid "Plugin {0} installed and started"
 msgstr "插件 {0} 已安装并启动"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:371
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
 msgstr "插件 {0} 已安装但启动失败,请检查日志。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:373
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:385
 #, java-format
 msgid "Plugin {0} installed but failed to start"
 msgstr "插件 {0} 已安装但启动失败"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:395
 #, java-format
 msgid "Failed to download plugin from {0}"
 msgstr "重 {0} 下载插件失败"
@@ -2777,13 +2865,13 @@ msgstr "分组(容量)"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Speed"
 msgstr "速度"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
 msgid "Capacity"
 msgstr "容量"
 
@@ -2814,7 +2902,7 @@ msgid "Failing"
 msgstr "失败"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
 msgid "Integrated"
 msgstr "已整合节点"
 
@@ -2961,10 +3049,6 @@ msgstr "是否节点被封禁,不可达,或在隧道测试中失败?"
 msgid "status"
 msgstr "状态"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
-msgid "n/a"
-msgstr ""
-
 #: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
 #, java-format
 msgid "Temporary ban expiring in {0}"
@@ -2980,427 +3064,480 @@ msgid "unban now"
 msgstr "立即解封"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:174
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:223
 msgid "Bandwidth usage"
 msgstr "带宽占用"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:181
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:230
 msgid "Outbound bytes/sec"
 msgstr "出站(byte/s)"
 
 #. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:183
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:232
 msgid "Inbound bytes/sec"
 msgstr "入站(byte/s)"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
 msgid "bytes/sec"
-msgstr ""
+msgstr "byte/s"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
 msgid "out average"
 msgstr "出站平均值"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:110
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:115
 msgid "max"
 msgstr "最大"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
 msgid "in average"
 msgstr "入站平均值"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:56
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:57
 msgid "GO"
-msgstr ""
+msgstr "执行"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:59
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:60
 msgid "Statistics gathered during this router's uptime"
 msgstr "路由运行时收集的统计数据"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:62
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:63
 msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
 msgstr "所采集数据量化周期为1分钟,仅供参考。"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:108
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:64
+msgid "These statistics are primarily used for development and debugging."
+msgstr "统计主要用于I2P的开发和调试。"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+msgid "No lifetime events"
+msgstr "全程无事件"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
 msgid "frequency"
 msgstr "更新频率"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:142
-msgid "No lifetime events"
-msgstr "自运行起无事件"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+msgid "Rolling average events per period"
+msgstr "每周期事件滚动均值"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+msgid "Highest events per period"
+msgstr "每周期事件峰值"
+
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. buf.append("(current is ");
+#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
+#. buf.append(" of max)");
+#. }
+#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
+msgid "Lifetime average events per period"
+msgstr "全程每周期事件均值"
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+msgid "Lifetime average frequency"
+msgstr "全程平均频率"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:154
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
 msgid "rate"
 msgstr "速度"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
-msgid "avg value"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+msgid "Average"
 msgstr "均值"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:185
-msgid "events"
-msgstr "事件"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+msgid "Highest average"
+msgstr "最高均值"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:191
+#. breaking the sentence like before makes translation in my language impossible.
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:201
+#, java-format
+msgid "There were {0} event(s) in this period"
+msgstr "本周期共有{0}个事件,"
+
+#. buf.append(' ');
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:203
+#, java-format
+msgid " which ended {0} ago."
+msgstr "于{0}前结束。"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:205
 msgid "No events"
 msgstr "无事件"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:197
-msgid "lifetime average"
-msgstr "总平均值"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:211
+msgid "Average event count"
+msgstr "平均事件计数"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:199
-msgid "peak average"
-msgstr "峰值平均值"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:213
+msgid "Events in peak period"
+msgstr "事件峰值"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:221
+msgid "Graph Data"
+msgstr "图表数据"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:223
+msgid "Graph Event Count"
+msgstr "图表事件计数"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:226
+msgid "Export Data as XML"
+msgstr "导出数据为XML"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:217
-msgid "lifetime average value"
-msgstr "总平均值"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:231
+msgid "Lifetime average value"
+msgstr "全程均值"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:40
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
 msgid "I2P Router Help &amp; FAQ"
 msgstr "I2P 使用帮助与常见问答"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:42
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
 msgid "Help &amp; FAQ"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:54
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
 msgid "Configure startup of clients and webapps (services); manually start dormant services"
 msgstr "设置客户程序及Web程序(服务)的启动;手动启动重要服务"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:56
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
 msgstr "I2P 服务"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:62
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
 msgstr "管理您的 I2P HOST表(I2P域名解析表)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:64
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
 msgstr "地址簿"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:68
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
 msgid "Built-in anonymous BitTorrent Client"
 msgstr "内建的匿名 BitTorrent 客户端"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:70
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
 msgid "Torrents"
 msgstr "匿名BT"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:74
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
 msgid "Anonymous webmail client"
 msgstr "匿名Web邮件客户端"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:76
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
 msgid "Webmail"
 msgstr "匿名邮箱"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:80
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
 msgid "Anonymous resident webserver"
 msgstr "内置的匿名Web服务器"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:82
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
 msgid "Webserver"
 msgstr "匿名主页服务器"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:90
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
 msgid "Configure I2P Router"
 msgstr "设置 I2P 路由器"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:92
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
 msgid "I2P Internals"
 msgstr "I2P内部设置"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:98
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:374
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
 msgid "View existing tunnels and tunnel build status"
 msgstr "查看现存隧道及隧道的建立状态"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:104
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
 msgid "Show all current peer connections"
 msgstr "显示当前所有的节点连接"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:110
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
 msgid "Show recent peer performance profiles"
 msgstr "显示当前节点的性能记录"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:112
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
 msgid "Profiles"
 msgstr "节点信息"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:116
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
 msgid "Show list of all known I2P routers"
 msgstr "包含所有已知I2P路由器的列表"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:118
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
 msgid "NetDB"
 msgstr "NetDB"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:122
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
 msgid "Health Report"
 msgstr "路由器健康状况报告"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:124
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
 msgid "Logs"
 msgstr "日志"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:134
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
 msgid "Graph router performance"
 msgstr "路由性能统计图"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:136
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
 msgid "Graphs"
 msgstr "图表"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:140
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
 msgid "Textual router performance statistics"
 msgstr "路由性能文字统计"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:146
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:365
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:370
 msgid "Local Destinations"
 msgstr "本地服务"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:148
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
 #: ../java/strings/Strings.java:62
 msgid "I2PTunnel"
 msgstr "I2P隧道"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:159
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
 msgid "I2P Router Help"
 msgstr "I2P路由帮助"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:161
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
 msgid "General"
 msgstr "功能概况"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
 msgid "Local Identity"
 msgstr "本地身份"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:170
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
 msgid "Your unique I2P router identity is"
 msgstr "您I2P路由的唯一身份为"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:174
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
 msgid "never reveal it to anyone"
 msgstr "切勿将其告诉任何人"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:176
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
 msgid "show"
 msgstr "显示"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:187
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
 msgid "How long we've been running for this session"
 msgstr "本次路由运行时间"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:190
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
 msgid "Uptime"
 msgstr "运行时间"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:197
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
 msgid "Help with configuring your firewall and router for optimal I2P performance"
 msgstr "如何正确配置防火墙和(物理)路由器优化I2P性能"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:226
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
 msgid "Download"
 msgstr "下载"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
 msgid "Download Unsigned"
 msgstr "下载未签名更新"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
 msgid "Active"
 msgstr "活动节点"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:269
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
 msgid "Fast"
 msgstr "快速节点"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
 msgid "High capacity"
 msgstr "高容量节点"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
 msgid "Known"
 msgstr "已知节点"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:302
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
 msgid "Help with firewall configuration"
 msgstr "如何配置防火墙"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:304
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
 msgid "Check NAT/firewall"
 msgstr "检查NAT/防火墙"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:324
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
 msgid "Reseed"
 msgstr "补种(搜索节点启动网络)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:341
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
 msgid "Configure router bandwidth allocation"
 msgstr "设置路由的带宽分配"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:343
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
 msgid "Bandwidth in/out"
 msgstr "带宽(进/出站)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:359
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
 msgid "Total"
 msgstr "总计"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:366
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
 msgid "Used"
 msgstr "已用"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:381
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
 msgid "Exploratory"
 msgstr "探测"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:393
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
 msgid "Participating"
 msgstr "共享"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:399
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
 msgid "Share ratio"
 msgstr "共享/占用"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:405
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
 msgid "What's in the router's job queue?"
 msgstr "查看路由的作业队列"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:407
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Congestion"
 msgstr "拥堵"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
 msgid "Job lag"
 msgstr "作业延迟"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:418
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
 msgid "Message delay"
 msgstr "消息延迟"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:424
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
 msgid "Tunnel lag"
 msgstr "隧道延迟"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:430
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
 msgid "Backlog"
 msgstr "积压"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:101
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:106
 msgid "ERR-Client Manager I2CP Error - check logs"
 msgstr "错误-客户程序管理器I2CP错误 - 请看日志"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:108
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:113
 #, java-format
 msgid "ERR-Clock Skew of {0}"
 msgstr "错误-系统时滞 {0}"
 
 # 暂不翻译,确定/良好 可能影响按钮的翻译
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:117
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:576
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:122
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "OK"
 msgstr "正常"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:118
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:123
 msgid "ERR-Private TCP Address"
 msgstr "错误-TCP私有地址"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:120
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:125
 msgid "ERR-SymmetricNAT"
 msgstr "错误-SymmeticNAT"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:123
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:128
 msgid "WARN-Firewalled with Inbound TCP Enabled"
 msgstr "警告-入站TCP开启但因防火墙受限"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:125
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:130
 msgid "WARN-Firewalled and Floodfill"
 msgstr "警告-种子节点因防火墙受限"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:127
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:132
 msgid "WARN-Firewalled and Fast"
 msgstr "警告-快速节点因防火墙受限"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:128
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:580
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:133
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
 msgid "Firewalled"
 msgstr "防火墙限制"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:130
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:135
 msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "错误-UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口并重启程序"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:136
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:141
 msgid "ERR-No Active Peers, Check Network Connection and Firewall"
 msgstr "错误-无活动节点,请检查网络连接及防火墙"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:139
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:144
 msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
 msgstr "错误-UDP已禁用且TCP入站主机与端口未设置"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:141
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:146
 msgid "WARN-Firewalled with UDP Disabled"
 msgstr "警告-因防火墙受限且UDP被禁用"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:143
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:596
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:148
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Testing"
 msgstr "测试中"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:365
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:370
 msgid "Add/remove/edit &amp; control your client and server tunnels"
 msgstr "添加、删除、编辑或控制客户程序隧道和服务隧道"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:377
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:382
 msgid "Server"
 msgstr "服务"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:381
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:386
 msgid "Show tunnels"
 msgstr "显示隧道"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:392
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:397
 msgid "Leases expired"
 msgstr "Lease已过期"
 
 #. red or yellow light
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:392
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:393
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:397
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:398
 msgid "Rebuilding"
 msgstr "正在重建"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:393
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:398
 msgid "ago"
 msgstr "前"
 
 #. green light
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:396
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:401
 msgid "Ready"
 msgstr "就绪"
 
 #. yellow light
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:400
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building"
 msgstr "创建中"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:400
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building tunnels"
 msgstr "正在隧道创建"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
 msgid "none"
 msgstr "æ— "
 
@@ -3408,37 +3545,37 @@ msgstr "æ— "
 #. nicely under 'local destinations' in the summary bar
 #. note that if the wording changes in i2ptunnel.config, we have to
 #. keep the old string here as well for existing installs
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:416
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:421
 #: ../java/strings/Strings.java:36
 msgid "shared clients"
 msgstr "共享客户端"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:84
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
 #, java-format
 msgid "events in {0}"
 msgstr "事件/{0}"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:86
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
 #, java-format
 msgid "averaged for {0}"
 msgstr "{0} 平均值"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:96
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
 msgid "Events per period"
 msgstr "事件/周期"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:109
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
 msgid "avg"
 msgstr "平均"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:111
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
 msgid "now"
 msgstr "当前"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:280
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
 msgid "configure"
 msgstr "设置"
 
@@ -3567,17 +3704,17 @@ msgid "Totals"
 msgstr "总计"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:132
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:145
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:172
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:142
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:237
 msgid "Updating"
 msgstr "正在更新"
 
+#. Process the .sud/.su2 file
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:88
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:116
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:183
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:208
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:261
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:286
 msgid "Update downloaded"
 msgstr "升更新已下载"
 
@@ -3587,22 +3724,22 @@ msgid "Unsigned update file from {0} is corrupt"
 msgstr "来自 {0} 的未签名更新包已损坏"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
 msgid "Restarting"
 msgstr "正在重启"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:210
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
 msgid "Click Restart to install"
 msgstr "点击【重启】完成安装"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:212
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
 msgid "Click Shutdown and restart to install"
 msgstr "点击【关闭】并重新启动I2P即可完成安装。"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:292
 #, java-format
 msgid "Version {0}"
 msgstr "版本 {0}"
@@ -3612,13 +3749,24 @@ msgstr "版本 {0}"
 msgid "Failed copy to {0}"
 msgstr "无法复制到{0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
+#, java-format
+msgid "Updating from {0}"
+msgstr "正在从 {0} 获取更新"
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#, java-format
+msgid "No new version found at {0}"
+msgstr " {0} 上非有发现新版"
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
 msgid "Update verified"
 msgstr "更新已验证"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:228
-msgid "Transfer failed"
-msgstr "数据传输失败"
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#, java-format
+msgid "Transfer failed from {0}"
+msgstr "来在{0}的数据传输失败"
 
 #. wars for ConfigClientsHelper
 #: ../java/strings/Strings.java:12
@@ -3872,561 +4020,567 @@ msgid "config networking"
 msgstr "连网设置"
 
 #. We have intl defined when this is included, but not when compiled standalone.
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:231
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:228
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:223
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:215
 msgid "Refresh (s)"
 msgstr "刷新(秒)"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:232
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:227
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219
 msgid "Enable"
 msgstr "启用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
 msgid "I2P Network Configuration"
 msgstr "I2P 连网设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
 msgid "Bandwidth limiter"
 msgstr "带宽限制"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
 msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
 msgstr "与联网环境相符的速度能使I2P以最佳的状态工作。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
 msgid "KBps In"
 msgstr "KBps 入站"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
 msgid "KBps Out"
 msgstr "KBps 出站"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
 msgid "Share"
 msgstr "共享"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:340
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
 msgid "NOTE"
 msgstr "注意"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
 msgstr "您设置I2P仅共享 {0} KBps"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
 msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P 需要至少 12KBps 才能进行共享。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
 msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
 msgstr "请设置更多的带宽以便启用共享功能(加入到其他节点的隧道创建中)。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
 msgid "It improves your anonymity by creating cover traffic, and helps the network."
 msgstr "通过制造混淆流量共享能增强您的匿名性,帮助网络成长。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
 msgstr "您设置I2P共享 {0} KBps"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:353
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
 msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
 msgstr "共享的带宽越多,您的匿名性越强同时能帮助网络成长。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:357
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:513
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:303
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:326
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:320
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:373
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:321
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Cancel"
 msgstr "取消"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:374
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
 msgid "IP and Transport Configuration"
 msgstr "IP 与传输设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:306
 msgid "The default settings will work for most people."
 msgstr "默认设置适于大多数人。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:378
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
 msgid "There is help below."
 msgstr "页面下方有帮助信息"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:380
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
 msgid "UPnP Configuration"
 msgstr "UPnP 设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:384
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
 msgid "Enable UPnP to open firewall ports"
 msgstr "启用UPnP以打开防火墙端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:386
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
 msgid "UPnP status"
 msgstr "UPnP 统计"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:388
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
 msgid "IP Configuration"
 msgstr "IP 设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:390
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:460
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "Externally reachable hostname or IP address"
 msgstr "公网可访问的本机域名或IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:394
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
 msgid "Use all auto-detect methods"
 msgstr "使用全部自动探测方法"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:398
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "Disable UPnP IP address detection"
 msgstr "禁用UPnP IP 地址探测"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:402
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Ignore local interface IP address"
 msgstr "忽略本地接口的 IP 地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:406
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "Use SSU IP address detection only"
 msgstr "仅使用SSU IP 地址探测"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:410
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:478
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Specify hostname or IP"
 msgstr "指定主机名或IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Select Interface"
 msgstr "选择网络接口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:430
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
 msgid "Hidden mode - do not publish IP"
 msgstr "隐身模式 - 不发布IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:432
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
 msgid "(prevents participating traffic)"
 msgstr "(阻止共享流量)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:434
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Action when IP changes"
 msgstr "IP改变后应"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:438
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
 msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
 msgstr "笔记本模式 - IP变化后改变路由身份及UDP端口(拨号用户慎用)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:440
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
 msgid "Experimental"
 msgstr "试验性"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:442
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
 msgid "UDP Configuration:"
 msgstr "UDP 设置:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:444
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
 msgid "UDP port:"
 msgstr "UDP端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:458
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "TCP Configuration"
 msgstr "TCP 连接设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:464
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
 msgid "Use auto-detected IP address"
 msgstr "使用自动检测得到的 IP 地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:466
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:498
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:467
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:499
 msgid "currently"
 msgstr "目前"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:470
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
 msgid "if we are not firewalled"
 msgstr "如果没有受到防火墙阻挡"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:474
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "总是使用自动探测到的IP地址(没有防火墙限制)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:484
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
 msgid "Disable inbound (Firewalled)"
 msgstr "禁止入站连接(受防火墙限制)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:488
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "Completely disable"
 msgstr "完全禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:490
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
 msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
 msgstr "仅在受到防火墙的流量限制或入站连接限制时使用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:492
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Externally reachable TCP port"
 msgstr "公网可访问的TCP端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Use the same port configured for UDP"
 msgstr "使用与UDP相同的端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
 msgid "Specify Port"
 msgstr "指定端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:338
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
 msgid "Note"
 msgstr "注意"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
 msgid "Changing these settings will restart your router."
 msgstr "修改这些设置将必须重启路由器。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
 msgid "Configuration Help"
 msgstr "设置帮助"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:519
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:568
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP."
 msgstr "I2P可以与大多数防火墙共存,如果I2P端口(第一次安装时随机选择)进行了UDP/TCP映射,您的速度和网络整合度会逐渐提升。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
 msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
 msgstr "如果可能,请在防火墙中添加端口并允许入站UDP/TCP数据包通过。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
 msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
 msgstr "如果不能,I2P支持UPnP(Universal Plug and Play)或借助“SSU中介”进行UDP端口穿透,通过它们也可以中继数据。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:525
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
 msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
 msgstr "上述大部分设置仅为特殊情况准备,例如UPnP不能正常工作,或外部防火墙封锁网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
 msgstr "在某些防火墙下例如Symmetric,I2P可能无法有效利用NAT工作。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
 msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
 msgstr "UPnP与公网网关设备(IGD)通讯可以检测外部IP和映射端口。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:538
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
 msgid "UPnP support is beta, and may not work for any number of reasons"
 msgstr "UPnP支持仍在测试阶段,可能由于一些原因无法正常工作。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
 msgid "No UPnP-compatible device present"
 msgstr "没有发现UPnP兼容设备"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
 msgid "UPnP disabled on the device"
 msgstr "设备上的UPnP支持已禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
 msgid "Software firewall interference with UPnP"
 msgstr "软件防火墙阻止UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
 msgid "Bugs in the device's UPnP implementation"
 msgstr "设备的UPnP支持有Bug"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:548
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "公网连接中存在多个防火墙/路由器"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:550
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
 msgid "UPnP device change, reset, or address change"
 msgstr "UPnP设备改变、重置或地址迁移"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:552
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
 msgid "Review the UPnP status here."
 msgstr "在这里检查UPnP状态。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:554
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
 msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
 msgstr "UPnP 的关闭或开启均需要程序重启后生效。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:556
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "Hostnames entered above will be published in the network database."
 msgstr "上面输入的主机名称将在网络数据库(NetDB)中发布。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:558
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "They are <b>not private</b>."
 msgstr "他们并<b>非私有地址</b>。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:560
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
 msgstr "此外,<b>请勿输入如127.0.0.1或192.168.1.1等私有地址</b>"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:562
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
 msgstr "如果您设置了错误的IP地址或主机名称,或NAT/防火墙配置不当,您的网络性能将受到明显影响。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:564
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "如果对设置有疑问,请保留默认设置。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:566
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Reachability Help"
 msgstr "连通性帮助"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
 msgid "If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers."
 msgstr "如果您认为已经打开了防火墙,但I2P仍然报告您受到防火墙阻隔,请想想您是否可能有多层防火墙,例如软件防护墙和外部的硬件路由器。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:574
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
 msgstr "如果存在错误,<a href=\"logs.jsp\">日志</a>可以帮助您诊断问题。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:578
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "您的UDP端口似乎一切正常。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:582
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "Your UDP port appears to be firewalled."
 msgstr "您的UDP端口似乎因防火墙而连接受限。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:584
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
 msgstr "由于防火墙检测方法并非100%可靠,有时也可能错误地显示此此提示。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:586
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
 msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
 msgstr "然而,如果总是出现此提示,您应检查外部或内部防火墙是否打开了I2P端口。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:588
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
 msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
 msgstr "即使受到防火墙阻拦,I2P也能够正常工作,无需担心。受到防火墙阻隔时,路由器将通过“中介(Introducers)”中继入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
 msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
 msgstr "然而,如果您能打开防火墙端口,您才能得到的共享流量,更好的帮助I2P网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:592
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
 msgid "If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control."
 msgstr "如果您确信已经打开了防火墙,请想想是不是同时存在硬件和软件防火墙,或存在您无法控制的额外的机构性的防火墙。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:594
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P."
 msgstr "当然,某些路由器可能无法正确映射同时使用TCP和UDP协议的端口,或存在其他限制或缺陷,障碍了数据进入I2P网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:598
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "The router is currently testing whether your UDP port is firewalled."
 msgstr "路由器正在测试您的UDP端口是否被防火墙阻挡。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:602
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
 msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
 msgstr "路由器被设置为禁止发布IP地址,因此并不需要入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:604
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
 msgid "WARN - Firewalled and Fast"
 msgstr "警告 - 快速节点,因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:606
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
 msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
 msgstr "您设置I2P共享超过128KBps的带宽,但您的连接因防火墙受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:608
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
 msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
 msgstr "尽管在此种配置情况下I2P可以正常工作,但如果您的确能够分享超过128kps的带宽,打开防火墙端口它能工作的更好帮助网络中其他的人。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:610
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
 msgid "WARN - Firewalled and Floodfill"
 msgstr "警告 - 种子节点,因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:612
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
 msgid "You have configured I2P to be a floodfill router, but you are firewalled."
 msgstr "您已将I2P设置为种子路由,但您的连接已因防火墙受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:614
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "For best participation as a floodfill router, you should open your firewall."
 msgstr "为了种子路由能够更好的参与到I2P网络中,请您的防火墙中打开端口。"
 
 # 暂不翻译方便反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:616
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "警告 - 入站TCP开启,但因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:618
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well."
 msgstr "您设置了使用入站TCP连接,同时您的UDP端口因防火墙受阻,由此看来您的TCP端口也被防火墙阻挡。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:620
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
 msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
 msgstr "如果您在TCP端口因防火墙受阻的情况下启用入站TCP连接,其他路由器节点将无法与您建立连接,造成网络受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:622
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 msgid "Please open your firewall or disable inbound TCP above."
 msgstr "请打开您的防火墙端口或禁用上面的入站TCP连接。"
 
 # 暂不翻译
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:624
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "警告 - 因防火墙受限,且UDP被禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:626
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
 msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "您设置了使用TCP连接,然而禁用了UDP连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:628
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
 msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
 msgstr "您的TCP连接似乎因防火墙受阻,导致您的路由器无法接收入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:630
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
 msgid "Please open your firewall or enable UDP."
 msgstr "请打开防火墙端口或启用UDP。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:632
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
 msgid "ERR - Clock Skew"
 msgstr "错误 - 系统时滞"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:634
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
 msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
 msgstr "如果您的系统时钟太快或太慢,将影响计算机接入网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:636
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
 msgid "Correct your clock setting if this error persists."
 msgstr "如果错误持续,请校对您的系统时间。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:638
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
 msgid "ERR - Private TCP Address"
 msgstr "错误 - 私有TCP地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:640
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
 msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
 msgstr "您不能发布一个公网无法访问的 IP 地址,例如127.0.0.1或192.168.1.1一类的内网地址。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:642
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "Correct the address or disable inbound TCP above."
 msgstr "正确设置IP地址或禁用上面的入站TCP连接。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:644
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
 msgid "ERR - SymmetricNAT"
 msgstr "错误 - SymmetricNAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:646
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr "I2P检测到您受到Symmetic NAT的阻挡。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:648
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
 msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
 msgstr "I2P无法与此类防火墙很好的并存。您可能无法接收入站连接,这会障碍您连入I2P网络。"
 
 # 暂不翻译,方便问题反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:650
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
 msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "错误 - UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口 并重启程序"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:652
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
 msgid "I2P was unable to bind to port 8887 or other configured port."
 msgstr "I2P无法绑定到端口8887或其他指定的端口上。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:654
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
 msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
 msgstr "检查是否有其他程序正在使用了I2P的端口,如果是,关闭此程序或设置I2P使用不同的端口。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:656
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
 msgid "This may be a transient error, if the other program is no longer using the port."
 msgstr "如果其他程序不再使用此端口,这可能是临时性的错误。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:658
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
 msgid "However, a restart is always required after this error."
 msgstr "然而,发生此错误后一般需要重启程序才能解决。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:660
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
 msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
 msgstr "错误 - UDP已禁用,且TCP入站主机与端口未设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:662
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
 msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
 msgstr "您没有设置入站TCP的主机名称和端口,同时又关闭了UDP。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:664
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "Therefore your router cannot accept inbound connections."
 msgstr "因此您的路由器无法接收入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:666
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
 msgid "Please configure a TCP host and port above or enable UDP."
 msgstr "请在前面设置TCP主机和端口或启用UDP"
 
 # 错误提示暂不翻译,以便错误反馈。
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:668
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "错误 - 客户程序管理器 I2CP 错误 - 请看日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:670
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
 msgstr "这通常为7654端口冲突所致,请查看日志确认原因。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:672
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
 msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
 msgstr "您是否已经运行了另一个I2P实例?请关掉冲突的程序并重启I2P。"
 
@@ -4434,15 +4588,15 @@ msgstr "您是否已经运行了另一个I2P实例?请关掉冲突的程序并
 msgid "config advanced"
 msgstr "高级设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
 msgid "I2P Advanced Configuration"
 msgstr "I2P 高级设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
 msgid "Advanced I2P Configuration"
 msgstr "I2P 高级设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
 msgid "Some changes may require a restart to take effect."
 msgstr "某些设置需要程序重启后生效。"
 
@@ -4450,52 +4604,105 @@ msgstr "某些设置需要程序重启后生效。"
 msgid "config clients"
 msgstr "客户程序设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
 msgid "I2P Client Configuration"
 msgstr "I2P 客户程序设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
 msgid "Client Configuration"
 msgstr "客户程序设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
 msgid "The Java clients listed below are started by the router and run in the same JVM."
 msgstr "下面列出的Java客户端随路由器启动并运行于同一JVM中。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
 msgid "To change other client options, edit the file"
 msgstr "修改其他客户端设置请编辑文件"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:415
 msgid "All changes require restart to take effect."
 msgstr "所有更改均需要程序重启才能生效。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
+msgid "Advanced Client Interface Configuration"
+msgstr "客户端接口设置(高级)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+msgid "External I2CP (I2P Client Protocol) Interface Configuration"
+msgstr "外部I2CP接口 (I2P客户协议) 设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+msgid "Enabled without SSL"
+msgstr "启用无需 SSL"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+msgid "Enabled with SSL required"
+msgstr "启用强制 SSL"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+msgid "Disabled - Clients outside this Java process may not connect"
+msgstr "禁用 - 如果客户端与I2P不运行与同一Java虚拟机中则禁止其连接。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+msgid "I2CP Port"
+msgstr "I2CP 端口"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
+msgid "I2CP Interface"
+msgstr "I2CP接口"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
+msgid "Authorization"
+msgstr "认证"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+msgid "Require username and password"
+msgstr "强制用户名密码登陆"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+msgid "Username"
+msgstr "用户名"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+msgid "Password"
+msgstr "密码"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+msgid "Any changes made here must also be configured in the external client."
+msgstr "对于此处的做出的任何更改,外部客户端程序中也必须做出相应设置。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+msgid "Many clients do not support SSL or authorization."
+msgstr "很多客户端程序还不支持SSL或认证。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
 msgid "WebApp Configuration"
 msgstr "WebApp 设置"
 
-#: ../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:409
 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:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:411
 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:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Plugin Configuration"
 msgstr "插件设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
 msgid "The plugins listed below are started by the webConsole client."
 msgstr "下面列出的插件将由 webConsole 客户程序负责启动。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
 msgid "Plugin Installation"
 msgstr "插件安装"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
 msgid "To install a plugin, enter the download URL:"
 msgstr "安装插件前,请输入插件的下载链接:"
 
@@ -4503,39 +4710,39 @@ msgstr "安装插件前,请输入插件的下载链接:"
 msgid "config keyring"
 msgstr "钥匙环设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
 msgid "I2P Keyring Configuration"
 msgstr "I2P 钥匙环设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
 msgid "The router keyring is used to decrypt encrypted leaseSets."
 msgstr "路由的钥匙环被用来解密和加密赁集."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
 msgid "The keyring may contain keys for local or remote encrypted destinations."
 msgstr "钥匙环可以包含本地和远程的加密目标(Destination)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
 msgid "Manual Keyring Addition"
 msgstr "手动添加钥匙环"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
 msgid "Enter keys for encrypted remote destinations here."
 msgstr "在此处添加远程加密目标的密钥。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
 msgid "Keys for local destinations must be entered on the"
 msgstr "输入本地目标的密钥请到"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "I2PTunnel page"
 msgstr "I2P 隧道页面"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "Dest. name, hash, or full key"
 msgstr "目标(Dest.)名称, HASH, 或完整公钥"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
 msgid "Encryption Key"
 msgstr "加密密钥"
 
@@ -4543,92 +4750,96 @@ msgstr "加密密钥"
 msgid "config logging"
 msgstr "日志设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
 msgid "I2P Logging Configuration"
 msgstr "I2P 记录设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
 msgid "Configure I2P Logging Options"
 msgstr "设置 I2P 记录选项"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
 msgid "Logging filename"
 msgstr "日志文件名称"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
 msgid "(the symbol '@' will be replaced during log rotation)"
 msgstr "(日志轮转时符号'@'将被替换)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
 msgid "Log record format"
 msgstr "日志记录格式"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
 msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
 msgstr "( 'd' = 日期, 'c' = 类, 't' = 线程, 'p' = 优先级, 'm' = 消息)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
 msgid "Log date format"
 msgstr "日志日期格式"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
 msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
 msgstr "('MM' = 月, 'dd' = 天, 'HH' = 小时, 'mm' = 分钟, 'ss' = 秒, 'SSS' = 毫秒)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Max log file size"
 msgstr "日志最大体积"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
 msgid "Default log level"
 msgstr "默认日志等级"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
 msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
 msgstr "(建议不要使用 DEBUG 或 INFO 作为默认等级,他们会明显降低程序性能)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
 msgid "Log level overrides"
 msgstr "等级外<br>日志项目"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+msgid "New override"
+msgstr "新建参数"
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
 msgid "config peers"
 msgstr "节点设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
 msgid "I2P Peer Configuration"
 msgstr "I2P 节点设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
 msgid "Manual Peer Controls"
 msgstr "手动节点控制"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
 msgid "Router Hash"
 msgstr "路由器Key(见NetDB)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
 msgid "Manually Ban / Unban a Peer"
 msgstr "手动封杀/解封某个节点"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
 msgid "Banning will prevent the participation of this peer in tunnels you create."
 msgstr "封锁将阻止节点参与您的隧道创建"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+msgid "Adjust Profile Bonuses"
+msgstr "调整节点评分"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 msgid "Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the"
 msgstr "评分(Bonuse)可能为正或为负并影响节点是否评为快速和高容量节点。快速节点用于客户程序通道,高容量节点用于探索隧道。当前评分显示于"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
 msgid "profiles page"
 msgstr "节点信息页面"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:342
-msgid "Adjust peer bonuses"
-msgstr "调整节点评分"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:344
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
 msgid "Banned Peers"
 msgstr "已封锁节点"
 
@@ -4636,95 +4847,144 @@ msgstr "已封锁节点"
 msgid "Banned IPs"
 msgstr "已封锁IP"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
+msgid "config reseeding"
+msgstr "设置引导"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+msgid "I2P Reseeding Configuration"
+msgstr "I2P 网络引导设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
+msgid "Reseeding Configuration"
+msgstr "网络引导设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:302
+msgid "Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining."
+msgstr "补种(Reseeding)是一个网络引导(Bootstrip)过程,新用户通过这个过程发现其他I2P用户,很久未上线的老用户在已知的有效节点很少时也会进入引导/补种状态。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:304
+msgid "If reseeding has failed, you should first check your network connection."
+msgstr "如果网络引导失败请先检查您的网络设置,确定本机网络正常。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:308
+msgid "Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy."
+msgstr "您仅需在防火墙过滤严重,造成网络引导失败时需要使用HTTP代理。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#, java-format
+msgid "See {0} for instructions on reseeding manually."
+msgstr "手动引导的方法请参见 {0}"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+msgid "the FAQ"
+msgstr " 常见问题解答 "
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+msgid "Reseed URL Selection"
+msgstr "引导链接选择"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+msgid "Try SSL first then non-SSL"
+msgstr "先尝试SSL再尝试HTTP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+msgid "Use SSL only"
+msgstr "仅使用SSL"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+msgid "Use non-SSL only"
+msgstr "仅使用普通HTTP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
+msgid "Reseed URLs"
+msgstr "网络启动"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+msgid "Enable HTTP proxy (not used for SSL)"
+msgstr "使用 HTTP 代理(目前不支持SSL)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
+msgid "HTTP Proxy Host"
+msgstr "HTTP 代理地址"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+msgid "HTTP Proxy Port"
+msgstr "HTTP 代理端口"
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
 msgid "config service"
 msgstr "服务设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
 msgid "I2P Service Configuration"
 msgstr "I2P 服务设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
 msgid "Shutdown the router"
 msgstr "关闭路由器"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:286
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
 msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
 msgstr "平滑关闭让路由器在关闭前完成已达成的任务,但这可能需要花费几分钟的时间。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:288
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
 msgid "If you need to kill the router immediately, that option is available as well."
 msgstr "当然你也可以选择立即关闭路由。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
 msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
 msgstr "如果你想要路由器关闭后自动重新启动,可以选择下面的选项。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
 msgid "This is useful in some situations - for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on."
 msgstr "此功能在如下情况下适用 - 例如当您修改了某些只在启动时读取的设置,例如路由器控制台密码,路由监听接口等。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
 msgstr "平滑重启可能会等待几分钟的时间(但你的节点一定会感激你的耐心),硬重启可以立即完成。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
 msgid "After tearing down the router, it will wait 1 minute before starting back up again."
 msgstr "路由关闭后将等待1分钟再重新启动。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:314
-msgid "Systray integration"
-msgstr "使用系统托盘"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:316
-msgid "On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status"
-msgstr "Windows 平台允许小程序进驻系统托盘,让你可以查看路由状态"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:318
-msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)."
-msgstr "(以后的 I2P 客户端程序也会将它们的功能集成到系统托盘里)。"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:320
-msgid "If you are on windows, you can either enable or disable that icon here."
-msgstr "如果你使用Windows, 可以在这里开启或关闭这个托盘图标。"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
 msgid "Run on startup"
 msgstr "启动时运行"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
 msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly."
 msgstr "这里你可以通过下面的选项来设置开机后 I2P 是否启动 - I2P 将相应的安装或卸载I2P服务。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
 msgid "If you prefer the command line, you can also run the "
 msgstr "如果你偏好使用命令行,可以运行"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
 msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
 msgstr "如果您目前已经以服务形式运行 I2P ,删除 I2P 服务将立刻关闭路由器。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
 msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
 msgstr "您可以考虑先平滑关闭路由,待退出后运行 uninstall_i2p_service_winnt.bat。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
 msgid "Debugging"
 msgstr "调试"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
 msgid "View the job queue"
 msgstr "查看作业队列"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
 msgstr ""
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
 msgid "Launch browser on router startup?"
 msgstr "路由器启动时运行浏览器?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
 msgid "I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at"
 msgstr "此Web控制台是I2P的主要设置界面,所以如果您您觉得有必要I2P可以在路由启动时调用浏览器打开"
 
@@ -4732,44 +4992,44 @@ msgstr "此Web控制台是I2P的主要设置界面,所以如果您您觉得有
 msgid "config stats"
 msgstr "统计设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
 msgid "I2P Stats Configuration"
 msgstr "I2P 统计设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
 msgid "Configure I2P Stat Collection"
 msgstr "设置 I2P 统计项"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
 msgid "Enable full stats?"
 msgstr "启用完整统计?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
 msgid "change requires restart to take effect"
 msgstr "设置需要程序重启后才能生效。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
 msgid "Stat file"
 msgstr "统计文件"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
 msgid "Filter"
 msgstr "过滤器"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
 msgid "toggle all"
 msgstr "全部切换"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
 msgid "Log"
 msgstr "日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
 msgid "Graph"
 msgstr "图表"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:369
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
 msgid "Advanced filter"
 msgstr "高级过滤器"
 
@@ -4777,43 +5037,43 @@ msgstr "高级过滤器"
 msgid "config tunnels"
 msgstr "隧道设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
 msgid "I2P Tunnel Configuration"
 msgstr "I2P 隧道设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
 msgid "The default settings work for most people."
 msgstr "默认设置适于大多数人。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
 msgid "There is a fundamental tradeoff between anonymity and performance."
 msgstr "匿名性需要以性能为代价。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
 msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
 msgstr "长于3个跳点的隧道(例如 2跳点 + 0-2跳点,3跳点 + 0-1跳点, 3跳点 + 0-2跳点),或大量常规+大量备用,可能降低性能和稳定性。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
 msgid "High CPU and/or high outbound bandwidth usage may result."
 msgstr "导致高CPU占用和/或高上行流量。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
 msgid "Change these settings with care, and adjust them if you have problems."
 msgstr "小心更改这些设置。如果遇到问题可以在这里调整。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
 msgid "Exploratory tunnel setting changes are stored in the router.config file."
 msgstr "对探测隧道设置的更改将保存入router.config文件中。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
 msgid "Client tunnel changes are temporary and are not saved."
 msgstr "对客户程序隧道的修改是临时的,将不予保存。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "To make permanent client tunnel changes see the"
 msgstr "要永久性更改客户通道的设置参见"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
 msgid "i2ptunnel page"
 msgstr "I2P 隧道页面"
 
@@ -4821,31 +5081,31 @@ msgstr "I2P 隧道页面"
 msgid "config UI"
 msgstr "界面设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
 msgid "I2P UI Configuration"
 msgstr "I2P 界面设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
 msgid "Router Console Theme"
 msgstr "路由控制台主题"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
 msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "抱歉,主题功能在InternetExplorer中已禁用。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
 msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
 msgstr "如果您没使用IE,您的浏览器可能正在伪装IE的UserAgent;您需要设置浏览器(或过滤式代理)使用不同的UserAgent,才能访问路由控制台的主题功能。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
 msgid "Router Console Language"
 msgstr "路由控制台语言"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
 msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
 msgstr "欢迎加入路由控制台翻译项目!提供帮助请通过IRC到#i2p房间与开发人员联系。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
 msgid "Apply"
 msgstr "应用"
 
@@ -4853,83 +5113,135 @@ msgstr "应用"
 msgid "config update"
 msgstr "更新设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
 msgid "I2P Update Configuration"
 msgstr "I2P 更新设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
 msgid "Check for I2P and news updates"
 msgstr "检查I2P软件及新闻更新"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
 msgid "News &amp; I2P Updates"
 msgstr "软件及新闻更新"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
 msgid "Update In Progress"
 msgstr "更新中"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
 msgid "News URL"
 msgstr "新闻链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Refresh frequency"
 msgstr "更新频率"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update policy"
 msgstr "升级策略"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Update through the eepProxy?"
 msgstr "通过I2P代理更新?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "eepProxy host"
 msgstr "I2P代理主机"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "eepProxy port"
 msgstr "I2P代理端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
 msgid "Update URLs"
 msgstr "更新链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
 msgid "Trusted keys"
 msgstr "可信公钥"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
 msgid "Update with unsigned development builds?"
 msgstr "更新包括未签名的开发版?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
 msgid "Unsigned Build URL"
 msgstr "未签名软件链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "I2P updates are disabled because you do not have write permission for the install directory."
 msgstr "I2P更新功能已禁用,因为您对I2P的安装目录没有写权限。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
 msgid "Save"
 msgstr "保存"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+msgid "Internal Error"
+msgstr "内部错误"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
+msgid "Router Console"
+msgstr "路由控制台"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
+msgid "Configuration"
+msgstr "设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+msgid "Sorry! There has been an internal error."
+msgstr "抱歉!程序发生内部错误。"
+
+#. note to translators - both parameters are URLs
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:133
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:232
+#, java-format
+msgid "Please report bugs on {0} or {1}."
+msgstr "Bug报告请到 {0} 或 {1}。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:137
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "如果您不想注册可以用“guest”作为用户名和密码登陆。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:139
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
+msgid "Please include this information in bug reports"
+msgstr "报告问题时请包括以下信息"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+msgid "Error Details"
+msgstr "错误详情"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#, java-format
+msgid "Error {0}"
+msgstr "错误 {0}"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:163
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:228
+msgid "I2P Version and Running Environment"
+msgstr "I2P 版本及运行环境"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:191
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
+msgid "Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report."
+msgstr "注意,系统信息、日志时间戳和日志中的部分信息中可能泄露您真实位置;提交前请仔细检查。"
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
 msgid "Page Not Found"
 msgstr "页面未找到"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
 msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
 msgstr "抱歉!您请求的页面或资源不存在。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
 msgid "Error 404"
 msgstr "错误 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
 msgid "not found"
 msgstr "未找到"
 
@@ -4937,7 +5249,7 @@ msgstr "未找到"
 msgid "graphs"
 msgstr "图表"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
 msgid "I2P Performance Graphs"
 msgstr "I2P 性能图表"
 
@@ -4949,7 +5261,7 @@ msgstr "主页"
 msgid "job queue"
 msgstr "作业队列"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
 msgid "I2P Router Job Queue"
 msgstr "I2P 路由器作业队列"
 
@@ -4957,31 +5269,19 @@ msgstr "I2P 路由器作业队列"
 msgid "logs"
 msgstr "日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
 msgid "I2P Router Logs"
 msgstr "I2P 路由器日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:229
-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:274
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
 msgid "Critical Logs"
 msgstr "关键日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:278
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
 msgid "Router Logs"
 msgstr "路由器日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
 msgid "Service (Wrapper) Logs"
 msgstr "服务(封装)日志"
 
@@ -4989,7 +5289,7 @@ msgstr "服务(封装)日志"
 msgid "network database summary"
 msgstr "I2P 网络数据库概况"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
 msgid "I2P Network Database Summary"
 msgstr "I2P 网络数据库概况"
 
@@ -4997,15 +5297,15 @@ msgstr "I2P 网络数据库概况"
 msgid "WebApp Not Found"
 msgstr "Web程序(war)未找到"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
 msgid "Web Application Not Running"
 msgstr "Web程序(.war)未运行"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:233
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
 msgid "The requested web application is not running."
 msgstr "您所访问的Web程序未启动。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
 msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
 msgstr "请先在<a href=\"/configclients.jsp#webapp\">配置客户端页面</a>中启动它。"
 
@@ -5013,7 +5313,7 @@ msgstr "请先在<a href=\"/configclients.jsp#webapp\">配置客户端页面</a>
 msgid "peer connections"
 msgstr "节点连接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
 msgid "I2P Network Peers"
 msgstr "I2P 网络节点"
 
@@ -5021,7 +5321,7 @@ msgstr "I2P 网络节点"
 msgid "peer profiles"
 msgstr "节点信息"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
 msgid "I2P Network Peer Profiles"
 msgstr "I2P 网络节点信息"
 
@@ -5029,11 +5329,11 @@ msgstr "I2P 网络节点信息"
 msgid "statistics"
 msgstr "统计"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
 msgid "I2P Router Statistics"
 msgstr "I2P 路由器统计数据"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248
 #, java-format
 msgid "Disable {0} Refresh"
 msgstr "停止 {0} 刷新"
@@ -5042,18 +5342,79 @@ msgstr "停止 {0} 刷新"
 msgid "tunnel summary"
 msgstr "隧道概况"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
 msgid "I2P Tunnel Summary"
 msgstr "I2P 隧道概况"
 
+#~ msgid "Client Interface Configuration (Advacned)"
+#~ msgstr "客户端接口设置(高级)"
+#~ 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> 进行手动补种。"
+#~ msgid "Last reseed failed fully (failed reading seed URL)."
+#~ msgstr "上次补种尝试失败(读取补种URL失败)。"
+#~ msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
+#~ msgstr "上次补种尝试失败(补种服务器未返回任何路由信息URL)。"
+#~ msgid "Last reseed failed partly ({0}% of {1})."
+#~ msgstr "上次补种部分失败({0}%失败,共{1})"
+#~ msgid "Last reseed failed ({0}% of {1})."
+#~ msgstr "上次补种失败({0}%失败,共{1})"
+#~ msgid "Last reseed failed fully (exception caught)."
+#~ msgstr "上次补种失败(exception caught)."
+#~ msgid "Show systray icon"
+#~ msgstr "显示托盘图标"
+#~ msgid "System tray icon enabled."
+#~ msgstr "系统托盘图标已启用"
+#~ msgid "System tray icon feature not supported on this platform. Sorry!"
+#~ msgstr "您的平台不支持系统托盘图标功能"
+#~ msgid "Warning: unable to contact the systray manager"
+#~ msgstr "警告:与托盘管理器通讯失败"
+#~ msgid "Hide systray icon"
+#~ msgstr "隐藏系统图标"
+#~ msgid "System tray icon disabled."
+#~ msgstr "系统托盘已禁用"
+#~ msgid "minute"
+#~ msgstr "分钟"
+#~ msgid "minutes"
+#~ msgstr "分钟"
+#~ msgid "avg value"
+#~ msgstr "均值"
+#~ msgid "events"
+#~ msgstr "事件"
+#~ msgid "lifetime average"
+#~ msgstr "总平均值"
+#~ msgid "peak average"
+#~ msgstr "峰值平均值"
+#~ msgid "Systray integration"
+#~ msgstr "使用系统托盘"
+#~ msgid ""
+#~ "On the windows platform, there is a small application to sit in the "
+#~ "system tray, allowing you to view the router's status"
+#~ msgstr "Windows 平台允许小程序进驻系统托盘,让你可以查看路由状态"
+#~ msgid ""
+#~ "(later on, I2P client applications will be able to integrate their own "
+#~ "functionality into the system tray as well)."
+#~ msgstr "(以后的 I2P 客户端程序也会将它们的功能集成到系统托盘里)。"
+#~ msgid ""
+#~ "If you are on windows, you can either enable or disable that icon here."
+#~ msgstr "如果你使用Windows, 可以在这里开启或关闭这个托盘图标。"
+#~ 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>。"
 #~ msgid "hops"
 #~ msgstr "跳点"
 #~ msgid "tunnels"
 #~ msgstr "隧道"
 #~ msgid "Tunnels in/out"
 #~ msgstr "通道(上/下行)"
-#~ msgid "name"
-#~ msgstr "名称"
 #~ msgid ""
 #~ "WebApp configuration saved successfully - restart required to take effect."
 #~ msgstr "WebApp设置保存成功 - 程序重启后生效"
diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
index a94b1a4da2c1bac8ac8781abfe99413ddc7c5fe5..632b904b74a598993a73ae31c6b94e8d31e9b961 100644
--- a/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
+++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageHandler.java
@@ -81,8 +81,8 @@ class MessageHandler implements I2PSessionListener {
         for (Iterator<I2PSocketManager.DisconnectListener> iter = _listeners.iterator(); iter.hasNext(); ) {
             I2PSocketManager.DisconnectListener lsnr = iter.next();
             lsnr.sessionDisconnected();
-            iter.remove();
         }
+        _listeners.clear();
     }
 
     /**
diff --git a/apps/susidns/locale/messages_en.po b/apps/susidns/locale/messages_en.po
new file mode 100644
index 0000000000000000000000000000000000000000..df26745b78edb45916a6959cab5a566b9459b18c
--- /dev/null
+++ b/apps/susidns/locale/messages_en.po
@@ -0,0 +1,480 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the susidns package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P susidns\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-13 11:54+0000\n"
+"PO-Revision-Date: 2010-06-15 14:09+0100\n"
+"Last-Translator: duck <duck@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:200
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:193
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:197
+msgid "Search"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
+msgid "Search within filtered list"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
+msgid "Filtered list"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
+msgid "no matches"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
+msgid "Addressbook"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
+msgid "contains no entries"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
+msgid "contains 1 entry"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
+#, java-format
+msgid "contains {0} entries"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
+#, java-format
+msgid "Showing {0} of {1}"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
+msgid "Add"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:366
+msgid "Replace"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#, java-format
+msgid "Host name {0} is already in addressbook, unchanged."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
+#, java-format
+msgid ""
+"Host name {0} is already in addressbook with a different destination. Click "
+"\"Replace\" to overwrite."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:278
+#, java-format
+msgid "Destination added for {0}."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
+#, java-format
+msgid "Destination changed for {0}."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
+msgid "Invalid Base 64 destination."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
+msgid "Please enter a host name and destination"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
+msgid "Delete Selected"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
+#, java-format
+msgid "Destination {0} deleted."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
+#, java-format
+msgid "{0} destinations deleted."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
+msgid "Addressbook saved."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
+msgid "ERROR: Could not write addressbook file."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:319
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:151
+msgid ""
+"Invalid form submission, probably because you used the \"back\" or \"reload"
+"\" button on your browser. Please resubmit."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
+msgid "Save"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
+msgid "Configuration saved."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:145
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
+msgid "Reload"
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
+msgid "Configuration reloaded."
+msgstr ""
+
+#. Yes this is a hack.
+#. No it doesn't work on a text-mode browser.
+#. Fetching from the addressbook servlet
+#. with the correct parameters will kick off a
+#. config reload and fetch.
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:139
+msgid ""
+"Subscriptions saved, updating addressbook from subscription sources now."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
+msgid "Subscriptions saved."
+msgstr ""
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
+msgid "Subscriptions reloaded."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
+msgid "addressbook"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
+msgid "addressbooks"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
+msgid "private"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
+msgid "master"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
+msgid "router"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
+msgid "published"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
+msgid "subscriptions"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
+msgid "configuration"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
+msgid "overview"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
+msgid "Filter"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
+msgid "all"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
+msgid "Current filter"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
+msgid "clear filter"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
+msgid "Name"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
+msgid "Destination"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
+msgid "Mark for deletion"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
+msgid "address helper link"
+msgstr ""
+
+#: ../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:356
+msgid "Add new destination"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
+msgid "Hostname"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
+msgid "Hints"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
+msgid ""
+"File and directory paths here are relative to the addressbook's working "
+"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
+"\\addressbook\\ (Windows)."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
+msgid ""
+"If you want to manually add lines to an addressbook, add them to the private "
+"or master addressbooks."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
+msgid ""
+"The router addressbook and the published addressbook are updated by the "
+"addressbook application."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
+msgid ""
+"When you publish your addressbook, ALL destinations from the master and "
+"router addressbooks appear there."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
+msgid ""
+"Use the private addressbook for private destinations, these are not "
+"published."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
+msgid "Options"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
+msgid "File containing the list of subscriptions URLs (no need to change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
+msgid "Update interval in hours"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
+msgid ""
+"Your public hosts.txt file (choose a path within your webserver document "
+"root)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
+msgid "Your hosts.txt (don't change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
+msgid "Your personal addressbook, these hosts will be published"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
+msgid "Your private addressbook, it is never published"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
+msgid "Port for your eepProxy (no need to change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
+msgid "Hostname for your eepProxy (no need to change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
+msgid "Whether to update the published addressbook"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
+msgid ""
+"File containing the etags header from the fetched subscription URLs (no need "
+"to change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
+msgid ""
+"File containing the modification timestamp for each fetched subscription URL "
+"(no need to change)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
+msgid "File to log activity to (change to /dev/null if you like)"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
+msgid "Introduction"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
+msgid "What is the addressbook?"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
+msgid "The addressbook application is part of your i2p installation."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
+msgid ""
+"It regularly updates your hosts.txt file from distributed sources or "
+"\"subscriptions\"."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
+msgid ""
+"In the default configuration, the addressbook is only subscribed to www.i2p2."
+"i2p."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
+msgid ""
+"Subscribing to additional sites is easy, just add them to your <a href="
+"\"subscriptions.jsp\">subscriptions</a> file."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
+msgid ""
+"For more information on naming in i2p, see <a href=\"http://www.i2p2.i2p/"
+"naming.html\">the overview on www.i2p2.i2p</a>."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
+msgid "How does the addressbook work?"
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
+msgid ""
+"The addressbook application regularly polls your subscriptions and merges "
+"their content into your \"router\" addressbook, stored in the hosts.txt file."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
+msgid ""
+"Then it merges your \"master\" addressbook (userhosts.txt) into the router "
+"addressbook as well."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
+msgid ""
+"If configured, the router addressbook is now written to the \"published\" "
+"addressbook, which will be publicly available if you are running an eepsite."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
+msgid ""
+"The router also uses a private addressbook (privatehosts.txt, not shown in "
+"the picture), which is not merged or published."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
+msgid ""
+"Hosts in the private addressbook can be accessed by you but their addresses "
+"are never distributed to others."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
+msgid ""
+"The private addressbook can also be used for aliases of hosts in your other "
+"addressbooks."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
+msgid "The subscription file contains a list of i2p URLs."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
+msgid ""
+"The addressbook application regularly checks this list for new eepsites."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
+msgid "Those URLs refer to published hosts.txt files."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
+msgid ""
+"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
+"updated infrequently."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
+msgid ""
+"So it is a good idea to add additional subscriptions to sites that have the "
+"latest addresses."
+msgstr ""
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
+msgid "See the FAQ for a list of subscription URLs."
+msgstr ""
diff --git a/apps/susidns/locale/messages_zh.po b/apps/susidns/locale/messages_zh.po
index ace16bf4b86971b824e8e90d8addeb32b9d11adf..02944af369d4aa4f1ad67980aafe38aa7f918695 100644
--- a/apps/susidns/locale/messages_zh.po
+++ b/apps/susidns/locale/messages_zh.po
@@ -1,432 +1,505 @@
-# I2P
-# Copyright (C) 2009 The I2P Project
-# This file is distributed under the same license as the susidns package.
-# To contribute translations, see http://www.i2p2.de/newdevelopers
-# foo <foo@bar>, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: I2P susidns\n"
-"Report-Msgid-Bugs-To: \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"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Chinese\n"
-
-#: ../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:203
-msgid "Search within filtered list"
-msgstr "在过滤结果中搜索"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:205
-msgid "Filtered list"
-msgstr "过滤结果列表"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:209
-msgid "no matches"
-msgstr "无匹配项目"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:212
-msgid "Addressbook"
-msgstr "地址簿"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:214
-msgid "contains no entries"
-msgstr "包含 0 个项目"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:216
-msgid "contains 1 entry"
-msgstr "包含 1 个项目"
-
-#: ../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:228
-#, java-format
-msgid "Showing {0} of {1}"
-msgstr "显示 {0} 个项目共 {1}"
-
-#: ../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: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
-#, 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: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:304
-#, java-format
-msgid "{0} destinations deleted."
-msgstr "{0} 个目标已删除"
-
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:310
-msgid "Addressbook saved."
-msgstr "地址簿已保存"
-
-#: ../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: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."
-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:130
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
-msgid "Save"
-msgstr "保存"
-
-#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
-msgid "Configuration saved."
-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:128
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
-msgid "Reload"
-msgstr "刷新"
-
-#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
-msgid "Configuration reloaded."
-msgstr "配置已重新载入"
-
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:138
-msgid "Subscriptions saved, updating addressbook from subscription sources now."
-msgstr "订阅已保存,正在通过订阅地址更新地址簿。"
-
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:142
-msgid "Subscriptions saved."
-msgstr "订阅已保存。"
-
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:146
-msgid "Subscriptions reloaded."
-msgstr "订阅设置已重新载入。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
-msgid "addressbook"
-msgstr "地址簿"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
-msgid "addressbooks"
-msgstr "地址簿"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
-msgid "private"
-msgstr "私人"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
-msgid "master"
-msgstr "主要"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
-msgid "router"
-msgstr "路由"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
-msgid "published"
-msgstr "发布"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
-msgid "subscriptions"
-msgstr "订阅"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
-msgid "configuration"
-msgstr "配置"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
-msgid "overview"
-msgstr "介绍"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
-msgid "Filter"
-msgstr "过滤器"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
-msgid "all"
-msgstr "全部"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
-msgid "Current filter"
-msgstr "当前过滤器"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
-msgid "clear filter"
-msgstr "清除过滤器"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
-msgid "Name"
-msgstr "名称"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
-msgid "Destination"
-msgstr "目标"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
-msgid "Mark for deletion"
-msgstr "标记为删除"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
-msgid "address helper link"
-msgstr "地址簿助手链接"
-
-#: ../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:356
-msgid "Add new destination"
-msgstr "添加新目标"
-
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
-msgid "Hostname"
-msgstr "主机名称"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
-msgid "Hints"
-msgstr "提示"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
-msgid "File and directory paths here are relative to the addressbook's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P\\addressbook\\ (Windows)."
-msgstr "此处使用的路径是以地址簿工作目录为参照的相对路径,通常为 ~/.i2p/addressbook/ (Linux) 或 %APPDATA%\\I2P\\addressbook\\ (Windows)."
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
-msgid "If you want to manually add lines to an addressbook, add them to the private or master addressbooks."
-msgstr "如果您希望想地址簿手动添加地址条目,请将其加入私有地址簿或主地址簿。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
-msgid "The router addressbook and the published addressbook are updated by the addressbook application."
-msgstr "路由地址簿与已发布地址簿会由地址簿程序负责更新。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
-msgid "When you publish your addressbook, ALL destinations from the master and router addressbooks appear there."
-msgstr "当您发布地址簿时,主地址簿与路由地址簿中的所有地址条目都会显示于已发布地址簿中。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
-msgid "Use the private addressbook for private destinations, these are not published."
-msgstr "私有地址簿用来记录需要保密的私人目标,其中的条目不会被发布。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
-msgid "Options"
-msgstr "选项"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
-msgid "File containing the list of subscriptions URLs (no need to change)"
-msgstr "含有订阅URL列表的文件(无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
-msgid "Update interval in hours"
-msgstr "更新周期(小时)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
-msgid "Your public hosts.txt file (choose a path within your webserver document root)"
-msgstr "您发布的公开地址簿 hosts.txt (请指定为您Web服务器目录中的某个路径以便发布。)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
-msgid "Your hosts.txt (don't change)"
-msgstr "您的 host.txt (无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
-msgid "Your personal addressbook, these hosts will be published"
-msgstr "您的个人地址簿,其中的地址会参与发布。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
-msgid "Your private addressbook, it is never published"
-msgstr "您的私有地址簿,其中的地址不会被发布。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
-msgid "Port for your eepProxy (no need to change)"
-msgstr "您的I2P代理端口(无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
-msgid "Hostname for your eepProxy (no need to change)"
-msgstr "您的I2P代理主机名(无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
-msgid "Whether to update the published addressbook"
-msgstr "是否更新发布地址簿"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
-msgid "File containing the etags header from the fetched subscription URLs (no need to change)"
-msgstr "此文件含有订阅URL返回的etag头(无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
-msgid "File containing the modification timestamp for each fetched subscription URL (no need to change)"
-msgstr "此文件含有每个地址簿订阅URL上次获取时的修改时间(无需修改)"
-
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
-msgid "File to log activity to (change to /dev/null if you like)"
-msgstr "活动日志文件(关闭可设为/dev/null [Linux])"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
-msgid "Introduction"
-msgstr "介绍"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
-msgid "What is the addressbook?"
-msgstr "什么是地址簿"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
-msgid "The addressbook application is part of your i2p installation."
-msgstr "地址簿程序是I2P安装程序的一部分。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
-msgid "It regularly updates your hosts.txt file from distributed sources or \"subscriptions\"."
-msgstr "他通过分散的来源或称地址簿“订阅”(概念类似RSS)更新您的地址簿文件 host.txt。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
-msgid "In the default configuration, the addressbook is only subscribed to www.i2p2.i2p."
-msgstr "默认设置中地址簿仅订阅 www.i2p2.i2p 的项目。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
-msgid "Subscribing to additional sites is easy, just add them to your <a href=\"subscriptions.jsp\">subscriptions</a> file."
-msgstr "订阅其他网站的地址簿也很简单,只需将它们加入 <a href=\"subscriptions.jsp\">订阅</a> 文件即可。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
-msgid "For more information on naming in i2p, see <a href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
-msgstr "关于I2P网络域名系统的更多信息,参见 <a href=\"http://www.i2p2.i2p/naming.html\"> www.i2p2.i2p 网站上的“概述” </a>."
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
-msgid "How does the addressbook work?"
-msgstr "那么地址簿是如何工作的呢?"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
-msgid "The addressbook application regularly polls your subscriptions and merges their content into your \"router\" addressbook, stored in the hosts.txt file."
-msgstr "地址簿程序定期通过订阅的URL获取新的地址簿条目并将它们合并入您的“路由”地址簿中,保存与 hosts.txt 文件内。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
-msgid "Then it merges your \"master\" addressbook (userhosts.txt) into the router addressbook as well."
-msgstr "随后他还会将您的“主要”地址簿(userhost.txt)合并入路由器地址簿。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
-msgid "If configured, the router addressbook is now written to the \"published\" addressbook, which will be publicly available if you are running an eepsite."
-msgstr "如果启用了相关配置,路由器地址簿会写入您的“发布”地址簿中,如果您有自己的eepsite匿名站点,那么它可以通过您的站点公开发布。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
-msgid "The router also uses a private addressbook (privatehosts.txt, not shown in the picture), which is not merged or published."
-msgstr "路由器同时提供了私有地址簿(privatehost.txt,图片中为出现),其中的项目不会被合并或发布。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
-msgid "Hosts in the private addressbook can be accessed by you but their addresses are never distributed to others."
-msgstr "您可以访问私有地址簿中的网站,但它们的地址绝不会通过您的公开地址簿发布给别人。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
-msgid "The private addressbook can also be used for aliases of hosts in your other addressbooks."
-msgstr "私有地址簿还可以被用来设置网站别名。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
-msgid "The subscription file contains a list of i2p URLs."
-msgstr "订阅文件是一个I2P链接列表。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
-msgid "The addressbook application regularly checks this list for new eepsites."
-msgstr "地址簿程序定期通过这些链接检查是否有新的I2P匿名网站。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
-msgid "Those URLs refer to published hosts.txt files."
-msgstr "这些URL指向公开发布的hosts.txt文件。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
-msgid "The default subscription is the hosts.txt from www.i2p2.i2p, which is updated infrequently."
-msgstr "默认订阅是 www.i2p2.i2p 提供的 hosts.txt,此文件很少更新。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
-msgid "So it is a good idea to add additional subscriptions to sites that have the latest addresses."
-msgstr "所以订阅一些网站的最新地址簿是个不错的主意。"
-
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
-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 "删除"
-
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the susidns package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P susidns\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-09 15:10+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"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Chinese\n"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:200
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:193
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:197
+msgid "Search"
+msgstr "搜索"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
+msgid "Search within filtered list"
+msgstr "在过滤结果中搜索"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
+msgid "Filtered list"
+msgstr "过滤结果列表"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
+msgid "no matches"
+msgstr "无匹配项目"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
+msgid "Addressbook"
+msgstr "地址簿"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
+msgid "contains no entries"
+msgstr "包含 0 个项目"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
+msgid "contains 1 entry"
+msgstr "包含 1 个项目"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
+#, java-format
+msgid "contains {0} entries"
+msgstr "包含 {0} 个项目"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
+#, java-format
+msgid "Showing {0} of {1}"
+msgstr "显示 {0} 个项目共 {1}"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
+msgid "Add"
+msgstr "添加"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:366
+msgid "Replace"
+msgstr "替换"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#, java-format
+msgid "Host name {0} is already in addressbook, unchanged."
+msgstr "主机名称{0}已存在于地址簿中,本次操作未更新。"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
+#, 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:278
+#, java-format
+msgid "Destination added for {0}."
+msgstr "目标密钥已添加为{0}。"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
+#, java-format
+msgid "Destination changed for {0}."
+msgstr "目标已更新为{0}。"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
+msgid "Invalid Base 64 destination."
+msgstr "无效的Base64目标密钥"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
+msgid "Please enter a host name and destination"
+msgstr "请输入主机名称与目标"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
+msgid "Delete Selected"
+msgstr "删除选中项"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
+#, java-format
+msgid "Destination {0} deleted."
+msgstr "目标 {0} 已删除"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
+#, java-format
+msgid "{0} destinations deleted."
+msgstr "{0} 个目标已删除"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
+msgid "Addressbook saved."
+msgstr "地址簿已保存"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
+msgid "ERROR: Could not write addressbook file."
+msgstr "错误:无法写入地址簿文件"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:319
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:151
+msgid ""
+"Invalid form submission, probably because you used the \"back\" or \"reload"
+"\" button on your browser. Please resubmit."
+msgstr ""
+"提交数据无效,可能的原因是您使用了浏览器中的“前进”或“后退”按钮造成会话过期,"
+"请重新提交。"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
+msgid "Save"
+msgstr "保存"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
+msgid "Configuration saved."
+msgstr "配置已保存"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:145
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
+msgid "Reload"
+msgstr "刷新"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
+msgid "Configuration reloaded."
+msgstr "配置已重新载入"
+
+#. Yes this is a hack.
+#. No it doesn't work on a text-mode browser.
+#. Fetching from the addressbook servlet
+#. with the correct parameters will kick off a
+#. config reload and fetch.
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:139
+msgid ""
+"Subscriptions saved, updating addressbook from subscription sources now."
+msgstr "订阅已保存,正在通过订阅地址更新地址簿。"
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
+msgid "Subscriptions saved."
+msgstr "订阅已保存。"
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
+msgid "Subscriptions reloaded."
+msgstr "订阅设置已重新载入。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
+msgid "addressbook"
+msgstr "地址簿"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
+msgid "addressbooks"
+msgstr "地址簿"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
+msgid "private"
+msgstr "私人"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
+msgid "master"
+msgstr "主要"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
+msgid "router"
+msgstr "路由"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
+msgid "published"
+msgstr "发布"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
+msgid "subscriptions"
+msgstr "订阅"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
+msgid "configuration"
+msgstr "配置"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
+msgid "overview"
+msgstr "介绍"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
+msgid "Filter"
+msgstr "过滤器"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
+msgid "all"
+msgstr "全部"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
+msgid "Current filter"
+msgstr "当前过滤器"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
+msgid "clear filter"
+msgstr "清除过滤器"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
+msgid "Name"
+msgstr "名称"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
+msgid "Destination"
+msgstr "目标"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
+msgid "Mark for deletion"
+msgstr "标记为删除"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
+msgid "address helper link"
+msgstr "地址簿助手链接"
+
+#: ../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:356
+msgid "Add new destination"
+msgstr "添加新目标"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
+msgid "Hostname"
+msgstr "主机名称"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
+msgid "Hints"
+msgstr "提示"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
+msgid ""
+"File and directory paths here are relative to the addressbook's working "
+"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
+"\\addressbook\\ (Windows)."
+msgstr ""
+"此处使用的路径是以地址簿工作目录为参照的相对路径,通常为 ~/.i2p/addressbook/ "
+"(Linux) 或 %APPDATA%\\I2P\\addressbook\\ (Windows)."
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
+msgid ""
+"If you want to manually add lines to an addressbook, add them to the private "
+"or master addressbooks."
+msgstr "如果您希望想地址簿手动添加地址条目,请将其加入私有地址簿或主地址簿。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
+msgid ""
+"The router addressbook and the published addressbook are updated by the "
+"addressbook application."
+msgstr "路由地址簿与已发布地址簿会由地址簿程序负责更新。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
+msgid ""
+"When you publish your addressbook, ALL destinations from the master and "
+"router addressbooks appear there."
+msgstr ""
+"当您发布地址簿时,主地址簿与路由地址簿中的所有地址条目都会显示于已发布地址簿"
+"中。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
+msgid ""
+"Use the private addressbook for private destinations, these are not "
+"published."
+msgstr "私有地址簿用来记录需要保密的私人目标,其中的条目不会被发布。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
+msgid "Options"
+msgstr "选项"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
+msgid "File containing the list of subscriptions URLs (no need to change)"
+msgstr "含有订阅URL列表的文件(无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
+msgid "Update interval in hours"
+msgstr "更新周期(小时)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
+msgid ""
+"Your public hosts.txt file (choose a path within your webserver document "
+"root)"
+msgstr ""
+"您发布的公开地址簿 hosts.txt (请指定为您Web服务器目录中的某个路径以便发布。)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
+msgid "Your hosts.txt (don't change)"
+msgstr "您的 host.txt (无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
+msgid "Your personal addressbook, these hosts will be published"
+msgstr "您的个人地址簿,其中的地址会参与发布。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
+msgid "Your private addressbook, it is never published"
+msgstr "您的私有地址簿,其中的地址不会被发布。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
+msgid "Port for your eepProxy (no need to change)"
+msgstr "您的I2P代理端口(无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
+msgid "Hostname for your eepProxy (no need to change)"
+msgstr "您的I2P代理主机名(无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
+msgid "Whether to update the published addressbook"
+msgstr "是否更新发布地址簿"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
+msgid ""
+"File containing the etags header from the fetched subscription URLs (no need "
+"to change)"
+msgstr "此文件含有订阅URL返回的etag头(无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
+msgid ""
+"File containing the modification timestamp for each fetched subscription URL "
+"(no need to change)"
+msgstr "此文件含有每个地址簿订阅URL上次获取时的修改时间(无需修改)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
+msgid "File to log activity to (change to /dev/null if you like)"
+msgstr "活动日志文件(关闭可设为/dev/null [Linux])"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
+msgid "Introduction"
+msgstr "介绍"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
+msgid "What is the addressbook?"
+msgstr "什么是地址簿"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
+msgid "The addressbook application is part of your i2p installation."
+msgstr "地址簿程序是I2P安装程序的一部分。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
+msgid ""
+"It regularly updates your hosts.txt file from distributed sources or "
+"\"subscriptions\"."
+msgstr ""
+"他通过分散的来源或称地址簿“订阅”(概念类似RSS)更新您的地址簿文件 host.txt。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
+msgid ""
+"In the default configuration, the addressbook is only subscribed to www.i2p2."
+"i2p."
+msgstr "默认设置中地址簿仅订阅 www.i2p2.i2p 的项目。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
+msgid ""
+"Subscribing to additional sites is easy, just add them to your <a href="
+"\"subscriptions.jsp\">subscriptions</a> file."
+msgstr ""
+"订阅其他网站的地址簿也很简单,只需将它们加入 <a href=\"subscriptions.jsp\">订"
+"阅</a> 文件即可。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
+msgid ""
+"For more information on naming in i2p, see <a href=\"http://www.i2p2.i2p/"
+"naming.html\">the overview on www.i2p2.i2p</a>."
+msgstr ""
+"关于I2P网络域名系统的更多信息,参见 <a href=\"http://www.i2p2.i2p/naming.html"
+"\"> www.i2p2.i2p 网站上的“概述” </a>."
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
+msgid "How does the addressbook work?"
+msgstr "那么地址簿是如何工作的呢?"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
+msgid ""
+"The addressbook application regularly polls your subscriptions and merges "
+"their content into your \"router\" addressbook, stored in the hosts.txt file."
+msgstr ""
+"地址簿程序定期通过订阅的URL获取新的地址簿条目并将它们合并入您的“路由”地址簿"
+"中,保存与 hosts.txt 文件内。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
+msgid ""
+"Then it merges your \"master\" addressbook (userhosts.txt) into the router "
+"addressbook as well."
+msgstr "随后他还会将您的“主要”地址簿(userhost.txt)合并入路由器地址簿。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
+msgid ""
+"If configured, the router addressbook is now written to the \"published\" "
+"addressbook, which will be publicly available if you are running an eepsite."
+msgstr ""
+"如果启用了相关配置,路由器地址簿会写入您的“发布”地址簿中,如果您有自己的"
+"eepsite匿名站点,那么它可以通过您的站点公开发布。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
+msgid ""
+"The router also uses a private addressbook (privatehosts.txt, not shown in "
+"the picture), which is not merged or published."
+msgstr ""
+"路由器同时提供了私有地址簿(privatehost.txt,图片中为出现),其中的项目不会被合并"
+"或发布。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
+msgid ""
+"Hosts in the private addressbook can be accessed by you but their addresses "
+"are never distributed to others."
+msgstr ""
+"您可以访问私有地址簿中的网站,但它们的地址绝不会通过您的公开地址簿发布给别"
+"人。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
+msgid ""
+"The private addressbook can also be used for aliases of hosts in your other "
+"addressbooks."
+msgstr "私有地址簿还可以被用来设置网站别名。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
+msgid "The subscription file contains a list of i2p URLs."
+msgstr "订阅文件是一个I2P链接列表。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
+msgid ""
+"The addressbook application regularly checks this list for new eepsites."
+msgstr "地址簿程序定期通过这些链接检查是否有新的I2P匿名网站。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
+msgid "Those URLs refer to published hosts.txt files."
+msgstr "这些URL指向公开发布的hosts.txt文件。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
+msgid ""
+"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
+"updated infrequently."
+msgstr "默认订阅是 www.i2p2.i2p 提供的 hosts.txt,此文件很少更新。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
+msgid ""
+"So it is a good idea to add additional subscriptions to sites that have the "
+"latest addresses."
+msgstr "所以订阅一些网站的最新地址簿是个不错的主意。"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
+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/bmsg.sh b/apps/susidns/src/bmsg.sh
deleted file mode 100644
index b9d294b32336537241eb2f9953fb65673c93b524..0000000000000000000000000000000000000000
--- a/apps/susidns/src/bmsg.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Update messages_xx.po and messages_xx.class files,
-# from both java and jsp sources.
-# Requires installed programs xgettext, msgfmt, msgmerge, and find.
-# zzz - public domain
-#
-
-## launching sh.exe with -login parameter will open a shell with the current path always pointing to \bin\
-## need to cd into our orignal path - where we call sh.exe from.
-
-cd $CALLFROM
-## echo $PWD
-
-## except this everything is the same with bundle-message.sh
-## walking - public domain :-D
-
-source bundle-messages.sh $PARAS
\ No newline at end of file
diff --git a/apps/susidns/src/build.xml b/apps/susidns/src/build.xml
index 8244d37cfb7dc2d1ebad4a1e3390ec64cb7e6bf1..ad20ad49a3059bb8b4fb7da03ca129bf63f19efc 100644
--- a/apps/susidns/src/build.xml
+++ b/apps/susidns/src/build.xml
@@ -80,15 +80,14 @@
     <target name="bundle" depends="compile, precompilejsp">
         <!-- Update the messages_*.po files.
              We need to supply the bat file for windows, and then change the fail property to true -->
-        <exec executable="sh" osfamily="unix" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="sh" osfamily="mac" failifexecutionfails="false" >
+        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
             <arg value="./bundle-messages.sh" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="false" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
         </exec>
     </target>
 
@@ -102,9 +101,8 @@
             <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
-        <exec executable="cmd" osfamily="windows" failifexecutionfails="true" >
-            <arg value="/c" />
-            <arg value="bundle-messages.bat" />
+        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
+            <arg value="./bundle-messages.sh" />
             <arg value="-p" />
         </exec>
     </target>
diff --git a/apps/susidns/src/bundle-messages.bat b/apps/susidns/src/bundle-messages.bat
deleted file mode 100644
index 90feca972a6457eebf97f9bdbea6028ac88d7789..0000000000000000000000000000000000000000
--- a/apps/susidns/src/bundle-messages.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-@echo off
-set Callfrom=%cd%
-set Paras=%1
-
-rem before calling make sure you have msys and mingw 's "bin" path 
-rem in your current searching path
-rem type "set path" to check 
-if not exist ..\locale\*.only goto updateALL
-
-rem put a messages_xx.only(eg messages_zh.only) into locale folder
-rem this script will only touch the po file(eg zh) you specified, leaving other po files untact.
-
-for %%i in (..\locale\*.only) do set PO=%%~ni
-echo [Notice] Yu choose to Ony update the choosen file: %PO%.po 
-for %%i in (..\locale\*.po) do if not %%~ni==%PO% ren %%i %%~ni.po-
-
-call sh --login %cd%\bmsg.sh
-
-for %%i in (..\locale\*.po-) do if not %%~ni==%PO% ren %%i %%~ni.po
-goto end
-
-:updateALL
-call sh --login %cd%\bmsg.sh
-
-:end
-echo End of Message Bundling
\ No newline at end of file
diff --git a/apps/susidns/src/bundle-messages.sh b/apps/susidns/src/bundle-messages.sh
index b1cd377b3ff9511229b49b14cd43370047f48973..1e6d7db19f7b1cc095ffa93a03994d09c2ba9169 100755
--- a/apps/susidns/src/bundle-messages.sh
+++ b/apps/susidns/src/bundle-messages.sh
@@ -18,6 +18,17 @@ then
 	POUPDATE=1
 fi
 
+# on windows, one must specify the path of commnad find
+# since windows has its own retarded version of find.
+if which find|grep -q -i windows ; then
+	export PATH=.:/bin:/usr/local/bin:$PATH
+fi
+# Fast mode - update ondemond
+echo Placing a file named messages_{LangCode}.only in locale folder,
+echo will limit .po file update to the language specified by {LangCode}.
+LG2=$(find ../locale -iname messages_*.only|tail -1)
+[ LG2 ] && LG2=${LG2#../locale/messages_} && LG2=${LG2%.only}
+
 # add ../src/ so the refs will work in the po file
 JPATHS="../src/java/ ../src/tmp/"
 for i in ../locale/messages_*.po
@@ -26,6 +37,11 @@ do
 	LG=${i#../locale/messages_}
 	LG=${LG%.po}
 
+	# skip, if specified
+	if [ $LG2 ]; then
+		[ $LG != $LG2 ] && continue || echo INFO: Language update is set to [$LG2] only.
+	fi
+
 	if [ "$POUPDATE" = "1" ]
 	then
 		# make list of java files newer than the .po file
@@ -72,15 +88,19 @@ do
 		touch $i
 	fi
 
-	echo "Generating ${CLASS}_$LG ResourceBundle..."
+    if [ "$LG" != "en" ]
+    then
+        # only generate for non-source language
+        echo "Generating ${CLASS}_$LG ResourceBundle..."
 
-	# convert to class files in build/obj
-	msgfmt --java --statistics -r $CLASS -l $LG -d WEB-INF/classes $i
-	if [ $? -ne 0 ]
-	then
-		echo 'Warning - msgfmt failed, not updating translations'
-		break
-	fi
+        # convert to class files in build/obj
+        msgfmt --java --statistics -r $CLASS -l $LG -d WEB-INF/classes $i
+        if [ $? -ne 0 ]
+        then
+            echo 'Warning - msgfmt failed, not updating translations'
+            break
+        fi
+    fi
 done
 rm -f $TMPFILE
 # todo: return failure
diff --git a/build.xml b/build.xml
index 20616d1c2a00a9d8d8cb2ee1454db1beafa93632..d95ad37652e68267e353c975ef00a667c4a8ab75 100644
--- a/build.xml
+++ b/build.xml
@@ -97,6 +97,7 @@
     </target>
 
     <target name="buildDesktopGui" depends="buildCore, buildrouter" >
+        <ant dir="apps/desktopgui" target="clean" />
         <ant dir="apps/desktopgui" target="jar" />
     </target>
 
@@ -200,7 +201,7 @@
         <copy file="apps/addressbook/dist/addressbook.war" todir="build/" />
     </target>
     <!-- the apps need to compile the jsps to poupdate -->
-    <target name="poupdate" depends="buildRouter, buildStreaming, buildSystray, buildJetty" >
+    <target name="poupdate" depends="buildRouter, buildStreaming, buildSystray, buildJetty, buildDesktopGui" >
         <ant dir="apps/routerconsole/java/" target="poupdate" />
         <ant dir="apps/i2psnark/java/" target="poupdate" />
         <ant dir="apps/i2ptunnel/java/" target="poupdate" />
diff --git a/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java b/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java
index d713b678d4463a2ff617f54638a9e9500c8c421f..86f82241be3b87609766d00cad4ac119ca443911 100644
--- a/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java
+++ b/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java
@@ -40,10 +40,12 @@ public class QueuedI2CPMessageReader extends I2CPMessageReader {
                     I2CPMessage msg = null;
                     try {
                         msg = in.take();
-                        if (msg.getType() == PoisonI2CPMessage.MESSAGE_TYPE)
+                        if (msg.getType() == PoisonI2CPMessage.MESSAGE_TYPE) {
+                            _listener.disconnected(QueuedI2CPMessageReader.this);
                             cancelRunner();
-                        else
+                        } else {
                             _listener.messageReceived(QueuedI2CPMessageReader.this, msg);
+                        }
                     } catch (InterruptedException ie) {}
                 }
                 // ??? unused
diff --git a/core/java/test/net/i2p/crypto/SessionEncryptionTest.java b/core/java/test/net/i2p/crypto/SessionEncryptionTest.java
index c6ec05326c11f7748e1a987810a25f8d42a7f907..0641db6ab144a6b74a519fc1a95c42cca3add81b 100644
--- a/core/java/test/net/i2p/crypto/SessionEncryptionTest.java
+++ b/core/java/test/net/i2p/crypto/SessionEncryptionTest.java
@@ -102,7 +102,8 @@ public class SessionEncryptionTest extends TestCase{
         
         
         
-        _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
+        TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
+        _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
         
         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
         SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
@@ -130,7 +131,8 @@ public class SessionEncryptionTest extends TestCase{
         
         
         
-        _context.sessionKeyManager().tagsDelivered(pubKey, curKey, secondTags);
+        tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, secondTags);
+        _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
         
         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
@@ -199,7 +201,8 @@ public class SessionEncryptionTest extends TestCase{
         
         
         
-        _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
+        TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
+        _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
         
         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
         SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
@@ -226,7 +229,8 @@ public class SessionEncryptionTest extends TestCase{
         
         
         
-        _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, secondTags); // note nextKey not curKey
+        tsh = _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, secondTags); // note nextKey not curKey
+        _context.sessionKeyManager().tagsAcked(pubKey, nextKey, tsh);
         
         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
@@ -288,9 +292,11 @@ public class SessionEncryptionTest extends TestCase{
             
             if ( (tags != null) && (tags.size() > 0) ) {
                 if (nextKey == null) {
-                    _context.sessionKeyManager().tagsDelivered(pubKey, curKey, tags);
+                    TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, tags);
+                    _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
                 } else {
-                    _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, tags);
+                    TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, tags);
+                    _context.sessionKeyManager().tagsAcked(pubKey, nextKey, tsh);
                 }
             }
         }
diff --git a/history.txt b/history.txt
index 4a050aee46c4bf1f07cf7717f5c5daa68f425503..550bf530414381fb585c3f075ff6ca9263e4cd2a 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,43 @@
+2011-02-13 zzz
+    * Connect Client: Minor NPE fix cleanup
+    * JobQueue: Prevet NPE at shutdown (thanks liberty)
+    * GeoIP: Prevent startup NPE (ticket #413, thanks RN)
+    * NetDB: Prevent ExpireLeaseJob NPE (thanks sponge)
+
+2011-02-11 Mathiasdm
+    * routerconsole: fixed graphs using jrobin; and headless issue
+          in general: no more switches between headless and non-headless.
+
+2011-02-11 sponge
+    * I2PTunnel: fix NPE in I2PTunnelConnectClient
+
+2011-02-10 sponge
+    * I2CP: fix NPE in QueuedClientConnectionRunner
+
+2011-02-10 zzz
+    * I2CP: Correctly close internal connections on the router side
+            when closed by the client, was causing massive memory leak
+            for internal clients using lots of sessions (thanks sponge)
+    * i2psnark:
+      - Improved magnet link parsing, use tr parameter if present
+    * i2ptunnel: Change shared clients default for new clients to false
+    * Streaming: Don't use iter.remove() on a COWAS
+
+2011-02-09 sponge
+    * BOB: fixup delivery in config, adds config file versioning.
+    * I2CP: Fix most of the I2CP leaks. Two leaks remain, but they are small.
+            net.i2p.internal.QueuedI2CPMessageReader and
+            net.i2p.router.client.I2CPMessageQueueImpl
+            are the two remaining leaks.
+
+2011-02-07 zzz
+    * i2psnark:
+      - Check for dup magnet torrent when adding torrent file
+      - Add exotrack.i2p (ticket #403)
+      - Disable spellcheck in textarea
+    * i2ptunnel: Generate error message when i2ptunnel.config save fails
+                 (ticket #404)
+
 2011-02-06 zzz
     * i2psnark: Fix maggot links, and magnet links with trailing parameters (thx user)
 
diff --git a/installer/resources/hosts.txt b/installer/resources/hosts.txt
index 27f06ee62d9ac0b7320a2af23da53cfe3d22af78..2f104a901d5a65ce45e3c9e92ba5124e74e4c55d 100644
--- a/installer/resources/hosts.txt
+++ b/installer/resources/hosts.txt
@@ -325,3 +325,4 @@ i2plugins.i2p=7oQz2gHOxFXxXTI6uGMk1Giv9UmviBhbubWKDjDqW1Rxvmm55tvC1znaAAZoV0X6YP
 i2pbote.i2p=~taSfBfeiMM5fW~qwUGZr4kAXmSoentWVjlQhTCKWhVj04KV34tLguNQEpHb1cA2eIwlkTpY0TPYUVKt866jLgQEteuIImmNuStVgm6DWh4baPqI22oSNC7O-4EW6PJy1tT9nr1NXu5p4w2jY4P4Css76xthaf6Z5YUOWAIwnMlptyac-qFHmjmU3CFqvKQgBnA4NB0ts7Y2~TcvciANllfsjfsMgFdg--FYpKiwC8bSsTHKJ3~oGb6osMqql~Vzr6kvIzfLnvabbuW8wjG2JvATBuJ3IY-BN59KdT84nc00SuMgmt1ywVvHOl0~n8Cjr1hASYiJ2FTxEQRbQ9WRaxbnk5BO~yeiedCsjw7ImsSES3GzcU5zVVx9p3bgx7P~X0h52VripL6bovj9YJznN3qw0eRCJGjY-du8azFNV6~6ZZ6ss14RNC~HKIzlhR7F5kF~4H2wfC1EdNlmm1cI0iYRdEdwSSVX47LngHyK-ZQbVZOGeEeCU8J8Vhk~8WdLAAAA
 planet.i2p=W0omtMApOdlTkgJoct08QnzDkeb~xc60df5Cx3k3qqOFmyEkRB65NdpSdvldI5STmXmXlZe68f8Hu1dfBMmKvfpBFMpP-mRVYuHbEa4N1dRkp3AOswZFO51lSC~MVPMZKGHAv0cfv5WFaJ9nfuaR7iYYWJF11xotoPTMbJdB-I3XPC8rxHI-73ATlOD4cU9oZ6BYcBE0dun9zw4IHBcRpnFRx~s-TkevNfPnBqujB-NNgA8a5s~QUj0h3FwwUWsNB8f1Uwy~DwoQh7pMp6dsZ3umEyBn2HaXZasSmbzB30qkQRs9vrAtIFdIzCQ~8gI2cHdHEPgExUQX~xlM8QZEgnLXSfS93asWPdpitv~KT7bO-35BgTBdCozHTCcvys6bYJ24UnkFVBE0D2L0t98neelWkJSaEU0QzxdRphoCZY8OABQIaS4qw6PEFD1Un1vxNCh~TDFWcYBZ3Rqsc~ISW0wF7oOS6-DPT3q5O8cGLc8iAEdRchrU9XyAHAKVlEZxAAAA
 outproxy2.h2ik.i2p=zjXqVu1pnPpsR0DnqiIlAidy8GSLznEupTrb~vUg-NELU3~Gmbqc-soJlYu69VyQdZxVGNZ1PsgacjJwxtd8otZ~lgqsJV2aDJdzDIClEj9hYM4hV4ClHdZQnEOEHj1fc5TK7n31o3jr94kz6ZtdG9eL7F~YIE7EcADJ7ECg-wz05~xj8NK4gH67mMSCHgX92RTQRTGFtxxrPkVRLD8GE069wGmRpV9xt3wZqn12ijdo1HjNMbqxZfSbulscm0M2~qy4fwzF1OYWSg5-~NY02iNygwKYhG2CdgDyFALVGvHfJ-wzZ~pKj62-c8HVg1qHE6B1bKKO5GID03JoRAlEeZFkrqqmUQyQvzxhlUJlcnaBOaCoIm9L8999cHQj7-JHJTTvJ2TltvSbj1TcyoIFEdSyW22TJGRMoopezPoCERhemy79cb~SvsK46m4J7hBDjQl7Rgzp-uC5aSMEN3PU2g1w5A3DWxodUy2Zzg~moJaKbeS8Vf~mLVEt63djlFMxAAAA
+exotrack.i2p=Ly1vs4plBuGisqlMiQOjhVkXFZPBMy9joSCrus~tuLXBRXDrPYG9WXJMzY4gb3LiW0VVawv0kLgikX8eeeruXmgKwQW5zB9UPSP0CQnXTRelE3Jn7lev~re4woHvgS-EGBwWikxqXF3f7W8-LhieI0JhBZxItiWhJJME07oncW0kgS8UIMl0wqN2Y-p0sryFCN056TfGNTXigfxrSLqKnpi6a2OyEkF62qvRID3qXzRque0vKQjqvavq2mqxjFrSgLUoyKod5h9Px6qK08gtoAyDKMLPk7fPgReYKj6awiOxRSGfsMpZD3~ZuV0Sts2XtCau3S3myYMIDe5oKziPtZRIej4KBDxT0YYIw5v4RoqzqF88gNgHDfkPZ25JKTOt5xGcPTG8kwYrtx39PX6NrJmv-I~LUz6sZZlIW24k1qbO7zBxZ6mazldQY1~FJGXzn5MNzsxp44iOZdMDJJh18N0Psthk2hqlQOS4L0Ss1Odm1czhBxf1Y~j3L-QsMttcAAAA
diff --git a/installer/resources/readme/readme.html b/installer/resources/readme/readme.html
index e6cfe69a894e14be2cab9bdf92bacfd983e5aef2..176f79d8b1ed70cc6016fb2d0bc0642797bdf3c7 100644
--- a/installer/resources/readme/readme.html
+++ b/installer/resources/readme/readme.html
@@ -89,7 +89,7 @@ If you're behind a prohibitive firewall but have unrestricted outbound access, I
   make sure your browser's proxy is set to access http traffic (<i>not</i> https, <i>not</i> socks) via <code>127.0.0.1 port 4444</code>. If you need some help, there's <a href="http://www.i2p2.i2p/htproxyports.html" target="_blank">a guide</a> to configuring your browser for I2P use, also <a href="http://www.i2p2.de/htproxyports.html" target="_blank">available</a> on the normal web. </li>
 
   <li class="tidylist"><b>Check Your Logs</b><br><a href="/logs">Logs</a> may help resolve a problem. You may wish to paste excerpts in a <a href="http://forum.i2p/viewforum.php?f=10" target="_blank">forum</a> for help, or perhaps <a href="http://paste.i2p2.i2p/" target="_blank">paste</a> it instead and reference the link on IRC for help.</li> 
-  <li class="tidylist"><b>Verify Java is Up to Date</b><br>Ensure your Java is up to date [version 1.6 recommended and required for some features]. If you don't have Java installed, you probably want some implementation of the JRE (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/JRE" target="_blank">Java Runtime Engine</a>); if you're a developer, the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Java_SDK" target="_blank">SDK</a> may also be of interest, and possibly <a href="http://ant.apache.org/" target="_blank">Apache Ant</a> which we use to build the I2P Java binaries.
+  <li class="tidylist"><b>Verify Java is Up to Date</b><br>Ensure your Java is up to date [version 1.6 recommended and required for some features]. If you don't have Java installed, you probably want some implementation of the JRE (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/JRE" target="_blank">Java Runtime Environment</a>); if you're a developer, the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Java_SDK" target="_blank">SDK</a> may also be of interest, and possibly <a href="http://ant.apache.org/" target="_blank">Apache Ant</a> which we use to build the I2P Java binaries.
   </li>
  
   <li class="tidylist"><b>Problems running on Legacy Hardware</b><br>[Linux/Unix/Solaris] If you can't start the router with <code>i2p/i2prouter start</code> try the <code>runplain.sh</code> script in the same directory. Root privileges are usually not required to run I2P. If you need to compile the <a href="http://www.i2p2.i2p/jbigi.html" target="_blank">jBigi library</a> (which is necessary in rare cases), consult appropriate documentation, visit the forums, or come pay a visit to our <a href="irc://127.0.0.1:6668/i2p-dev">IRC developer channel</a>.
diff --git a/router/java/src/net/i2p/router/JobQueue.java b/router/java/src/net/i2p/router/JobQueue.java
index 86c050b0868c244ad190a48ebcbc04eb88661de9..70a1b3bfef23d89cf47f839eab4911152bd2ce75 100644
--- a/router/java/src/net/i2p/router/JobQueue.java
+++ b/router/java/src/net/i2p/router/JobQueue.java
@@ -227,10 +227,14 @@ public class JobQueue {
     }
 
     public long getMaxLag() { 
+            // first job is the one that has been waiting the longest
             Job j = _readyJobs.peek();
             if (j == null) return 0;
-            // first job is the one that has been waiting the longest
-            long startAfter = j.getTiming().getStartAfter();
+            JobTiming jt = j.getTiming();
+            // PoisonJob timing is null, prevent NPE at shutdown
+            if (jt == null)
+                return 0;
+            long startAfter = jt.getStartAfter();
             return _context.clock().now() - startAfter;
     }
     
diff --git a/router/java/src/net/i2p/router/RouterContext.java b/router/java/src/net/i2p/router/RouterContext.java
index d57c62635540f378657d2404be0ff4fdee477a14..ee891b230bdabffa8e0abdf409a075ff70c11dd0 100644
--- a/router/java/src/net/i2p/router/RouterContext.java
+++ b/router/java/src/net/i2p/router/RouterContext.java
@@ -6,6 +6,7 @@ import java.util.Properties;
 
 import net.i2p.I2PAppContext;
 import net.i2p.data.Hash;
+import net.i2p.data.RouterInfo;
 import net.i2p.internal.InternalClientManager;
 import net.i2p.router.client.ClientManagerFacadeImpl;
 import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
@@ -170,8 +171,20 @@ public class RouterContext extends I2PAppContext {
     
     /** what router is this context working for? */
     public Router router() { return _router; }
-    /** convenience method for querying the router's ident */
-    public Hash routerHash() { return _router.getRouterInfo().getIdentity().getHash(); }
+
+    /**
+     *  Convenience method for getting the router hash.
+     *  Equivalent to context.router().getRouterInfo().getIdentity().getHash()
+     *  @return may be null if called very early
+     */
+    public Hash routerHash() {
+        if (_router == null)
+            return null;
+        RouterInfo ri = _router.getRouterInfo();
+        if (ri == null)
+            return null;
+        return ri.getIdentity().getHash();
+    }
 
     /**
      * How are we coordinating clients for the router?
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index f6e6df3a5c0d10fbf1efc2f7069c342c2fe16f4e..7ca1a3ec2c4e6b0a58a1f89cf73e6cb3036dcf84 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 4;
+    public final static long BUILD = 10;
 
     /** for example "-test" */
     public final static String EXTRA = "";
diff --git a/router/java/src/net/i2p/router/client/QueuedClientConnectionRunner.java b/router/java/src/net/i2p/router/client/QueuedClientConnectionRunner.java
index 758e8221e76e1956f1ed9596f3be895513e27414..aac9b68e0cfa528e23bd4d3105837678a1d410ce 100644
--- a/router/java/src/net/i2p/router/client/QueuedClientConnectionRunner.java
+++ b/router/java/src/net/i2p/router/client/QueuedClientConnectionRunner.java
@@ -46,6 +46,7 @@ class QueuedClientConnectionRunner extends ClientConnectionRunner {
     void stopRunning() {
         super.stopRunning();
         queue.close();
+        // queue = null;
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java
index 59d8fc42919c9e16643605eb811776466ddcf989..6ea401d6671b145288eecadc20dba0e3288c72e3 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java
@@ -9,7 +9,7 @@ package net.i2p.router.networkdb.kademlia;
  */
 
 import java.util.HashSet;
-import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 
 import net.i2p.data.DatabaseEntry;
@@ -27,8 +27,8 @@ import net.i2p.util.Log;
  *
  */
 class ExpireLeasesJob extends JobImpl {
-    private Log _log;
-    private KademliaNetworkDatabaseFacade _facade;
+    private final Log _log;
+    private final KademliaNetworkDatabaseFacade _facade;
     
     private final static long RERUN_DELAY_MS = 1*60*1000;
     
@@ -39,11 +39,11 @@ class ExpireLeasesJob extends JobImpl {
     }
     
     public String getName() { return "Expire Lease Sets Job"; }
+
     public void runJob() {
-        Set toExpire = selectKeysToExpire();
+        Set<Hash> toExpire = selectKeysToExpire();
         _log.info("Leases to expire: " + toExpire);
-        for (Iterator iter = toExpire.iterator(); iter.hasNext(); ) {
-            Hash key = (Hash)iter.next();
+        for (Hash key : toExpire) {
             _facade.fail(key);
             //_log.info("Lease " + key + " is expiring, so lets look for it again", new Exception("Expire and search"));
             //_facade.lookupLeaseSet(key, null, null, RERUN_DELAY_MS);
@@ -57,17 +57,15 @@ class ExpireLeasesJob extends JobImpl {
      * don't have any leases that haven't yet passed, even with the CLOCK_FUDGE_FACTOR)
      *
      */
-    private Set selectKeysToExpire() {
-        Set keys = _facade.getDataStore().getKeys();
-        Set toExpire = new HashSet(128);
-        for (Iterator iter = keys.iterator(); iter.hasNext(); ) {
-            Hash key = (Hash)iter.next();
-            DatabaseEntry obj = _facade.getDataStore().get(key);
+    private Set<Hash> selectKeysToExpire() {
+        Set<Hash> toExpire = new HashSet(128);
+        for (Map.Entry<Hash, DatabaseEntry> entry : _facade.getDataStore().getMapEntries()) {
+            DatabaseEntry obj = entry.getValue();
             if (obj.getType() == DatabaseEntry.KEY_TYPE_LEASESET) {
                 LeaseSet ls = (LeaseSet)obj;
                 if (!ls.isCurrent(Router.CLOCK_FUDGE_FACTOR))
-                    toExpire.add(key);
-                else
+                    toExpire.add(entry.getKey());
+                else if (_log.shouldLog(Log.DEBUG))
                     _log.debug("Lease " + ls.getDestination().calculateHash() + " is current, no need to expire");
             }
         }
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/ExpireRoutersJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/ExpireRoutersJob.java
index 1d7de01389c0308d2084724805705e7b7e26772b..60bfb6e3aa02cff389b38004326c83849f235bb5 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/ExpireRoutersJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/ExpireRoutersJob.java
@@ -9,7 +9,6 @@ package net.i2p.router.networkdb.kademlia;
  */
 
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.Set;
 
 import net.i2p.data.Hash;
@@ -28,8 +27,8 @@ import net.i2p.util.Log;
  *
  */
 class ExpireRoutersJob extends JobImpl {
-    private Log _log;
-    private KademliaNetworkDatabaseFacade _facade;
+    private final Log _log;
+    private final KademliaNetworkDatabaseFacade _facade;
     
     /** rerun fairly often, so the fails don't queue up too many netdb searches at once */
     private final static long RERUN_DELAY_MS = 120*1000;
@@ -41,11 +40,13 @@ class ExpireRoutersJob extends JobImpl {
     }
     
     public String getName() { return "Expire Routers Job"; }
+
     public void runJob() {
-        Set toExpire = selectKeysToExpire();
-        _log.info("Routers to expire (drop and try to refetch): " + toExpire);
-        for (Iterator iter = toExpire.iterator(); iter.hasNext(); ) {
-            Hash key = (Hash)iter.next();
+        // this always returns an empty set (see below)
+        Set<Hash> toExpire = selectKeysToExpire();
+        if (_log.shouldLog(Log.INFO))
+            _log.info("Routers to expire (drop and try to refetch): " + toExpire);
+        for (Hash key : toExpire) {
             _facade.fail(key);
         }
         _facade.queueForExploration(toExpire);
@@ -61,9 +62,8 @@ class ExpireRoutersJob extends JobImpl {
      *
      * @return nothing for now
      */
-    private Set selectKeysToExpire() {
-        for (Iterator iter = _facade.getAllRouters().iterator(); iter.hasNext(); ) {
-            Hash key = (Hash)iter.next();
+    private Set<Hash> selectKeysToExpire() {
+        for (Hash key : _facade.getAllRouters()) {
             // Don't expire anybody we are connected to
             if (!getContext().commSystem().isEstablished(key)) {
                 // This does a _facade.validate() and fail() which is sufficient...
diff --git a/router/java/src/net/i2p/router/transport/GeoIP.java b/router/java/src/net/i2p/router/transport/GeoIP.java
index 1406460eece1bf08af0923d4b8ee200223d08236..1593487cf9d950d0f9fd413e0b8eab21bb6466b8 100644
--- a/router/java/src/net/i2p/router/transport/GeoIP.java
+++ b/router/java/src/net/i2p/router/transport/GeoIP.java
@@ -16,6 +16,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import net.i2p.data.DataHelper;
+import net.i2p.data.Hash;
 import net.i2p.router.RouterContext;
 import net.i2p.util.ConcurrentHashSet;
 import net.i2p.util.Log;
@@ -251,7 +252,11 @@ class GeoIP {
      */
     private void updateOurCountry() {
         String oldCountry = _context.router().getConfigSetting(PROP_IP_COUNTRY);
-        String country = _context.commSystem().getCountry(_context.routerHash());
+        Hash ourHash = _context.routerHash();
+        // we should always have a RouterInfo by now, but we had one report of an NPE here
+        if (ourHash == null)
+            return;
+        String country = _context.commSystem().getCountry(ourHash);
         if (country != null && !country.equals(oldCountry)) {
             _context.router().setConfigSetting(PROP_IP_COUNTRY, country);
             _context.router().saveConfig();