diff --git a/.tx/config b/.tx/config
index 114a899967c0f63999d56313cbe5325ce4affd88..060c32625f9406ae6c54df4c83f443ef2cbcade9 100644
--- a/.tx/config
+++ b/.tx/config
@@ -1,7 +1,10 @@
 [I2P.i2ptunnel]
 source_file = apps/i2ptunnel/locale/messages_en.po
 source_lang = en
+trans.ar = apps/i2ptunnel/locale/messages_ar.po
 trans.de = apps/i2ptunnel/locale/messages_de.po
+trans.es = apps/i2ptunnel/locale/messages_es.po
+trans.fr = apps/i2ptunnel/locale/messages_fr.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
@@ -9,6 +12,7 @@ trans.zh_CN = apps/i2ptunnel/locale/messages_zh.po
 [I2P.routerconsole]
 source_file = apps/routerconsole/locale/messages_en.po
 source_lang = en
+trans.ar = apps/routerconsole/locale/messages_ar.po
 trans.de = apps/routerconsole/locale/messages_de.po
 trans.es = apps/routerconsole/locale/messages_es.po
 trans.fr = apps/routerconsole/locale/messages_fr.po
@@ -16,22 +20,10 @@ 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.susimail]
-source_file = apps/susimail/locale/messages_en.po
-source_lang = en
-trans.nl = apps/susimail/locale/messages_nl.po
-
 [I2P.i2psnark]
 source_file = apps/i2psnark/locale/messages_en.po
 source_lang = en
+trans.ar = apps/i2psnark/locale/messages_ar.po
 trans.de = apps/i2psnark/locale/messages_de.po
 trans.es = apps/i2psnark/locale/messages_es.po
 trans.fr = apps/i2psnark/locale/messages_fr.po
@@ -40,13 +32,36 @@ 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.susidns]
+source_file = apps/susidns/locale/messages_en.po
+source_lang = en
+trans.ar = apps/susidns/locale/messages_ar.po
+trans.de = apps/susidns/locale/messages_de.po
+trans.es = apps/susidns/locale/messages_es.po
+trans.fr = apps/susidns/locale/messages_fr.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.desktopgui]
 source_file = apps/desktopgui/locale/messages_en.po
 source_lang = en
+trans.ar = apps/desktopgui/locale/messages_ar.po
+trans.de = apps/desktopgui/locale/messages_de.po
+trans.es = apps/desktopgui/locale/messages_es.po
+trans.fr = apps/desktopgui/locale/messages_fr.po
 trans.nl = apps/desktopgui/locale/messages_nl.po
 trans.ru = apps/desktopgui/locale/messages_ru.po
 trans.zh_CN = apps/desktopgui/locale/messages_zh.po
 
+[I2P.susimail]
+source_file = apps/susimail/locale/messages_en.po
+source_lang = en
+trans.de = apps/susimail/locale/messages_de.po
+trans.es = apps/susimail/locale/messages_es.po
+trans.fr = apps/susimail/locale/messages_fr.po
+trans.nl = apps/susimail/locale/messages_nl.po
+
 [main]
 host = http://www.transifex.net
 
diff --git a/LICENSE.txt b/LICENSE.txt
index 0539f2bcdbf35b0102153e1dfed5a3606f4eeeb7..28be4334802eacf9122ebae79845139e52818763 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -174,7 +174,7 @@ Applications:
    See licenses/LICENSE-Apache2.0.txt
    See licenses/NOTICE-Commons-Logging.txt
 
-   JRobin 1.4.0:
+   JRobin 1.5.9.1:
    See licenses/LICENSE-LGPLv2.1.txt
 
    Ministreaming Lib:
diff --git a/apps/desktopgui/locale/messages_de.po b/apps/desktopgui/locale/messages_de.po
new file mode 100644
index 0000000000000000000000000000000000000000..7963075df58038ba79ccbc965b514a9499261c24
--- /dev/null
+++ b/apps/desktopgui/locale/messages_de.po
@@ -0,0 +1,55 @@
+# 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\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-03 18:29+0000\n"
+"PO-Revision-Date: 2011-03-22 15:49+0000\n"
+"Last-Translator: blabla <blabla@trash-mail.com>\n"
+"Language-Team: German <>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
+msgid "Start I2P"
+msgstr "I2P starten"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr "I2P startet gerade!"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr "Startend"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
+msgid "Launch I2P Browser"
+msgstr "I2P-Browser öffnen"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr "Desktopgui konfigurieren"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Restart I2P"
+msgstr "I2P neustarten"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
+msgid "Stop I2P"
+msgstr "I2P beenden"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
+msgid "Tray icon configuration"
+msgstr "Systemleistensymbol konfigurieren"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
+msgid "Should tray icon be enabled?"
+msgstr "Systemleistensymbol aktivieren?"
diff --git a/apps/desktopgui/locale/messages_es.po b/apps/desktopgui/locale/messages_es.po
new file mode 100644
index 0000000000000000000000000000000000000000..a458f3ad7861a77c7b478c6751f92cd63a67bf6e
--- /dev/null
+++ b/apps/desktopgui/locale/messages_es.po
@@ -0,0 +1,56 @@
+# 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\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-03 18:29+0000\n"
+"PO-Revision-Date: 2011-04-02 23:57+0100\n"
+"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"Language-Team: Spanish (Castilian) <None>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
+msgid "Start I2P"
+msgstr "Iniciar I2P"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr "I2P está iniciando!"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr "Iniciando"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
+msgid "Launch I2P Browser"
+msgstr "Lanzar navegador I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr "Configurar desktopgui"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Restart I2P"
+msgstr "Reiniciar I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
+msgid "Stop I2P"
+msgstr "Detener I2P"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
+msgid "Tray icon configuration"
+msgstr "Configuración del ícono de la barra de tareas"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
+msgid "Should tray icon be enabled?"
+msgstr "¿Debería estar activado el ícono de la barra de tareas?"
+
diff --git a/apps/desktopgui/locale/messages_fr.po b/apps/desktopgui/locale/messages_fr.po
new file mode 100644
index 0000000000000000000000000000000000000000..f816891d03f6ebd93fc17273c67ecd1dcc5489a1
--- /dev/null
+++ b/apps/desktopgui/locale/messages_fr.po
@@ -0,0 +1,56 @@
+# 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-03-03 18:29+0000\n"
+"PO-Revision-Date: 2011-03-30 21:58+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"Language: \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 "Démarrer I2P"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "I2P is starting!"
+msgstr "I2P démarre!"
+
+#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
+msgid "Starting"
+msgstr "Démarrage"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:26
+msgid "Launch I2P Browser"
+msgstr "Lancer le navigateur"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:50
+msgid "Configure desktopgui"
+msgstr "Configurer l'interface de bureau"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:67
+msgid "Restart I2P"
+msgstr "Redémarrer I2P"
+
+#: src/net/i2p/desktopgui/InternalTrayManager.java:85
+msgid "Stop I2P"
+msgstr "Arrêter I2P"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
+msgid "Tray icon configuration"
+msgstr "Configuration de l'icône de notification"
+
+#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
+msgid "Should tray icon be enabled?"
+msgstr "Activer l'icône de notification"
+
diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
index 365eb14b37d5a04b30851fc7cb83d01334a19a8e..695cd7b7a313597cd322c213e57e959094f21b73 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
@@ -983,6 +983,8 @@ public class SnarkManager implements Snark.CompleteListener {
         } else if (info.getPieceLength(0) > Storage.MAX_PIECE_SIZE) {
             return _("Pieces are too large in \"{0}\" ({1}B), deleting it.", info.getName(), DataHelper.formatSize2(info.getPieceLength(0))) + ' ' +
                    _("Limit is {0}B", DataHelper.formatSize2(Storage.MAX_PIECE_SIZE));
+        } else if (info.getTotalLength() <= 0) {
+            return _("Torrent \"{0}\" has no data, deleting it!", info.getName());
         } else if (info.getTotalLength() > Storage.MAX_TOTAL_SIZE) {
             System.out.println("torrent info: " + info.toString());
             List lengths = info.getLengths();
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
index f9d93ca0731f801fee2dc1299620d93f7e44fb71..1183e9bf352aa19ccee9652b9ab3bde398da4f5a 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
@@ -111,6 +111,9 @@ public class Storage
         lengthsList.add(Long.valueOf(length));
       }
 
+    if (total <= 0)
+        throw new IOException("Torrent contains no data");
+
     int pc_size = MIN_PIECE_SIZE;
     int pcs = (int) ((total - 1)/pc_size) + 1;
     while (pcs > MAX_PIECES && pc_size < MAX_PIECE_SIZE)
diff --git a/apps/i2psnark/locale/messages_es.po b/apps/i2psnark/locale/messages_es.po
index c7d658288239e587bc2dd36dc00275ca96175daf..d9202455796fb4efe5e397acf469dd459b629787 100644
--- a/apps/i2psnark/locale/messages_es.po
+++ b/apps/i2psnark/locale/messages_es.po
@@ -6,23 +6,22 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: I2P i2psnark\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
 "POT-Creation-Date: 2011-03-03 18:28+0000\n"
-"PO-Revision-Date: 2011-01-03 00:58+0100\n"
+"PO-Revision-Date: 2011-04-03 01:46+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
-"Language-Team: foo <foo@bar>\n"
-"Language: \n"
+"Language-Team: Spanish (Castilian) <None>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Spanish\n"
+"Language: es\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 "Límite del número total de subidores cambiado a {0}"
+msgstr "Límite del número total de subidores ha cambiado a {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:309
 #, java-format
@@ -40,15 +39,13 @@ msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "El límite mínimo de ancho de banda para la subida está en {0} kbyte/s."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:335
-#, fuzzy, java-format
+#, java-format
 msgid "Startup delay changed to {0}"
-msgstr "Demora del arranque cambiado a {0} minutos"
+msgstr "Tiempo de espera al inicio fue cambiada a {0}."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
-msgstr ""
-"Cambios de I2CP y del túnel tomarán efecto despues de detener todos los "
-"torrents."
+msgstr "Cambios de I2CP y del túnel tomarán efecto despues de detener todos los torrents."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:393
 msgid "Disconnecting old I2CP destination"
@@ -60,11 +57,8 @@ msgid "I2CP settings changed to {0}"
 msgstr "Preferencias de I2CP cambiadas a {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:402
-msgid ""
-"Unable to connect with the new settings, reverting to the old I2CP settings"
-msgstr ""
-"Conectarse no fue posíble con las nuevas preferencias I2CP, utilizaré las "
-"anteriores."
+msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
+msgstr "Conectarse no fue posíble con las nuevas preferencias I2CP, utilizaré las anteriores."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:406
 msgid "Unable to reconnect with the old settings!"
@@ -89,27 +83,20 @@ msgstr "Arranque automático desactivado"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:437
 msgid "Enabled open trackers - torrent restart required to take effect."
-msgstr ""
-"Rastreadores abiertos activados - Para aplicar ello es necesario que "
-"reinicies los torrents."
+msgstr "Rastreadores abiertos activados - Para aplicar ello es necesario que reinicies los torrents."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:439
 msgid "Disabled open trackers - torrent restart required to take effect."
-msgstr ""
-"Rastreadores abiertos desactivados - Para aplicar ello es necesario que "
-"reinicies los torrents."
+msgstr "Rastreadores abiertos desactivados - Para aplicar ello es necesario que reinicies los torrents."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:447
 msgid "Open Tracker list changed - torrent restart required to take effect."
-msgstr ""
-"Lista de rastreadores abiertos cambiada - Para aplicar ello es necesario que "
-"reinicies los torrents."
+msgstr "Lista de rastreadores abiertos cambiada - Para aplicar ello es necesario que reinicies los torrents."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:454
 #, java-format
 msgid "{0} theme loaded, return to main i2psnark page to view."
-msgstr ""
-"Tema {0} cargado. ¡Vuelve a la página principal de i2psnark para verlo!"
+msgstr "Tema {0} cargado. ¡Vuelve a la página principal de i2psnark para verlo!"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:461
 msgid "Configuration unchanged."
@@ -139,34 +126,30 @@ msgstr "Error: No se ha podido añadir el torrent {0}."
 msgid "Cannot open \"{0}\""
 msgstr "No se puede abrir \"{0}\""
 
-#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
+#. 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:1976
-#, fuzzy, java-format
+#, java-format
 msgid "Torrent with this info hash is already running: {0}"
-msgstr "Torrent ya en marcha: {0}"
+msgstr "Ya hay un Torrent con este hash ejecutándose: {0}"
 
-#. 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 and DHT only.", info.getName()));
 #: ../java/src/org/klomp/snark/SnarkManager.java:593
-#, fuzzy, java-format
-msgid ""
-"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers "
-"only."
-msgstr ""
-"Advertencia - Se ignora rastreado no I2P en \"{0}\", anunciando sólo a los "
-"rastreadorse abiertos de I2P"
+#, java-format
+msgid "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only."
+msgstr "Advertencia - No hay rastreadores de I2P en \"{0}\", se anunciará solamente a los rastreadores I2P abiertos."
 
-#. 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()));
 #: ../java/src/org/klomp/snark/SnarkManager.java:598
-#, fuzzy, java-format
-msgid ""
-"Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is "
-"enabled before starting this torrent."
-msgstr ""
-"Advertencia - Se ignora rastreado no I2P en \"{0}\", rastreadores abiertos "
-"están desactivados. ¡Tienes que activarlos antes de iniciar el torrent!"
+#, java-format
+msgid "Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent."
+msgstr "Advertencia - No se encuentran rastreadores de I2P en \"{0}\". Asegúrate de que OpenTracker esté activado antes de iniciar este torrent."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:619
 #, java-format
@@ -177,7 +160,7 @@ msgstr "El archivo .torrent en \"{0}\" no es válido."
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1999
 #, java-format
 msgid "ERROR - Out of memory, cannot create torrent from {0}"
-msgstr ""
+msgstr "ERROR - Falta de memoria, no se puede crear un torrent de {0}."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:635
 #, java-format
@@ -197,15 +180,13 @@ msgstr "Recogiendo {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 ""
+msgid "We have no saved peers and no other torrents are running. Fetch of {0} will not succeed until you start another torrent."
+msgstr "No tenemos guardado ningún par y no se está activo ningún otro torrent. La obtención de {0} no tendrá éxito hasta que inicies otro torrent."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:679
-#, fuzzy, java-format
+#, java-format
 msgid "Adding {0}"
-msgstr "Recogiendo {0}"
+msgstr "Añadiendo {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:726
 #: ../java/src/org/klomp/snark/SnarkManager.java:749
@@ -222,9 +203,7 @@ msgstr "Hay demasiados archivos en  \"{0}\", se borrará ({1}). "
 #: ../java/src/org/klomp/snark/SnarkManager.java:974
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
-msgstr ""
-"Archivo de datos del torrent \"{0}\" no puede terminar en \".torrent' y será "
-"borrado."
+msgstr "Archivo de datos del torrent \"{0}\" no puede terminar en \".torrent' y será borrado."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:976
 #, java-format
@@ -249,8 +228,7 @@ msgstr "El límite es de \"{0}\"Bytes"
 #: ../java/src/org/klomp/snark/SnarkManager.java:989
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
-msgstr ""
-"Torrents más grandes que \"{0}\"Bytes aún no funcionan, se borrará \"{1}\"."
+msgstr "Torrents más grandes que \"{0}\"Bytes aún no funcionan, se borrará \"{1}\"."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:1005
 #, java-format
@@ -269,9 +247,9 @@ msgid "Torrent removed: \"{0}\""
 msgstr "Torrent quitado: \"{0}\""
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:1073
-#, fuzzy, java-format
+#, java-format
 msgid "Adding torrents in {0}"
-msgstr "Se añaden los torrents en {0} minutos ..."
+msgstr "Añadiendo torrents en {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:1122
 #, java-format
@@ -279,9 +257,9 @@ msgid "Download finished: {0}"
 msgstr "Terminada la descarga de \"{0}\""
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:1170
-#, fuzzy, java-format
+#, java-format
 msgid "Metainfo received for {0}"
-msgstr "Torrent no se ha podido obtener de {0}"
+msgstr "Metainfo recibida para {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:1171
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:525
@@ -423,15 +401,15 @@ msgstr[0] "1 par conectado"
 msgstr[1] "{0} pares conectados"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:496
-#, fuzzy, java-format
+#, java-format
 msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
-msgstr "Dirección no válida - tiene que comenzar con http://"
+msgstr "URL no válida: debe comenzar con \"http://\", \"{0}\", o \"{1}\"."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:544
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:571
-#, fuzzy, java-format
+#, java-format
 msgid "Magnet deleted: {0}"
-msgstr "Ha sido borrada la carpeta de datos: {0}"
+msgstr "Magnet eliminado: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:552
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:577
@@ -467,12 +445,8 @@ msgstr "Torrent creado para \"{0}\""
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:655
 #, java-format
-msgid ""
-"Many I2P trackers require you to register new torrents before seeding - "
-"please do so before starting \"{0}\""
-msgstr ""
-"Muchos rastreadores en I2P requieren que te registres, antes de que puedas "
-"subir el torrent. Por favor, ¡hazlo antes de iniciar \"{0}\"!"
+msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
+msgstr "Muchos rastreadores en I2P requieren que te registres, antes de que puedas subir el torrent. Por favor, ¡hazlo antes de iniciar \"{0}\"!"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657
 #, java-format
@@ -486,8 +460,7 @@ msgstr "No se puede crear un torrent para datos inexistentes: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:663
 msgid "Error creating torrent - you must enter a file or directory"
-msgstr ""
-"Error al crear el torrent - Tienes que especificar un archivo o una carpeta."
+msgstr "Error al crear el torrent - Tienes que especificar un archivo o una carpeta."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:666
 msgid "Stopping all torrents and closing the I2P tunnel."
@@ -552,9 +525,8 @@ msgid "Stopped"
 msgstr "detenido"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:886
-#, fuzzy
 msgid "Torrent details"
-msgstr "Torrents"
+msgstr "Detalles del torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:898
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160
@@ -587,21 +559,15 @@ msgstr "Iniciar"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:982
 msgid "Remove the torrent from the active list, deleting the .torrent file"
-msgstr ""
-"Quita el torrent de la lista de los torrents activos borrando el archivo ."
-"torrent"
+msgstr "Quita el torrent de la lista de los torrents activos borrando el archivo .torrent"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:987
 #, java-format
-msgid ""
-"Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
-"data will not be deleted) ?"
-msgstr ""
-"¿Estás seguro de que quieres borrar el archivo \\''{0}.torrent\\''? (Datos "
-"bajados no se borrarán.)"
+msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?"
+msgstr "¿Estás seguro de que quieres borrar el archivo \\''{0}.torrent\\''? (Datos bajados no se borrarán.)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:990
 msgid "Remove"
@@ -616,12 +582,8 @@ msgstr "Borrar el archivo torrent y el/los archivo(s) de datos pertenecientes"
 #. Then the remaining single quite must be escaped
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1006
 #, java-format
-msgid ""
-"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
-"data?"
-msgstr ""
-"¿Estás seguro de que quieres borrar el archivo torrent \\''{0}\\'' y todos "
-"los datos descargados de este torrent?"
+msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?"
+msgstr "¿Estás seguro de que quieres borrar el archivo torrent \\''{0}\\'' y todos los datos descargados de este torrent?"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009
 msgid "Delete"
@@ -649,7 +611,7 @@ msgstr "desinteresado (No tenemos las partes que el par quiere.)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
 msgid "Choking (We are not allowing the peer to request pieces)"
-msgstr "Moderando (De momento no se le permite al par solicitar más partes)"
+msgstr "moderando (De momento no se le permite al par solicitar más partes)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1159
 #, java-format
@@ -665,9 +627,8 @@ msgid "From URL"
 msgstr "URL fuente"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1193
-msgid ""
-"Enter the torrent file download URL (I2P only), magnet link, or maggot link"
-msgstr ""
+msgid "Enter the torrent file download URL (I2P only), magnet link, or maggot link"
+msgstr "Introduce la URL de descarga de torrent (I2P solamente), enlace magnet o un enlace maggot"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
 msgid "Add torrent"
@@ -680,23 +641,21 @@ msgstr "También puedes copiar archivos torrent a {0}."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203
 msgid "Removing a .torrent will cause it to stop."
-msgstr ""
-"Quitar un archivo torrent resultará en que se detenga el torrent "
-"perteneciente."
+msgstr "Quitar un archivo torrent resultará en que se detenga el torrent perteneciente."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1226
 msgid "Create Torrent"
 msgstr "Crear un torrent"
 
-#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
+#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\"
+#. value=\"" + newFile + "\" /><br>\n");
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229
 msgid "Data to seed"
 msgstr "Datos para sembrar"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233
 msgid "File or directory to seed (must be within the specified path)"
-msgstr ""
-"Archivo o carpeta para sembrar (tiene que estár en la carpeta especificada)"
+msgstr "Archivo o carpeta para sembrar (tiene que estár en la carpeta especificada)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1235
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684
@@ -709,9 +668,8 @@ msgstr "Selecciona un rastreador"
 
 #. out.write(_("Open trackers and DHT only"));
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
-#, fuzzy
 msgid "Open trackers only"
-msgstr "Usar también rastreadores abiertos"
+msgstr "Sólo rastreadores abiertos"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
 msgid "or"
@@ -752,7 +710,7 @@ msgstr "Tema"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1312
 msgid "Startup delay"
-msgstr "Demora del arranque"
+msgstr "Tiempo de espera al arrancar"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314
 msgid "minutes"
@@ -783,12 +741,8 @@ msgid "Use open trackers also"
 msgstr "Usar también rastreadores abiertos"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358
-msgid ""
-"If checked, announce torrents to open trackers as well as the tracker listed "
-"in the torrent file"
-msgstr ""
-"Si está marcado, el torrent se anunciará a los rastreadores abiertos, además "
-"de a los rastreadores especificados."
+msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"
+msgstr "Si está marcado, el torrent se anunciará a los rastreadores abiertos, además de a los rastreadores especificados."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1362
 msgid "Open tracker announce URLs"
@@ -821,12 +775,12 @@ msgstr "Guardar ajustes"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1436
 #, java-format
 msgid "Invalid magnet URL {0}"
-msgstr ""
+msgstr "URL de magnet no válida: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1470
 #, java-format
 msgid "Invalid info hash in magnet URL {0}"
-msgstr ""
+msgstr "Hash de información no válido en la URL magnet {0}"
 
 #. * dummies for translation
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1500
@@ -844,9 +798,8 @@ msgstr[0] "1 túnel"
 msgstr[1] "{0} túneles"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
-#, fuzzy
 msgid "Completion"
-msgstr "completo"
+msgstr "Completado"
 
 #. else unknown
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1667
@@ -855,21 +808,20 @@ msgid "Size"
 msgstr "Tamaño"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1672
-#, fuzzy
 msgid "Files"
-msgstr "Archivo"
+msgstr "Archivos"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1674
 msgid "Pieces"
-msgstr ""
+msgstr "Partes"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1675
 msgid "Piece size"
-msgstr ""
+msgstr "Tamaño de las partes"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697
 msgid "Magnet link"
-msgstr ""
+msgstr "Enlace de magnet"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1714
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1753
@@ -945,84 +897,3 @@ msgstr "Torrent en {0} no era válido"
 msgid "Torrent was not retrieved from {0}"
 msgstr "Torrent no se ha podido obtener de {0}"
 
-#~ msgid "Torrent file must originate from an I2P-based tracker"
-#~ msgstr "El archivo torrent debe incluir un rastreador I2P."
-
-#~ msgid " theme locked and loaded."
-#~ msgstr "tema cargado"
-
-#~ msgid "Hide All Attached Peers [connected/total in swarm]"
-#~ msgstr "Ocultar todos los pares conectados [conectados/todos]"
-
-#~ msgid "Show All Attached Peers [connected/total in swarm]"
-#~ msgstr "Mostrar todos los pares conectados [conectados/todos]"
-
-#~ msgid "Loaded Torrents"
-#~ msgstr "Torrents"
-
-#~ msgid "Estimated Download Time"
-#~ msgstr "tiempo restante de descarga"
-
-#~ msgid "1"
-#~ msgid_plural "{0}"
-#~ msgstr[0] "{0}"
-#~ msgstr[1] "{0}"
-
-#~ msgid "Torrent file {0} does not exist"
-#~ msgstr "Archivo del torrent {0} no existe"
-
-#~ msgid "Copying torrent to {0}"
-#~ msgstr "Copiando torrent a {0}"
-
-#~ msgid "from {0}"
-#~ msgstr "de {0}"
-
-#~ msgid "Downloading"
-#~ msgstr "descargando"
-
-#~ msgid "FileSize"
-#~ msgstr "Tamaño"
-
-#~ msgid "Download Status"
-#~ msgstr "Estado"
-
-#~ msgid "size: {0}B"
-#~ msgstr "Tamaño: {0}Bytes"
-
-#~ msgid "Directory to store torrents and data"
-#~ msgstr "Carpeta para guardar los archivos torrent y los datos"
-
-#~ msgid "Do not download"
-#~ msgstr "No descargues"
-
-#~ msgid "Details"
-#~ msgstr "Detalles"
-
-#~ msgid "Cannot change the I2CP settings while torrents are active"
-#~ msgstr ""
-#~ "No se puede cammbiar los ajustes I2CP mientras estén activos los torrents"
-
-#~ msgid "Non-i2p tracker in \"{0}\", deleting it from our list of trackers!"
-#~ msgstr ""
-#~ "Rastreador fuera de I2P en \"{0}\", borrando de la lista de rastreadores"
-
-#~ msgid "{0} torrents"
-#~ msgstr "{0} Torrents"
-
-#~ msgid "Uninteresting"
-#~ msgstr "no interesante"
-
-#~ msgid "Choked"
-#~ msgstr "frenado"
-
-#~ msgid "Uninterested"
-#~ msgstr "desinteresado"
-
-#~ msgid "Choking"
-#~ msgstr "frenando"
-
-#~ msgid "Custom tracker URL"
-#~ msgstr "URL especial del rastreador"
-
-#~ msgid "Configure"
-#~ msgstr "Ajustes"
diff --git a/apps/i2psnark/locale/messages_fr.po b/apps/i2psnark/locale/messages_fr.po
index f00219065e556417c344e6ea4d2672f71aa4e247..930d9c43031a255d62462656245b0a34fb09b2eb 100644
--- a/apps/i2psnark/locale/messages_fr.po
+++ b/apps/i2psnark/locale/messages_fr.po
@@ -8,15 +8,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-03 18:28+0000\n"
-"PO-Revision-Date: 2010-12-31 02:22+0100\n"
-"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"POT-Creation-Date: 2011-05-02 11:08+0000\n"
+"PO-Revision-Date: 2011-05-19 07:39+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "Language: \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"
+"Plural-Forms: nplurals=2; plural=(n >= 2)\n"
 "X-Poedit-Language: French\n"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:307
@@ -32,23 +32,21 @@ msgstr "La limite minimale agrégée des uploaders est : {0}"
 #: ../java/src/org/klomp/snark/SnarkManager.java:321
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
-msgstr "La limite d’upload modifiée : {0} Ko/s"
+msgstr "Limite d’envoi modifiée : {0} ko/s"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:323
 #, 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’envoi est {0} ko/s"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:335
-#, fuzzy, java-format
+#, java-format
 msgid "Startup delay changed to {0}"
-msgstr "Delais de démarrage modifié : {0} minutes"
+msgstr "Délai de démarrage modifié à {0} minutes"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
-msgstr ""
-"Les modifications I2CP et des tunnels seront prise en compte après avoir "
-"arrêté tous les torrents"
+msgstr "Les modifications d'I2CP et des tunnels seront prise en compte après avoir arrêté tous les torrents"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:393
 msgid "Disconnecting old I2CP destination"
@@ -60,11 +58,8 @@ msgid "I2CP settings changed to {0}"
 msgstr "Les paramètres I2CP ont été changés : {0}"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:402
-msgid ""
-"Unable to connect with the new settings, reverting to the old I2CP settings"
-msgstr ""
-"Impossible de se connecter avec les nouveaux paramètres, retour à l'ancienne "
-"configuration I2CP"
+msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
+msgstr "Impossible de se connecter avec les nouveaux paramètres, retour à l'ancienne configuration I2CP"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:406
 msgid "Unable to reconnect with the old settings!"
@@ -77,42 +72,36 @@ msgstr "Reconnexion sur la nouvelle destination I2CP"
 #: ../java/src/org/klomp/snark/SnarkManager.java:418
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
-msgstr "Listener I2CP redémarré pour \"{0}\""
+msgstr "Écouteur I2CP redémarré pour \"{0}\""
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:429
 msgid "Enabled autostart"
-msgstr "Le démarrage automatique est activé"
+msgstr "Démarrage automatique activé"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Disabled autostart"
-msgstr "Le démarrage automatique est désactivé"
+msgstr "Démarrage automatique désactivé"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:437
 msgid "Enabled open trackers - torrent restart required to take effect."
-msgstr ""
-"Les open trackers sont activés - ceci a nécessité un redémarrage des "
-"torrents pour être pris en compte."
+msgstr "Open trackers activés - redémarrage des torrents requis pour prise en compte."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:439
 msgid "Disabled open trackers - torrent restart required to take effect."
-msgstr ""
-"Les open trackers sont désactivés - ceci a nécessité un redémarrage des "
-"torrents pour être pris en compte."
+msgstr "Open trackers désactivés - redémarrage des torrents requis pour prise en compte."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:447
 msgid "Open Tracker list changed - torrent restart required to take effect."
-msgstr ""
-"Liste des Open trackers modifiée - ceci nécessite un redémarrage des "
-"torrents pour être pris en compte"
+msgstr "Liste des Open trackers modifiée - redémarrage des torrents requis pour prise en compte"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:454
 #, java-format
 msgid "{0} theme loaded, return to main i2psnark page to view."
-msgstr ""
+msgstr "Thème {0}  chargé, revenez à la page d''accueil d''i2psnark pour voir comme il est beau !"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:461
 msgid "Configuration unchanged."
-msgstr "La configuration n'a pas été modifiée"
+msgstr "Aucun changement de configuration."
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:471
 #, java-format
@@ -139,162 +128,152 @@ msgid "Cannot open \"{0}\""
 msgstr "Impossible d’ouvrir: \"{0}\""
 
 #. 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/SnarkManager.java:589
+#: ../java/src/org/klomp/snark/SnarkManager.java:665
+#: ../java/src/org/klomp/snark/SnarkManager.java:720
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1976
-#, fuzzy, java-format
+#, java-format
 msgid "Torrent with this info hash is already running: {0}"
-msgstr "Torrent déjà actif: {0}"
+msgstr "Un torrent avec cette empreinte est déjà actif: {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
-#, fuzzy, java-format
-msgid ""
-"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers "
-"only."
-msgstr ""
-"Attention - Les trackers non-i2p dans \"{0}\" sont ignorés, seuls les open "
-"trackers I2P seront utilisés!"
+#: ../java/src/org/klomp/snark/SnarkManager.java:596
+#, java-format
+msgid "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only."
+msgstr "Attention - Les trackers non-i2p dans \"{0}\" sont ignorés, seuls les trackers ouverts I2P seront utilisés!"
 
 #. 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
-#, fuzzy, java-format
-msgid ""
-"Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is "
-"enabled before starting this torrent."
-msgstr ""
-"Attention - Les trackers non-i2p dans \"{0}\" sont ignorés, et les open "
-"trackers sont désactivés, vous devez activer les open trackers avant de "
-"démarrer le torrent!"
+#: ../java/src/org/klomp/snark/SnarkManager.java:601
+#, java-format
+msgid "Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent."
+msgstr "Attention - aucun tracker i2p dans \"{0}\". Vous devez activer les open trackers avant de démarrer le torrent!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:619
+#: ../java/src/org/klomp/snark/SnarkManager.java:622
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "Le torrent dans \"{0}\" est invalide"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:624
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1999
+#: ../java/src/org/klomp/snark/SnarkManager.java:627
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1998
 #, java-format
 msgid "ERROR - Out of memory, cannot create torrent from {0}"
-msgstr ""
+msgstr "ERREUR - Mémoire insuffisante, impossible de créer le torrent de {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:635
+#: ../java/src/org/klomp/snark/SnarkManager.java:639
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "Torrent ajouté et démarré: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:637
+#: ../java/src/org/klomp/snark/SnarkManager.java:641
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "Torrent ajouté: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:672
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490
+#: ../java/src/org/klomp/snark/SnarkManager.java:676
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491
 #, java-format
 msgid "Fetching {0}"
 msgstr "Envoi {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:675
+#: ../java/src/org/klomp/snark/SnarkManager.java:679
 #, 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 ""
+msgid "We have no saved peers and no other torrents are running. Fetch of {0} will not succeed until you start another torrent."
+msgstr "Aucun pair sauvegardé et aucun autre torrent en cours. Le téléchargement de {0} ne commencera que lorsque vous démarrerez un autre torrent."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:679
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/SnarkManager.java:683
+#, java-format
 msgid "Adding {0}"
-msgstr "Envoi {0}"
+msgstr "Ajout {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
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/SnarkManager.java:730
+#: ../java/src/org/klomp/snark/SnarkManager.java:753
+#: ../java/src/org/klomp/snark/SnarkManager.java:1180
+#, java-format
 msgid "Failed to copy torrent file to {0}"
 msgstr "Impossible de copier le torrent vers {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:972
+#: ../java/src/org/klomp/snark/SnarkManager.java:976
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "Trop de fichiers dans \"{0}\" ({1}), suppression! "
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:974
+#: ../java/src/org/klomp/snark/SnarkManager.java:978
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
-msgstr ""
-"Le fichier torrent \"{0}\" ne peut pas se terminer par \".torrent\", "
-"suppression!"
+msgstr "Le fichier torrent \"{0}\" ne peut pas se terminer par \".torrent\", suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:976
+#: ../java/src/org/klomp/snark/SnarkManager.java:980
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
-msgstr "Pas de morceaux dans \"{0}\", suppression!"
+msgstr "Pas de tronçon dans \"{0}\", suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:978
+#: ../java/src/org/klomp/snark/SnarkManager.java:982
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
-msgstr "Trop de morceaux dans \"{0}\" , la limite est {1}, suppression!"
+msgstr "Trop de tronçons dans \"{0}\" , la limite est {1}, suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:980
+#: ../java/src/org/klomp/snark/SnarkManager.java:984
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
-msgstr "Les morceaux sont trop larges dans \"{0}\" ({1}B), suppresion."
+msgstr "Les tronçons sont trop larges dans \"{0}\" ({1}B), suppression."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:981
+#: ../java/src/org/klomp/snark/SnarkManager.java:985
 #, java-format
 msgid "Limit is {0}B"
-msgstr "La limite est de \"{0}\"Octets"
+msgstr "La limite est de \"{0}\"octets"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:989
+#: ../java/src/org/klomp/snark/SnarkManager.java:987
+#, java-format
+msgid "Torrent \"{0}\" has no data, deleting it!"
+msgstr "Le fichier torrent \"{0}\" n'a pas de données, suppression!"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:995
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
-msgstr ""
-"Les torrents dont la taille est supérieure à \"{0}\"Octets ne sont pas "
-"encore supportés, suppression \"{1}\"."
+msgstr "Les torrents dont la taille est supérieure à \"{0}\"octets ne sont pas encore supportés, suppression \"{1}\"."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1005
+#: ../java/src/org/klomp/snark/SnarkManager.java:1011
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "Erreur: Impossible de supprimer le torrent \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1026
-#: ../java/src/org/klomp/snark/SnarkManager.java:1044
+#: ../java/src/org/klomp/snark/SnarkManager.java:1032
+#: ../java/src/org/klomp/snark/SnarkManager.java:1050
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "Torrent arrêté:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1065
+#: ../java/src/org/klomp/snark/SnarkManager.java:1071
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "Torrent supprimé:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1073
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/SnarkManager.java:1079
+#, java-format
 msgid "Adding torrents in {0}"
-msgstr "Ajouter des torrents dans {0} minutes"
+msgstr "Ajout des torrents dans {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1122
+#: ../java/src/org/klomp/snark/SnarkManager.java:1128
 #, java-format
 msgid "Download finished: {0}"
 msgstr "Téléchargement terminé:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1170
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/SnarkManager.java:1176
+#, java-format
 msgid "Metainfo received for {0}"
-msgstr "Le torrent n’a pas été reçu par {0}"
+msgstr "Metainfo reçue pour {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1171
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:525
+#: ../java/src/org/klomp/snark/SnarkManager.java:1177
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:526
 #, java-format
 msgid "Starting up torrent {0}"
 msgstr "Démarrage du torrent {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1225
+#: ../java/src/org/klomp/snark/SnarkManager.java:1231
 msgid "Unable to connect to I2P!"
 msgstr "Impossible de se connecter à I2P!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:1231
+#: ../java/src/org/klomp/snark/SnarkManager.java:1237
 #, java-format
 msgid "Unable to add {0}"
 msgstr "Impossible d’ajouter {0}"
@@ -343,16 +322,15 @@ msgid "Torrent"
 msgstr "Torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
-#, fuzzy
 msgid "Estimated time remaining"
-msgstr "Octets restants"
+msgstr "temps restant estimé"
 
 # NOTE: purposely left blank to leave more room in the table header
 # msgstr "Temps&nbsp;restant"
 #. Translators: Please keep short or translate as " "
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:313
 msgid "ETA"
-msgstr " Temps"
+msgstr "Temps"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
 msgid "Downloaded"
@@ -388,82 +366,81 @@ msgstr "Vitesse"
 msgid "Up Rate"
 msgstr "Taux d'envoi"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:365
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "Arrêter tous les torrents et le tunnel I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:367
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:368
 msgid "Stop All"
 msgstr "Arrêter tout"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:376
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
 msgid "Start all torrents and the I2P tunnel"
 msgstr "Démarrer tous les torrents et le tunnel I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:378
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379
 msgid "Start All"
 msgstr "Démarrer tout"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:397
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:398
 msgid "No torrents loaded."
 msgstr "Aucun torrent chargé."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:402
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:403
 msgid "Totals"
 msgstr "Totaux"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:404
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:405
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
-msgstr[0] "1 torrent"
+msgstr[0] "{0} torrent"
 msgstr[1] "{0} torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:407
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:408
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
-msgstr[0] "1 pair connecté"
+msgstr[0] "{0} pair connecté"
 msgstr[1] "{0} pairs connectés"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:496
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:497
+#, java-format
 msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
-msgstr "URL invalide - elle doit débuter par http://"
+msgstr "URL incorrecte - elle doit débuter par \"http://\", \"{0}\", ou \"{1}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:544
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:571
-#, fuzzy, java-format
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:572
+#, java-format
 msgid "Magnet deleted: {0}"
-msgstr "Répertoire des données effacé: {0}"
+msgstr "Magnet supprimé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:552
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:577
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:553
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:578
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "Fichier torrent effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:593
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:594
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "Fichier de données effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:585
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:586
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "Le fichier de données ne peut être effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:604
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "Répertoire des données effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:637
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:638
 msgid "Error creating torrent - you must select a tracker"
-msgstr ""
-"Erreur lors de la création du torrent - vous devez sélectionner un tracker"
+msgstr "Erreur lors de la création du torrent - vous devez sélectionner un tracker"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:653
 #, java-format
@@ -472,12 +449,8 @@ msgstr "Torrent créé pour \"{0}\""
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:655
 #, 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}\"!"
+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}\"!"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657
 #, java-format
@@ -491,8 +464,7 @@ msgstr "Impossible de créer un torrent pour des données inexistantes: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:663
 msgid "Error creating torrent - you must enter a file or directory"
-msgstr ""
-"Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
+msgstr "Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:666
 msgid "Stopping all torrents and closing the I2P tunnel."
@@ -523,8 +495,8 @@ msgstr "Erreur du tracker"
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
-msgstr[0] "1 Pair"
-msgstr[1] "{0} Pairs"
+msgstr[0] "{0} pair"
+msgstr[1] "{0} pairs"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:819
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:824
@@ -557,15 +529,13 @@ msgid "Stopped"
 msgstr "Arrêté"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:886
-#, fuzzy
 msgid "Torrent details"
-msgstr "Torrents"
+msgstr "Détails du torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:898
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160
-#, fuzzy
 msgid "Info"
-msgstr "Ignore"
+msgstr "Info"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:913
 msgid "View files"
@@ -600,12 +570,8 @@ msgstr "Enlever le torrent de la liste active, suprression du fichier .torrent"
 #. Then the remaining single quite must be escaped
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:987
 #, java-format
-msgid ""
-"Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
-"data will not be deleted) ?"
-msgstr ""
-"Etes-vous certain de vouloir supprimer le fichier  \\''{0}.torrent\\'' (les "
-"données déjà téléchargées ne seront pas supprimées) ?"
+msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?"
+msgstr "Êtes-vous certain de vouloir supprimer le fichier  \\''{0}.torrent\\'' (les données déjà téléchargées ne seront pas supprimées) ?"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:990
 msgid "Remove"
@@ -613,20 +579,15 @@ msgstr "Enlever"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
 msgid "Delete the .torrent file and the associated data file(s)"
-msgstr ""
-"Supprimer le fichier .torrent et le(s) fichier(s) de données associé(s)"
+msgstr "Supprimer le fichier .torrent et le(s) fichier(s) de données associé(s)"
 
 #. 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:1006
 #, java-format
-msgid ""
-"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
-"data?"
-msgstr ""
-"Etes-vous certain de vouloir supprimer le torrent \\''{0}\\'' ainsi que "
-"toutes les données téléchargées ?"
+msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?"
+msgstr "Êtes-vous certain de vouloir supprimer le torrent \\''{0}\\'' ainsi que toutes les données téléchargées ?"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009
 msgid "Delete"
@@ -642,24 +603,24 @@ msgstr "Seed"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1077
 msgid "Uninteresting (The peer has no pieces we need)"
-msgstr "aucun intérêt (le pair n'a aucun morceau utile)"
+msgstr "Aucun intérêt (le pair n'a aucun tronçon utile)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1079
 msgid "Choked (The peer is not allowing us to request pieces)"
-msgstr "bridé (le pair ne nous permet pas de demander un morceau)"
+msgstr "bridé (le pair ne nous permet pas de demander des tronçons)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1099
 msgid "Uninterested (We have no pieces the peer needs)"
-msgstr "aucun intérêt (nous n'avons aucun morceau utile au pair)"
+msgstr "Pas intéressé (aucun tronçon utile au pair)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
 msgid "Choking (We are not allowing the peer to request pieces)"
-msgstr "bridage (nous ne permettons pas au pair de demander un morceau)"
+msgstr "bridage (nous ne permettons pas au pair de demander un tronçon)"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1159
-#, fuzzy, java-format
+#, java-format
 msgid "Details at {0} tracker"
-msgstr "Sélectionner un tracker"
+msgstr "Détails au tracker {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1188
 msgid "Add Torrent"
@@ -667,12 +628,11 @@ msgstr "Ajouter torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
 msgid "From URL"
-msgstr "Depuis l'url"
+msgstr "Depuis l'URL"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1193
-msgid ""
-"Enter the torrent file download URL (I2P only), magnet link, or maggot link"
-msgstr ""
+msgid "Enter the torrent file download URL (I2P only), magnet link, or maggot link"
+msgstr "Entrez l'URL (I2P uniquement) de téléchargement du fichier torrent, du lien magnet ou maggot."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
 msgid "Add torrent"
@@ -685,7 +645,7 @@ msgstr "Vous pouvez aussi copier les fichiers .torrent vers {0}."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203
 msgid "Removing a .torrent will cause it to stop."
-msgstr "La suppression d'un fichier .torrent entraine l'arrêt du torrent"
+msgstr "La suppression d'un fichier .torrent entraîne l'arrêt du torrent."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1226
 msgid "Create Torrent"
@@ -711,9 +671,8 @@ msgstr "Sélectionner un tracker"
 
 #. out.write(_("Open trackers and DHT only"));
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
-#, fuzzy
 msgid "Open trackers only"
-msgstr "Utiliser les open trackers aussi"
+msgstr "Trackers ouverts seulement"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
 msgid "or"
@@ -721,7 +680,7 @@ msgstr "ou"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260
 msgid "Specify custom tracker announce URL"
-msgstr "Spécifier une URL personnalisée d'annonce de tracker"
+msgstr "Spécifier une URL d'annonce de tracker personnalisé"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1263
 msgid "Create torrent"
@@ -738,8 +697,7 @@ msgstr "Répertoire de données"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287
 msgid "Edit i2psnark.config and restart to change"
-msgstr ""
-"Editez i2psnark.config et redémarrez pour prendre en compte les modifications"
+msgstr "Editez i2psnark.config et redémarrez pour prendre en compte les modifications"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
 msgid "Auto start"
@@ -747,11 +705,11 @@ msgstr "Démarrage automatique"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1295
 msgid "If checked, automatically start torrents that are added"
-msgstr "Si coché, les torrents démarrerons automatiquement lors de l'ajout"
+msgstr "Si coché, les torrents démarreront automatiquement lors de l'ajout"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1299
 msgid "Theme"
-msgstr ""
+msgstr "Thème"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1312
 msgid "Startup delay"
@@ -786,16 +744,12 @@ msgid "Use open trackers also"
 msgstr "Utiliser les open trackers aussi"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358
-msgid ""
-"If checked, announce torrents to open trackers as well as the tracker listed "
-"in the torrent file"
-msgstr ""
-"Si coché, les torrents seront annoncés vers les open trackers ainsi que vers "
-"les trackers indiqués dans le fichier torrent"
+msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"
+msgstr "Si coché, les torrents seront annoncés vers les open trackers ainsi que vers les trackers indiqués dans le fichier torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1362
 msgid "Open tracker announce URLs"
-msgstr "URL d'annonce open tracker"
+msgstr "URLs d'annonce open tracker"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374
 msgid "Inbound Settings"
@@ -824,32 +778,31 @@ msgstr "Sauvegarder la configuration"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1436
 #, java-format
 msgid "Invalid magnet URL {0}"
-msgstr ""
+msgstr "URL magnet {0} incorrecte"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1470
 #, java-format
 msgid "Invalid info hash in magnet URL {0}"
-msgstr ""
+msgstr "Info d'empreinte incorrecte dans l'URL magnet {0}"
 
 #. * dummies for translation
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1500
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
-msgstr[0] "1 saut"
+msgstr[0] "{0} saut"
 msgstr[1] "{0} sauts"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1501
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
-msgstr[0] "1 tunnel"
+msgstr[0] "{0} tunnel"
 msgstr[1] "{0} tunnels"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
-#, fuzzy
 msgid "Completion"
-msgstr "Complet"
+msgstr "Finalisation"
 
 #. else unknown
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1667
@@ -858,21 +811,20 @@ msgid "Size"
 msgstr "Taille"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1672
-#, fuzzy
 msgid "Files"
-msgstr "Fichier"
+msgstr "Fichiers"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1674
 msgid "Pieces"
-msgstr ""
+msgstr "Tronçons"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1675
 msgid "Piece size"
-msgstr ""
+msgstr "Taille des tronçons"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697
 msgid "Magnet link"
-msgstr ""
+msgstr "Lien magnet"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1714
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1753
@@ -904,9 +856,8 @@ msgid "bytes remaining"
 msgstr "Octets restants"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1806
-#, fuzzy
 msgid "Open"
-msgstr "Ouvrir fichier"
+msgstr "Ouvrir le fichier"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1832
 msgid "High"
@@ -918,7 +869,7 @@ msgstr "Normal"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1842
 msgid "Skip"
-msgstr ""
+msgstr "Ignorer"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1851
 msgid "Save priorities"
@@ -927,27 +878,27 @@ msgstr "Sauvegarder les priorités"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967
 #, java-format
 msgid "Torrent fetched from {0}"
-msgstr "Torrent envoyé de {0}"
+msgstr "Torrent reçu de {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1989
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988
 #, java-format
 msgid "Torrent already running: {0}"
 msgstr "Torrent déjà actif: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1991
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1990
 #, java-format
 msgid "Torrent already in the queue: {0}"
-msgstr "Torrent déjà dans la queue: {0}"
+msgstr "Torrent déjà dans la file d''attente: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1997
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1996
 #, java-format
 msgid "Torrent at {0} was not valid"
-msgstr "Le torrent {0} n'est pas valide"
+msgstr "Le torrent {0} est invalide"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2004
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2003
 #, 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 de {0}"
 
 #~ msgid "Torrent file must originate from an I2P-based tracker"
 #~ msgstr "Le fichier torrent doit provenir d'un tracker I2P"
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
index 0f750ad74b256c5d1d2d85689e869e8795322ca2..d44f5539a9d04eae6cedab919146e56a254270a0 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
@@ -116,11 +116,6 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
             // according to rfc2616 s14.3, this *should* force identity, even if
             // "identity;q=1, *;q=0" didn't.  
             setEntry(headers, "Accept-encoding", ""); 
-            String modifiedHeader = formatHeaders(headers, command);
-            
-            //String modifiedHeader = getModifiedHeader(socket);
-            if (_log.shouldLog(Log.DEBUG))
-                _log.debug("Modified header: [" + modifiedHeader + "]");
 
             socket.setReadTimeout(readTimeout);
             Socket s = new Socket(remoteHost, remotePort);
@@ -138,9 +133,15 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
             }
             if (_log.shouldLog(Log.INFO))
                 _log.info("HTTP server encoding header: " + enc + "/" + altEnc);
-            boolean useGZIP = ( (enc != null) && (enc.indexOf("x-i2p-gzip") >= 0) );
-            if ( (!useGZIP) && (altEnc != null) && (altEnc.indexOf("x-i2p-gzip") >= 0) )
-                useGZIP = true;
+            boolean alt = (altEnc != null) && (altEnc.indexOf("x-i2p-gzip") >= 0);
+            boolean useGZIP = alt || ( (enc != null) && (enc.indexOf("x-i2p-gzip") >= 0) );
+            // Don't pass this on, outproxies should strip so I2P traffic isn't so obvious but they probably don't
+            if (alt)
+                headers.remove("X-Accept-encoding");
+
+            String modifiedHeader = formatHeaders(headers, command);
+            if (_log.shouldLog(Log.DEBUG))
+                _log.debug("Modified header: [" + modifiedHeader + "]");
             
             if (allowGZIP && useGZIP) {
                 I2PAppThread req = new I2PAppThread(
diff --git a/apps/i2ptunnel/locale/messages_es.po b/apps/i2ptunnel/locale/messages_es.po
new file mode 100644
index 0000000000000000000000000000000000000000..ce7098182d79602c8f95b7ecc3d3538a5215f615
--- /dev/null
+++ b/apps/i2ptunnel/locale/messages_es.po
@@ -0,0 +1,763 @@
+# 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\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-03 18:29+0000\n"
+"PO-Revision-Date: 2011-04-18 21:39+0100\n"
+"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"Language-Team: Spanish (Castilian) <None>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\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 "Para visitar el destino en la base de datos de hosts, haga clic <a href=\"{0}\">aquí</a> . Para visitar el destino del ayudante de direcciones en conflicto, haga clic <a href=\"{1}\">aquí</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 "Haga clic en un enlace de debajo para buscar un ayudante de direcciones mediante el uso de un servicio de \"salto\":"
+
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
+msgid "internal"
+msgstr "interno"
+
+#: ../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 "El formulario presentado es inválido, probablemente porque ha utilizado el botón 'atrás' o 'recargar' de su navegador. Por favor, vuelva a enviarlo."
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
+msgid "Configuration reloaded for all tunnels"
+msgstr "Configuración recargada para todos los túneles"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
+msgid "Starting tunnel"
+msgstr "Inicializando el túnel"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
+msgid "Stopping tunnel"
+msgstr "Deteniendo el túnel"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
+msgid "Configuration changes saved"
+msgstr "Cambios en la configuración guardados"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
+msgid "Failed to save configuration"
+msgstr "No se pudo guardar la configuración"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+msgid "New Tunnel"
+msgstr "Nuevo túnel"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
+msgid "Standard client"
+msgstr "Cliente estándar"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
+msgid "HTTP client"
+msgstr "Cliente HTTP"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
+msgid "IRC client"
+msgstr "Cliente IRC"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
+msgid "Standard server"
+msgstr "Servidor estándar"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
+msgid "HTTP server"
+msgstr "Servidor HTTP"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
+msgid "SOCKS 4/4a/5 proxy"
+msgstr "Proxy SOCKS 4/4a/5"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
+msgid "SOCKS IRC proxy"
+msgstr "Proxy IRC SOCKS"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
+msgid "CONNECT/SSL/HTTPS proxy"
+msgstr "Proxy CONNECT/SSL/HTTPS"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
+msgid "IRC server"
+msgstr "Servidor de IRC"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
+msgid "Streamr client"
+msgstr "Cliente Streamr"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
+msgid "Streamr server"
+msgstr "Servidor Streamr"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
+msgid "HTTP bidir"
+msgstr "HTTP bidir"
+
+#: ../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 no establecido"
+
+#: ../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 "Puerto no establecido"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Client Tunnel"
+msgstr "Gestor del túneles I2P - Editar túnel de cliente"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
+msgid "Edit proxy settings"
+msgstr "Editar configuración de proxy"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
+msgid "New proxy settings"
+msgstr "Nueva configuración de proxy"
+
+#: ../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 "Nombre"
+
+#: ../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 "Tipo"
+
+#: ../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 "Descripción"
+
+#: ../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 "Objetivo"
+
+#: ../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 "Punto de Acceso"
+
+#: ../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 "requerido"
+
+#: ../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 "Accesible por"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
+msgid "Outproxies"
+msgstr "Outproxis"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
+msgid "Tunnel Destination"
+msgstr "Túnel del Destino"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
+msgid "name or destination"
+msgstr "nombre o destino"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
+msgid "b32 not recommended"
+msgstr "b32 no recomendado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
+msgid "Shared Client"
+msgstr "Túnel Compartido"
+
+#: ../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 "(¿Compartir túneles con otros clientes y clientes de IRC/http? Cambiar esto requiere reiniciar el proxy de cliente)"
+
+#: ../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 "Autoarranque"
+
+#: ../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 "(Marque la casilla para \"SI\")"
+
+#: ../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 "Opciones avanzadas de red"
+
+#: ../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 "(NOTA: cuando este proxy de cliente está configurado para compartir túneles, entonces estas opciones son para todos los clientes de proxy compartidos!)"
+
+#: ../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 "Opciones de Túnel"
+
+#: ../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 "Longitud"
+
+#: ../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 "Túnel de 0 saltos (anonimato bajo, latencia baja)"
+
+#: ../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 "Túnel de 1 salto (anonimato medio, latencia media)"
+
+#: ../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 "Túnel de 2 saltos (anonimato alto, latencia alta)"
+
+#: ../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 "Túnel de 3 saltos (anonimato muy alto, rendimiento pobre)"
+
+#: ../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 "saltos de túnel (rendimiento muy pobre)"
+
+#: ../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 "Variación"
+
+#: ../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 "Variación de 0 saltos (sin aleatoriedad, rendimiento constante)"
+
+#: ../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 "Variación de + 0-1 saltos (aleatoriedad media aditiva, rendimiento substractivo)"
+
+#: ../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 "Variación de + 0-2 saltos (aleatoriedad alta aditiva, rendimiento substractivo)"
+
+#: ../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 "Variación de +/- 0-1 saltos (aleatoriedad estándar, rendimiento estándar)"
+
+#: ../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 "Variación de +/- 0-2 saltos (no recomendado)"
+
+#: ../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 "Variación de saltos"
+
+#: ../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 "Número"
+
+#: ../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 "1 entrante, 1 túnel de salida (bajo uso de ancho de banda, menos fiabilidad)"
+
+#: ../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 "2 entrantes, 2 túneles de salida (uso de ancho de banda estándar, fiabilidad estándar)"
+
+#: ../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 "3 entrantes, 3 túneles de salida (mayor uso de ancho de banda, mayor fiabilidad)"
+
+#: ../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 "túneles"
+
+#: ../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 "Número de respaldo"
+
+#: ../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 "0 túneles de respaldo (redundancia 0, no aumenta el uso de recursos)"
+
+#: ../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 "1 túnel de respaldo en cada dirección (redundancia baja, uso bajo de recursos)"
+
+#: ../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 "2 túneles de respaldo en cada dirección (redundancia media, uso de recursos medio)"
+
+#: ../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 "3 túneles de respaldo en cada dirección (alta redundancia, uso de recursos alto)"
+
+#: ../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 "túneles de respaldo"
+
+#: ../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 "Perfil"
+
+#: ../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 "conexión interactiva"
+
+#: ../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 "conexión en masa (descargas/web/BT)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
+msgid "Delay Connect"
+msgstr "Retrasar Conexión"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
+msgid "for request/response connections"
+msgstr "para las conexiones de solicitud/respuesta"
+
+#: ../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 "Dirección I2CP del router"
+
+#: ../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 "Host"
+
+#: ../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 "Puerto"
+
+#: ../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 "Reducir la cantidad de túneles cuando se está inactivo"
+
+#: ../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 "Habilitar"
+
+#: ../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 "Número de túneles reducido"
+
+#: ../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 "Minutos de inactividad"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
+msgid "Close tunnels when idle"
+msgstr "Cerrar los túneles cuando se está inactivo"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
+msgid "New Keys on Reopen"
+msgstr "Nuevas claves al reabrir"
+
+#: ../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 "Desactivar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
+msgid "Delay tunnel open until required"
+msgstr "Retrasar apertura del túnel hasta que sea necesario"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
+msgid "Persistent private key"
+msgstr "Clave privada persistente"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
+msgid "File"
+msgstr "Archivo"
+
+#: ../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 "destino local"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
+msgid "(if known)"
+msgstr "(Si se conoce)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:470
+msgid "Local Authorization"
+msgstr "Autorización local"
+
+#: ../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 "Nombre de usuario"
+
+#: ../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 "Contraseña"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
+msgid "Outproxy Authorization"
+msgstr "Autorización outproxy"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
+msgid "Jump URL List"
+msgstr "Lista de URL de salto"
+
+#: ../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 "Opciones personalizadas"
+
+#: ../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 "NOTA: Si el túnel se está ejecutando actualmente, la mayoría de los cambios no tendrán efecto hasta que se detenga y reinicie el túnel."
+
+#: ../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 "Cancelar"
+
+#: ../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 "Eliminar"
+
+#: ../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 "Guardar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Server Tunnel"
+msgstr "Gestor del túneles I2P - Editar túnel servidor"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
+msgid "Edit server settings"
+msgstr "Editar configuración del servidor"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
+msgid "New server settings"
+msgstr "Nueva configuración del servidor"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
+msgid "Website name"
+msgstr "Nombre de la página"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
+msgid "(leave blank for outproxies)"
+msgstr "(Dejar en blanco para outproxies)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
+msgid "Private key file"
+msgstr "archivo de clave privada"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
+msgid "Add to local addressbook"
+msgstr "Agregar a la libreta de direcciones local"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
+msgid "Hostname Signature"
+msgstr "Firma del Hostname"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
+msgid "Encrypt Leaseset"
+msgstr "Cifrar Leaseset"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
+msgid "Encryption Key"
+msgstr "Clave de cifrado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+msgid "Generate New Key"
+msgstr "Generar nueva clave"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
+msgid "Generate"
+msgstr "Generar"
+
+#: ../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 "(El túnel debe detenerse primero)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
+msgid "Restricted Access List"
+msgstr "Lista de acceso restringido"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
+msgid "Whitelist"
+msgstr "Lista blanca"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+msgid "Blacklist"
+msgstr "Lista negra"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
+msgid "Access List"
+msgstr "Lista de acceso"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
+msgid "Inbound connection limits (0=unlimited)"
+msgstr "Límites de conexiones entrantes (0 = sin límite)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+msgid "Per client"
+msgstr "Por cliente"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
+msgid "Per minute"
+msgstr "por minuto"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+msgid "Per hour"
+msgstr "Por hora"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+msgid "Per day"
+msgstr "Por día"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
+msgid "Total"
+msgstr "Total"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
+msgid "Max concurrent connections (0=unlimited)"
+msgstr "Número máximo de conexiones simultáneas (0 = sin límite)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+msgid "New Certificate type"
+msgstr "Nuevo tipo de certificado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+msgid "None"
+msgstr "Ninguno"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+msgid "Hashcash (effort)"
+msgstr "Hashcash (esfuerzo)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
+msgid "Hashcash Calc Time"
+msgstr "Tiempo de Calc Hashcash "
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
+msgid "Estimate"
+msgstr "Estimación"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
+msgid "Hidden"
+msgstr "Oculto"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
+msgid "Signed (signed by)"
+msgstr "Firmado (firmado por)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
+msgid "Modify Certificate"
+msgstr "Modificar Certificado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
+msgid "Modify"
+msgstr "Modificar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:71
+msgid "I2P Tunnel Manager - List"
+msgstr "Gestor de túneles I2P - Lista"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
+msgid "Status Messages"
+msgstr "Mensajes de estado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:87
+msgid "Refresh"
+msgstr "Actualizar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:91
+msgid "Stop All"
+msgstr "Detener todos"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
+msgid "Start All"
+msgstr "Iniciar todos"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
+msgid "Restart All"
+msgstr "Reiniciar todos"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103
+msgid "Reload Config"
+msgstr "Actualizar configuración"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
+msgid "I2P Server Tunnels"
+msgstr "Túneles de servidor 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 "Apunta a"
+
+#: ../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 "Preview"
+
+#: ../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 "Estado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
+msgid "Base32 Address"
+msgstr "Dirección Base32"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
+msgid "No Preview"
+msgstr "Sin vista previa"
+
+#: ../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 "Iniciando..."
+
+#: ../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 "Detener"
+
+#: ../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 "Ejecutándose"
+
+#: ../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 "Detenido"
+
+#: ../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 "Iniciar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:234
+msgid "New server tunnel"
+msgstr "Nuevo servidor de túnel"
+
+#: ../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 "Estándar"
+
+#: ../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 "Crear"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:240
+msgid "I2P Client Tunnels"
+msgstr "Túneles de cliente 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 "Interfaz"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:318
+msgid "Standby"
+msgstr "En espera"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:363
+msgid "Outproxy"
+msgstr "Outproxy"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
+msgid "Destination"
+msgstr "Destino"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:381
+msgid "none"
+msgstr "ninguno"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:394
+msgid "New client tunnel"
+msgstr "Nuevo túnel de cliente"
+
diff --git a/apps/i2ptunnel/locale/messages_fr.po b/apps/i2ptunnel/locale/messages_fr.po
new file mode 100644
index 0000000000000000000000000000000000000000..d35ca8152686b4fe584f917ee8eef0f6c183362f
--- /dev/null
+++ b/apps/i2ptunnel/locale/messages_fr.po
@@ -0,0 +1,763 @@
+# 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-03-25 15:21+0000\n"
+"PO-Revision-Date: 2011-04-09 02:46+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"Language: \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 >= 2)\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 "Pour aller à la destination de votre base de données d''hôtes, cliquez <a href=\"{0}\">here</a>. Pour aller à la destination de l''aide d''adresse en conflit, cliquez <a href=\"{1}\">ici</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 "Cliquez sur un des liens ci-dessous pour chercher une aide d'adresse en utilisant un \"service de saut\":"
+
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
+#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
+msgid "internal"
+msgstr "interne"
+
+#: ../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 "Échec de soumission du formulaire: vous avez peut-être utilisé le bouton \"Page précédente\" ou \"Recharger\" de votre navigateur. Merci de soumettre à nouveau."
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
+msgid "Configuration reloaded for all tunnels"
+msgstr "Configuration rechargée pour tous les tunnels"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
+msgid "Starting tunnel"
+msgstr "Démarrage du tunnel"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
+msgid "Stopping tunnel"
+msgstr "Arrêt du tunnel"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
+msgid "Configuration changes saved"
+msgstr "Modification de configuration enregistrée"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
+msgid "Failed to save configuration"
+msgstr "Échec d'enregistrement de la configuration"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+msgid "New Tunnel"
+msgstr "Nouveau tunnel"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
+msgid "Standard client"
+msgstr "Client standard"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
+msgid "HTTP client"
+msgstr "Client HTTP"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
+msgid "IRC client"
+msgstr "Client IRC"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
+msgid "Standard server"
+msgstr "Serveur standard"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
+msgid "HTTP server"
+msgstr "Serveur HTTP"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
+msgid "SOCKS 4/4a/5 proxy"
+msgstr "Mandataire SOCKS 4/4a/5"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
+msgid "SOCKS IRC proxy"
+msgstr "Mandataire IRC SOCKS"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
+msgid "CONNECT/SSL/HTTPS proxy"
+msgstr "Mandataire CONNECT/SSL/HTTPS"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
+msgid "IRC server"
+msgstr "Serveur IRC"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
+msgid "Streamr client"
+msgstr "Client flux"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
+msgid "Streamr server"
+msgstr "Serveur flux"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
+msgid "HTTP bidir"
+msgstr "bidir HTTP"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:293
+msgid "Host not set"
+msgstr "Hôte non défini"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
+msgid "Port not set"
+msgstr "Port non défini"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Client Tunnel"
+msgstr "Gestionnaire de tunnels I2P: Modifiez le tunnel client"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
+msgid "Edit proxy settings"
+msgstr "Modifiez les réglages de mandataire"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
+msgid "New proxy settings"
+msgstr "Paramètres de nouveau mandataire"
+
+#: ../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:110
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:124
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
+msgid "Name"
+msgstr "Nom"
+
+#: ../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:249
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:282
+msgid "Type"
+msgstr "Type"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:389
+msgid "Description"
+msgstr "Description"
+
+#: ../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 "Cible"
+
+#: ../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 "Point d'accès"
+
+#: ../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 "requis"
+
+#: ../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 "Joignable par"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
+msgid "Outproxies"
+msgstr "Mandataires sortants"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
+msgid "Tunnel Destination"
+msgstr "Destination de tunnel"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
+msgid "name or destination"
+msgstr "nom ou destination"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
+msgid "b32 not recommended"
+msgstr "b32 déconseillée"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
+msgid "Shared Client"
+msgstr "Client partagé"
+
+#: ../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 "Partager les tunnels avec d'autres clients et des clients http/irc? La modification requiert le redémarrage du client mandataire)"
+
+#: ../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 "Démarrage automatique"
+
+#: ../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 "(Cochez la case pour le  démarrage auto en même temps que le routeur)"
+
+#: ../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 "Options de réseau avancées"
+
+#: ../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 "(ATTENTION : quand ce mandataire client est configuré pour partager les tunnels, ces options sont appliquées à tous les mandataires clients partagés)"
+
+#: ../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 "Options de tunnel"
+
+#: ../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 "Longueur"
+
+#: ../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 "Tunnel à 0 saut (anonymat et latence faibles)"
+
+#: ../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 "Tunnel à 1 saut (anonymat et latence moyens)"
+
+#: ../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 "Tunnel à 2 sauts (anonymat et latence élevés)"
+
+#: ../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 "Tunnel à 3 sauts (anonymat et latence très élevés)"
+
+#: ../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 "Tunnel de saut (performances médiocres)"
+
+#: ../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 "Variance"
+
+#: ../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 "Variance à 0 saut (pas d'aléa, performances stables)"
+
+#: ../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 "Variance à + 0 ou 1 saut (aléa moyen,  performances diminuées)"
+
+#: ../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 "Variance à + 0 à 2 sauts (aléa élevé,  performances diminuées)"
+
+#: ../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 "Variance à +/- 0 ou 1 saut (aléas légers,  performances diminuées)"
+
+#: ../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 "Variance à +/- 0 à 2 sauts (déconseillée)"
+
+#: ../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 "variance de saut"
+
+#: ../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 "Nombre"
+
+#: ../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 "Tunnel à 1 entrant/1 sortant (faible consommation de bande passante, moins fiable)"
+
+#: ../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 "Tunnels à 2 entrants/2 sortants (consommation de bande passante standard, fiabilité standard)"
+
+#: ../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 "Tunnels à 3 entrants/3 sortants (consommation de bande passante plus élevée, fiabilité élevée)"
+
+#: ../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 "tunnels"
+
+#: ../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 "Secours"
+
+#: ../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 "Aucun tunnel de secours (pas de tolérance de pannes, pas de consommation de ressources) "
+
+#: ../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 "1 tunnel de secours par direction (légère tolérance de pannes, faible consommation de ressources)"
+
+#: ../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 "2 tunnels de secours par direction (tolérance de pannes moyenne, consommation de ressources moyenne)"
+
+#: ../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 "3 tunnels de secours par direction (tolérance de pannes élevée, consommation de ressources élevée)"
+
+#: ../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 "Tunnels de secours"
+
+#: ../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 "Profil"
+
+#: ../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 "connexion interactive"
+
+#: ../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 "connexion forts transferts (téléchargements/sites web/BT)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
+msgid "Delay Connect"
+msgstr "Retard à la connexion"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
+msgid "for request/response connections"
+msgstr "pour les connexions de demandes/réponses"
+
+#: ../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 "Adresse I2CP du routeur"
+
+#: ../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 "Hôte"
+
+#: ../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:247
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:269
+msgid "Port"
+msgstr "Port"
+
+#: ../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 "Réduire le nombre de tunnels quand inactif"
+
+#: ../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 "Activer"
+
+#: ../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 "Réduire à"
+
+#: ../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 "Minutes d'inactivité"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
+msgid "Close tunnels when idle"
+msgstr "Fermer les tunnels quand inactif"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
+msgid "New Keys on Reopen"
+msgstr "Nouvelles clés à la réouverture"
+
+#: ../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 "Désactiver"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
+msgid "Delay tunnel open until required"
+msgstr "Retarder l'ouverture jusqu'à l'utilisation"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
+msgid "Persistent private key"
+msgstr "Clé privée persistante"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
+msgid "File"
+msgstr "Fichier"
+
+#: ../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 "Destination locale"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
+msgid "(if known)"
+msgstr "(si connu)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:470
+msgid "Local Authorization"
+msgstr "Autorisation locale"
+
+#: ../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 "Identifiant"
+
+#: ../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 "Mot de passe"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
+msgid "Outproxy Authorization"
+msgstr "Autorisation de mandataire sortant"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
+msgid "Jump URL List"
+msgstr "Liste d'URL de sauts"
+
+#: ../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 "Options personnelles"
+
+#: ../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 "NOTE: si le tunnel est actif, la plupart des modifications ne prendront effet qu'après son redémarrage."
+
+#: ../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 "Annuler"
+
+#: ../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 "Supprimer"
+
+#: ../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 "Enregistrer"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Server Tunnel"
+msgstr "Gestionnaire de tunnels I2P: modifier le tunnel serveur"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
+msgid "Edit server settings"
+msgstr "Modifier les paramètres du serveur"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
+msgid "New server settings"
+msgstr "Paramètres de nouveau serveur"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
+msgid "Website name"
+msgstr "Nom du site web"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
+msgid "(leave blank for outproxies)"
+msgstr "(laisser vide pour les mandataires sortants)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
+msgid "Private key file"
+msgstr "Fichier de clé privée"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
+msgid "Add to local addressbook"
+msgstr "Ajouter au carnet d'adresses local"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
+msgid "Hostname Signature"
+msgstr "Signature du nom d'hôte"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
+msgid "Encrypt Leaseset"
+msgstr "Jeu de baux crypté"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
+msgid "Encryption Key"
+msgstr "Clé de cryptage"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+msgid "Generate New Key"
+msgstr "Générer une nouvelle clé"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
+msgid "Generate"
+msgstr "Générer"
+
+#: ../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 "(Le tunnel doit préalablement être arrêté)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
+msgid "Restricted Access List"
+msgstr "Contrôle d'accès"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
+msgid "Whitelist"
+msgstr "Liste blanche"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+msgid "Blacklist"
+msgstr "Liste noire"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
+msgid "Access List"
+msgstr "Liste d'accès"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
+msgid "Inbound connection limits (0=unlimited)"
+msgstr "Limite de connexions entrantes (0=pas de limite)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+msgid "Per client"
+msgstr "Par client"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
+msgid "Per minute"
+msgstr "Par minute"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+msgid "Per hour"
+msgstr "Par heure"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+msgid "Per day"
+msgstr "Par jour"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
+msgid "Total"
+msgstr "Total"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
+msgid "Max concurrent connections (0=unlimited)"
+msgstr "Connexions simultanées maximum (0=pas de limite)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+msgid "New Certificate type"
+msgstr "Type de nouveau certificat"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+msgid "None"
+msgstr "Aucun"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+msgid "Hashcash (effort)"
+msgstr "Pénalité"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
+msgid "Hashcash Calc Time"
+msgstr "Durée de calcul de pénalisation"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
+msgid "Estimate"
+msgstr "Estimer"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
+msgid "Hidden"
+msgstr "Masqué"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
+msgid "Signed (signed by)"
+msgstr "Signé (signé par)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
+msgid "Modify Certificate"
+msgstr "Modifier le certificat"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
+msgid "Modify"
+msgstr "Modifier"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:74
+msgid "I2P Tunnel Manager - List"
+msgstr "Gestionnaire de tunnels I2P - Liste"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:86
+msgid "Status Messages"
+msgstr "Messages d'état"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:90
+msgid "Refresh"
+msgstr "Actualiser"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:94
+msgid "Stop All"
+msgstr "Arrêter tous"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:98
+msgid "Start All"
+msgstr "Démarrer tous"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:102
+msgid "Restart All"
+msgstr "Redémarrer tous"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:106
+msgid "Reload Config"
+msgstr "Recharger la configuration"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:108
+msgid "I2P Server Tunnels"
+msgstr "Tunnels serveurs I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:112
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133
+msgid "Points at"
+msgstr "Pointe vers"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:114
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:156
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:160
+msgid "Preview"
+msgstr "Aperçu"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:116
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:300
+msgid "Status"
+msgstr "État"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
+msgid "Base32 Address"
+msgstr "Adresse Base32"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
+msgid "No Preview"
+msgstr "Aucun aperçu"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:187
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:307
+msgid "Starting..."
+msgstr "Démarrage..."
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:342
+msgid "Stop"
+msgstr "Arrêter"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:335
+msgid "Running"
+msgstr "Actif"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:349
+msgid "Stopped"
+msgstr "Arrêté"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:356
+msgid "Start"
+msgstr "Démarrer"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
+msgid "New server tunnel"
+msgstr "Nouveau tunnel serveur"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:399
+msgid "Standard"
+msgstr "Standard"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
+msgid "Create"
+msgstr "Créer"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
+msgid "I2P Client Tunnels"
+msgstr "Tunnels clients I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:286
+msgid "Interface"
+msgstr "Interface"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:321
+msgid "Standby"
+msgstr "Pause"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
+msgid "Outproxy"
+msgstr "Mandataire sortant"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
+msgid "Destination"
+msgstr "Destination"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:384
+msgid "none"
+msgstr "aucun"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
+msgid "New client tunnel"
+msgstr "Nouveau tunnel client"
+
diff --git a/apps/jrobin/jrobin-1.4.0.jar b/apps/jrobin/jrobin-1.4.0.jar
deleted file mode 100644
index daabacd191be6e7f74eca1e0b616a1cf43da14bc..0000000000000000000000000000000000000000
Binary files a/apps/jrobin/jrobin-1.4.0.jar and /dev/null differ
diff --git a/apps/jrobin/jrobin-1.5.9.1.jar b/apps/jrobin/jrobin-1.5.9.1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b4ffea6ee5c2e04b9f24378abe3541307e31f6d8
Binary files /dev/null and b/apps/jrobin/jrobin-1.5.9.1.jar differ
diff --git a/apps/routerconsole/java/build.xml b/apps/routerconsole/java/build.xml
index dc686d29c17c9ffaf73314f075d3c9e64a7d2e5c..778625f7ab321669398d5a9f6bbab53132908726 100644
--- a/apps/routerconsole/java/build.xml
+++ b/apps/routerconsole/java/build.xml
@@ -26,7 +26,7 @@
                 <pathelement location="../../systray/java/lib/systray4j.jar" />
                 <pathelement location="../../desktopgui/build" />
                 <pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
-                <pathelement location="../../jrobin/jrobin-1.4.0.jar" />
+                <pathelement location="../../jrobin/jrobin-1.5.9.1.jar" />
             </classpath>
         </depend>
     </target>
@@ -58,7 +58,7 @@
                 <pathelement location="../../systray/java/lib/systray4j.jar" />
                 <pathelement location="../../desktopgui/dist/desktopgui.jar" />
                 <pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
-                <pathelement location="../../jrobin/jrobin-1.4.0.jar" />
+                <pathelement location="../../jrobin/jrobin-1.5.9.1.jar" />
             </classpath>
         </javac>
     </target>
@@ -90,12 +90,6 @@
                 <attribute name="Workspace-Changes" value="${workspace.changes.j.tr}" />
             </manifest>
         </jar>
-       <!-- jrobin taken out of routerconsole.jar in 0.7.12
-        <delete dir="./tmpextract" />
-        <unjar src="../../jrobin/jrobin-1.4.0.jar" dest="./tmpextract" />
-        <jar destfile="./build/routerconsole.jar" basedir="./tmpextract" update="true" />
-        <delete dir="./tmpextract" />
-       -->
     </target>
 
     <!-- this is tricky because the message classes go in the jar, not in the war -->
diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh
index f37ca27cf7835b424ea5ef964dc9ae200ad67f22..1f8ecc3a4715235ae081cea4b89e4ee28f3354c4 100755
--- a/apps/routerconsole/java/bundle-messages.sh
+++ b/apps/routerconsole/java/bundle-messages.sh
@@ -52,7 +52,9 @@ ROUTERFILES="\
    ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java \
    ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java \
    ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java \
-   ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java"
+   ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java \
+   ../../../router/java/src/net/i2p/router/transport/UPnP.java \
+   ../../../router/java/src/net/i2p/router/transport/UPnPManager.java"
 
 # add ../java/ so the refs will work in the po file
 JPATHS="../java/src ../jsp/WEB-INF ../java/strings $JFILE $ROUTERFILES"
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
index 33aa93df2826759a4f828fdf190b1b37e7b2bf63..7f6f9455fe1e227c144a1fde73bf860e1ebc3e31 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java
@@ -69,8 +69,26 @@ public class CSSHelper extends HelperBase {
      *  @since 0.8.5
      */
     public boolean allowIFrame(String ua) {
-        return ua == null || !(ua.startsWith("Lynx") || ua.startsWith("w3m") ||
+        return ua == null ||
+                               // text
+                             !(ua.startsWith("Lynx") || ua.startsWith("w3m") ||
                                ua.startsWith("ELinks") || ua.startsWith("Links") ||
-                               ua.startsWith("Dillo"));
+                               ua.startsWith("Dillo") ||
+                               // mobile
+                               // http://www.zytrax.com/tech/web/mobile_ids.html
+                               ua.contains("Android") || ua.contains("iPhone") ||
+                               ua.contains("iPod") || ua.contains("iPad") ||
+                               ua.contains("Kindle") || ua.contains("Mobile") ||
+                               ua.contains("Nintendo Wii") || ua.contains("Opera Mini") ||
+                               ua.contains("Palm") ||
+                               ua.contains("PLAYSTATION") || ua.contains("Playstation") ||
+                               ua.contains("Profile/MIDP-") || ua.contains("SymbianOS") ||
+                               ua.contains("Windows CE") || ua.contains("Windows Phone") ||
+                               ua.startsWith("BlackBerry") || ua.startsWith("DoCoMo") ||
+                               ua.startsWith("Nokia") || ua.startsWith("OPWV-SDK") ||
+                               ua.startsWith("MOT-") || ua.startsWith("SAMSUNG-") ||
+                               ua.startsWith("nook") || ua.startsWith("SCH-") ||
+                               ua.startsWith("SEC-") || ua.startsWith("SonyEricsson") ||
+                               ua.startsWith("Vodafone"));
     }
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
index 0deb159294772a12a5583f0597d204b332c19096..8d21fd63efb5f80101264388410bce70e24be67a 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
@@ -104,14 +104,21 @@ public class ConfigStatsHandler extends FormHandler {
         }
             
         _context.router().setConfigSetting(StatManager.PROP_STAT_FILTER, stats.toString());
+        boolean graphsChanged = !_graphs.equals(_context.getProperty("stat.summaries"));
         _context.router().setConfigSetting("stat.summaries", _graphs);
+        boolean fullChanged = _context.getBooleanProperty(StatManager.PROP_STAT_FULL) != _isFull;
         _context.router().setConfigSetting(StatManager.PROP_STAT_FULL, "" + _isFull);
-        boolean ok = _context.router().saveConfig();
-        if (ok) 
+        _context.router().saveConfig();
+        if (!_stats.isEmpty())
             addFormNotice(_("Stat filter and location updated successfully to") + ": " + stats.toString());
-        else
-            addFormError(_("Failed to update the stat filter and location"));
-        addFormNotice(_("Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"));
+        if (fullChanged) {
+            if (_isFull)
+                addFormNotice(_("Full statistics enabled - restart required to take effect"));
+            else
+                addFormNotice(_("Full statistics disabled - restart required to take effect"));
+        }
+        if (graphsChanged)
+            addFormNotice(_("Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"));
     }
     
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
index 8a525180bc384930124b543760117d26346ba7f4..47f9eb242c5eb0223232b0fe4605a760b30480d3 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
@@ -50,12 +50,14 @@ public class ConfigUpdateHandler extends FormHandler {
      */
     private static final String PACK200_URLS =
     "http://echelon.i2p/i2p/i2pupdate.su2\r\n" +
+    "http://inr.i2p/i2p/i2pupdate.su2\r\n" +
     "http://stats.i2p/i2p/i2pupdate.su2\r\n" +
     "http://www.i2p2.i2p/_static/i2pupdate.su2\r\n" +
     "http://update.postman.i2p/i2pupdate.su2" ;
 
     private static final String NO_PACK200_URLS =
     "http://echelon.i2p/i2p/i2pupdate.sud\r\n" +
+    "http://inr.i2p/i2p/i2pupdate.sud\r\n" +
     "http://stats.i2p/i2p/i2pupdate.sud\r\n" +
     "http://www.i2p2.i2p/_static/i2pupdate.sud\r\n" +
     "http://update.postman.i2p/i2pupdate.sud" ;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index 1b0e043e393067561bcb012b475a84b556ab7de8..f0e01fc4926dc5d5a021890e0b2cee69d768e85c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -17,14 +17,15 @@ public class GraphHelper extends FormHandler {
     private int _width;
     private int _height;
     private int _refreshDelaySeconds;
+    private boolean _persistent;
 
     private static final String PROP_X = "routerconsole.graphX";
     private static final String PROP_Y = "routerconsole.graphY";
     private static final String PROP_REFRESH = "routerconsole.graphRefresh";
     private static final String PROP_PERIODS = "routerconsole.graphPeriods";
     private static final String PROP_EVENTS = "routerconsole.graphEvents";
-    private static final int DEFAULT_X = 250;
-    private static final int DEFAULT_Y = 100;
+    public static final int DEFAULT_X = 250;
+    public static final int DEFAULT_Y = 100;
     private static final int DEFAULT_REFRESH = 60;
     private static final int DEFAULT_PERIODS = 60;
     static final int MAX_X = 2048;
@@ -39,9 +40,21 @@ public class GraphHelper extends FormHandler {
         _height = _context.getProperty(PROP_Y, DEFAULT_Y);
         _periodCount = _context.getProperty(PROP_PERIODS, DEFAULT_PERIODS);
         _refreshDelaySeconds = _context.getProperty(PROP_REFRESH, DEFAULT_REFRESH);
-        _showEvents = Boolean.valueOf(_context.getProperty(PROP_EVENTS)).booleanValue();
+        _showEvents = _context.getBooleanProperty(PROP_EVENTS);
     }
     
+    /**
+     *  This must be output in the jsp since <meta> must be in the <head>
+     *  @since 0.8.6
+     */
+    public String getRefreshMeta() {
+        if (_refreshDelaySeconds <= 8 ||
+            ConfigRestartBean.getRestartTimeRemaining() < (1000 * (_refreshDelaySeconds + 30)))
+            return "";
+        // shorten the refresh by 3 seconds so we beat the iframe
+        return "<meta http-equiv=\"refresh\" content=\"" + (_refreshDelaySeconds - 3) + "\">";
+    }
+
     /**
      *  This was a HelperBase but now it's a FormHandler
      *  @since 0.8.2
@@ -51,13 +64,17 @@ public class GraphHelper extends FormHandler {
     public void setPeriodCount(String str) { 
         try { _periodCount = Integer.parseInt(str); } catch (NumberFormatException nfe) {}
     }
+
     public void setShowEvents(boolean b) { _showEvents = b; }
+
     public void setHeight(String str) {
         try { _height = Math.min(Integer.parseInt(str), MAX_Y); } catch (NumberFormatException nfe) {}
     }
+
     public void setWidth(String str) {
         try { _width = Math.min(Integer.parseInt(str), MAX_X); } catch (NumberFormatException nfe) {}
     }
+
     public void setRefreshDelay(String str) {
         try {
             int rds = Integer.parseInt(str);
@@ -67,8 +84,13 @@ public class GraphHelper extends FormHandler {
                 _refreshDelaySeconds = -1;
         } catch (NumberFormatException nfe) {}
     }
+
+    /** @since 0.8.6 */
+    public void setPersistent(String foo) { _persistent = true; }
     
     public String getImages() { 
+        if (StatSummarizer.instance().isDisabled())
+            return "";
         try {
             List listeners = StatSummarizer.instance().getListeners();
             TreeSet ordered = new TreeSet(new AlphaComparator());
@@ -91,12 +113,11 @@ public class GraphHelper extends FormHandler {
                            + "&amp;height=" + (3 * _height)
                            + "\" target=\"_blank\">");
                 String title = _("Combined bandwidth graph");
-                _out.write("<img class=\"statimage\" width=\""
-                           + (_width + 83) + "\" height=\"" + (_height + 92)
-                           + "\" src=\"viewstat.jsp?stat=bw.combined"
+                _out.write("<img class=\"statimage\""
+                           + " src=\"viewstat.jsp?stat=bw.combined"
                            + "&amp;periodCount=" + _periodCount 
                            + "&amp;width=" + _width
-                           + "&amp;height=" + (_height - 14)
+                           + "&amp;height=" + (_height - 13)
                            + "\" alt=\"" + title + "\" title=\"" + title + "\"></a>\n");
             }
             
@@ -113,9 +134,8 @@ public class GraphHelper extends FormHandler {
                            + "&amp;width=" + (3 * _width)
                            + "&amp;height=" + (3 * _height)
                            + "\" target=\"_blank\">");
-                _out.write("<img class=\"statimage\" border=\"0\" width=\""
-                           + (_width + 83) + "\" height=\"" + (_height + 92)
-                           + "\" src=\"viewstat.jsp?stat="
+                _out.write("<img class=\"statimage\" border=\"0\""
+                           + " src=\"viewstat.jsp?stat="
                            + r.getRateStat().getName() 
                            + "&amp;showEvents=" + _showEvents
                            + "&amp;period=" + r.getPeriod() 
@@ -125,10 +145,9 @@ public class GraphHelper extends FormHandler {
                            + "\" alt=\"" + title 
                            + "\" title=\"" + title + "\"></a>\n");
             }
-            if (_refreshDelaySeconds > 0)
-                // shorten the refresh by 3 seconds so we beat the iframe
-                _out.write("<meta http-equiv=\"refresh\" content=\"" + (_refreshDelaySeconds - 3) + "\">\n");
 
+            // FIXME jrobin doesn't support setting the timezone, will have to mod TimeAxis.java
+            _out.write("<p><i>" + _("All times are UTC.") + "</i></p>\n");
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }
@@ -138,6 +157,8 @@ public class GraphHelper extends FormHandler {
     private static final int[] times = { 60, 2*60, 5*60, 10*60, 30*60, 60*60, -1 };
 
     public String getForm() { 
+        if (StatSummarizer.instance().isDisabled())
+            return "";
         String prev = System.getProperty("net.i2p.router.web.GraphHelper.nonce");
         if (prev != null) System.setProperty("net.i2p.router.web.GraphHelper.noncePrev", prev);
         String nonce = "" + _context.random().nextLong();
@@ -147,11 +168,11 @@ public class GraphHelper extends FormHandler {
             _out.write("<form action=\"graphs\" method=\"POST\">\n" +
                        "<input type=\"hidden\" name=\"action\" value=\"foo\">\n" +
                        "<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
-            _out.write(_("Periods") + ": <input size=\"3\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\"><br>\n");
+            _out.write(_("Periods") + ": <input size=\"5\" style=\"text-align: right;\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\"><br>\n");
             _out.write(_("Plot averages") + ": <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"true\" ") + "> ");
             _out.write(_("or")+ " " +_("plot events") + ": <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? "checked=\"true\" " : "") + "><br>\n");
-            _out.write(_("Image sizes") + ": " + _("width") + ": <input size=\"4\" type=\"text\" name=\"width\" value=\"" + _width 
-                       + "\"> " + _("pixels") + ", " + _("height") + ": <input size=\"4\" type=\"text\" name=\"height\" value=\"" + _height  
+            _out.write(_("Image sizes") + ": " + _("width") + ": <input size=\"4\" style=\"text-align: right;\" type=\"text\" name=\"width\" value=\"" + _width 
+                       + "\"> " + _("pixels") + ", " + _("height") + ": <input size=\"4\" style=\"text-align: right;\" type=\"text\" name=\"height\" value=\"" + _height  
                        + "\"> " + _("pixels") + "<br>\n");
             _out.write(_("Refresh delay") + ": <select name=\"refreshDelay\">");
             for (int i = 0; i < times.length; i++) {
@@ -168,13 +189,40 @@ public class GraphHelper extends FormHandler {
                 _out.write("</option>\n");
             }
             _out.write("</select><br>\n" +
-                       "<hr><div class=\"formaction\"><input type=\"submit\" value=\"" + _("Redraw") + "\"></div></form>");
+                       _("Store graph data on disk?") +
+                       " <input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"persistent\"");
+            boolean persistent = _context.getBooleanPropertyDefaultTrue(SummaryListener.PROP_PERSISTENT);
+            if (persistent)
+                _out.write(" checked=\"true\"");
+            _out.write(">" +
+                       "<hr><div class=\"formaction\"><input type=\"submit\" value=\"" + _("Save settings and redraw graphs") + "\"></div></form>");
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }
         return ""; 
     }
 
+    /**
+     *  We have to do this here because processForm() isn't called unless the nonces are good
+     *  @since 0.8.6
+     */
+    @Override
+    public String getAllMessages() {
+        if (StatSummarizer.instance().isDisabled()) {
+            addFormError("Graphing not supported with this JVM: " +
+                         System.getProperty("java.vendor") + ' ' +
+                         System.getProperty("java.version") + " (" +
+                         System.getProperty("java.runtime.name") + ' ' +
+                         System.getProperty("java.runtime.version") + ')');
+            if (_context.getProperty(PROP_REFRESH, 0) >= 0) {
+                // force no refresh, save silently
+                _context.router().setConfigSetting(PROP_REFRESH, "-1");
+                _context.router().saveConfig();
+            }
+        }
+        return super.getAllMessages();
+    }
+
     /**
      *  This was a HelperBase but now it's a FormHandler
      *  @since 0.8.2
@@ -193,26 +241,27 @@ public class GraphHelper extends FormHandler {
             _height != _context.getProperty(PROP_Y, DEFAULT_Y) ||
             _periodCount != _context.getProperty(PROP_PERIODS, DEFAULT_PERIODS) ||
             _refreshDelaySeconds != _context.getProperty(PROP_REFRESH, DEFAULT_REFRESH) ||
-            _showEvents != Boolean.valueOf(_context.getProperty(PROP_EVENTS)).booleanValue()) {
+            _showEvents != _context.getBooleanProperty(PROP_EVENTS) ||
+            _persistent != _context.getBooleanPropertyDefaultTrue(SummaryListener.PROP_PERSISTENT)) {
             _context.router().setConfigSetting(PROP_X, "" + _width);
             _context.router().setConfigSetting(PROP_Y, "" + _height);
             _context.router().setConfigSetting(PROP_PERIODS, "" + _periodCount);
             _context.router().setConfigSetting(PROP_REFRESH, "" + _refreshDelaySeconds);
             _context.router().setConfigSetting(PROP_EVENTS, "" + _showEvents);
+            _context.router().setConfigSetting(SummaryListener.PROP_PERSISTENT, "" + _persistent);
             _context.router().saveConfig();
             addFormNotice(_("Graph settings saved"));
         }
     }
 
-/** inner class, don't bother reindenting */
-private static class AlphaComparator implements Comparator {
-    public int compare(Object lhs, Object rhs) {
-        SummaryListener l = (SummaryListener)lhs;
-        SummaryListener r = (SummaryListener)rhs;
-        String lName = l.getRate().getRateStat().getName() + "." + l.getRate().getPeriod();
-        String rName = r.getRate().getRateStat().getName() + "." + r.getRate().getPeriod();
-        return lName.compareTo(rName);
+    private static class AlphaComparator implements Comparator<SummaryListener> {
+        public int compare(SummaryListener l, SummaryListener r) {
+            String lName = l.getRate().getRateStat().getName();
+            String rName = r.getRate().getRateStat().getName();
+            int rv = lName.compareTo(rName);
+            if (rv != 0)
+                return rv;
+            return (int) (l.getRate().getPeriod() - r.getRate().getPeriod());
+        }
     }
 }
-
-}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
index 0fda16b63491915ea1acc43ac38f37b21267220f..15ec901548346eff54eeb0e4727b05aabaa58f0b 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
@@ -24,7 +24,6 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
-import net.i2p.crypto.TrustedUpdate;
 import net.i2p.data.DataHelper;
 import net.i2p.data.Destination;
 import net.i2p.data.Hash;
@@ -174,18 +173,19 @@ public class NetDbRenderer {
         }
         if (debug) {
             buf.append("<p><b>Total Leasesets: " + leases.size());
-            buf.append("<p><b>Published (RAP) Leasesets: " + _context.netDb().getKnownLeaseSets());
-            buf.append("<p>Mod Data: " + HexDump.dump(_context.routingKeyGenerator().getModData()) + "<p>");
-            buf.append("<p>Network data (only valid if floodfill):");
-            buf.append("<p>Center of Key Space (router hash): " + ourRKey.toBase64() + "<p>");
+            buf.append("</b></p><p><b>Published (RAP) Leasesets: " + _context.netDb().getKnownLeaseSets());
+            buf.append("</b></p><p><b>Mod Data: " + HexDump.dump(_context.routingKeyGenerator().getModData()));
+            buf.append("</b></p><p><b>Network data (only valid if floodfill):");
+            buf.append("</b></p><p><b>Center of Key Space (router hash): " + ourRKey.toBase64());
             if (median != null) {
                 double log2 = biLog2(median);
-                buf.append("<p>Median distance (bits): " + fmt.format(log2));
+                buf.append("</b></p><p><b>Median distance (bits): " + fmt.format(log2));
                 // 3 for 8 floodfills... -1 for median
                 int total = (int) Math.round(Math.pow(2, 3 + 256 - 1 - log2));
-                buf.append("<p>Estimated total floodfills: " + total);
-                buf.append("<p>Estimated network total leasesets: " + (total * leases.size() / 8));
+                buf.append("</b></p><p><b>Estimated total floodfills: " + total);
+                buf.append("</b></p><p><b>Estimated network total leasesets: " + (total * leases.size() / 8));
             }
+            buf.append("</b></p>");
         }
         out.write(buf.toString());
         out.flush();
@@ -405,11 +405,10 @@ public class NetDbRenderer {
     /**
      *  what transport types
      */
-    private int classifyTransports(RouterInfo info) {
+    private static int classifyTransports(RouterInfo info) {
         int rv = 0;
         String hash = info.getIdentity().getHash().toBase64();
-        for (Iterator iter = info.getAddresses().iterator(); iter.hasNext(); ) {
-            RouterAddress addr = (RouterAddress)iter.next();
+        for (RouterAddress addr : info.getAddresses()) {
             String style = addr.getTransportStyle();
             if (style.equals("NTCP")) {
                 rv |= NTCP;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
index 9e0a0c95128c8e0e9c9c10a566db5866df2756b6..d1835a32065f46168517b8eec9ec6cd46e0efc4b 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
@@ -95,7 +95,8 @@ public class PluginStarter implements Runnable {
             log.error("Cannot start nonexistent plugin: " + appName);
             return false;
         }
-        //log.error("Starting plugin: " + appName);
+        if (log.shouldLog(Log.INFO))
+            log.info("Starting plugin: " + appName);
 
         // register themes
         File dir = new File(pluginDir, "console/themes");
@@ -139,7 +140,8 @@ public class PluginStarter implements Runnable {
                         }
                         String enabled = props.getProperty(RouterConsoleRunner.PREFIX + warName + ENABLED);
                         if (! "false".equals(enabled)) {
-                            //log.error("Starting webapp: " + warName);
+                            if (log.shouldLog(Log.INFO))
+                                log.info("Starting webapp: " + warName);
                             String path = new File(webappDir, fileNames[i]).getCanonicalPath();
                             WebAppStarter.startWebApp(ctx, server, warName, path);
                             pluginWars.get(appName).add(warName);
@@ -149,6 +151,8 @@ public class PluginStarter implements Runnable {
                     }
                 }
             }
+        } else {
+            log.error("No console web server to start plugins?");
         }
 
         // add translation jars in console/locale
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
index f1306a2c1f9a7db4ddf332dec231c02636910b81..26e5f246394417d053f3f974701d9698ad82b6e7 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
@@ -1,16 +1,25 @@
 package net.i2p.router.web;
 
 import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.Semaphore;
 
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.imageio.stream.MemoryCacheImageOutputStream;
+
 import net.i2p.router.RouterContext;
 import net.i2p.stat.Rate;
 import net.i2p.stat.RateStat;
+import net.i2p.util.FileUtil;
 import net.i2p.util.Log;
 
 import org.jrobin.core.RrdException;
@@ -18,7 +27,17 @@ import org.jrobin.graph.RrdGraph;
 import org.jrobin.graph.RrdGraphDef;
 
 /**
+ *  A thread started by RouterConsoleRunner that
+ *  checks the configuration for stats to be tracked via jrobin,
+ *  and adds or deletes RRDs as necessary.
+ *
+ *  This also contains methods to generate xml or png image output.
+ *  The actual png rendering code is here for the special dual-rate graph;
+ *  the rendering for standard graphs is in SummaryRenderer.
  *
+ *  To control memory, the number of simultaneous renderings is limited.
+ *
+ *  @since 0.6.1.13
  */
 public class StatSummarizer implements Runnable {
     private final RouterContext _context;
@@ -28,25 +47,52 @@ public class StatSummarizer implements Runnable {
     private static StatSummarizer _instance;
     private static final int MAX_CONCURRENT_PNG = 3;
     private final Semaphore _sem;
+    private volatile boolean _isRunning = true;
+    private volatile boolean _isDisabled;
+    private Thread _thread;
     
     public StatSummarizer() {
         _context = (RouterContext)RouterContext.listContexts().get(0); // fuck it, only summarize one per jvm
         _log = _context.logManager().getLog(getClass());
-        _listeners = new ArrayList(16);
+        _listeners = new CopyOnWriteArrayList();
         _instance = this;
         _sem = new Semaphore(MAX_CONCURRENT_PNG, true);
+        _context.addShutdownTask(new Shutdown());
     }
     
     public static StatSummarizer instance() { return _instance; }
     
     public void run() {
+        // JRobin 1.5.9 crashes these JVMs
+        String vendor = System.getProperty("java.vendor");
+        if (vendor.startsWith("Apache") ||                      // Harmony
+            vendor.startsWith("GNU Classpath") ||               // JamVM
+            vendor.startsWith("Free Software Foundation")) {    // gij
+            _log.logAlways(Log.WARN, "Graphing not supported with this JVM: " +
+                                     vendor + ' ' +
+                                     System.getProperty("java.version") + " (" +
+                                     System.getProperty("java.runtime.name") + ' ' +
+                                     System.getProperty("java.runtime.version") + ')');
+            _isDisabled = true;
+            _isRunning = false;
+            return;
+        }
+        boolean isPersistent = _context.getBooleanPropertyDefaultTrue(SummaryListener.PROP_PERSISTENT);
+        if (!isPersistent)
+            deleteOldRRDs();
+        _thread = Thread.currentThread();
         String specs = "";
-        while (_context.router().isAlive()) {
+        while (_isRunning && _context.router().isAlive()) {
             specs = adjustDatabases(specs);
             try { Thread.sleep(60*1000); } catch (InterruptedException ie) {}
         }
     }
     
+    /** @since 0.8.6 */
+    boolean isDisabled() {
+        return _isDisabled;
+    }
+
     /** list of SummaryListener instances */
     List<SummaryListener> getListeners() { return _listeners; }
     
@@ -105,10 +151,10 @@ public class StatSummarizer implements Runnable {
     }
     
     private void removeDb(Rate r) {
-        for (int i = 0; i < _listeners.size(); i++) {
-            SummaryListener lsnr = _listeners.get(i);
+        for (SummaryListener lsnr : _listeners) {
             if (lsnr.getRate().equals(r)) {
-                _listeners.remove(i);
+                // no iter.remove() in COWAL
+                _listeners.remove(lsnr);
                 lsnr.stopListening();
                 return;
             }
@@ -116,13 +162,17 @@ public class StatSummarizer implements Runnable {
     }
     private void addDb(Rate r) {
         SummaryListener lsnr = new SummaryListener(r);
-        _listeners.add(lsnr);
-        lsnr.startListening();
+        boolean success = lsnr.startListening();
+        if (success)
+            _listeners.add(lsnr);
+        else
+            _log.error("Failed to add RRD for rate " + r.getRateStat().getName() + '.' + r.getPeriod());
         //System.out.println("Start listening for " + r.getRateStat().getName() + ": " + r.getPeriod());
     }
 
     public boolean renderPng(Rate rate, OutputStream out) throws IOException { 
-        return renderPng(rate, out, -1, -1, false, false, false, false, -1, true); 
+        return renderPng(rate, out, GraphHelper.DEFAULT_X, GraphHelper.DEFAULT_Y,
+                         false, false, false, false, -1, true); 
     }
 
     /**
@@ -141,7 +191,7 @@ public class StatSummarizer implements Runnable {
             return locked_renderPng(rate, out, width, height, hideLegend, hideGrid, hideTitle, showEvents,
                                     periodCount, showCredit);
         } finally {
-                _sem.release();
+            _sem.release();
         }
     }
 
@@ -150,10 +200,13 @@ public class StatSummarizer implements Runnable {
                                           boolean showCredit) throws IOException {
         if (width > GraphHelper.MAX_X)
             width = GraphHelper.MAX_X;
+        else if (width <= 0)
+            width = GraphHelper.DEFAULT_X;
         if (height > GraphHelper.MAX_Y)
             height = GraphHelper.MAX_Y;
-        for (int i = 0; i < _listeners.size(); i++) {
-            SummaryListener lsnr = _listeners.get(i);
+        else if (height <= 0)
+            height = GraphHelper.DEFAULT_Y;
+        for (SummaryListener lsnr : _listeners) {
             if (lsnr.getRate().equals(rate)) {
                 lsnr.renderPng(out, width, height, hideLegend, hideGrid, hideTitle, showEvents, periodCount, showCredit);
                 return true;
@@ -162,14 +215,25 @@ public class StatSummarizer implements Runnable {
         return false;
     }
 
+    /** @deprecated unused */
     public boolean renderPng(OutputStream out, String templateFilename) throws IOException {
         SummaryRenderer.render(_context, out, templateFilename);
         return true;
     }
 
     public boolean getXML(Rate rate, OutputStream out) throws IOException {
-        for (int i = 0; i < _listeners.size(); i++) {
-            SummaryListener lsnr = _listeners.get(i);
+        try {
+            try {
+                _sem.acquire();
+            } catch (InterruptedException ie) {}
+            return locked_getXML(rate, out);
+        } finally {
+            _sem.release();
+        }
+    }
+
+    private boolean locked_getXML(Rate rate, OutputStream out) throws IOException {
+        for (SummaryListener lsnr : _listeners) {
             if (lsnr.getRate().equals(rate)) {
                 lsnr.getData().exportXml(out);
                 out.write(("<!-- Rate: " + lsnr.getRate().getRateStat().getName() + " for period " + lsnr.getRate().getPeriod() + " -->\n").getBytes());
@@ -196,68 +260,91 @@ public class StatSummarizer implements Runnable {
             return locked_renderRatePng(out, width, height, hideLegend, hideGrid, hideTitle, showEvents,
                                         periodCount, showCredit);
         } finally {
-                _sem.release();
+            _sem.release();
         }
     }
 
     private boolean locked_renderRatePng(OutputStream out, int width, int height, boolean hideLegend,
                                               boolean hideGrid, boolean hideTitle, boolean showEvents,
                                               int periodCount, boolean showCredit) throws IOException {
-        long end = _context.clock().now() - 60*1000;
+
+        // go to some trouble to see if we have the data for the combined bw graph
+        SummaryListener txLsnr = null;
+        SummaryListener rxLsnr = null;
+        for (SummaryListener lsnr : StatSummarizer.instance().getListeners()) {
+            String title = lsnr.getRate().getRateStat().getName();
+            if (title.equals("bw.sendRate"))
+                txLsnr = lsnr;
+            else if (title.equals("bw.recvRate"))
+                rxLsnr = lsnr;
+        }
+        if (txLsnr == null || rxLsnr == null)
+            throw new IOException("no rates for combined graph");
+
+        long end = _context.clock().now() - 75*1000;
         if (width > GraphHelper.MAX_X)
             width = GraphHelper.MAX_X;
+        else if (width <= 0)
+            width = GraphHelper.DEFAULT_X;
         if (height > GraphHelper.MAX_Y)
             height = GraphHelper.MAX_Y;
-        if (periodCount <= 0) periodCount = SummaryListener.PERIODS;
-        if (periodCount > SummaryListener.PERIODS)
-            periodCount = SummaryListener.PERIODS;
+        else if (height <= 0)
+            height = GraphHelper.DEFAULT_Y;
+        if (periodCount <= 0 || periodCount > txLsnr.getRows())
+            periodCount = txLsnr.getRows();
         long period = 60*1000;
         long start = end - period*periodCount;
         //long begin = System.currentTimeMillis();
         try {
             RrdGraphDef def = new RrdGraphDef();
-            def.setTimePeriod(start/1000, 0);
-            def.setLowerLimit(0d);
-            def.setBaseValue(1024);
-            // Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+            def.setTimeSpan(start/1000, end/1000);
+            def.setMinValue(0d);
+            def.setBase(1024);
             String title = _("Bandwidth usage");
             if (!hideTitle)
                 def.setTitle(title);
+            long started = _context.router().getWhenStarted();
+            if (started > start && started < end)
+                def.vrule(started / 1000, Color.BLACK, null, 4.0f);  // no room for legend
             String sendName = SummaryListener.createName(_context, "bw.sendRate.60000");
             String recvName = SummaryListener.createName(_context, "bw.recvRate.60000");
-            def.datasource(sendName, sendName, sendName, "AVERAGE", "MEMORY");
-            def.datasource(recvName, recvName, recvName, "AVERAGE", "MEMORY");
-            def.area(sendName, Color.BLUE, _("Outbound bytes/sec"));
+            def.datasource(sendName, txLsnr.getData().getPath(), sendName, SummaryListener.CF, txLsnr.getBackendName());
+            def.datasource(recvName, rxLsnr.getData().getPath(), recvName, SummaryListener.CF, rxLsnr.getBackendName());
+            def.area(sendName, Color.BLUE, _("Outbound Bytes/sec"));
             //def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
-            def.line(recvName, Color.RED, _("Inbound bytes/sec") + "@r", 3);
+            def.line(recvName, Color.RED, _("Inbound Bytes/sec") + "\\r", 3);
             //def.area(recvName, Color.RED, "Inbound bytes/sec@r");
             if (!hideLegend) {
-                def.gprint(sendName, "AVERAGE", _("out average") + ": @2@s" + _("bytes/sec"));
-                def.gprint(sendName, "MAX", ' ' + _("max") + ": @2@s" + _("bytes/sec") + "@r");
-                def.gprint(recvName, "AVERAGE", _("in average") + ":  @2@s" + _("bytes/sec"));
-                def.gprint(recvName, "MAX", ' ' + _("max") + ": @2@s" + _("bytes/sec") + "@r");
+                def.gprint(sendName, SummaryListener.CF, _("Out average") + ": %.2f %s" + _("Bps"));
+                def.gprint(sendName, "MAX", ' ' + _("max") + ": %.2f %S" + _("Bps") + "\\r");
+                def.gprint(recvName, SummaryListener.CF, _("In average") + ": %.2f %S" + _("Bps"));
+                def.gprint(recvName, "MAX", ' ' + _("max") + ": %.2f %S" + _("Bps") + "\\r");
             }
             if (!showCredit)
                 def.setShowSignature(false);
             if (hideLegend) 
-                def.setShowLegend(false);
+                def.setNoLegend(true);
             if (hideGrid) {
-                def.setGridX(false);
-                def.setGridY(false);
+                def.setDrawXGrid(false);
+                def.setDrawYGrid(false);
             }
             //System.out.println("rendering: path=" + path + " dsNames[0]=" + dsNames[0] + " dsNames[1]=" + dsNames[1] + " lsnr.getName=" + _listener.getName());
             def.setAntiAliasing(false);
             //System.out.println("Rendering: \n" + def.exportXmlTemplate());
             //System.out.println("*****************\nData: \n" + _listener.getData().dump());
+            def.setWidth(width);
+            def.setHeight(height);
+
             RrdGraph graph = new RrdGraph(def);
             //System.out.println("Graph created");
-            byte data[] = null;
-            if ( (width <= 0) || (height <= 0) )
-                data = graph.getPNGBytes();
-            else
-                data = graph.getPNGBytes(width, height);
-            //long timeToPlot = System.currentTimeMillis() - begin;
-            out.write(data);
+            int totalWidth = graph.getRrdGraphInfo().getWidth();
+            int totalHeight = graph.getRrdGraphInfo().getHeight();
+            BufferedImage img = new BufferedImage(totalWidth, totalHeight, BufferedImage.TYPE_USHORT_565_RGB);
+            Graphics gfx = img.getGraphics();
+            graph.render(gfx);
+            ImageOutputStream ios = new MemoryCacheImageOutputStream(out);
+            ImageIO.write(img, "png", ios);
+
             //File t = File.createTempFile("jrobinData", ".xml");
             //_listener.getData().dumpXml(new FileOutputStream(t));
             //System.out.println("plotted: " + (data != null ? data.length : 0) + " bytes in " + timeToPlot
@@ -303,11 +390,38 @@ public class StatSummarizer implements Runnable {
         return rv;
     }
 
+    /**
+     *  Delete the old rrd dir if we are no longer persistent
+     *  @since 0.8.6
+     */
+    private void deleteOldRRDs() {
+        File rrdDir = new File(_context.getRouterDir(), SummaryListener.RRD_DIR);
+        FileUtil.rmdir(rrdDir, false);
+    }
+
     /** translate a string */
     private String _(String s) {
         // the RRD font doesn't have zh chars, at least on my system
-        if ("zh".equals(Messages.getLanguage(_context)))
-            return s;
+        // Works on 1.5.9
+        //if ("zh".equals(Messages.getLanguage(_context)))
+        //    return s;
         return Messages.getString(s, _context);
     }
+
+    /**
+     *  Make sure any persistent RRDs are closed
+     *  @since 0.8.6
+     */
+    private class Shutdown implements Runnable {
+        public void run() {
+            _isRunning = false;
+            if (_thread != null)
+                _thread.interrupt();
+            for (SummaryListener lsnr : _listeners) {
+                // FIXME could cause exceptions if rendering?
+                lsnr.stopListening();
+            }
+            _listeners.clear();
+        }
+    }
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
index e21102c7f7a3e5ef3c60e67a758e168dae95039e..b07573bd53e20b9c93ab93dc86b4751d88f2f72d 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
@@ -123,7 +123,7 @@ public class SummaryBarRenderer {
                .append(_("Health Report"))
                .append("\">")
                .append(_("Logs"))
-               .append("</a>\n" +
+               .append("</a>\n");
 
            //          "<a href=\"/jobs.jsp\" target=\"_top\" title=\"")
            //  .append(_("Show the router's workload, and how it's performing"))
@@ -131,13 +131,15 @@ public class SummaryBarRenderer {
            //  .append(_("Jobs"))
            //  .append("</a>\n" +
 
-                       "<a href=\"/graphs\" target=\"_top\" title=\"")
+            if (!StatSummarizer.instance().isDisabled()) {
+                buf.append("<a href=\"/graphs\" target=\"_top\" title=\"")
                .append(_("Graph router performance"))
                .append("\">")
                .append(_("Graphs"))
-               .append("</a>\n" +
+               .append("</a>\n");
+            }
 
-                       "<a href=\"/stats\" target=\"_top\" title=\"")
+            buf.append("<a href=\"/stats\" target=\"_top\" title=\"")
                .append(_("Textual router performance statistics"))
                .append("\">")
                .append(_("Stats"))
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
index 7783bf8110460c423170ec291323751bdcf82694..e1c1b8d26840da69e7617b4f18ff9fb1a94f3327 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
@@ -384,7 +384,7 @@ public class SummaryHelper extends HelperBase {
                     buf.append("client.png\" alt=\"Client\" title=\"" + _("Client") + "\">");
                 buf.append("</td><td align=\"left\"><b><a href=\"tunnels#").append(h.toBase64().substring(0,4));
                 buf.append("\" target=\"_top\" title=\"" + _("Show tunnels") + "\">");
-                if (name.length() < 16)
+                if (name.length() < 18)
                     buf.append(name);
                 else
                     buf.append(name.substring(0,15)).append("&hellip;");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
index 0d066233ed80aabc390968a1a9cc4dcd11181a31..3b48833c7f9032e7e7543e63e0c8deb5a3880f29 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
@@ -1,6 +1,6 @@
 package net.i2p.router.web;
 
-import java.awt.Color;
+import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 
@@ -10,42 +10,59 @@ import net.i2p.stat.Rate;
 import net.i2p.stat.RateStat;
 import net.i2p.stat.RateSummaryListener;
 import net.i2p.util.Log;
+import net.i2p.util.SecureFile;
+import net.i2p.util.SecureFileOutputStream;
 
+import org.jrobin.core.Archive;
 import org.jrobin.core.RrdBackendFactory;
 import org.jrobin.core.RrdDb;
 import org.jrobin.core.RrdDef;
 import org.jrobin.core.RrdException;
 import org.jrobin.core.RrdMemoryBackendFactory;
+import org.jrobin.core.RrdNioBackendFactory;
 import org.jrobin.core.Sample;
 import org.jrobin.graph.RrdGraph;
 import org.jrobin.graph.RrdGraphDef;
 import org.jrobin.graph.RrdGraphDefTemplate;
 
+/**
+ *  Creates and updates the in-memory RRD database,
+ *  and provides methods to generate graphs of the data
+ *
+ *  @since 0.6.1.13
+ */
 class SummaryListener implements RateSummaryListener {
-    private I2PAppContext _context;
-    private Log _log;
-    private Rate _rate;
+    static final String PROP_PERSISTENT = "routerconsole.graphPersistent";
+    /** note that .jrb files are NOT compatible with .rrd files */
+    static final String RRD_DIR = "rrd";
+    private static final String RRD_PREFIX = "rrd-";
+    private static final String RRD_SUFFIX = ".jrb";
+    static final String CF = "AVERAGE";
+    private static final double XFF = 0.9d;
+    private static final int STEPS = 1;
+
+    private final I2PAppContext _context;
+    private final Log _log;
+    private final Rate _rate;
+    private final boolean _isPersistent;
     private String _name;
     private String _eventName;
     private RrdDb _db;
     private Sample _sample;
     private RrdMemoryBackendFactory _factory;
     private SummaryRenderer _renderer;
+    private int _rows;
     
-    static final int PERIODS = 1440;
-    
-    static {
-        try {
-            RrdBackendFactory.setDefaultFactory("MEMORY");
-        } catch (RrdException re) {
-            re.printStackTrace();
-        }
-    }
+    static final int PERIODS = 60 * 24;  // 1440
+    private static final int MIN_ROWS = PERIODS;
+    private static final int MAX_ROWS = 91 * MIN_ROWS;
+    private static final long THREE_MONTHS = 91l * 24 * 60 * 60 * 1000;
     
     public SummaryListener(Rate r) {
         _context = I2PAppContext.getGlobalContext();
         _rate = r;
         _log = _context.logManager().getLog(SummaryListener.class);
+        _isPersistent = _context.getBooleanPropertyDefaultTrue(PROP_PERSISTENT);
     }
     
     public void add(double totalValue, long eventCount, double totalEventTime, long period) {
@@ -86,34 +103,73 @@ class SummaryListener implements RateSummaryListener {
     }
     
     public Rate getRate() { return _rate; }
-    public void startListening() {
+
+    /**
+     *  @return success
+     */
+    public boolean startListening() {
         RateStat rs = _rate.getRateStat();
         long period = _rate.getPeriod();
         String baseName = rs.getName() + "." + period;
         _name = createName(_context, baseName);
         _eventName = createName(_context, baseName + ".events");
         try {
-            RrdDef def = new RrdDef(_name, now()/1000, period/1000);
-            // for info on the heartbeat, xff, steps, etc, see the rrdcreate man page, aka
-            // http://www.jrobin.org/support/man/rrdcreate.html
-            long heartbeat = period*10/1000;
-            def.addDatasource(_name, "GAUGE", heartbeat, Double.NaN, Double.NaN);
-            def.addDatasource(_eventName, "GAUGE", heartbeat, 0, Double.NaN);
-            double xff = 0.9;
-            int steps = 1;
-            int rows = PERIODS;
-            def.addArchive("AVERAGE", xff, steps, rows);
-            _factory = (RrdMemoryBackendFactory)RrdBackendFactory.getDefaultFactory();
-            _db = new RrdDb(def, _factory);
+            RrdBackendFactory factory = RrdBackendFactory.getFactory(getBackendName());
+            String rrdDefName;
+            if (_isPersistent) {
+                // generate full path for persistent RRD files
+                File rrdDir = new SecureFile(_context.getRouterDir(), RRD_DIR);
+                File rrdFile = new File(rrdDir, RRD_PREFIX + _name + RRD_SUFFIX);
+                rrdDefName = rrdFile.getAbsolutePath();
+                if (rrdFile.exists()) {
+                    _db = new RrdDb(rrdDefName, factory);
+                    Archive arch = _db.getArchive(CF, STEPS);
+                    if (arch == null)
+                        throw new IOException("No average CF in " + rrdDefName);
+                    _rows = arch.getRows();
+                    if (_log.shouldLog(Log.INFO))
+                        _log.info("Existing RRD " + baseName + " (" + rrdDefName + ") with " + _rows + " rows consuming " + _db.getRrdBackend().getLength() + " bytes");
+                } else {
+                    rrdDir.mkdir();
+                }
+            } else {
+                rrdDefName = _name;
+            }
+            if (_db == null) {
+                // not persistent or not previously existing
+                RrdDef def = new RrdDef(rrdDefName, now()/1000, period/1000);
+                // for info on the heartbeat, xff, steps, etc, see the rrdcreate man page, aka
+                // http://www.jrobin.org/support/man/rrdcreate.html
+                long heartbeat = period*10/1000;
+                def.addDatasource(_name, "GAUGE", heartbeat, Double.NaN, Double.NaN);
+                def.addDatasource(_eventName, "GAUGE", heartbeat, 0, Double.NaN);
+                int steps = 1;
+                if (_isPersistent) {
+                    _rows = (int) Math.max(MIN_ROWS, Math.min(MAX_ROWS, THREE_MONTHS / period));
+                } else {
+                    _rows = MIN_ROWS;
+                }
+                def.addArchive(CF, XFF, STEPS, _rows);
+                _db = new RrdDb(def, factory);
+                if (_isPersistent)
+                    SecureFileOutputStream.setPerms(new File(rrdDefName));
+                if (_log.shouldLog(Log.INFO))
+                    _log.info("New RRD " + baseName + " (" + rrdDefName + ") with " + _rows + " rows consuming " + _db.getRrdBackend().getLength() + " bytes");
+            }
             _sample = _db.createSample();
             _renderer = new SummaryRenderer(_context, this);
             _rate.setSummaryListener(this);
+            return true;
+        } catch (OutOfMemoryError oom) {
+            _log.error("Error starting RRD for stat " + baseName, oom);
         } catch (RrdException re) {
-            _log.error("Error starting", re);
+            _log.error("Error starting RRD for stat " + baseName, re);
         } catch (IOException ioe) {
-            _log.error("Error starting", ioe);
+            _log.error("Error starting RRD for stat " + baseName, ioe);
         }
+        return false;
     }
+
     public void stopListening() {
         if (_db == null) return;
         try {
@@ -122,23 +178,50 @@ class SummaryListener implements RateSummaryListener {
             _log.error("Error closing", ioe);
         }
         _rate.setSummaryListener(null);
-        _factory.delete(_db.getPath());
+        if (!_isPersistent) {
+            // close() does not release resources for memory backend
+            try {
+                ((RrdMemoryBackendFactory)RrdBackendFactory.getFactory(RrdMemoryBackendFactory.NAME)).delete(_db.getPath());
+            } catch (RrdException re) {}
+        }
         _db = null;
     }
+
     public void renderPng(OutputStream out, int width, int height, boolean hideLegend, boolean hideGrid, boolean hideTitle, boolean showEvents, int periodCount, boolean showCredit) throws IOException {
+        if (_renderer == null || _db == null)
+            throw new IOException("No RRD, check logs for previous errors");
         _renderer.render(out, width, height, hideLegend, hideGrid, hideTitle, showEvents, periodCount, showCredit); 
     }
-    public void renderPng(OutputStream out) throws IOException { _renderer.render(out); }
+
+    public void renderPng(OutputStream out) throws IOException {
+        if (_renderer == null || _db == null)
+            throw new IOException("No RRD, check logs for previous errors");
+        _renderer.render(out);
+    }
  
     String getName() { return _name; }
+
     String getEventName() { return _eventName; }
+
     RrdDb getData() { return _db; }
+
     long now() { return _context.clock().now(); }
     
+    /** @since 0.8.6 */
+    String getBackendName() {
+        return _isPersistent ? RrdNioBackendFactory.NAME : RrdMemoryBackendFactory.NAME;
+    }
+
+    /** @since 0.8.6 */
+    int getRows() {
+        return _rows;
+    }
+
     @Override
     public boolean equals(Object obj) {
         return ((obj instanceof SummaryListener) && ((SummaryListener)obj)._rate.equals(_rate));
     }
+
     @Override
     public int hashCode() { return _rate.hashCode(); }
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
index 5e7545ec2485369b05cf24a44de803d08f744391..ba7ee6fb18fa92aa79e4f9f6eb16ebe82ae2f459 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
@@ -1,30 +1,39 @@
 package net.i2p.router.web;
 
 import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.OutputStream;
 
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.imageio.stream.MemoryCacheImageOutputStream;
+
 import net.i2p.I2PAppContext;
 import net.i2p.data.DataHelper;
+import net.i2p.router.RouterContext;
 import net.i2p.stat.Rate;
 import net.i2p.stat.RateStat;
 import net.i2p.stat.RateSummaryListener;
 import net.i2p.util.Log;
 
-import org.jrobin.core.RrdBackendFactory;
-import org.jrobin.core.RrdDb;
-import org.jrobin.core.RrdDef;
 import org.jrobin.core.RrdException;
-import org.jrobin.core.RrdMemoryBackendFactory;
-import org.jrobin.core.Sample;
 import org.jrobin.graph.RrdGraph;
 import org.jrobin.graph.RrdGraphDef;
 import org.jrobin.graph.RrdGraphDefTemplate;
 
+/**
+ *  Generate the RRD graph png images,
+ *  except for the combined rate graph, which is
+ *  generated in StatSummarizer.
+ *
+ *  @since 0.6.1.13
+ */
 class SummaryRenderer {
-    private Log _log;
-    private SummaryListener _listener;
-    private I2PAppContext _context;
+    private final Log _log;
+    private final SummaryListener _listener;
+    private final I2PAppContext _context;
 
     public SummaryRenderer(I2PAppContext ctx, SummaryListener lsnr) { 
         _log = ctx.logManager().getLog(SummaryRenderer.class);
@@ -38,6 +47,7 @@ class SummaryRenderer {
      * DOM level 3 load and store support.  Perhaps we can bundle that, or
      * specify who can get it from where, etc.
      *
+     * @deprecated unsed
      */
     public static synchronized void render(I2PAppContext ctx, OutputStream out, String filename) throws IOException {
         long end = ctx.clock().now() - 60*1000;
@@ -45,10 +55,21 @@ class SummaryRenderer {
         try {
             RrdGraphDefTemplate template = new RrdGraphDefTemplate(filename);
             RrdGraphDef def = template.getRrdGraphDef();
-            def.setTimePeriod(start/1000, end/1000); // ignore the periods in the template
+            def.setTimeSpan(start/1000, end/1000); // ignore the periods in the template
+            // FIXME not clear how to get the height and width from the template
+            int width = GraphHelper.DEFAULT_X;
+            int height = GraphHelper.DEFAULT_Y;
+            def.setWidth(width);
+            def.setHeight(height);
+
             RrdGraph graph = new RrdGraph(def);
-            byte img[] = graph.getPNGBytes();
-            out.write(img);
+            int totalWidth = graph.getRrdGraphInfo().getWidth();
+            int totalHeight = graph.getRrdGraphInfo().getHeight();
+            BufferedImage img = new BufferedImage(totalWidth, totalHeight, BufferedImage.TYPE_USHORT_565_RGB);
+            Graphics gfx = img.getGraphics();
+            graph.render(gfx);
+            ImageOutputStream ios = new MemoryCacheImageOutputStream(out);
+            ImageIO.write(img, "png", ios);
         } catch (RrdException re) {
             //_log.error("Error rendering " + filename, re);
             throw new IOException("Error plotting: " + re.getMessage());
@@ -58,34 +79,33 @@ class SummaryRenderer {
         }
     }
 
-    public void render(OutputStream out) throws IOException { render(out, -1, -1, false, false, false, false, -1, false); }
+    public void render(OutputStream out) throws IOException { render(out, GraphHelper.DEFAULT_X, GraphHelper.DEFAULT_Y,
+                                                                     false, false, false, false, -1, false); }
 
     public void render(OutputStream out, int width, int height, boolean hideLegend, boolean hideGrid, boolean hideTitle, boolean showEvents, int periodCount, boolean showCredit) throws IOException {
-        long end = _listener.now() - 60*1000;
-        if (periodCount <= 0) periodCount = SummaryListener.PERIODS;
-        if (periodCount > SummaryListener.PERIODS)
-            periodCount = SummaryListener.PERIODS;
+        long end = _listener.now() - 75*1000;
+        if (periodCount <= 0 || periodCount > _listener.getRows())
+            periodCount = _listener.getRows();
         long start = end - _listener.getRate().getPeriod()*periodCount;
         //long begin = System.currentTimeMillis();
         try {
             RrdGraphDef def = new RrdGraphDef();
-            def.setTimePeriod(start/1000, 0);
-            def.setLowerLimit(0d);
+            def.setTimeSpan(start/1000, end/1000);
+            def.setMinValue(0d);
             String name = _listener.getRate().getRateStat().getName();
             // heuristic to set K=1024
             if ((name.startsWith("bw.") || name.indexOf("Size") >= 0 || name.indexOf("Bps") >= 0 || name.indexOf("memory") >= 0)
                 && !showEvents)
-                def.setBaseValue(1024);
+                def.setBase(1024);
             if (!hideTitle) {
                 String title;
                 String p;
                 // we want the formatting and translation of formatDuration2(), except not zh, and not the &nbsp;
-                if ("zh".equals(Messages.getLanguage(_context)))
-                    p = DataHelper.formatDuration(_listener.getRate().getPeriod());
-                else
+                //if ("zh".equals(Messages.getLanguage(_context)))
+                //    p = DataHelper.formatDuration(_listener.getRate().getPeriod());
+                //else
                     p = DataHelper.formatDuration2(_listener.getRate().getPeriod()).replace("&nbsp;", " ");
                 if (showEvents)
-                    // Note to translators: all runtime zh translation disabled in this file, no font available in RRD
                     title = name + ' ' + _("events in {0}", p);
                 else
                     title = name + ' ' + _("averaged for {0}", p);
@@ -108,12 +128,18 @@ class SummaryRenderer {
                 // Strings.java
                 descr = _(_listener.getRate().getRateStat().getDescription());
             }
-            def.datasource(plotName, path, plotName, "AVERAGE", "MEMORY");
-            def.area(plotName, Color.BLUE, descr + "@r");
+            long started = ((RouterContext)_context).router().getWhenStarted();
+            if (started > start && started < end)
+                def.vrule(started / 1000, Color.BLACK, _("Restart"), 4.0f);
+            def.datasource(plotName, path, plotName, SummaryListener.CF, _listener.getBackendName());
+            if (descr.length() > 0)
+                def.area(plotName, Color.BLUE, descr + "\\r");
+            else
+                def.area(plotName, Color.BLUE);
             if (!hideLegend) {
-                def.gprint(plotName, "AVERAGE", _("avg") + ": @2@s");
-                def.gprint(plotName, "MAX", ' ' + _("max") + ": @2@s");
-                def.gprint(plotName, "LAST", ' ' + _("now") + ": @2@s@r");
+                def.gprint(plotName, SummaryListener.CF, _("avg") + ": %.2f %s");
+                def.gprint(plotName, "MAX", ' ' + _("max") + ": %.2f %S");
+                def.gprint(plotName, "LAST", ' ' + _("now") + ": %.2f %S\\r");
             }
             if (!showCredit)
                 def.setShowSignature(false);
@@ -126,24 +152,28 @@ class SummaryRenderer {
                 def.line(dsNames[1], Color.RED, "Events per period");
             */
             if (hideLegend) 
-                def.setShowLegend(false);
+                def.setNoLegend(true);
             if (hideGrid) {
-                def.setGridX(false);
-                def.setGridY(false);
+                def.setDrawXGrid(false);
+                def.setDrawYGrid(false);
             }
             //System.out.println("rendering: path=" + path + " dsNames[0]=" + dsNames[0] + " dsNames[1]=" + dsNames[1] + " lsnr.getName=" + _listener.getName());
             def.setAntiAliasing(false);
             //System.out.println("Rendering: \n" + def.exportXmlTemplate());
             //System.out.println("*****************\nData: \n" + _listener.getData().dump());
+            def.setWidth(width);
+            def.setHeight(height);
+
             RrdGraph graph = new RrdGraph(def);
+            int totalWidth = graph.getRrdGraphInfo().getWidth();
+            int totalHeight = graph.getRrdGraphInfo().getHeight();
+            BufferedImage img = new BufferedImage(totalWidth, totalHeight, BufferedImage.TYPE_USHORT_565_RGB);
+            Graphics gfx = img.getGraphics();
+            graph.render(gfx);
+            ImageOutputStream ios = new MemoryCacheImageOutputStream(out);
+            ImageIO.write(img, "png", ios);
             //System.out.println("Graph created");
-            byte data[] = null;
-            if ( (width <= 0) || (height <= 0) )
-                data = graph.getPNGBytes();
-            else
-                data = graph.getPNGBytes(width, height);
-            //long timeToPlot = System.currentTimeMillis() - begin;
-            out.write(data);
+
             //File t = File.createTempFile("jrobinData", ".xml");
             //_listener.getData().dumpXml(new FileOutputStream(t));
             //System.out.println("plotted: " + (data != null ? data.length : 0) + " bytes in " + timeToPlot
@@ -163,8 +193,9 @@ class SummaryRenderer {
     /** translate a string */
     private String _(String s) {
         // the RRD font doesn't have zh chars, at least on my system
-        if ("zh".equals(Messages.getLanguage(_context)))
-            return s;
+        // Works on 1.5.9
+        //if ("zh".equals(Messages.getLanguage(_context)))
+        //  return s;
         return Messages.getString(s, _context);
     }
 
@@ -173,8 +204,9 @@ class SummaryRenderer {
      */
     private String _(String s, String o) {
         // the RRD font doesn't have zh chars, at least on my system
-        if ("zh".equals(Messages.getLanguage(_context)))
-            return s.replace("{0}", o);
+        // Works on 1.5.9
+        //if ("zh".equals(Messages.getLanguage(_context)))
+        //  return s.replace("{0}", o);
         return Messages.getString(s, o, _context);
     }
 }
diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp
index 83548e6a39d4b0b73526c00d744a753ef7ef3e4e..df605ba1de761988ac48739ab895bdec6ff2a3ef 100644
--- a/apps/routerconsole/jsp/config.jsp
+++ b/apps/routerconsole/jsp/config.jsp
@@ -165,7 +165,7 @@
     <input type="radio" class="optbox" name="ntcpAutoPort" value="1" <%=nethelper.getTcpAutoPortChecked(1) %> >
     <%=intl._("Specify Port")%>:
     <input name ="ntcpport" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="ntcpport" />" ><br>
- </p><p><b><%=intl._("Note")%>: <%=intl._("Changing these settings will restart your router.")%></b></p>
+ </p><p><b><%=intl._("Notes")%>: <%=intl._("a) Do not reveal your port numbers to anyone!   b) Changing these settings will restart your router.")%></b></p>
 <hr><div class="formaction">
 <input type="reset" value="<%=intl._("Cancel")%>" >
 <input type="submit" name="save" value="<%=intl._("Save changes")%>" >
diff --git a/apps/routerconsole/jsp/flags.jsp b/apps/routerconsole/jsp/flags.jsp
index 153b4c2f27c0be1ae96d4f06e1e5037ede252871..7148782e31bd00b0e7a0670d30994db52d8190fe 100644
--- a/apps/routerconsole/jsp/flags.jsp
+++ b/apps/routerconsole/jsp/flags.jsp
@@ -11,7 +11,6 @@
  *  flags.jsp?c=de => icons/flags/de.png
  *  with headers set so the browser caches.
  */
-boolean rendered = false;
 String c = request.getParameter("c");
 if (c != null && c.length() > 0) {
     java.io.OutputStream cout = response.getOutputStream();
@@ -38,17 +37,23 @@ if (c != null && c.length() > 0) {
     response.setContentType("image/png");
     try {
         net.i2p.util.FileUtil.readFile(file, base, cout);
-        rendered = true;
-    } catch (java.io.IOException ioe) {}
-    if (rendered)
-        cout.close();
+    } catch (java.io.IOException ioe) {
+        // prevent 'Committed' IllegalStateException from Jetty
+        if (!response.isCommitted()) {
+            response.sendError(403, ioe.toString());
+        }  else {
+            net.i2p.I2PAppContext.getGlobalContext().logManager().getLog(getClass()).error("Error serving flags/" + c + ".png", ioe);
+            // Jetty doesn't log this
+            throw ioe;
+        }
+    }
+} else {
+    /*
+     *  Send a 403 instead of a 404, because the server sends error.jsp
+     *  for 404 errors, complete with the summary bar, which would be
+     *  a huge load for a page full of flags if the user didn't have the
+     *  flags directory for some reason.
+     */
+    response.sendError(403, "No flag specified");
 }
-/*
- *  Send a 403 instead of a 404, because the server sends error.jsp
- *  for 404 errors, complete with the summary bar, which would be
- *  a huge load for a page full of flags if the user didn't have the
- *  flags directory for some reason.
- */
-if (!rendered)
-    response.sendError(403, "Flag not found");
 %>
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/graphs.jsp b/apps/routerconsole/jsp/graphs.jsp
index bbda259441a9564c05abfcd7bc3a193e23c389fc..e54133250a7233399a9c3e696fae2a2daf3f3324 100644
--- a/apps/routerconsole/jsp/graphs.jsp
+++ b/apps/routerconsole/jsp/graphs.jsp
@@ -5,19 +5,26 @@
 <html><head>
 <%@include file="css.jsi" %>
 <%=intl.title("graphs")%>
+ <jsp:useBean class="net.i2p.router.web.GraphHelper" id="graphHelper" scope="request" />
+ <% graphHelper.storeMethod(request.getMethod()); %>
+ <jsp:setProperty name="graphHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
+<% /* GraphHelper sets the defaults in setContextId, so setting the properties must be after the context */ %>
+ <jsp:setProperty name="graphHelper" property="*" />
+<%
+    graphHelper.storeWriter(out);
+    graphHelper.storeMethod(request.getMethod());
+    // meta must be inside the head
+    boolean allowRefresh = intl.allowIFrame(request.getHeader("User-Agent"));
+    if (allowRefresh) {
+        out.print(graphHelper.getRefreshMeta());
+    }
+%>
 </head><body>
-
 <%@include file="summary.jsi" %>
 <h1><%=intl._("I2P Performance Graphs")%></h1>
 <div class="main" id="main">
  <div class="graphspanel">
  <div class="widepanel">
- <jsp:useBean class="net.i2p.router.web.GraphHelper" id="graphHelper" scope="request" />
- <% graphHelper.storeMethod(request.getMethod()); %>
- <jsp:setProperty name="graphHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
-<% /* GraphHelper sets the defaults in setContextId, so setting the properties must be after the context */ %>
- <jsp:setProperty name="graphHelper" property="*" />
- <% graphHelper.storeWriter(out); %>
  <jsp:getProperty name="graphHelper" property="allMessages" />
  <jsp:getProperty name="graphHelper" property="images" />
  <jsp:getProperty name="graphHelper" property="form" />
diff --git a/apps/routerconsole/jsp/help.jsp b/apps/routerconsole/jsp/help.jsp
index 636e8800d12c9fabdddec7631d53bcfc77058140..d166532de27e323fd20bec44c6221111071056b0 100644
--- a/apps/routerconsole/jsp/help.jsp
+++ b/apps/routerconsole/jsp/help.jsp
@@ -47,7 +47,7 @@ This may range from 8-10 to several hundred, depending on your total bandwidth,
 shared bandwidth, and locally-generated traffic.
 The second number is the number of peers seen in the last hour or so.
 Do not be concerned if these numbers vary widely.
-<a href="configstats.jsp#router.activePeers">[Enable graphing]</a>.
+First enable all stats to <a href="configstats.jsp#router.activePeers">[Enable graphing]</a>.
 <li class="tidylist"><b>Fast:</b>
 This is the number of peers you use for building client tunnels. It is generally in the
 range 8-30. Your fast peers are shown on the <a href="profiles.jsp">profiles page</a>.
@@ -56,7 +56,7 @@ range 8-30. Your fast peers are shown on the <a href="profiles.jsp">profiles pag
 This is the number of peers you use for building some of your exploratory tunnels. It is generally in the
 range 8-75. The fast peers are included in the high capacity tier.
 Your high capacity peers are shown on the <a href="profiles.jsp">profiles page</a>.
-<a href="configstats.jsp#router.highCapacityPeers">[Enable graphing]</a>.
+First enable all stats to <a href="configstats.jsp#router.highCapacityPeers">[Enable graphing]</a>.
 <li class="tidylist"><b>Well Integrated:</b>
 This is the number of peers you use for network database inquiries.
 These are usually the "floodfill" peers.
diff --git a/apps/routerconsole/jsp/help_fr.jsp b/apps/routerconsole/jsp/help_fr.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..cd3c3df9d1c8afcd0b01a1653a996325dbf5aa86
--- /dev/null
+++ b/apps/routerconsole/jsp/help_fr.jsp
@@ -0,0 +1,160 @@
+<%@page contentType="text/html"%>
+<%@page pageEncoding="UTF-8"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%
+  /*
+   *   Do not tag this file for translation - copy it to help_xx.jsp and translate inline.
+   */
+%>
+<html><head><title>Console du routeur I2P - Aide</title>
+<%@include file="css.jsi" %>
+</head><body>
+<%@include file="summary.jsi" %>
+Traduction de mars 2011 (magma@mail.i2p)
+<h1>Aide et assistance du routeur I2P</h1>
+<div class="main" id="main"><p>
+Si vous souhaitez améliorer ou traduire la documentation ou d'autres versants du projet, merci de vous reporter à 
+la page consacrée aux <a href="http://www.i2p2.i2p/getinvolved_fr.html">volontaires</a>.
+</p><p>D'autres détails sont disponibles ici:
+<ul class="links">
+<li class="tidylist"><a href="http://www.i2p2.i2p/faq.html">FAQ en anglais sur www.i2p2.i2p</a>
+<li class="tidylist"><a href="http://www.i2p2.i2p/faq_fr.html">les FAQ en français</a>.</ul>
+<br>Il y a aussi le <a href="http://forum.i2p/">forum I2P</a>
+et l'IRC.</p>
+
+<h2>Informations du panneau de surveillance</h2><p>
+Plusieurs des statistiques affichées dans le panneau de surveillance peuvent être 
+<a href="configstats.jsp">configurées</a> pour être affichées sous forme de <a href="graphs.jsp">graphiques</a> pour 
+analyse sur la durée.
+</p><h3>GÉNÉRAL</h3><ul>
+<li class="tidylist"><b>Identité locale:</b>
+Cliquez sur "Afficher" pour voir l'empreinte Base64 à 44 caractères (256 bits) de votre routeur. Le hachage 
+complet est affiché sur votre <a href="netdb.jsp?r=.">page d'infos routeur</a>. Ne la divulguez jamais à personne, 
+car l'info routeur contient votre adresse IP.
+<li class="tidylist"><b>Version:</b>
+La version d'I2P qui vous affiche actuellement cette page.
+<li class="tidylist"><b>Lancé depuis:</b>
+Indique depuis combien de temps le routeur tourne.
+<li class="tidylist"><b>Réseau:</b>
+Statut de joignabilité du routeur par les autres routeurs.
+Plus d'infos sur la page de <a href="config.jsp#help">configuration</a>.
+</ul><h3>Pairs</h3><ul>
+<li class="tidylist"><b>Actifs:</b>
+le premier nombre est celui des routeurs avec qui le votre a communiqué dans les dernières minutes. Ça peut varier de 
+8-10 à plusieurs centaines, selon votre bande passante et son rapport de partage, et le trafic généré localement. Le 
+second est celui des pairs vus dans les dernières heures. Ces nombres penvent varier sensiblement sans conséquence.
+<a href="configstats.jsp#router.activePeers">[Activer le graphique]</a> (activer auparavant "toutes 
+les statistiques").
+<li class="tidylist"><b>Rapides:</b>
+le nombre de pairs que vous mettez à contribution pour construire vos tunnels clients. En général dans une tranche de 
+8 à 30. Vos pairs rapides sont détaillés sur la page <a href="profiles.jsp">profils</a>.
+<a href="configstats.jsp#router.fastPeers">[Activer le graphique]</a>.
+<li class="tidylist"><b>Hautes capacités:</b>
+nombre des pairs que vous utilisez pour construire quelques uns de vos tunnels exploratoires. Habituellement de 8 à 75. 
+Les pairs rapides font partie du groupe des "Hautes capacités". Vos pairs à hautes capacités sont aussi listés sur 
+la page <a href="profiles.jsp">profils</a>.
+<a href="configstats.jsp#router.highCapacityPeers">[Activer le graphique]</a>  (activer auparavant "toutes les 
+statistiques").
+<li class="tidylist"><b>Bien intégrés:</b>
+vous utilisez ce groupe pour vos requêtes à la base de données du réseau. Ils sont souvent des pairs de remplissage par 
+diffusion ("floodfill"). Vos pairs "bien intégrés" sont affichés en bas de la même page 
+<a href="profiles.jsp">profils</a>.
+<li class="tidylist"><b>Connus:</b> c'est tous les routeurs dont vous connaissez l'existance. Il sont listés sur la 
+page <a href="netdb.jsp">base de données du réseau</a>. De moins de 100 à 1000 ou plus. Ce nombre ne représente pas la 
+taille totale du réseau; il varie en fonction de votre bande passante totale et son rapport de partage, et du trafic 
+local. I2P n'a pas besoin que chaque routeur connaisse tous les autres.
+</ul><h3>Bande passante entrée/sortie</h3><div align="justify"> 
+Ça parle tout seul. Toutes les valeurs sont en octets par seconde (o/s), pas en bits par seconde (b/s). Modifiez vos 
+limites de bande passante sur la page de <a href="config.jsp#help">configuration</a>.
+Le <a href="graphs.jsp">graphique de bande passante</a> est activé par défaut.</div>
+
+<h3>Destinations locales</h3><div align="justify">
+C'est le nom I2P des applications qui se connectent par votre routeur. Elles peuvent être des clients lancés depuis 
+<a href="i2ptunnel/index.jsp">I2PTunnel</a> ou des programmes tiers qui se connectent via SAM, BOB ou directement à 
+I2CP.
+</div><h3>TUNNELS:</h3><div align="justify">
+Les tunnels actuels sont affichés sur la page <a href="tunnels.jsp">tunnels</a>.</div><ul>
+<li class="tidylist"><div align="justify"><b>Exploratoires:</b> tunnels créés par votre routeur et utilisés avec les 
+pairs diffuseurs pour la création des nouveaux tunnels et le test des tunnels existants.</div>
+<li class="tidylist"><b>Clients:</b> tunnels créés par votre routeur pour chaque utilisation cliente.
+<li class="tidylist"><b>Participants:</b> les tunnels créés par d'autres routeurs et qui passent par le votre. Leur 
+nombre dépend largement de la demande du réseau, de votre part de bande passante partagée, et du trafic local. 
+La méthode recommandée pour limiter leur nombre est de diminuer le rapport de bande passante partagée dans la 
+<a href="config.jsp#help">configuration</a>. Vous pouvez également limiter ce nombre en définissant la variable 
+<tt>router.maxParticipatingTunnels=nnn</tt> dans la <a href="configadvanced.jsp">configuration avancée</a>. 
+<a href="configstats.jsp#tunnel.participatingTunnels">[Activer le graphique]</a>.
+<li class="tidylist"><b>Rapport de partage:</b> le nombre de tunnels participants que vous routez pour les autres, 
+divisé par le nombre total de sauts dans tous vos tunnels exploratoires et clients. S'il est supérieur à 1, cela 
+signifie que vous contribuez à plus de tunnels que vous n'en utilisez.
+</ul>
+
+<h3>ENCOMBREMENT</h3><div align="justify">
+Indications de base sur la charge du routeur:</div><ul>
+<li class="tidylist"><b>Retard de tâches:</b> temps d'attente des tâches avant exécution. La file d'attente est 
+présentée la pages des <a href="jobs.jsp">tâches</a>. Malheureusement, il y a dans le routeur plusieurs autres files 
+d'attentes qui ne peuvent être affichées dans la console. Le retard de tâches devrait rester à zéro en permamence. s'il 
+régulièrement supérieur à 500ms, soit votre PC est très lent, soit le routeur a de sérieux problèmes.
+<a href="configstats.jsp#jobQueue.jobLag">[Activer le graphique]</a>.
+<li class="tidylist"><b>Retard de messages:</b> temps de rétention des messages en file d'attente d'envois, normalement 
+quelques centaines de ms ou moins. Au dessus d'une seconde, votre PC est très lent, vous devriez fignoler vos réglages 
+de bande passante, ou vos clients (bittorrent, iMule...?) envoient trop de données et il faudrait voir à leur tenir 
+la bride. <a href="configstats.jsp#transport.sendProcessingTime">[Activer le graphique]</a> 
+(transport.sendProcessingTime).
+<li class="tidylist"><b>Retard de tunnels:</b> le temps d'aller-retour pour un test de tunnel (envoi d'un seul message 
+par un tunnel client et dans un tunnel exploratoire ou vice versa. Normalement inférieur à 5s. Si c'est constamment 
+supérieur, votre PC est très lent, vous devriez retoucher vos limites de bande passante, ou il y a un problème réseau.
+<a href="configstats.jsp#tunnel.testSuccessTime">[Activer le graphique]</a> (tunnel.testSuccessTime).
+<li class="tidylist"><b>En attente:</b> nombre de requêtes de création de tunnels participants en attente provenant 
+d'autres routeurs. Normalement proche de zéro. Sinon, votre ordinateur est trop lent et vous devriez diminuer votre 
+limite de bande passante partagée.
+<li class="tidylist"><b>Accepte/Refuse:</b> c'est le statut de votre routeur au regard de son comportement vis à vis 
+des demandes de création de tunnels participants provenant d'autres routeurs. Votre routeur peut accepter ou refuser 
+tout ou partie des requêtes, ou les refuser en totalité pour des raisons prévues telles que le contrôle de la bande 
+passante et des ressources CPU en vue de préserver les performances des clients locaux.</ul>
+
+<h2>Informations légales</h2><p>Le routeur I2P (router.jar) et le SDK (i2p.jar) sont presque entièrement dans le 
+domaine public, à quelques notobles exceptions près:</p><ul>
+<li class="tidylist">Le code ElGamal et DSA, sous licence BSD, écrits par TheCrypto</li>
+<li class="tidylist">SHA256 et HMAC-SHA256, sous licence MIT, écrits par the Legion of the Bouncycastle</li>
+<li class="tidylist">Le code AES, sous licence Cryptix (MIT), écrit pas l'équipe the Cryptix</li>
+<li class="tidylist">Le code SNTP, sous licence BSD, écrit par Adam Buckley</li>
+<li class="tidylist">Le reste, directement issu du domaine public, est écrit par jrandom, mihi, hypercubus, oOo,
+    ugha, duck, shendaras, et d'autres.</li>
+</ul>
+
+<p>Au-dessus du routeur I2P on a une série d'applications clientes, ayant chacune ses particularités en termes de 
+licences et de dépendances. Cette page est affichée en tant qu'élément de l'application cliente console du routeur I2P, 
+qui est une version allégée d'une instance <a href="http://jetty.mortbay.com/jetty/index.html">Jetty</a> (allégée en 
+ce que nous n'avons pas inclus les applications de démo et autres compléments, et que nous avons simplifié la 
+configuration), vous permettant de déployer dans votre routeur des applications web JSP/Servlet standards. De son côté 
+Jetty fait usage de l'implémentation javax.servlet d'Apache. Ce dispositif inclus du logiciel développé par la 
+fondation Apache Software (http://www.apache.org/). </p>
+
+<p>Une autre application visible sur cette page: <a href="http://www.i2p2.i2p/i2ptunnel">I2PTunnel</a>
+(votre <a href="i2ptunnel/" target="_blank">interface web</a>) sous licence GPL écrite par mihi qui vous permet de 
+mettre en tunnels le trafic normal TCP/IP sur I2P (comme les proxy eep et le proxy irc). Il y a aussi un client webmail 
+<a href="http://susi.i2p/">susimail</a> <a href="susimail/susimail">disponible</a> dans la console, qui est sous 
+licence GPL et écrit par susi23. L'application carnet d'adresses, écrite par 
+<a href="http://ragnarok.i2p/">Ragnarok</a> gère votre fichier hosts.txt (voir ./addressbook/ pour plus de détails).</p>
+
+<p>Le routeur inclu aussi par défaut le pont <a href="http://www.i2p2.i2p/sam">SAM</a> du domaine public de l'humanité, 
+que les autres applications clientes (comme le <a href="http://duck.i2p/i2p-bt/">portage bittorrent</a>) peuvent à leur 
+tour utiliser. Il y a aussi une bibliothèque optimisée pour les calculs sur les grand nombres - jbigi - qui de son 
+côté utilise la bibliothèque sous licence LGPL <a href="http://swox.com/gmp/">GMP</a>, adaptée à diverses architectures
+PC. Les lanceurs pour Windows sont faits avec <a href="http://launch4j.sourceforge.net/">Launch4J</a>, et l'installeur 
+avec <a href="http://www.izforge.com/izpack/">IzPack</a>. Les détails sur les autres applications disponibles comme sur 
+leurs licences respectives, référez-vous à notre <a href="http://www.i2p2.i2p/licenses">politique de licences</a>. 
+Les sources du code I2P et de la plupart des applications jointes est sur notre page de 
+<a href="http://www.i2p2.i2p/download_fr">téléchargements</a>.
+.</p>
+
+<h2>Historique des évolutions</h2>
+ <jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
+ <% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "history.txt"); %>
+ <jsp:setProperty name="contenthelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
+ <jsp:setProperty name="contenthelper" property="maxLines" value="256" />
+ <jsp:setProperty name="contenthelper" property="startAtBeginning" value="true" />
+ <jsp:getProperty name="contenthelper" property="textContent" />
+
+ <p><a href="/history.txt">Historique complet</a>
+ </p><hr></div></body></html>
diff --git a/apps/routerconsole/jsp/viewhistory.jsp b/apps/routerconsole/jsp/viewhistory.jsp
index 14ee0bbffa644ab63c34bef0ceebe8aba0d16e66..aa3ce4d545d2a5664bc145baa587f0533e22d567 100644
--- a/apps/routerconsole/jsp/viewhistory.jsp
+++ b/apps/routerconsole/jsp/viewhistory.jsp
@@ -11,6 +11,13 @@ String base = net.i2p.I2PAppContext.getGlobalContext().getBaseDir().getAbsoluteP
 try {
     net.i2p.util.FileUtil.readFile("history.txt", base, response.getOutputStream());
 } catch (java.io.IOException ioe) {
-    response.sendError(403, ioe.toString());
+    // prevent 'Committed' IllegalStateException from Jetty
+    if (!response.isCommitted()) {
+        response.sendError(403, ioe.toString());
+    }  else {
+        net.i2p.I2PAppContext.getGlobalContext().logManager().getLog(getClass()).error("Error serving history.txt", ioe);
+        // Jetty doesn't log this
+        throw ioe;
+    }
 }
 %>
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/viewstat.jsp b/apps/routerconsole/jsp/viewstat.jsp
index 2afa5c5609518c69f09af2f9eb0abf3574e914c8..ef5f1140fec0bc2c2c51baf6e70efac0f66644d3 100644
--- a/apps/routerconsole/jsp/viewstat.jsp
+++ b/apps/routerconsole/jsp/viewstat.jsp
@@ -8,17 +8,21 @@
  */
 
 boolean rendered = false;
+/****  unused
 String templateFile = request.getParameter("template");
 if (templateFile != null) {
   java.io.OutputStream cout = response.getOutputStream();
   response.setContentType("image/png");
   rendered = net.i2p.router.web.StatSummarizer.instance().renderPng(cout, templateFile);
 }
+****/
 net.i2p.stat.Rate rate = null;
 String stat = request.getParameter("stat");
 String period = request.getParameter("period");
 boolean fakeBw = (stat != null && ("bw.combined".equals(stat)));
-net.i2p.stat.RateStat rs = net.i2p.I2PAppContext.getGlobalContext().statManager().getRate(stat);
+net.i2p.stat.RateStat rs = null;
+if (stat != null)
+    rs = net.i2p.I2PAppContext.getGlobalContext().statManager().getRate(stat);
 if ( !rendered && ((rs != null) || fakeBw) ) {
   long per = -1;
   try {
@@ -38,6 +42,8 @@ if ( !rendered && ((rs != null) || fakeBw) ) {
         }
       } else {
         response.setContentType("image/png");
+        // very brief 45 sec expire
+        response.setDateHeader("Expires", net.i2p.I2PAppContext.getGlobalContext().clock().now() + (45*1000));
         int width = -1;
         int height = -1;
         int periodCount = -1;
@@ -71,6 +77,9 @@ if ( !rendered && ((rs != null) || fakeBw) ) {
  *  a huge load for a page full of graphs if there's a problem
  */
 if (!rendered) {
-  response.sendError(403, "That stat is not available");
+    if (stat != null)
+        response.sendError(403, "The stat " + stat + " is not available, it must be enabled for graphing on the stats configuration page.");
+    else
+        response.sendError(403, "No stat specified");
 }
 %>
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/viewtheme.jsp b/apps/routerconsole/jsp/viewtheme.jsp
index 814705e142516759209dfdd39ce8578054b1e3e2..ce1a6fe3807e065f58f6773f1e4afb8524130387 100644
--- a/apps/routerconsole/jsp/viewtheme.jsp
+++ b/apps/routerconsole/jsp/viewtheme.jsp
@@ -63,6 +63,13 @@ if (length > 0)
 try {
     net.i2p.util.FileUtil.readFile(uri, base, response.getOutputStream());
 } catch (java.io.IOException ioe) {
-    response.sendError(403, ioe.toString());
+    // prevent 'Committed' IllegalStateException from Jetty
+    if (!response.isCommitted()) {
+        response.sendError(403, ioe.toString());
+    }  else {
+        net.i2p.I2PAppContext.getGlobalContext().logManager().getLog(getClass()).error("Error serving " + uri, ioe);
+        // Jetty doesn't log this
+        throw ioe;
+    }
 }
 %>
\ No newline at end of file
diff --git a/apps/routerconsole/locale/messages_de.po b/apps/routerconsole/locale/messages_de.po
index 9f6319ca50e0f6880b506f8c76039d54ca648dd8..074daa5aa85dded9f13ec6c05d69c4182b25e2a9 100644
--- a/apps/routerconsole/locale/messages_de.po
+++ b/apps/routerconsole/locale/messages_de.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-03 18:27+0000\n"
-"PO-Revision-Date: 2011-03-04 19:51+0100\n"
+"POT-Creation-Date: 2011-03-25 12:46+0000\n"
+"PO-Revision-Date: 2011-04-16 02:57+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: echelon <echelon@mail.i2p>, Sperreingang <sperrbezirk@mail.i2p>\n"
 "Language: \n"
@@ -65,7 +65,7 @@ msgstr[0] "1 Stunde"
 msgstr[1] "{0} Stunden"
 
 #: ../../../core/java/src/net/i2p/data/DataHelper.java:1158
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:314
 msgid "n/a"
 msgstr "k.A."
 
@@ -146,36 +146,36 @@ msgstr "Akzeptiere Tunnelanfragen"
 msgid "Rejecting tunnels"
 msgstr "Weise Tunnelanfragen zurück"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:125
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
 msgid "Reseeding"
 msgstr "Reseeden"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:141
 #, java-format
 msgid "Reseed fetched only 1 router."
 msgid_plural "Reseed fetched only {0} routers."
 msgstr[0] "Nur Daten eines Routers per Reseed erhalten"
 msgstr[1] "Nur {0} Routerinformationen per Reseed erhalten"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:148
 msgid "Reseed failed."
 msgstr "Reseed fehlgeschlagen"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:149
 #, java-format
 msgid "See {0} for help."
 msgstr "Für Hilfe, siehe {0}!"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
 msgid "reseed configuration page"
 msgstr "Einstellungen für den Reseed"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:293
 msgid "Reseeding: fetching seed URL."
 msgstr "Reseed: Hole die Seed-URL"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:335
 #, java-format
 msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
 msgstr "Reseed: Holen der Router-Informationen von Seed-URL ({0} erfolgreich, {1} Fehler)."
@@ -203,7 +203,7 @@ msgid "{0} is used for outbound connections only"
 msgstr "{0} wird nur für ausgehende Verbindungen genutzt"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
 msgid "Help"
 msgstr "Hilfe"
 
@@ -216,18 +216,18 @@ msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn a
 msgstr "Um diese Einstellungen zu umgehen, fügen Sie folgende Einstellungen der Seite \"Erweiterte Einstellungen\" hinzu: i2np.ntcp.maxConnections=nnn und i2np.udp.maxConnections=nnn"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
 msgid "Definitions"
 msgstr "Definitionen"
 
 #: ../../../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/ntcp/NTCPTransport.java:737
 #: ../../../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/ProfileOrganizerRenderer.java:189
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
 msgid "Peer"
 msgstr "Teilnehmer"
@@ -237,7 +237,7 @@ msgid "The remote peer, identified by router hash"
 msgstr "Der entfernte Teilnehmer, über seine Router-Prüfsumme erkannt"
 
 #: ../../../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/ntcp/NTCPTransport.java:738
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Dir"
 msgstr "Richtung"
@@ -263,13 +263,13 @@ msgid "How long since a packet has been received / sent"
 msgstr "Vergangene Zeit seit ein Paket empfangen/gesendet wurde"
 
 #: ../../../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/ntcp/NTCPTransport.java:739
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Idle"
 msgstr "Untätig"
 
 #: ../../../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/ntcp/NTCPTransport.java:740
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
@@ -284,13 +284,13 @@ msgid "How long ago this connection was established"
 msgstr "Wie lange die Verbindung schon besteht"
 
 #: ../../../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/ntcp/NTCPTransport.java:741
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Up"
 msgstr "Verbunden"
 
 #: ../../../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/ntcp/NTCPTransport.java:742
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
 msgid "Skew"
 msgstr "Differenz"
@@ -341,7 +341,7 @@ msgid "Current maximum send packet size / estimated maximum receive packet size
 msgstr "Derzeit maximale Größe der gesendeten Pakete / geschätzte maximale Größe der empfangenen Pakete (Bytes)"
 
 #: ../../../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/ntcp/NTCPTransport.java:743
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "TX"
 msgstr "Gesendet"
@@ -351,7 +351,7 @@ msgid "The total number of packets sent to the peer"
 msgstr "Gesamtanzahl der an den Teilnehmer gesendeten Pakete"
 
 #: ../../../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/ntcp/NTCPTransport.java:744
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "RX"
 msgstr "Empfangen"
@@ -384,42 +384,42 @@ msgstr "Gesamtanzahl der vom Teilnehmer erneut empfangenen Pakete"
 msgid "Excessive clock skew: {0}"
 msgstr "Zu hohe Abweichung der Uhrzeit: {0}"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
 msgid "NTCP connections"
 msgstr "NTCP-Verbindungen"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:733
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886
 msgid "Limit"
 msgstr "Obere Grenze"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:734
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
 msgid "Timeout"
 msgstr "Timeout"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:745
 msgid "Out Queue"
 msgstr "Ausgehende Warteschlange"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:746
 msgid "Backlogged?"
 msgstr "Rückstau"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Inbound"
 msgstr "ankommend"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:762
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Outbound"
 msgstr "abgehend"
 
 #. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:809
 msgid "peers"
 msgstr "Teilnehmer"
 
@@ -539,20 +539,20 @@ msgstr "Ignoriere Tunnelanfragen: zu langsam"
 msgid "Dropping tunnel requests: Overloaded"
 msgstr "Ignoriere Tunnelanfragen: überlastet"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:460
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:470
 msgid "Rejecting tunnels: Request overload"
 msgstr "Weise Tunnelanfragen zurück: Überlast an Anfragen"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:485
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:495
 msgid "Rejecting tunnels: Connection limit"
 msgstr "Weise Tunnelanfragen zurück: Verbindungslimit erreicht"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:685
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:706
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:695
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:716
 msgid "Dropping tunnel requests: High load"
 msgstr "Ignoriere Tunnelanfragen: Hohe Last"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:698
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:708
 msgid "Dropping tunnel requests: Queue time"
 msgstr "Ignoriere Tunnelanfragen: zu lange Warteschlange"
 
@@ -1483,12 +1483,12 @@ msgstr "Sambia"
 msgid "Zimbabwe"
 msgstr "Simbabwe"
 
-#: ../java/src/net/i2p/router/web/CSSHelper.java:58
+#: ../java/src/net/i2p/router/web/CSSHelper.java:60
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:125
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:257
 msgid "I2P Router Console"
 msgstr "I2P-Routerkonsole"
 
@@ -1507,27 +1507,27 @@ msgid "Error saving the configuration (applied but not saved) - please see the e
 msgstr "Fehler beim Speichern der Einstellungen (angewendet aber nicht gespeichert) - Bitte schau in die Fehlerberichte!"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
 msgid "Save Client Configuration"
 msgstr "Speichere Klienteneinstellungen"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
 msgid "Save Interface Configuration"
 msgstr "Speichere Interface-Einstellungen"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:441
 msgid "Save WebApp Configuration"
 msgstr "Speichere WebApplikations-Einstellungen"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:453
 msgid "Save Plugin Configuration"
 msgstr "Speichere Einstellungen des Zusatzprogrammes"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:461
 msgid "Install Plugin"
 msgstr "Zusatzprogramm installieren"
 
@@ -1580,7 +1580,7 @@ msgstr "Falscher Index für den Klienten"
 #: ../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/SummaryBarRenderer.java:392
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:384
 msgid "Client"
 msgstr "Klient"
@@ -1662,7 +1662,7 @@ msgid "Edit"
 msgstr "Bearbeiten"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Add Client"
 msgstr "Klienten hinzufügen"
 
@@ -1693,7 +1693,7 @@ msgid "Plugin"
 msgstr "Zusatzprogramm"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Version"
@@ -1728,14 +1728,12 @@ msgstr "Stopp"
 
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Check for updates"
 msgstr "Auf Aktualisierungen prüfen"
 
 #: ../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 "Aktualisierung"
 
@@ -1749,12 +1747,12 @@ msgid "Delete"
 msgstr "löschen"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343
 msgid "Add key"
 msgstr "Schlüssel hinzufügen"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341
 msgid "Delete key"
 msgstr "Schlüssel löschen"
 
@@ -1851,7 +1849,7 @@ msgstr "Service"
 
 #: ../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/src/net/i2p/router/web/SummaryBarRenderer.java:381
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "Tunnel"
@@ -1865,7 +1863,7 @@ msgid "Clients"
 msgstr "Klienten"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "Keyring"
 msgstr "Schlüsselbund"
 
@@ -1875,13 +1873,13 @@ msgstr "Statusmitschnitt"
 
 #: ../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/src/net/i2p/router/web/SummaryBarRenderer.java:255
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "Teilnehmer"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:389
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Statistiken"
@@ -1894,13 +1892,13 @@ msgstr "Erweitert"
 #: ../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
+#: ../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:534
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:362
 msgid "Save changes"
 msgstr "Änderungen speichern"
 
@@ -2004,7 +2002,7 @@ msgid "or {0} bytes per month maximum"
 msgstr "oder maximal {0} Bytes im Monat"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:333
 msgid "Ban peer until restart"
 msgstr "Den Teilnehmer bis zum Neustart sperren"
 
@@ -2024,7 +2022,7 @@ msgid "Invalid peer"
 msgstr "ungültiger Teilnehmer"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Unban peer"
 msgstr "Sperrung des Teilnehmers aufheben"
 
@@ -2037,7 +2035,7 @@ msgid "is not currently banned"
 msgstr "ist zur Zeit nicht gesperrt"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:361
 msgid "Adjust peer bonuses"
 msgstr "Teilnehmer-Boni anpassen"
 
@@ -2050,7 +2048,7 @@ msgid "Bad capacity value"
 msgstr "ungültiger Wert für die Kapazität"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:17
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:368
 msgid "Save changes and reseed now"
 msgstr "Änderungen speichern und Reseed beginnen"
 
@@ -2070,7 +2068,7 @@ msgstr "Einstellungen erfolgreich gespeichert"
 #. 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:311
 msgid "Shutdown immediately"
 msgstr "Beende I2P sofort"
 
@@ -2117,7 +2115,7 @@ msgid "Restart in {0}"
 msgstr "Neustart in {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Shutdown gracefully"
 msgstr "Kontrolliert ausschalten"
 
@@ -2130,7 +2128,7 @@ msgid "Shutdown immediately!  boom bye bye bad bwoy"
 msgstr "Unverzüglich ausschalten! - Und tschüss!"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:313
 msgid "Cancel graceful shutdown"
 msgstr "Kontrolliertes Ausschalten abbrechen"
 
@@ -2139,7 +2137,7 @@ msgid "Graceful shutdown cancelled"
 msgstr "Kontrolliertes Ausschalten abgebrochen"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Graceful restart"
 msgstr "Kontrollierter Neustart"
 
@@ -2148,7 +2146,7 @@ msgid "Graceful restart requested"
 msgstr "Kontrollierter Neustart angefordert"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Hard restart"
 msgstr "Harter Neustart"
 
@@ -2173,22 +2171,22 @@ msgid "Rekeying after graceful shutdown"
 msgstr "Neue RouterID nach sanftem Herunterfahren"
 
 #: ../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:353
 msgid "Run I2P on startup"
 msgstr "Starte I2P beim Systemstart"
 
 #: ../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:355
 msgid "Don't run I2P on startup"
 msgstr "Starte I2P nicht beim Systemstart"
 
 #: ../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:373
 msgid "Dump threads"
 msgstr "Threadliste ausgeben"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../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:381
 msgid "View console on startup"
 msgstr "Zeige die Konsole nach dem Starten"
 
@@ -2197,7 +2195,7 @@ msgid "Console is to be shown on startup"
 msgstr "Konsole wird nach dem Starten angezeigt"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:383
 msgid "Do not view console on startup"
 msgstr "Zeige Konsole beim Starten nicht"
 
@@ -2265,58 +2263,58 @@ msgid_plural "{0} tunnels"
 msgstr[0] "1 Tunnel"
 msgstr[1] "{0} Tunnel"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:35
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 msgid "Exploratory tunnels"
 msgstr "Erkundungstunnel"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:46
-#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
-msgid "Client tunnels for"
-msgstr "Kliententunnel für"
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:51
+#, java-format
+msgid "Client tunnels for {0}"
+msgstr "Kliententunnel für {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
 msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
 msgstr "ANONYMITÄTSWARNUNG - Einstellungen beinhalten Tunnel ohne Zwischenstationen"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:79
 msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
 msgstr "ANONYMITÄTSWARNUNG - Einstellungen beinhalten Tunnel mit nur einer Zwischenstation"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "PERFORMANCE WARNING - Settings include very long tunnels."
 msgstr "LEISTUNGSWARNUNG - Einstellungen beinhalten sehr lange Tunnel"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:85
 msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
 msgstr "LEISTUNGSWARNUNG - Einstellungen beinhalten sehr viele Tunnel"
 
 #. buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
 #. tunnel depth
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:92
 msgid "Length"
 msgstr "Länge"
 
 #. tunnel depth variance
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:109
 msgid "Randomization"
 msgstr "Zufallskomponente"
 
 #. tunnel quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:133
 msgid "Quantity"
 msgstr "Anzahl"
 
 #. tunnel backup quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:150
 msgid "Backup quantity"
 msgstr "Anzahl der Ersatztunnel"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:172
 msgid "Inbound options"
 msgstr "Optionen für eingehende Tunnel"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:185
 msgid "Outbound options"
 msgstr "Optionen für ausgehende Tunnel"
 
@@ -2433,7 +2431,7 @@ msgstr "Nur herunterladen und überprüfen"
 msgid "Download, verify, and restart"
 msgstr "Herunterladen, überprüfen und neustarten"
 
-#: ../java/src/net/i2p/router/web/FormHandler.java:174
+#: ../java/src/net/i2p/router/web/FormHandler.java:176
 msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
 msgstr "Ungültige Übertragung der eingegebenen Daten, möglicherweise da Sie den 'Zurück'- oder 'Neu Laden'-Knopf in Ihrem Browser gedrückt haben. Bitte erneut senden."
 
@@ -2464,8 +2462,8 @@ msgid "Plot averages"
 msgstr "Zeichne Mittelwerte"
 
 #: ../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/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "or"
 msgstr "oder"
 
@@ -2601,96 +2599,96 @@ msgstr "Zeige alle Router"
 msgid "Show all routers with full stats"
 msgstr "Zeige alle Router mit vollständigen Statistiken"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:266
 msgid "Network Database Router Statistics"
 msgstr "Netzwerkdatenbank Routerstatistiken"
 
-#: ../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
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Count"
 msgstr "Anzahl"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
 msgid "Transports"
 msgstr "Transporte"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Country"
 msgstr "Land"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Our info"
 msgstr "Informationen über uns"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:346
 msgid "Peer info for"
 msgstr "Informationen über den Teilnehmer"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:350
 msgid "Full entry"
 msgstr "Ganzer Eintrag"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "Hidden"
 msgstr "Versteckt"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 msgid "Updated"
 msgstr "Aktualisiert"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
-#: ../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:360
 #, java-format
 msgid "{0} ago"
 msgstr "vor {0}"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:359
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Published"
 msgstr "Veröffentlicht"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:365
 msgid "Address(es)"
 msgstr "Adresse(n)"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:378
 msgid "cost"
 msgstr "Kosten"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "Hidden or starting up"
 msgstr "Versteckt oder Startphase"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU"
 msgstr "SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU with introducers"
 msgstr "SSU mit Hilfsrouter"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP"
 msgstr "NTCP"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU"
 msgstr "NTCP und SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU with introducers"
 msgstr "NTCP und SSU mit Hilfsrouter"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:92
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Zeit seit letzter Aktualisierung der Nachrichten: {0};"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:98
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Zeit seit letzter Prüfung auf neue Nachrichten: {0}"
@@ -2708,7 +2706,7 @@ msgstr "Auf Aktualisierungen des Zusatzprogramms {0} prüfen"
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154
 #, java-format
 msgid "New plugin version {0} is available"
-msgstr "Neue Version des Zusatzprogramms {0} ist verfügbar"
+msgstr "Neue Version des Zusatzprogramms ist verfügbar ({0})"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156
 #, java-format
@@ -2725,7 +2723,7 @@ msgid "Downloading plugin"
 msgstr "Lade Zusatzprogramm herunter"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:245
 #, java-format
 msgid "{0}B transferred"
 msgstr "{0}Bytes übertragen"
@@ -2741,7 +2739,7 @@ msgid "Cannot create plugin directory {0}"
 msgstr "Kann kein Verzeichnis für das Zusatzprogramm {0} anlegen"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:299
 #, java-format
 msgid "from {0}"
 msgstr "von {0}"
@@ -2861,37 +2859,43 @@ msgstr "Teilnehmerprofile"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
 #, java-format
-msgid "Showing {0} recent profiles."
-msgstr "Zeige {0} aktuelle Profile."
+msgid "Showing 1 recent profile."
+msgid_plural "Showing {0} recent profiles."
+msgstr[0] "Zeige ein aktuelles Profil an."
+msgstr[1] "Zeige {0} aktuelle Profile."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
 #, java-format
-msgid "Hiding {0} older profiles."
-msgstr "Zeige {0} alte Profile nicht an."
+msgid "Hiding 1 older profile."
+msgid_plural "Hiding {0} older profiles."
+msgstr[0] "Zeige ein altes Profil nicht an."
+msgstr[1] "Zeige {0} alte Profile nicht an."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
 #, java-format
-msgid "Hiding {0} standard profiles."
-msgstr "Zeige {0} Standardprofile nicht an."
+msgid "Hiding 1 standard profile."
+msgid_plural "Hiding {0} standard profiles."
+msgstr[0] "Zeige ein Standardprofil nicht an."
+msgstr[1] "Zeige {0} Standardprofile nicht an."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
 msgid "Groups (Caps)"
 msgstr "Gruppen (Kategorien)"
 
 #: ../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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:353
 msgid "Speed"
 msgstr "Geschwindigkeit"
 
 #: ../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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:357
 msgid "Capacity"
 msgstr "Kapazität"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
 msgid "Integration"
 msgstr "Integration"
 
@@ -2917,7 +2921,7 @@ msgid "Failing"
 msgstr "fehlgeschlagen"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:282
 msgid "Integrated"
 msgstr "integriert"
 
@@ -2930,151 +2934,156 @@ msgstr "Unerreichbar"
 msgid "Test Fails"
 msgstr "Test fehlgeschlagen"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:177
 msgid "profile"
 msgstr "Profil"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:186
 msgid "Floodfill and Integrated Peers"
 msgstr "Floodfill und integrierte Teilnhemer"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
 msgid "Caps"
 msgstr "Kategorien"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
 msgid "Integ. Value"
 msgstr "Integrationswert"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
 msgid "Last Heard About"
 msgstr "Zuletzt etwas über ihn gehört"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
 msgid "Last Heard From"
 msgstr "Letzte Nachricht empfangen"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
 msgid "Last Good Send"
 msgstr "Letzte geglückte Sendung"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
 msgid "Last Bad Send"
 msgstr "Letzte fehlgeschlagene Sendung"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
 msgid "10m Resp. Time"
 msgstr "10 Min. Antwortzeit"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
 msgid "1h Resp. Time"
 msgstr "1 Std. Antwortzeit"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
 msgid "1d Resp. Time"
 msgstr "1 Tag Antwortzeit"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
 msgid "Last Good Lookup"
 msgstr "Letzte erfolgreiche Suche"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
 msgid "Last Bad Lookup"
 msgstr "Letzte fehlgeschlagene Suche"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
 msgid "Last Good Store"
 msgstr "Letztes erfolgreiches Speichern"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
 msgid "Last Bad Store"
 msgstr "Letztes fehlgeschlagene Speichern"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:203
 msgid "1h Fail Rate"
 msgstr "stündl. Fehlerrate"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:204
 msgid "1d Fail Rate"
 msgstr "tägl. Fehlerrate"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
 msgid "Thresholds"
 msgstr "Grenzwerte"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
 msgid "fast peers"
 msgstr "schnelle Teilnehmer"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
 msgid "high capacity peers"
 msgstr "Teilnehmer hoher Kapazität"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid " well integrated peers"
 msgstr "gut integrierte Teilnehmer"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "as determined by the profile organizer"
 msgstr "wie vom Profilorganisator ermittelt"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "groups"
 msgstr "Gruppen"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 msgid "capabilities in the netDb, not used to determine profiles"
 msgstr "Werte in der Netzwerkdatenbank, nicht zum Ermitteln der Profile verwendet"
 
 #. capabilities
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 #: ../java/strings/Strings.java:81
 msgid "caps"
 msgstr "Kategorien"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
 msgstr "maximaler Durchsatz (Bytes je Tunnel) innerhalb einer Minute, den ein Teilnehmer in einem einzelnen Tunnel erreicht hat"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "speed"
 msgstr "Geschwindigkeit"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "capacity"
 msgstr "Kapazität"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "how many tunnels can we ask them to join in an hour?"
 msgstr "Wie viele Tunnel können wir bei diesem Teilnehmer innerhalb einer Stunde bekommen?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "how many new peers have they told us about lately?"
 msgstr "Wie viele neue Kontakte hat dieser Teilnehmer uns kürzlich mitgeteilt?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "integration"
 msgstr "Integration"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "is the peer banned, or unreachable, or failing tunnel tests?"
 msgstr "Ist der Teilnehmer gesperrt, unerreichbar, oder schlagen die Tunneltests fehl?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "status"
 msgstr "Status"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:47
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
+msgid "none"
+msgstr "keine"
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:62
 #, java-format
 msgid "Temporary ban expiring in {0}"
 msgstr "vorübergehende Sperrung endet in {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:64
 #, java-format
 msgid "Banned until restart or in {0}"
 msgstr "Gesperrt bis zum Neustart oder in {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:76
 msgid "unban now"
 msgstr "Bann aufheben"
 
@@ -3129,20 +3138,20 @@ msgstr "Die Daten werden über jeweils 1 Minute erhoben und repräsentieren dahe
 msgid "These statistics are primarily used for development and debugging."
 msgstr "Diese Statistiken dienen vorrangig der Entwicklung und Fehlerbeseitigung."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:106
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:157
 msgid "No lifetime events"
 msgstr "Bisher keine Ereignisse"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:117
 msgid "frequency"
 msgstr "Häufigkeit"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:121
 msgid "Rolling average events per period"
 msgstr "Fortschreitender Durchschnittshäufigkeit von Ereignissen je Zeitintervall"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:125
 msgid "Highest events per period"
 msgstr "höchste Anzahl an Ereignissen je Zeitintervall"
 
@@ -3153,38 +3162,46 @@ msgstr "höchste Anzahl an Ereignissen je Zeitintervall"
 #. }
 #. 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
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:136
 msgid "Lifetime average events per period"
 msgstr "Anzahl an Ereignissen je Zeitintervall über die Lebenszeit gemittelt"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:141
 msgid "Lifetime average frequency"
 msgstr "durchschnittliche Häufigkeit über Lebenszeit"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:144
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:234
+#, java-format
+msgid "1 event"
+msgid_plural "{0} events"
+msgstr[0] "ein Ereignis"
+msgstr[1] "{0} Ereignisse"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:169
 msgid "rate"
 msgstr "Rate"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:171
 msgid "Average"
 msgstr "Mittelwert"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:174
 msgid "Highest average"
 msgstr "höchster Durchscnittslwert"
 
-#. 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 "Es gab {0} Vorkommnis(se) in dieser Zeitspanne"
+msgid "There was 1 event in this period."
+msgid_plural "There were {0} events in this period."
+msgstr[0] "Es gab ein Vorkommnis in dieser Zeitspanne"
+msgstr[1] "Es gab {0} Vorkommnisse in dieser Zeitspanne."
 
-#. buf.append(' ');
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:203
 #, java-format
-msgid " which ended {0} ago."
-msgstr ", welche vor {0} endete."
+msgid "The period ended {0} ago."
+msgstr "Die Zeitspanne endete vor {0}."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:205
 msgid "No events"
@@ -3272,12 +3289,12 @@ msgid "I2P Internals"
 msgstr "Einstellungen"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:379
 msgid "View existing tunnels and tunnel build status"
 msgstr "Betrachte die existierenden Tunnel und den Status des Tunnelaufbaus"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
 msgid "Show all current peer connections"
 msgstr "Zeige alle bestehenden Verbindungen zu Teilnehmern"
 
@@ -3363,93 +3380,97 @@ msgstr "Laufzeit"
 msgid "Help with configuring your firewall and router for optimal I2P performance"
 msgstr "Hilfe bei der Konfiguration Ihrer Firewall und Ihres Routers für eine optimale Leistung."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
-msgid "Download"
-msgstr "Herunterladen"
+#. Note to translators: parameter is a version, e.g. "0.8.4"
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:232
+#, java-format
+msgid "Download {0} Update"
+msgstr "Aktualisierung herunterladen ({0})"
 
+#. Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC"
+#. <br> is optional, to help the browser make the lines even in the button
+#. If the translation is shorter than the English, you should probably not include <br>
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
-msgid "Download Unsigned"
-msgstr "unsignierte Aktualisierung herunterladen"
+#, java-format
+msgid "Download Unsigned<br>Update {0}"
+msgstr "unsignierte Aktualisierung herunterladen: {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
 msgid "Active"
 msgstr "aktiv"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:270
 msgid "Fast"
 msgstr "schnell"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:276
 msgid "High capacity"
 msgstr "hohe Kapazität"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:288
 msgid "Known"
 msgstr "bekannt"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:303
 msgid "Help with firewall configuration"
 msgstr "Hilfe bei der Firewalleinstellung"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:305
 msgid "Check NAT/firewall"
 msgstr "Überprüfe NAT/Firewall!"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:325
 msgid "Reseed"
 msgstr "Hole neue Teilnehmerinformationen"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:342
 msgid "Configure router bandwidth allocation"
 msgstr "Konfigurieren der Bandbreitenzuweisung des Routers"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:344
 msgid "Bandwidth in/out"
 msgstr "Bandbreite ein-/ausgehend"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:364
 msgid "Total"
 msgstr "gesamt"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:371
 msgid "Used"
 msgstr "genutzt"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 msgid "Exploratory"
 msgstr "Erkundung"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:398
 msgid "Participating"
 msgstr "teilnehmend an"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:404
 msgid "Share ratio"
-msgstr ""
-"Verhältnis \n"
-" fremder/eigenen Hops"
+msgstr "Kooperationsfaktor"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:410
 msgid "What's in the router's job queue?"
 msgstr "Was ist in der Aufgabenliste des Routers?"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
 msgid "Congestion"
 msgstr "Aufgaben"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Job lag"
 msgstr "Aufgabenverzug"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:423
 msgid "Message delay"
 msgstr "Nachrichtenverzug"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:429
 msgid "Tunnel lag"
 msgstr "Tunnelverzug"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:435
 msgid "Backlog"
 msgstr "Anfragenrückstau"
 
@@ -3463,7 +3484,7 @@ msgid "ERR-Clock Skew of {0}"
 msgstr "FEHLER: Uhrzeitdifferenz von {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:122
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "OK"
 msgstr "OK"
 
@@ -3488,7 +3509,7 @@ msgid "WARN-Firewalled and Fast"
 msgstr "WARNUNG: Firewall aktiv und Schnell"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:133
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "Firewalled"
 msgstr "Firewall aktiv"
 
@@ -3509,7 +3530,7 @@ msgid "WARN-Firewalled with UDP Disabled"
 msgstr "WARNUNG: Firewall aktiv und UDP deaktiviert"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:148
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "Testing"
 msgstr "Teste"
 
@@ -3553,10 +3574,6 @@ msgstr "Baue auf"
 msgid "Building tunnels"
 msgstr "Baue Tunnel auf"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
-msgid "none"
-msgstr "keine"
-
 #. 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
@@ -3591,10 +3608,14 @@ msgstr "Jetzt"
 
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:309
 msgid "configure"
 msgstr "ändern"
 
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr "Kliententunnel für"
+
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
 msgid "dead"
 msgstr "tot"
@@ -3719,67 +3740,67 @@ msgstr "Fremde Tunnel"
 msgid "Totals"
 msgstr "Gesamt"
 
-#: ../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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:67
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:143
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:238
 msgid "Updating"
 msgstr "Aktualisiere"
 
 #. 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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:89
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:262
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:287
 msgid "Update downloaded"
 msgstr "Aktualisierung heruntergeladen"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:92
 #, java-format
 msgid "Unsigned update file from {0} is corrupt"
 msgstr "Unsignierte Aktualisierungsdatei von {0} ist fehlerhaft"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Restarting"
 msgstr "Starte neu"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:119
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:289
 msgid "Click Restart to install"
 msgstr "Klicken Sie auf Neustart zum Installieren der"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:291
 msgid "Click Shutdown and restart to install"
 msgstr "Klicken Sie zum Installieren auf Herunterfahren und Neustarten"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:292
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:122
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:293
 #, java-format
 msgid "Version {0}"
 msgstr "Version {0}"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:127
 #, java-format
 msgid "Failed copy to {0}"
 msgstr "Kopieren nach {0} fehlgeschlagen"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
 #, java-format
 msgid "Updating from {0}"
 msgstr "Aktualisiere von {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:254
 #, java-format
 msgid "No new version found at {0}"
 msgstr "Keine neue Version unter {0} gefunden"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Update verified"
 msgstr "Aktualisierung verifiziert"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:308
 #, java-format
 msgid "Transfer failed from {0}"
 msgstr "Ãœbertragung von {0} fehlgeschlagen"
@@ -4031,1402 +4052,1453 @@ msgstr "ausgehende Low-Level Ãœbertragungsrate"
 msgid "How many peers we are actively talking with"
 msgstr "Anzahl aktiver Teilnehmer mit denen wir reden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:112
 msgid "config networking"
 msgstr "Netzwerkeinstellungen"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:222
+msgid "Summary Bar"
+msgstr "Schnellübersicht"
+
 #. 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_005far_jsp.java:219
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:235
 msgid "Refresh (s)"
 msgstr "Auffrischen {s}"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/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_005far_jsp.java:223
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:239
 msgid "Enable"
 msgstr "Aktiviere"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:262
 msgid "I2P Network Configuration"
 msgstr "I2P-Netzwerkeinstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:316
 msgid "Bandwidth limiter"
 msgstr "Bandbreitenbegrenzer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
 msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
 msgstr ""
 "I2P funktioniert am besten, wenn Sie die Werte so konfigurieren, \n"
 "dass die Geschwindigkeit zu Ihrer Internetverbindung passt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:322
 msgid "KBps In"
 msgstr "kByte/s eingehend"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:336
 msgid "KBps Out"
 msgstr "kByte/s ausgehend"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:352
 msgid "Share"
 msgstr "für andere zur Benutzung freigegeben"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:326
 msgid "NOTE"
 msgstr "HINWEIS"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:361
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
 msgstr "Sie haben I2P angewiesen, nur {0} kbit/s mit anderen zu teilen."
 
-#: ../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:364
 msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P benötigt mindestens 12 kbit/s, um das Durchleiten zu ermöglichen. "
 
-#: ../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:365
 msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
 msgstr ""
 "Bitte aktivieren Sie die gemeinsame Nutzung (Teilnahme an Tunneln),\n"
 "indem Sie mehr Bandbreite freigeben. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:366
 msgid "It improves your anonymity by creating cover traffic, and helps the network."
 msgstr ""
 "Es verbessert Ihre Anonymität durch Herstellen von s.&nbsp;g. Rauschen und \n"
 "es hilft zudem dem Netzwerk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
 msgstr "Sie haben I2P konfiguriert, {0} kBytes/s durchzuleiten. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:372
 msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
 msgstr ""
 "Je höher der Anteil an geteilter Bandbreite ist, desto mehr verbessert sich \n"
 "Ihre Anonymität, und darüber hinaus hilft es dem Netz. "
 
-#: ../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
+#: ../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:532
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:425
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
 msgid "Cancel"
 msgstr "Abbruch"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393
 msgid "IP and Transport Configuration"
 msgstr "IP- und Transport-Einstellungen"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
 msgid "The default settings will work for most people."
 msgstr "Die Standardeinstellungen funktionieren für die meisten Anwender."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397
 msgid "There is help below."
 msgstr "Weiter unten finden Sie eine Hilfe."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "UPnP Configuration"
 msgstr "UPnP-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Enable UPnP to open firewall ports"
 msgstr "Aktiviere UPnP, um Ports in der Firewall freizuschalten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
 msgid "UPnP status"
 msgstr "UPnP-Status"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "IP Configuration"
 msgstr "IP-Einstellungen"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Externally reachable hostname or IP address"
 msgstr "Extern erreichbarer Hostname oder IP-Adresse"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:413
 msgid "Use all auto-detect methods"
 msgstr "Alle automatisch erkannten Modi benutzen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Disable UPnP IP address detection"
 msgstr "UPnP IP-Adresserkennung deaktivieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:421
 msgid "Ignore local interface IP address"
 msgstr "IP-Adresse der lokalen Schnittstelle ignorieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:425
 msgid "Use SSU IP address detection only"
 msgstr "Nur die SSU-Adresserkennung benutzen"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Specify hostname or IP"
 msgstr "Hostnamen oder IP angeben"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Select Interface"
 msgstr "Schnittstelle auswählen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449
 msgid "Hidden mode - do not publish IP"
 msgstr "Versteckter Modus - veröffentlicht die IP-Adresse nicht"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451
 msgid "(prevents participating traffic)"
 msgstr "(verhindert die Teilnahme an fremden Tunneln)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:453
 msgid "Action when IP changes"
 msgstr "Aktion wenn sich die IP-Adresse ändert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:457
 msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
 msgstr "Laptop Modus - ändert zur Erhöhung der Anonymität Ihre Router-Identifikation und den UDP-Port, wenn sich Ihre IP ändert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "Experimental"
 msgstr "experimentell"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "UDP Configuration:"
 msgstr "UDP-Einstellungen:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463
 msgid "UDP port:"
 msgstr "UDP-Port:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477
 msgid "TCP Configuration"
 msgstr "TCP-Einstellungen:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483
 msgid "Use auto-detected IP address"
 msgstr "Automatisch erkannte IP-Adresse benutzen"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
 msgid "currently"
 msgstr "derzeit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "if we are not firewalled"
 msgstr "wenn keine Firewall aktiv ist"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "Immer die automatisch erkannte IP-Adresse benutzen (bei inaktiver Firewall)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:503
 msgid "Disable inbound (Firewalled)"
 msgstr "Deaktiviere eingehende Verbindungen (Firewall ist aktiv)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:507
 msgid "Completely disable"
 msgstr "Komplett deaktivieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
 msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
 msgstr ""
 "(nur auswählen, wenn dieser Router hinter einer Firewall ist, die ausgehenden \n"
 "TCP-Verkehr blokiertt oder begrenzt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
 msgid "Externally reachable TCP port"
 msgstr "Extern erreichbarer TCP-Port"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
 msgid "Use the same port configured for UDP"
 msgstr "Den selben Port wie für UDP benutzen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
 msgid "Specify Port"
 msgstr "Gib den Port an"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:348
 msgid "Note"
 msgstr "Hinweis"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530
 msgid "Changing these settings will restart your router."
 msgstr "Veränderungen an diesen Werten bewirken einen Neustart des Routers."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
 msgid "Configuration Help"
 msgstr "Konfigurationshilfe"
 
-#: ../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
+#: ../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:587
 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 funktioniert auch hinter den meisten Firewalls, aber die Geschwindigkeit und Integration ins I2P-Netz erhöhen sich, wenn der I2P-Port in der Firewall für TCP und UDP freigegeben und auf Ihren Computer weitergeleitet wird."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
 msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
 msgstr ""
 "Falls es Ihnen möglich ist, richten Sie bitte Ihre Firewall so ein, dass \n"
 "TCP- und UDP-Pakete Ihren Computer unverändert erreichen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
 msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
 msgstr ""
 "Falls Ihnen das nicht möglich ist, hat I2P UPnP-Unterstützung (Universelles \n"
 "Plug and Play) und UDP-Weiterleitung mit Hilfe der „SSU-Hilfsrouter“ eingebaut."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
 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 ""
 "Die meisten der obenstehenden Optionen sind für besondere Situationen,\n"
 "wenn z.&nbsp;B. UPnP nicht funktioniert oder die Firewall nicht geändert werden \n"
 "kann und Probleme bereitet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
 msgstr ""
 "Bestimmte Firewalls, wie auch symmetrische NATs, arbeiten unter Umständen\n"
 "nicht gut mit I2P zusammen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
 msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
 msgstr ""
 "UPnP kommuniziert normalerweise mit den Internet Gateway Devices (IGDs), um \n"
 "die extern erreichbare IP-Adresse zu ermitteln und die Ports weiterzuleiten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "UPnP support is beta, and may not work for any number of reasons"
 msgstr ""
 "Die Unterstützung für UPnP ist noch in der Testphase und kann aus vielen\n"
 "Gründen nicht funktionieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "No UPnP-compatible device present"
 msgstr "Kein UPnP-fähiges Gerät gefunden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "UPnP disabled on the device"
 msgstr "UPnP ist für dieses Gerät deaktiviert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "Software firewall interference with UPnP"
 msgstr "Die Software-Firewall stört UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "Bugs in the device's UPnP implementation"
 msgstr "Fehlerhafte UPnP-Integration im Gerät"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "Mehrere Firewalls / Router in der Verbindung zum Internet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "UPnP device change, reset, or address change"
 msgstr "UPnP-Gerät geändert, neugestartet oder mit geänderter Adresse"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
 msgid "Review the UPnP status here."
 msgstr "Überprüfen Sie hier den UPnP-Status."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
 msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
 msgstr ""
 "UPnP kann aktiviert oder deaktiviert werden, aber ein wechseln \n"
 "erfordert einen Routerneustart um wirksam zu werden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "Hostnames entered above will be published in the network database."
 msgstr "Oben eingegebene Hostnamen werden in der Netzwerk-Datenbank veröffentlicht."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "They are <b>not private</b>."
 msgstr "Sie sind <b>nicht geheim</b>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
 msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
 msgstr ""
 "Geben Sie auch <b>keine IP-Adresse für den privaten Gebrauch</b> wie\n"
 "127.0.0.1 oder 192.168.1.1 an!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
 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 ""
 "Wenn Sie eine falsche IP-Adresse oder einen falschen Hostnamen angeben, oder Ihre Firewall oder NAT nicht richtig konfigurieren, \n"
 "wird sich Ihre Netzwerk-Performance erheblich verschlechtern."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "Wenn Sie Zweifel haben, lassen Sie die Einstellungen auf den Standardwerten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid "Reachability Help"
 msgstr "Hilfe zur Erreichbarkeit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
 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 ""
 "Wenn Sie meinen, Sie haben Ihre Firewall geöffnet und I2P breichtet dennoch, es wäre\n"
 "hinter einer Firewall, dann prüfen Sie, ob Sie möglicherweise mehrere Firewalls\n"
 "- zum Beispiel sowohl Software- als auch externer Hardware-Router - haben."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
 msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
 msgstr ""
 "Wenn ein Fehler auftritt, können die <a href=\"logs.jsp\">Berichte</a> helfen, \n"
 "das Problem zu diagnostizieren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "Ihr UDP-Port wird anscheinend nicht von der Firewall geblockt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 msgid "Your UDP port appears to be firewalled."
 msgstr "Ihr UDP-Port wird anscheinend von der Firewall geblockt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
 msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
 msgstr ""
 "Da die Firewall-Nachweismethoden nicht zu 100% zuverlässig sind, ist die \n"
 "Anzeige gelegentlich fehlerhaft."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
 msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
 msgstr ""
 "Wenn es allerdings dauerhaft angezeigt wird, sollten Sie überprüfen, ob Ihre Ports,\n"
 "sowohl der externen wie auch der internen Firewall, geöffnet sind."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
 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 wird auch mit geschlossener Firewall gut funktionieren, es besteht kein \n"
 "Grund zur Besorgnis. Bei geschlossener Firewall verwendet der Router \n"
 "\"Hilfsrouter\", um eingehende Verbindungen zu übertragen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
 msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
 msgstr "Falls Sie Ihre Firewall(s) öffnen, helfen Sie dem Netzwerk mehr und gleichzeitig erhöhen Sie Ihre Anonymität durch die Teilnahme an fremden Tunneln."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
 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 "Falls Sie dies schon getan haben, denken Sie bitte daran, dass Sie eine Hardware- und eine Software-Firewall haben könnten, oder aber hinter einer Firewall sind, die Sie nicht ändern können (z.B. seitens Ihres Providers)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
 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 "Auch können manche Router nicht TCP und UDP korrekt auf dem selben Port weiterleiten, oder haben andere Beschränkungen oder Fehler, die die Portweiterleitung an den I2P-Router behindern."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "The router is currently testing whether your UDP port is firewalled."
 msgstr "Der Router testet gerade, ob Ihr UDP-Port offen ist."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
 msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
 msgstr "Die Einstellungen des Routers verhindern die Veröffentlichung der Adresse, deswegen akzeptiert er keine eingehenden Verbindungen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 msgid "WARN - Firewalled and Fast"
 msgstr "WARNUNG: Firewall aktiv und schnell"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
 msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
 msgstr "Sie haben I2P angewiesen, mehr als 128 kbit/s Bandbreite zu teilen, aber leider sind Sie hinter einer Firewall."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
 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 funktioniert zwar auch mit dieser Einstellung, falls Sie jedoch wirklich über mehr als 128 kbit/s Bandbreite zum Teilen verfügen, sind Sie mit einer offenen Firewall viel hilfreicher für das Netzwerk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
 msgid "WARN - Firewalled and Floodfill"
 msgstr "WARNUNG: Firewall und Floodfillfunktion aktiv"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
 msgid "You have configured I2P to be a floodfill router, but you are firewalled."
 msgstr "Sie haben I2P als Floodfill-Router eingerichtet, jedoch sind sie hinter einer Firewall."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
 msgid "For best participation as a floodfill router, you should open your firewall."
 msgstr "Für die beste Teilnahme als Floodfill-Router, sollten Sie Ihre Firewall öffnen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "WARNUNG: von Firewall geblockt und ankommendes TCP aktiviert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
 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 "Sie haben eingehendes TCP konfiguriert, jedoch ist ihr UDP-Port hinter einer Firewall. Deswegen ist es wahrscheinlich, dass Ihr TCP-Port auch hinter einer Firewall ist."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
 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 "Falls Ihr TCP Port gesperrt ist und Sie \"eingehendes TCP\" aktiviert haben, werden andere Router Sie nicht via TCP erreichen können. Dies schadet dem Netzwerk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
 msgid "Please open your firewall or disable inbound TCP above."
 msgstr "Bitte öffnen Sie Ihre Firewall oder schalten Sie ankommendes TCP oben aus"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "WARNUNG: Firewall aktiv und UDP deaktiviert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
 msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "Sie haben eingehendes TCP aktiviert, jedoch UDP deaktiviert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
 msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
 msgstr "Sie scheinen auf TCP eine Firewall zu haben, deswegen kann Ihr Router keine eingehenden Verbindungen entgegennehmen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
 msgid "Please open your firewall or enable UDP."
 msgstr "Bitte öffnen Sie Ihre Firewall oder aktivieren Sie UDP!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
 msgid "ERR - Clock Skew"
 msgstr "FEHLER: Uhr nicht synchron"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
 msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
 msgstr "Ihre Uhrzeit ist nicht synchron mit dem Netzwerk, dies macht es schwierig, am Netzwerk teilzunehmen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
 msgid "Correct your clock setting if this error persists."
 msgstr "Korrigieren Sie Ihre Uhrzeit falls dieser Fehler bestehen bleibt!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
 msgid "ERR - Private TCP Address"
 msgstr "FEHLER: Private TCP-Adresse"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
 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 "Sie dürfen nie eine nicht routebare IP wie 127.0.0.1 oder 192.168.1.1 als Ihre extern erreichbare Adresse angeben."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
 msgid "Correct the address or disable inbound TCP above."
 msgstr "Korrigieren Sie die Adresse oder deaktivieren Sie eingehendes TCP oben!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
 msgid "ERR - SymmetricNAT"
 msgstr "FEHLER: symmetrische NAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr "I2P hat erkannt, dass Sie hinter einer symmetrischen NAT gesperrt sind."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
 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 funktioniert hinter diesem Typ Firewall nicht gut. Sie können wahrscheinlich keine eingehenden Verbindungen akzeptieren, was Ihre Teilnahme am Netzwerk beeinträchtigt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
 msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "FEHLER: UDP-Port wird schon benutzt. Setzen Sie i2np.udp.internalPort=xxxx in den erweiterten Einstellungen und starten Sie neu!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 msgid "I2P was unable to bind to port 8887 or other configured port."
 msgstr "I2P konnte sich nicht auf den konfigurierten Port binden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
 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 "Überprüfen Sie, ob ein anderes Programm den eingestellten Port benutzt. Falls ja, beenden Sie dieses Programm oder wählen Sie einen anderen Port für I2P!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:675
 msgid "This may be a transient error, if the other program is no longer using the port."
 msgstr "Dies kann ein vorübergehender Fehler sein, falls das andere Programm diesen Port nicht mehr nutzt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:677
 msgid "However, a restart is always required after this error."
 msgstr "Jedoch ist nach diesem Fehler immer ein Neustart erforderlich."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:679
 msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
 msgstr "FEHLER: UDP deaktiviert und eingehende TCP-Adresse/Port nicht konfiguriert"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:681
 msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
 msgstr "Sie haben unter TCP eingehend keinen Hostnamen und Port eingetragen und dennoch UDP deaktiviert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:683
 msgid "Therefore your router cannot accept inbound connections."
 msgstr "Somit kann Ihr Router keine eigehenden Verbindungen akzeptieren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:685
 msgid "Please configure a TCP host and port above or enable UDP."
 msgstr "Bitte konfigurieren Sie eine Adresse und einen Port im oberen Bereich für TCP oder aktivieren Sie UDP!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:687
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "FEHLER: Klientenmanager I2CP Fehler - Schauen Sie in die Berichte!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:689
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
 msgstr "Dies geschieht für gewöhnlich wegen eines Konflikts auf Port 7654. Prüfen Sie die Berichte, um dies zu verifizieren!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:691
 msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
 msgstr "Haben Sie eine zweite I2P-Instanz laufen? Beenden Sie das störende Programm und starten Sie I2P neu!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:113
 msgid "config advanced"
 msgstr "Erweiterte Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:263
 msgid "I2P Advanced Configuration"
 msgstr "I2P - Erweiterte Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:319
 msgid "Advanced I2P Configuration"
 msgstr "Erweiterte I2P-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:329
 msgid "Some changes may require a restart to take effect."
 msgstr "Einige Einstellungen benötigen einen Routerneustart, um aktiv zu werden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:112
 msgid "config clients"
 msgstr "Klienten einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:265
 msgid "I2P Client Configuration"
 msgstr "Konfiguration der I2P-Klienten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
 msgid "Client Configuration"
 msgstr "Klienten-Konfiguration"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:332
 msgid "The Java clients listed below are started by the router and run in the same JVM."
 msgstr ""
 "Die Java-Klienten unten werden durch den Router gestartet und laufen in der \n"
 "selben JVM."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
 msgid "To change other client options, edit the file"
 msgstr "Bearbeiten Sie diese Datei, um andere Klienten-Optionen zu ändern:"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:439
 msgid "All changes require restart to take effect."
 msgstr "Alle Änderungen erfordern einen Neustart, um aktiv zu werden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Advanced Client Interface Configuration"
 msgstr "Erweiterte Einstellungen des Klienten-Interfaces"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "External I2CP (I2P Client Protocol) Interface Configuration"
 msgstr "Eintellungen des externen I2CP-Interfaces (I2P-Klienten-Protokoll)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:367
 msgid "Enabled without SSL"
 msgstr "Aktiviert; ohne SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:373
 msgid "Enabled with SSL required"
 msgstr "Aktiviert, SSL erforderlich"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
 msgid "Disabled - Clients outside this Java process may not connect"
 msgstr "Deaktiviert - Klienten außerhalb dieses Javaprozesses können sich nicht verbinden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:381
 msgid "I2CP Port"
 msgstr "I2CP-Port"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
 msgid "I2CP Interface"
 msgstr "I2CP-Interface"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
 msgid "Authorization"
 msgstr "Autorisation"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
 msgid "Require username and password"
 msgstr "Zugangskontrolle per Benutzername und Passwort aktivieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
 msgid "Username"
 msgstr "Benutzername"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:413
 msgid "Password"
 msgstr "Passwort"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:419
 msgid "Any changes made here must also be configured in the external client."
 msgstr "Alle hier vorgenommenen Änderungen müssen auch in den externen Klienten vorgenommen werden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Many clients do not support SSL or authorization."
 msgstr "Vielle Klienten unterstützen kein SSL und/oder keine Authentifikation."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
 msgid "WebApp Configuration"
 msgstr "WebApp-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
 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 "Untengenannte Java-Anwendungen werden vom WebKonsolen-Klienten gestartet und laufen in der selben JVM wie der Router. Es handelt sich dabei normalerweise Web-Anwendungen, die über die Routerkonsole erreichbar sind. Es können komplette Anwendungen (z.B. i2psnark), reine Oberflächen für andere Klienten, Anwendungen, die separat aktiviert werden müssen (z.B. susidns, i2ptunnel), oder Anwendungen ohne Oberfläche (Adressbuch) sein."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
 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 "Eine Webanwendung kann auch durch das Entfernen der .war-Datei deaktiviert werden. Jedoch werden die .war-Datei und die Anwendung nach einer Aktualisierung des Routers wieder erscheinen. Somit ist das Deaktivieren der Web-Anwendung hier die bevorzugte Methode."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:445
 msgid "Plugin Configuration"
 msgstr "Konfiguration der Zusatzprogramme"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:447
 msgid "The plugins listed below are started by the webConsole client."
 msgstr "Die unten aufgelisteten Zusatzprogramme werden vom WebKonsolen-Klienten gestartet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:455
 msgid "Plugin Installation"
 msgstr "Installation von Zusatzprogrammen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:457
 msgid "To install a plugin, enter the download URL:"
 msgstr "Für die Installation eines Zusatzprogramms bitte die Download-URL eingeben:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:112
 msgid "config keyring"
 msgstr "Schlüsselbund einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:249
 msgid "I2P Keyring Configuration"
 msgstr "Einstellungen des I2P-Schlüsselbunds"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "The router keyring is used to decrypt encrypted leaseSets."
 msgstr "Der Router-Schlüsselbund wird zum Entschlüsseln verschlüsselter LeaseSets verwendet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:320
 msgid "The keyring may contain keys for local or remote encrypted destinations."
 msgstr "Der Schlüsselbund kann Schlüssel für lokale oder entfernte verschlüsselte Leasesets enthalten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326
 msgid "Manual Keyring Addition"
 msgstr "Manuelles Hinzufügen zum Schlüsselbund"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328
 msgid "Enter keys for encrypted remote destinations here."
 msgstr "Geben Sie hier die Schlüssel für entfernte verschlüsselte Ziele ein!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331
 msgid "Keys for local destinations must be entered on the"
 msgstr "Schlüssel für lokale Ziele müssen dort eingegeben werden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:333
 msgid "I2PTunnel page"
 msgstr "I2PTunnel-Seite"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:335
 msgid "Dest. name, hash, or full key"
 msgstr "Name des Ziels, Prüfsumme oder ganzer Schlüssel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:337
 msgid "Encryption Key"
 msgstr "Schlüssel zum Kodieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:113
 msgid "config logging"
 msgstr "Berichte einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:263
 msgid "I2P Logging Configuration"
 msgstr "Einstellungen der I2P-Berichte"
 
-#: ../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:319
 msgid "Configure I2P Logging Options"
 msgstr "Richte I2P-Berichte ein"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Logging filename"
 msgstr "Dateiname für Berichte"
 
-#: ../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:325
 msgid "(the symbol '@' will be replaced during log rotation)"
 msgstr "(Das Zeichen '@' wird bei der Rotation der Berichtedatei ersetzt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
 msgid "Log record format"
 msgstr "Format der Berichtedatei"
 
-#: ../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:331
 msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
 msgstr "(Benutzen Sie 'd' = Datum, 'c' = Klasse, 't' = Thread, 'p' = Priorität, 'm' = Nachricht)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
 msgid "Log date format"
 msgstr "Datumsformat der Berichte"
 
-#: ../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:337
 msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
 msgstr "('MM' = Monat, 'dd' = Tag, 'HH' = Stunde, 'mm' = Minute, 'ss' = Sekunde, 'SSS' = Millisekunde)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
 msgid "Max log file size"
 msgstr "max. Dateigröße der Berichte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:343
 msgid "Default log level"
 msgstr "Standardlevel für Berichte"
 
-#: ../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:347
 msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
 msgstr "(DEBUG und INFO sind nicht empfohlen, da diese den Router drastisch verlangsamen)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:349
 msgid "Log level overrides"
 msgstr "Berichtelevel - Sonderoptionen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353
 msgid "New override"
 msgstr "Neue Zusatzoption"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:112
 msgid "config peers"
 msgstr "Teilnehmer einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:249
 msgid "I2P Peer Configuration"
 msgstr "Einstellungen zu I2P-Teilnehmern"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
 msgid "Manual Peer Controls"
 msgstr "Manuelles Verwalten der Teilnehmer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 msgid "Router Hash"
 msgstr "Router-Prüfsumme"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:329
 msgid "Manually Ban / Unban a Peer"
 msgstr "Einen Teilnehmer manuell sperren/entsperren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:331
 msgid "Banning will prevent the participation of this peer in tunnels you create."
 msgstr "Eine Sperrung verhindert, dass der Teilnehmer in von Ihnen aufgebauten Tunneln partizipiert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:341
 msgid "Adjust Profile Bonuses"
 msgstr "Profilboni anpassen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
 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 "Boni können positiv oder negativ sein. Sie beeinflussen die Aufnahme der Teilnehmer in die  Klassen schneller Router und Router hoher Kapazität. Schnelle Teilnehmer werden für Klienten-Tunnel genutzt, Teilnehmer mit hoher Kapazität für einige Erkundungstunnel. Derzeitige Boni werden dargestellt auf der "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
 msgid "profiles page"
 msgstr "Profile-Seite"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:273
 msgid "Banned Peers"
 msgstr "Gesperrte Teilnehmer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:384
 msgid "Banned IPs"
 msgstr "Gesperrte IPs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:112
 msgid "config reseeding"
 msgstr "Reseed-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:262
 msgid "I2P Reseeding Configuration"
 msgstr "I2P-Reseed-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
 msgid "Reseeding Configuration"
 msgstr "Reseed-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:320
 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 "Der Reseed ist ein \"bootstrapping\"-Prozess, der das erstmalige Verbinden mit dem Netzwerk ermöglicht. Hierbei werden andere Netzwerkteilnehmer gefunden. Dies ist nötig nach der Installation oder wenn der Router aus anderen Gründen nur noch sehr wenige Kontakte gespeichert hat."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:322
 msgid "If reseeding has failed, you should first check your network connection."
 msgstr "Schlägt der Reseed fehl, solltest du zuallererst deine Internetverbindung überprüfen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:326
 msgid "Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy."
 msgstr "Ändere diese Einstellungen nur wenn HTTP von einer restriktiven Firewall blockiert wird, der Reseed fehlschlägt, und dir ein HTTP-Proxy zur Verfügung steht."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 #, java-format
 msgid "See {0} for instructions on reseeding manually."
 msgstr "Für einen manuellen Reseed, lies die Anleitung unter {0}!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 msgid "the FAQ"
 msgstr "die FAQ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
 msgid "Reseed URL Selection"
 msgstr "Auswahl der Reseed-URL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
 msgid "Try SSL first then non-SSL"
 msgstr "Probiere zunächst SSL, dann nicht-SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:342
 msgid "Use SSL only"
 msgstr "nur SSL verwenden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
 msgid "Use non-SSL only"
 msgstr "kein SSL verwenden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
 msgid "Reseed URLs"
 msgstr "Reseed-URLs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:354
 msgid "Enable HTTP proxy (not used for SSL)"
 msgstr "HTTP-Proxy aktivieren (nicht für SSL)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:358
 msgid "HTTP Proxy Host"
 msgstr "IP der HTTP-Brücke"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:362
 msgid "HTTP Proxy Port"
 msgstr "Port der HTTP-Brücke"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:112
 msgid "config service"
 msgstr "Dienste einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:249
 msgid "I2P Service Configuration"
 msgstr "I2P-Dienste-Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid "Shutdown the router"
 msgstr "Router herunterfahren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
 msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
 msgstr "Das kontrollierte Herunterfahren lässt dem Router Zeit, alle Zusagen, die er gemacht hat, noch zu erfüllen. Dafür benötigt er bis zu 11 Minuten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
 msgid "If you need to kill the router immediately, that option is available as well."
 msgstr "Es gibt auch eine Option zum sofortigen Beenden des Routers, falls Sie diese benötigen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
 msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
 msgstr "Falls Sie den Router nach dem Herunterfahren automatisch wieder starten lassen wollen, wählen Sie eine der folgenden Optionen aus."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
 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 "Dies ist in manchen Situationen hilfreich - zum Beispiel wenn Sie einige Optionen geändert haben, die die Klienten-Anwendung nur beim Starten einliest (Routerkonsolen-Passwort oder das Interface auf dem es arbeitet)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
 msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
 msgstr "Ein kontrollierter Neustart benötigt bis zu 11 Minuten (Ihre Teilnehmer sind für Ihre Geduld dankbar); ein harter Neustart erfolgt sofort."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
 msgid "After tearing down the router, it will wait 1 minute before starting back up again."
 msgstr "Nachdem der Router heruntergefahren ist, wartet er eine Minute, bevor er wieder startet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "Systray integration"
 msgstr "Systemtray-Integration"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
 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 "Auf Windows-Systemen gibt es eine kleine Anwendung, die es Ihnen ermöglicht, den Routerstatus im Systemtray zu sehen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
 msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)."
 msgstr "(Später werden I2P-Anwendungen auch ihre eigenen Funktionen in den Systemtray integrieren können)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
 msgid "If you are on windows, you can either enable or disable that icon here."
 msgstr "Falls Sie Windows nutzen, können Sie hier dieses Symbol aktiveren oder deaktivieren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "Show systray icon"
 msgstr "Systemtray-Icon anzeigen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Hide systray icon"
 msgstr "Systemtray-Icon deaktivieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:345
 msgid "Run on startup"
 msgstr "Beim Hochfahren starten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
 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 "Sie können mit folgenden Optionen festlegen, ob I2P beim Hochfahren gestartet wird oder nicht - I2P wird dementsprechend einen Service einrichten (oder ggf. entfernen)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
 msgid "If you prefer the command line, you can also run the "
 msgstr "Falls Sie die Eingabeaufforderung bevorzugen, können Sie auch folgendes ausführen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
 msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
 msgstr "Falls Sie I2P zurzeit als Service gestartet haben, wird ein Entfernen des Services den Router sofort beenden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
 msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
 msgstr "Sie sollten I2P, wie oben beschrieben, kontrolliert herunterfahren und dann uninstall_i2p_service_winnt.bat ausführen."
 
-#: ../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:365
 msgid "Debugging"
 msgstr "Debuggen"
 
-#: ../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:367
 msgid "View the job queue"
 msgstr "Die Auftragswarteschlange ansehen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:371
 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 "Manchmal ist es zur Fehlerbeseitigung in I2P hilfreich, eine Liste der aktiven Prozesse zu erzeugen. Dafür wählen Sie bitte folgende Option aus und überprüfen die Liste der aktiven Prozesse in der <a href=\"logs.jsp#servicelogs\">wrapper.log Datei</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:377
 msgid "Launch browser on router startup?"
 msgstr "Beim Starten einen Browser aufrufen?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:379
 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 "Die Web-Konsole ist I2Ps wichtigstes Interface für Einstellungen. I2P kann für Sie beim Starten einen Browser öffnen und die Routerkonsole anzeigen, unter"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:113
 msgid "config stats"
 msgstr "Statistiken einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:250
 msgid "I2P Stats Configuration"
 msgstr "I2P - Einstellungen zu den Statistiken"
 
-#: ../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:320
 msgid "Configure I2P Stat Collection"
 msgstr "I2P-Statistiken anpassen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:322
 msgid "Enable full stats?"
 msgstr "Vollständige Statistiken aktivieren?"
 
-#: ../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:329
 msgid "change requires restart to take effect"
 msgstr "Änderungen erfordern einen Routerneustart"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:331
 msgid "Stat file"
 msgstr "Status Datei"
 
-#: ../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:335
 msgid "Filter"
 msgstr "Filter"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:348
 msgid "toggle all"
 msgstr "Wähle alle"
 
-#: ../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:350
 msgid "Log"
 msgstr "Berichte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:352
 msgid "Graph"
 msgstr "Graphen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:391
 msgid "Advanced filter"
 msgstr "Erweiterte Filter"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:112
 msgid "config tunnels"
 msgstr "Tunnel einrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:262
 msgid "I2P Tunnel Configuration"
 msgstr "Einstellungen der I2P-Tunnel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:328
 msgid "The default settings work for most people."
 msgstr "Die Standardeinstellungen funktionieren für die meisten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
 msgid "There is a fundamental tradeoff between anonymity and performance."
 msgstr "Es gibt einen grundsätzlichen Kompromiss zwischen Anonymität und Performance."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
 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 "Tunnel mit mehr als 3 Zwischenstationen (z.B. 2+0-2, 3+0-1 oder 3+0-2) oder eine große Anzahl an Tunneln + Ersatztunneln kann die Performance oder Zuverlässigkeit erheblich verringern."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "High CPU and/or high outbound bandwidth usage may result."
 msgstr "Eine hohe CPU-Last und/oder hohe ausgehende Bandbreite können die Folge sein."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
 msgid "Change these settings with care, and adjust them if you have problems."
 msgstr "Ändern Sie diese Einstellungen nur, wenn Sie Probleme haben, und stets mit besonderer Vorsicht!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:351
 msgid "Exploratory tunnel setting changes are stored in the router.config file."
 msgstr "Einstellungen der Erkundungstunnel sind in der Datei router.config gespeichert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:354
 msgid "Client tunnel changes are temporary and are not saved."
 msgstr "Änderungen an den Kliententunneln sind nur temporär und werden nicht gespeichert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:356
 msgid "To make permanent client tunnel changes see the"
 msgstr "Um permanente Änderungen an den Kliententunneln zu machen, gehen Sie auf die "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:358
 msgid "i2ptunnel page"
 msgstr "I2PTunnel-Seite"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:112
 msgid "config UI"
 msgstr "konfiguriere UI"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:262
 msgid "I2P UI Configuration"
 msgstr "I2P UI-Konfiguration"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:314
 msgid "Router Console Theme"
 msgstr "Thema der Routerkonsole"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:339
 msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "Themenauswahl für den Internet Explorer ist ausgeschaltet, bedauere."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:341
 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 "Falls Sie nicht den Internet Explorer (IE) benutzen, gibt Ihr Browser wahrscheinlich vor, IE zu sein. Wenn Sie die Konsolenthemen nutzen möchten, ändern Sie bitte Ihren Browser (oder Proxy) so, dass er einen anderen User-Agenten sendet!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345
 msgid "Router Console Language"
 msgstr "Sprache der Routerkonsole"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:349
 msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
 msgstr ""
 "Bitte tragen Sie zum Routerkonsolen-Ãœbersetzungsprojekt bei! Kontaktieren \n"
 "Sie hierzu die Entwickler über den IRC-Kanal #i2p!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353
 msgid "Apply"
 msgstr "Anwenden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:112
 msgid "config update"
 msgstr "Aktualisierung der Konfiguration"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:249
 msgid "I2P Update Configuration"
 msgstr "Einstellungen zu Aktualisierungen von I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Check for I2P and news updates"
 msgstr "Überprüfe auf Aktualisierungen von I2P und auf Nachrichten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:323
 msgid "News &amp; I2P Updates"
 msgstr "Neuigkeiten &amp; Aktualisierungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update In Progress"
 msgstr "Aktualisierung wird vorgenommen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "News URL"
 msgstr "Nachrichten-URL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "Refresh frequency"
 msgstr "Aktualisierungshäufigkeit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:345
 msgid "Update policy"
 msgstr "Aktualisierungsregeln"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:349
 msgid "Update through the eepProxy?"
 msgstr "Aktualisierung durch den eepProxy?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:353
 msgid "eepProxy host"
 msgstr "eepProxy-Host"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:357
 msgid "eepProxy port"
 msgstr "eepProxy-Port"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "Update URLs"
 msgstr "URLs aktualisieren"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Trusted keys"
 msgstr "Vertraute Schlüssel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
 msgid "Update with unsigned development builds?"
 msgstr "Aktualisieren mit unsignierten Entwicklerversionen?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
 msgid "Unsigned Build URL"
 msgstr "URL für nicht signierte Aktualisierungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:379
 msgid "I2P updates are disabled because you do not have write permission for the install directory."
 msgstr "Aktualisierungen für I2P sind deaktiviert, da Sie (I2P) keine Schreibberechtigung im Installationsverzeichnis haben."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:385
 msgid "Save"
 msgstr "Speichern"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
 msgid "Internal Error"
 msgstr "interner Fehler"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
 msgid "Router Console"
 msgstr "I2P-Routerkonsole"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:127
 msgid "Configuration"
 msgstr "Einstellungen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:135
 msgid "Sorry! There has been an internal error."
 msgstr "Entschuldigung! es gab einen internen Fehler."
 
 #. 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
+#: ../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:254
 #, java-format
 msgid "Please report bugs on {0} or {1}."
 msgstr "Bitte melden Sie Fehler unter {0} oder {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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:258
 msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
 msgstr "Sie können hierfür den Benutzernamen \"guest\" und das Passwort \"guest\" verwenden, wenn Sie sich nicht registrieren wollen."
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:145
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:260
 msgid "Please include this information in bug reports"
 msgstr "Bitte fügen Sie folgende Informationen dem Bugreport bei!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:147
 msgid "Error Details"
 msgstr "Fehlerdetails"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:149
 #, java-format
 msgid "Error {0}"
 msgstr "Fehler {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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:169
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:250
 msgid "I2P Version and Running Environment"
 msgstr "I2P-Version & Laufzeitumgebung"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:197
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:288
 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 "Beachten Sie, dass Systeminformationen, Zeitstempel der Berichte sowie die Fehlerberichte selbst Hinweise auf Ihren Standort enthalten können. Bitte überprüfen Sie Fehlerberichte, die Sie einreichen wollen, diesbezüglich!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:123
 msgid "Page Not Found"
 msgstr "Seite nicht gefunden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:264
 msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
 msgstr ""
 "Bedaure. Anscheinend haben Sie eine nicht vorhandene Routerkonsolenseite\n"
 "oder -Ressource angefordert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:266
 msgid "Error 404"
 msgstr "Fehler 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:271
 msgid "not found"
 msgstr "nicht gefunden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:112
 msgid "graphs"
 msgstr "Diagramme"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:249
 msgid "I2P Performance Graphs"
 msgstr "I2P-Leistungsdiagramme"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:111
 msgid "home"
 msgstr "Heim"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:331
+msgid "Welcome to I2P"
+msgstr "Willkommen im I2P!"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:111
 msgid "job queue"
 msgstr "Auftragswarteschlange"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:248
 msgid "I2P Router Job Queue"
 msgstr "I2P-Router-Auftragswarteschlange"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:111
 msgid "logs"
 msgstr "Protokolle"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:248
 msgid "I2P Router Logs"
 msgstr "I2P-Router-Protokolle"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:303
 msgid "Critical Logs"
 msgstr "Berichte kritischer Ereignisse"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:307
 msgid "Router Logs"
 msgstr "Router-Berichte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:313
 msgid "Service (Wrapper) Logs"
 msgstr "Berichte des Services (Wrapper)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:111
 msgid "network database summary"
 msgstr "Netzwerkdatenbank Zusammenfassung"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:248
 msgid "I2P Network Database Summary"
 msgstr "I2P-Netzwerkdatenbank Zusammenfassung"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:115
 msgid "WebApp Not Found"
 msgstr "WebApplikation nicht gefunden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:252
 msgid "Web Application Not Running"
 msgstr "Web Applikation ist nicht aktiv"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:254
 msgid "The requested web application is not running."
 msgstr "Die angeforderte Web-Anwendung ist nicht aktiv."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:256
 msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
 msgstr "Bitte besuchen Sie die <a href=\"/configclients.jsp#webapp\">Klienten-Konfigurations Seite</a>, um diese zu starten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:111
 msgid "peer connections"
 msgstr "Verbindungen zu Teilnehmern"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:248
 msgid "I2P Network Peers"
 msgstr "I2P-Netzwerkteilnehmer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:111
 msgid "peer profiles"
 msgstr "Teilnehmerprofile"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:248
 msgid "I2P Network Peer Profiles"
 msgstr "Profile der I2P-Netzwerkteilnehmer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:111
 msgid "statistics"
 msgstr "Statistiken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:265
 msgid "I2P Router Statistics"
 msgstr "I2P-Router-Statistiken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:255
 #, java-format
 msgid "Disable {0} Refresh"
 msgstr "Alle-{0}-Auffrischen<br>ausschalten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:111
 msgid "tunnel summary"
 msgstr "Tunnel Zusammenfassung"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:248
 msgid "I2P Tunnel Summary"
 msgstr "I2P-Tunnel Zusammenfassung"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:111
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:248
+msgid "Peer Profile"
+msgstr "Teilnehmerprofil"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:275
+#, java-format
+msgid "Profile for peer {0}"
+msgstr "Teilnehmerprofil von {0}"
+
+#~ msgid "Download"
+#~ msgstr "Herunterladen"
 #~ 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\" "
@@ -5472,8 +5544,6 @@ msgstr "I2P-Tunnel Zusammenfassung"
 #~ "newticket\">trac.i2p2.i2p</a>!"
 #~ msgid "avg value"
 #~ msgstr "Durchschnitt"
-#~ msgid "events"
-#~ msgstr "Ereignisse"
 #~ msgid "lifetime average"
 #~ msgstr "Mittelwert seit Start"
 #~ msgid "peak average"
diff --git a/apps/routerconsole/locale/messages_es.po b/apps/routerconsole/locale/messages_es.po
index 9adddbe306957d72a4627a74e1bcd66eb98e6c7c..21a79717d3e436e71984f59955197013595c8d0e 100644
--- a/apps/routerconsole/locale/messages_es.po
+++ b/apps/routerconsole/locale/messages_es.po
@@ -6,25 +6,27 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: I2P routerconsole\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-03 18:27+0000\n"
-"PO-Revision-Date: 2011-01-03 01:13+0100\n"
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-21 18:01+0000\n"
+"PO-Revision-Date: 2011-05-18 23:34+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
-"Language-Team: foo <foo@bar>\n"
-"Language: \n"
+"Language-Team: Spanish (Castilian) <None>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: French\n"
+"Language: es\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
+#. 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:1141
@@ -51,7 +53,7 @@ msgstr[1] "{0} s"
 #, java-format
 msgid "1 min"
 msgid_plural "{0} min"
-msgstr[0] "{0} min"
+msgstr[0] "1 min"
 msgstr[1] "{0} min"
 
 #. hours
@@ -65,9 +67,9 @@ msgstr[0] "1 hora"
 msgstr[1] "{0} horas"
 
 #: ../../../core/java/src/net/i2p/data/DataHelper.java:1158
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:314
 msgid "n/a"
-msgstr ""
+msgstr "n/d"
 
 #. days
 #. Note to translators: quantity will always be greater than one.
@@ -81,21 +83,21 @@ msgstr[1] "{0} días"
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:122
 #, java-format
 msgid "Banned by router hash: {0}"
-msgstr ""
+msgstr "Baneado por el hash del router: {0}"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:124
 msgid "Banned by router hash"
-msgstr "baneado por hash del enrutador"
+msgstr "baneado por hash del router"
 
 #. Temporary reason, until the job finishes
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:669
 msgid "IP banned"
-msgstr "IP baneado"
+msgstr "IP baneada"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:739
 #, java-format
 msgid "IP banned by blocklist.txt entry {0}"
-msgstr ""
+msgstr "IP baneada por la blocklist.txt: {0}"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:92
 msgid "Rejecting tunnels: Shutting down"
@@ -103,13 +105,14 @@ msgstr "rechazando túneles: apagando"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:141
 msgid "Rejecting tunnels: High message delay"
-msgstr "rechazando túneles: alta tardanza de los mensajes"
+msgstr "rechazando túneles: mucha tardanza de los mensajes"
 
 #. 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 "rechazando la mayor parte de los túneles: alto número de peticiones"
+msgstr "rechazando la mayoría de túneles: alto número de peticiones"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:233
 msgid "Rejecting tunnels: Limit reached"
@@ -120,109 +123,107 @@ msgstr "rechazando túneles: límite alcanzado"
 #. always leave at least 4KBps free when allowing
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:301
 msgid "Rejecting tunnels: Bandwidth limit"
-msgstr "rechazando túneles: límite del ancho de banda"
+msgstr "rechazando túneles: límite de ancho de banda"
 
 #. hard to do {0} from here
-#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit");
+#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels:
+#. Bandwidth limit");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:371
 msgid "Rejecting most tunnels: Bandwidth limit"
-msgstr "rechazando la mayor parte de los túneles: límite del ancho de banda"
+msgstr "rechazando la mayor parte de los túneles: límite de ancho de banda"
 
 #. hard to do {0} from here
-#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
+#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of
+#. tunnels");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375
 msgid "Accepting most tunnels"
-msgstr "Acceptando la mayoría de los túneles"
+msgstr "Aceptando la mayoría de los túneles"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:377
 msgid "Accepting tunnels"
-msgstr "acceptando túneles"
+msgstr "aceptando túneles"
 
 #. 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 "Rechazando túneles"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:125
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
 msgid "Reseeding"
-msgstr ""
+msgstr "Resembrando"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:141
 #, java-format
 msgid "Reseed fetched only 1 router."
 msgid_plural "Reseed fetched only {0} routers."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "El proceso de resembrar ha encontrado un solo router."
+msgstr[1] "El proceso de resembrar ha encontrado sólo {0} routers."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:148
 msgid "Reseed failed."
-msgstr ""
+msgstr "El proceso de resembrar ha fallado"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:149
 #, java-format
 msgid "See {0} for help."
-msgstr ""
+msgstr "Consulta {0} para obtener ayuda."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
-#, fuzzy
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
 msgid "reseed configuration page"
-msgstr "Guardados los ajustes de registros"
+msgstr "Página de configuración del proceso de resembrar"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:293
 msgid "Reseeding: fetching seed URL."
-msgstr ""
+msgstr "Resembrar: Buscando URL sembradora"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:335
 #, java-format
-msgid ""
-"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
-msgstr ""
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr "Resembrar: buscando informaciones de routers desde la URL sembradora ({0} exitosas, {1} errores)."
 
 #: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
 msgid "NetDb entry"
-msgstr ""
+msgstr "Entrada de la NetDb"
 
-#. 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 ""
+msgstr "No hay transportes (oculto o iniciando?)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450
 msgid "Unreachable on any transport"
-msgstr ""
+msgstr "Inalcanzable en cualquier transporte"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499
 msgid "Router Transport Addresses"
-msgstr ""
+msgstr "Direcciones de transporte del router "
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504
 #, java-format
 msgid "{0} is used for outbound connections only"
-msgstr ""
+msgstr "{0} se utiliza sólo para conexiones salientes"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
 msgid "Help"
-msgstr ""
+msgstr "Ayuda"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
-msgid ""
-"Your transport connection limits are automatically set based on your "
-"configured bandwidth."
-msgstr ""
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr "Los límites de conexiones de transporte se ajustan automáticamente basándose en el ancho de banda configurado."
 
 #: ../../../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 ""
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr "Para sobreescribir estos límites, se deben agregar los comandos i2np.ntcp.maxConnections = nnn y i2np.udp.maxConnections = nnn en la página de configuración avanzada."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
 msgid "Definitions"
 msgstr "Definiciones"
 
@@ -233,20 +234,20 @@ msgstr "Definiciones"
 #: ../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/ProfileOrganizerRenderer.java:189
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
 msgid "Peer"
 msgstr "Par"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 msgid "The remote peer, identified by router hash"
-msgstr ""
+msgstr "El par remoto, identificado por el hash del router"
 
 #: ../../../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 ""
+msgstr "Dir"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
 msgid "Inbound connection"
@@ -258,21 +259,21 @@ msgstr "Conexión saliente"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
 msgid "They offered to introduce us (help other peers traverse our firewall)"
-msgstr ""
+msgstr "Se han ofrecido a introducirnos (a ayudar a otros pares a atravesar nuestro cortafuegos)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
 msgid "We offered to introduce them (help other peers traverse their firewall)"
-msgstr ""
+msgstr "Nos hemos ofrecido a introducirlos (a ayudar a otros compañeros a atravesar su cortafuegos)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "How long since a packet has been received / sent"
-msgstr ""
+msgstr "Cuánto tiempo hace que un paquete ha sido recibido / enviado"
 
 #: ../../../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 ""
+msgstr "inactivo"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
@@ -283,155 +284,151 @@ msgstr "Entrante/Saliente"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
-msgstr ""
+msgstr "Tasa de transferencia de entrada / salida (KBytes por segundo)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "How long ago this connection was established"
-msgstr ""
+msgstr "Cuánto tiempo hace que se estableció esta conexión"
 
 #: ../../../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 ""
+msgstr "Subida"
 
 #: ../../../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 ""
+msgstr "Desincronización"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "The difference between the peer's clock and your own"
-msgstr ""
+msgstr "La diferencia entre el reloj del par y el tuyo"
 
 #: ../../../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 ""
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr "El rango de congestión, que es la cantidad de bytes que se pueden enviar sin recibir confirmación"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The number of sent messages awaiting acknowledgement"
-msgstr ""
+msgstr "El número de mensajes enviados a la espera de confirmación"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The maximum number of concurrent messages to send"
-msgstr ""
+msgstr "El número máximo de mensajes simultáneos para enviar"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The number of pending sends which exceed congestion window"
-msgstr ""
+msgstr "El número de envíos pendientes que superen el rango de congestión"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The slow start threshold"
-msgstr ""
+msgstr "El umbral de incicio lento"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The round trip time in milliseconds"
-msgstr ""
+msgstr "El tiempo de ida y vuelta en milisegundos"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Dev"
-msgstr ""
+msgstr "Dev"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The standard deviation of the round trip time in milliseconds"
-msgstr ""
+msgstr "La desviación estándar del tiempo de ida y vuelta en milisegundos"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The retransmit timeout in milliseconds"
-msgstr ""
+msgstr "El tiempo de vencimiento de la retransmisión en milisegundos"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
-msgid ""
-"Current maximum send packet size / estimated maximum receive packet size "
-"(bytes)"
-msgstr ""
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr "Tamaño máximo actual de envío de paquetes / tamaño máximo estimado de paquetes entrantes (bytes)"
 
 #: ../../../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 ""
+msgstr "TX"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid "The total number of packets sent to the peer"
-msgstr ""
+msgstr "El número total de paquetes enviados al par"
 
 #: ../../../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 ""
+msgstr "RX"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets received from the peer"
-msgstr ""
+msgstr "El número total de paquetes recibidos del par"
 
 #: ../../../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 ""
+msgstr "TX dup"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets retransmitted to the peer"
-msgstr ""
+msgstr "El número total de paquetes retransmitidos al par"
 
 #: ../../../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 ""
+msgstr "RX dup"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of duplicate packets received from the peer"
-msgstr ""
+msgstr "El número total de paquetes duplicados recibidos de los pares"
 
 #: ../../../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 ""
+msgstr "Desincronización excesiva del reloj: {0}"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
 msgid "NTCP connections"
-msgstr "conexiones NTCP"
+msgstr "Conexiones NTCP"
 
 #: ../../../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 ""
+msgstr "Límite"
 
 #: ../../../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 ""
+msgstr "Tiempo de espera"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
 msgid "Out Queue"
-msgstr ""
+msgstr "cola de salida"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
 msgid "Backlogged?"
-msgstr ""
+msgstr "Atrasadas?"
 
 #: ../../../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
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Inbound"
 msgstr "Entrante"
 
 #: ../../../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
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Outbound"
 msgstr "Saliente"
 
 #. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
 msgid "peers"
-msgstr "Pares"
+msgstr "pares"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
 msgid "UDP connections"
@@ -439,154 +436,155 @@ msgstr "conexiones UDP"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
 msgid "Sort by peer hash"
-msgstr ""
+msgstr "Ordenar por hash"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Direction/Introduction"
-msgstr ""
+msgstr "Dirección/Introducción"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
 msgid "Sort by idle inbound"
-msgstr ""
+msgstr "Ordenar por inactividad de entrada"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
 msgid "Sort by idle outbound"
-msgstr ""
+msgstr "Ordenar por inactividad de salida"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
 msgid "Sort by inbound rate"
-msgstr ""
+msgstr "Ordenar por tasa de entrada"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
 msgid "Sort by outbound rate"
-msgstr ""
+msgstr "Ordenar por tasa de salida"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
 msgid "Sort by connection uptime"
-msgstr ""
+msgstr "Ordenar por el tiempo de actividad"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
 msgid "Sort by clock skew"
-msgstr ""
+msgstr "Ordenar por desviación de reloj"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
 msgid "Sort by congestion window"
-msgstr ""
+msgstr "Ordenar por ventana de congestión"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
 msgid "Sort by slow start threshold"
-msgstr ""
+msgstr "Ordenar por umbral de inicio lento"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
 msgid "Sort by round trip time"
-msgstr ""
+msgstr "Ordenar por el tiempo de ida y vuelta"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
 msgid "Sort by round trip time deviation"
-msgstr ""
+msgstr "Ordenar por desviación de tiempo de ida y vuelta"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
 msgid "Sort by retransmission timeout"
-msgstr ""
+msgstr "Ordenar por tiempo de espera de retransmisión"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
 msgid "Sort by outbound maximum transmit unit"
-msgstr ""
+msgstr "Ordenar por unidad de transmisión máxima de salida"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
 msgid "Sort by packets sent"
-msgstr ""
+msgstr "Ordenar por paquetes enviados"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
 msgid "Sort by packets received"
-msgstr ""
+msgstr "Ordenar por paquetes recibidos"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930
 msgid "Sort by packets retransmitted"
-msgstr ""
+msgstr "Ordenar por paquetes retransmitidos"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932
 msgid "Sort by packets received more than once"
-msgstr ""
+msgstr "Ordenar por paquetes recibidos más de una vez"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1953
 msgid "We offered to introduce them"
-msgstr ""
+msgstr "Nos hemos ofrecido a introducirlos"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1955
 msgid "They offered to introduce us"
-msgstr ""
+msgstr "Se han ofrecido a introducirnos"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1959
 msgid "Choked"
-msgstr ""
+msgstr "Atascado"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1967
 msgid "1 fail"
-msgstr ""
+msgstr "1 fallo"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1969
 #, java-format
 msgid "{0} fails"
-msgstr ""
+msgstr "{0} fallos"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1975
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
 msgid "Banned"
-msgstr ""
+msgstr "Baneado"
 
 #. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2106
 msgid "SUMMARY"
-msgstr ""
+msgstr "RESUMEN"
 
 #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:124
 msgid "Dropping tunnel requests: Too slow"
-msgstr ""
+msgstr "Descartando túneles: Demasiado lento"
 
 #. don't even bother, since we are so overloaded locally
 #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:267
 msgid "Dropping tunnel requests: Overloaded"
-msgstr ""
+msgstr "Descartando solicitudes de túnel: sobrecarga"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:460
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:470
 msgid "Rejecting tunnels: Request overload"
-msgstr ""
+msgstr "Rechazando túneles: Sobrecarga de solicitudes"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:485
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:495
 msgid "Rejecting tunnels: Connection limit"
-msgstr ""
+msgstr "Rechazando túneles: Límite de conexión"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:685
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:706
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:695
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:716
 msgid "Dropping tunnel requests: High load"
-msgstr ""
+msgstr "Descartando solicitudes de túnel: Carga alta"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:698
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:708
 msgid "Dropping tunnel requests: Queue time"
-msgstr ""
+msgstr "Descartando solicitudes de túnel: Tiempo de cola"
 
 #. 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 "Andorre"
+msgstr "Andorra"
 
 #: ../java/build/Countries.java:4
 msgid "United Arab Emirates"
-msgstr ""
+msgstr "Emiratos Árabes Unidos"
 
 #: ../java/build/Countries.java:5
 msgid "Afghanistan"
-msgstr ""
+msgstr "Afganistán"
 
 #: ../java/build/Countries.java:6
 msgid "Antigua and Barbuda"
-msgstr ""
+msgstr "Antigua y Barbuda"
 
 #: ../java/build/Countries.java:7
 msgid "Anguilla"
-msgstr ""
+msgstr "Anguila"
 
 #: ../java/build/Countries.java:8
 msgid "Albania"
@@ -594,19 +592,19 @@ msgstr "Albania"
 
 #: ../java/build/Countries.java:9
 msgid "Armenia"
-msgstr ""
+msgstr "Armenia"
 
 #: ../java/build/Countries.java:10
 msgid "Netherlands Antilles"
-msgstr ""
+msgstr "Antillas Holandesas"
 
 #: ../java/build/Countries.java:11
 msgid "Angola"
-msgstr ""
+msgstr "Angola"
 
 #: ../java/build/Countries.java:12
 msgid "Antarctica"
-msgstr ""
+msgstr "La Antártida"
 
 #: ../java/build/Countries.java:13
 msgid "Argentina"
@@ -614,7 +612,7 @@ msgstr "Argentina"
 
 #: ../java/build/Countries.java:14
 msgid "American Samoa"
-msgstr ""
+msgstr "Samoa Americana"
 
 #: ../java/build/Countries.java:15
 msgid "Austria"
@@ -622,227 +620,227 @@ msgstr "Austria"
 
 #: ../java/build/Countries.java:16
 msgid "Australia"
-msgstr ""
+msgstr "Australia"
 
 #: ../java/build/Countries.java:17
 msgid "Aruba"
-msgstr ""
+msgstr "Aruba"
 
 #: ../java/build/Countries.java:19
 msgid "Azerbaijan"
-msgstr ""
+msgstr "Azerbaiyán"
 
 #: ../java/build/Countries.java:20
 msgid "Bosnia and Herzegovina"
-msgstr ""
+msgstr "Bosnia y Herzegovina"
 
 #: ../java/build/Countries.java:21
 msgid "Barbados"
-msgstr ""
+msgstr "Barbados"
 
 #: ../java/build/Countries.java:22
 msgid "Bangladesh"
-msgstr ""
+msgstr "Bangladesh"
 
 #: ../java/build/Countries.java:23
 msgid "Belgium"
-msgstr ""
+msgstr "Bélgica"
 
 #: ../java/build/Countries.java:24
 msgid "Burkina Faso"
-msgstr ""
+msgstr "Burkina Fasso"
 
 #: ../java/build/Countries.java:25
 msgid "Bulgaria"
-msgstr ""
+msgstr "Bulgaria"
 
 #: ../java/build/Countries.java:26
 msgid "Bahrain"
-msgstr ""
+msgstr "Bahrein"
 
 #: ../java/build/Countries.java:27
 msgid "Burundi"
-msgstr ""
+msgstr "Burundi"
 
 #: ../java/build/Countries.java:28
 msgid "Benin"
-msgstr ""
+msgstr "Benin"
 
 #: ../java/build/Countries.java:29
 msgid "Bermuda"
-msgstr ""
+msgstr "Bermudas"
 
 #: ../java/build/Countries.java:30
 msgid "Brunei Darussalam"
-msgstr ""
+msgstr "Brunei Darussalam"
 
 #: ../java/build/Countries.java:31
 msgid "Bolivia"
-msgstr ""
+msgstr "Bolivia"
 
 #: ../java/build/Countries.java:32
 msgid "Brazil"
-msgstr ""
+msgstr "Brasil"
 
 #: ../java/build/Countries.java:33
 msgid "Bahamas"
-msgstr ""
+msgstr "Bahamas"
 
 #: ../java/build/Countries.java:34
 msgid "Bhutan"
-msgstr ""
+msgstr "Bhután"
 
 #: ../java/build/Countries.java:35
 msgid "Bouvet Island"
-msgstr ""
+msgstr "Isla Bouvet"
 
 #: ../java/build/Countries.java:36
 msgid "Botswana"
-msgstr ""
+msgstr "Botswana"
 
 #: ../java/build/Countries.java:37
 msgid "Belarus"
-msgstr ""
+msgstr "Bielorrusia"
 
 #: ../java/build/Countries.java:38
 msgid "Belize"
-msgstr ""
+msgstr "Belice"
 
 #: ../java/build/Countries.java:39
 msgid "Canada"
-msgstr ""
+msgstr "Canadá"
 
 #: ../java/build/Countries.java:40
 msgid "The Democratic Republic of the Congo"
-msgstr ""
+msgstr "República Democrática del Congo"
 
 #: ../java/build/Countries.java:41
 msgid "Central African Republic"
-msgstr ""
+msgstr "República Centroafricana"
 
 #: ../java/build/Countries.java:42
 msgid "Congo"
-msgstr ""
+msgstr "Congo"
 
 #: ../java/build/Countries.java:43
 msgid "Switzerland"
-msgstr ""
+msgstr "Suiza"
 
 #: ../java/build/Countries.java:44
 msgid "Cote D'Ivoire"
-msgstr ""
+msgstr "Costa de Marfil"
 
 #: ../java/build/Countries.java:45
 msgid "Cook Islands"
-msgstr ""
+msgstr "Islas Cook"
 
 #: ../java/build/Countries.java:46
 msgid "Chile"
-msgstr ""
+msgstr "Chile"
 
 #: ../java/build/Countries.java:47
 msgid "Cameroon"
-msgstr ""
+msgstr "Camerún"
 
 #: ../java/build/Countries.java:48
 msgid "China"
-msgstr ""
+msgstr "China"
 
 #: ../java/build/Countries.java:49
 msgid "Colombia"
-msgstr ""
+msgstr "Colombia"
 
 #: ../java/build/Countries.java:50
 msgid "Costa Rica"
-msgstr ""
+msgstr "Costa Rica"
 
 #: ../java/build/Countries.java:51
 msgid "Serbia and Montenegro"
-msgstr ""
+msgstr "Serbia y Montenegro"
 
 #: ../java/build/Countries.java:52
 msgid "Cuba"
-msgstr ""
+msgstr "Cuba"
 
 #: ../java/build/Countries.java:53
 msgid "Cape Verde"
-msgstr ""
+msgstr "Cabo Verde"
 
 #: ../java/build/Countries.java:54
 msgid "Cyprus"
-msgstr ""
+msgstr "Chipre"
 
 #: ../java/build/Countries.java:55
 msgid "Czech Republic"
-msgstr ""
+msgstr "República Checa"
 
 #: ../java/build/Countries.java:56
 msgid "Germany"
-msgstr "Allemania"
+msgstr "Alemania"
 
 #: ../java/build/Countries.java:57
 msgid "Djibouti"
-msgstr ""
+msgstr "Djibouti"
 
 #: ../java/build/Countries.java:58
 msgid "Denmark"
-msgstr ""
+msgstr "Dinamarca"
 
 #: ../java/build/Countries.java:59
 msgid "Dominica"
-msgstr ""
+msgstr "Dominica"
 
 #: ../java/build/Countries.java:60
 msgid "Dominican Republic"
-msgstr ""
+msgstr "República Dominicana"
 
 #: ../java/build/Countries.java:61
 msgid "Algeria"
-msgstr ""
+msgstr "Argelia"
 
 #: ../java/build/Countries.java:62
 msgid "Ecuador"
-msgstr ""
+msgstr "Ecuador"
 
 #: ../java/build/Countries.java:63
 msgid "Estonia"
-msgstr ""
+msgstr "Estonia"
 
 #: ../java/build/Countries.java:64
 msgid "Egypt"
-msgstr ""
+msgstr "Egipto"
 
 #: ../java/build/Countries.java:65
 msgid "Eritrea"
-msgstr ""
+msgstr "Eritrea"
 
 #: ../java/build/Countries.java:66
 msgid "Spain"
-msgstr ""
+msgstr "España"
 
 #: ../java/build/Countries.java:67
 msgid "Ethiopia"
-msgstr ""
+msgstr "Etiopía"
 
 #: ../java/build/Countries.java:68
 msgid "Finland"
-msgstr ""
+msgstr "Finlandia"
 
 #: ../java/build/Countries.java:69
 msgid "Fiji"
-msgstr ""
+msgstr "Fiji"
 
 #: ../java/build/Countries.java:70
 msgid "Falkland Islands (Malvinas)"
-msgstr ""
+msgstr "Islas Malvinas"
 
 #: ../java/build/Countries.java:71
 msgid "Federated States of Micronesia"
-msgstr ""
+msgstr "Estados Federados de Micronesia"
 
 #: ../java/build/Countries.java:72
 msgid "Faroe Islands"
-msgstr ""
+msgstr "Islas Feroe"
 
 #: ../java/build/Countries.java:73
 msgid "France"
@@ -850,660 +848,661 @@ msgstr "Francia"
 
 #: ../java/build/Countries.java:74
 msgid "Gabon"
-msgstr ""
+msgstr "Gabón"
 
 #: ../java/build/Countries.java:75
 msgid "United Kingdom"
-msgstr ""
+msgstr "Reino Unido"
 
 #: ../java/build/Countries.java:76
 msgid "Grenada"
-msgstr ""
+msgstr "Granada"
 
 #: ../java/build/Countries.java:77
 msgid "Georgia"
-msgstr ""
+msgstr "Georgia"
 
 #: ../java/build/Countries.java:78
 msgid "French Guiana"
-msgstr ""
+msgstr "Guayana Francesa"
 
 #: ../java/build/Countries.java:79
 msgid "Ghana"
-msgstr ""
+msgstr "Ghana"
 
 #: ../java/build/Countries.java:80
 msgid "Gibraltar"
-msgstr ""
+msgstr "Gibraltar"
 
 #: ../java/build/Countries.java:81
 msgid "Greenland"
-msgstr ""
+msgstr "Groenlandia"
 
 #: ../java/build/Countries.java:82
 msgid "Gambia"
-msgstr ""
+msgstr "Gambia"
 
 #: ../java/build/Countries.java:83
 msgid "Guinea"
-msgstr ""
+msgstr "Guinea"
 
 #: ../java/build/Countries.java:84
 msgid "Guadeloupe"
-msgstr ""
+msgstr "Guadalupe"
 
 #: ../java/build/Countries.java:85
 msgid "Equatorial Guinea"
-msgstr ""
+msgstr "Guinea Ecuatorial"
 
 #: ../java/build/Countries.java:86
 msgid "Greece"
-msgstr ""
+msgstr "Grecia"
 
 #: ../java/build/Countries.java:87
 msgid "South Georgia and the South Sandwich Islands"
-msgstr ""
+msgstr "Georgia del Sur e Islas Sandwich del Sur"
 
 #: ../java/build/Countries.java:88
 msgid "Guatemala"
-msgstr ""
+msgstr "Guatemala"
 
 #: ../java/build/Countries.java:89
 msgid "Guam"
-msgstr ""
+msgstr "Guam"
 
 #: ../java/build/Countries.java:90
 msgid "Guinea-Bissau"
-msgstr ""
+msgstr "Guinea-Bissau"
 
 #: ../java/build/Countries.java:91
 msgid "Guyana"
-msgstr ""
+msgstr "Guyana"
 
 #: ../java/build/Countries.java:92
 msgid "Hong Kong"
-msgstr ""
+msgstr "Hong Kong"
 
 #: ../java/build/Countries.java:93
 msgid "Honduras"
-msgstr ""
+msgstr "Honduras"
 
 #: ../java/build/Countries.java:94
 msgid "Croatia"
-msgstr ""
+msgstr "Croacia"
 
 #: ../java/build/Countries.java:95
 msgid "Haiti"
-msgstr ""
+msgstr "Haití"
 
 #: ../java/build/Countries.java:96
 msgid "Hungary"
-msgstr ""
+msgstr "Hungría"
 
 #: ../java/build/Countries.java:97
 msgid "Indonesia"
-msgstr ""
+msgstr "Indonesia"
 
 #: ../java/build/Countries.java:98
 msgid "Ireland"
-msgstr ""
+msgstr "Irlanda"
 
 #: ../java/build/Countries.java:99
 msgid "Israel"
-msgstr ""
+msgstr "Israel"
 
 #: ../java/build/Countries.java:101
 msgid "India"
-msgstr ""
+msgstr "India"
 
 #: ../java/build/Countries.java:102
 msgid "British Indian Ocean Territory"
-msgstr ""
+msgstr "Territorio Británico del Océano"
 
 #: ../java/build/Countries.java:103
 msgid "Iraq"
-msgstr ""
+msgstr "Irak"
 
 #: ../java/build/Countries.java:104
 msgid "Islamic Republic of Iran"
-msgstr ""
+msgstr "República Islámica de Irán"
 
 #: ../java/build/Countries.java:105
 msgid "Iceland"
-msgstr ""
+msgstr "Islandia"
 
 #: ../java/build/Countries.java:106
 msgid "Italy"
-msgstr ""
+msgstr "Italia"
 
 #: ../java/build/Countries.java:108
 msgid "Jamaica"
-msgstr ""
+msgstr "Jamaica"
 
 #: ../java/build/Countries.java:109
 msgid "Jordan"
-msgstr ""
+msgstr "Jordania"
 
 #: ../java/build/Countries.java:110
 msgid "Japan"
-msgstr ""
+msgstr "Japón"
 
 #: ../java/build/Countries.java:111
 msgid "Kenya"
-msgstr ""
+msgstr "Kenya"
 
 #: ../java/build/Countries.java:112
 msgid "Kyrgyzstan"
-msgstr ""
+msgstr "Kirguistán"
 
 #: ../java/build/Countries.java:113
 msgid "Cambodia"
-msgstr ""
+msgstr "Camboya"
 
 #: ../java/build/Countries.java:114
 msgid "Kiribati"
-msgstr ""
+msgstr "Kiribati"
 
 #: ../java/build/Countries.java:115
 msgid "Comoros"
-msgstr ""
+msgstr "Comoras"
 
 #: ../java/build/Countries.java:116
 msgid "Saint Kitts and Nevis"
-msgstr ""
+msgstr "Saint Kitts y Nevis"
 
 #: ../java/build/Countries.java:117
 msgid "Republic of Korea"
-msgstr ""
+msgstr "República de Corea"
 
 #: ../java/build/Countries.java:118
 msgid "Kuwait"
-msgstr ""
+msgstr "Kuwait"
 
 #: ../java/build/Countries.java:119
 msgid "Cayman Islands"
-msgstr ""
+msgstr "Islas Caimán"
 
 #: ../java/build/Countries.java:120
 msgid "Kazakhstan"
-msgstr ""
+msgstr "Kazajstán"
 
 #: ../java/build/Countries.java:121
 msgid "Lao People's Democratic Republic"
-msgstr ""
+msgstr "República Democrática Popular Lao"
 
 #: ../java/build/Countries.java:122
 msgid "Lebanon"
-msgstr ""
+msgstr "Líbano"
 
 #: ../java/build/Countries.java:123
 msgid "Saint Lucia"
-msgstr ""
+msgstr "Santa Lucía"
 
 #: ../java/build/Countries.java:124
 msgid "Liechtenstein"
-msgstr ""
+msgstr "Liechtenstein"
 
 #: ../java/build/Countries.java:125
 msgid "Sri Lanka"
-msgstr ""
+msgstr "Sri Lanka"
 
 #: ../java/build/Countries.java:126
 msgid "Liberia"
-msgstr ""
+msgstr "Liberia"
 
 #: ../java/build/Countries.java:127
 msgid "Lesotho"
-msgstr ""
+msgstr "Lesotho"
 
 #: ../java/build/Countries.java:128
 msgid "Lithuania"
-msgstr ""
+msgstr "Lituania"
 
 #: ../java/build/Countries.java:129
 msgid "Luxembourg"
-msgstr ""
+msgstr "Luxemburgo"
 
 #: ../java/build/Countries.java:130
 msgid "Latvia"
-msgstr ""
+msgstr "Letonia"
 
 #: ../java/build/Countries.java:131
 msgid "Libyan Arab Jamahiriya"
-msgstr ""
+msgstr "Jamahiriya Árabe Libia"
 
 #: ../java/build/Countries.java:132
 msgid "Morocco"
-msgstr ""
+msgstr "Marruecos"
 
 #: ../java/build/Countries.java:133
 msgid "Monaco"
-msgstr ""
+msgstr "Mónaco"
 
 #: ../java/build/Countries.java:134
 msgid "Republic of Moldova"
-msgstr ""
+msgstr "República de Moldavia"
 
 #: ../java/build/Countries.java:137
 msgid "Madagascar"
-msgstr ""
+msgstr "Madagascar"
 
 #: ../java/build/Countries.java:138
 msgid "Marshall Islands"
-msgstr ""
+msgstr "Las Islas Marshall"
 
 #: ../java/build/Countries.java:139
 msgid "The Former Yugoslav Republic of Macedonia"
-msgstr ""
+msgstr "La Antigua República Yugoslava de Macedonia"
 
 #: ../java/build/Countries.java:140
 msgid "Mali"
-msgstr ""
+msgstr "Malí"
 
 #: ../java/build/Countries.java:141
 msgid "Myanmar"
-msgstr ""
+msgstr "Myanmar"
 
 #: ../java/build/Countries.java:142
 msgid "Mongolia"
-msgstr ""
+msgstr "Mongolia"
 
 #: ../java/build/Countries.java:143
 msgid "Macao"
-msgstr ""
+msgstr "Macao"
 
 #: ../java/build/Countries.java:144
 msgid "Northern Mariana Islands"
-msgstr ""
+msgstr "Islas Marianas del Norte"
 
 #: ../java/build/Countries.java:145
 msgid "Martinique"
-msgstr ""
+msgstr "Martinica"
 
 #: ../java/build/Countries.java:146
 msgid "Mauritania"
-msgstr ""
+msgstr "Mauritania"
 
 #: ../java/build/Countries.java:147
 msgid "Montserrat"
-msgstr ""
+msgstr "Montserrat"
 
 #: ../java/build/Countries.java:148
 msgid "Malta"
-msgstr ""
+msgstr "Malta"
 
 #: ../java/build/Countries.java:149
 msgid "Mauritius"
-msgstr ""
+msgstr "Mauricio"
 
 #: ../java/build/Countries.java:150
 msgid "Maldives"
-msgstr ""
+msgstr "Maldivas"
 
 #: ../java/build/Countries.java:151
 msgid "Malawi"
-msgstr ""
+msgstr "Malawi"
 
 #: ../java/build/Countries.java:152
 msgid "Mexico"
-msgstr ""
+msgstr "México"
 
 #: ../java/build/Countries.java:153
 msgid "Malaysia"
-msgstr ""
+msgstr "Malasia"
 
 #: ../java/build/Countries.java:154
 msgid "Mozambique"
-msgstr ""
+msgstr "Mozambique"
 
 #: ../java/build/Countries.java:155
 msgid "Namibia"
-msgstr ""
+msgstr "Namibia"
 
 #: ../java/build/Countries.java:156
 msgid "New Caledonia"
-msgstr ""
+msgstr "Nueva Caledonia"
 
 #: ../java/build/Countries.java:157
 msgid "Niger"
-msgstr ""
+msgstr "Níger"
 
 #: ../java/build/Countries.java:158
 msgid "Norfolk Island"
-msgstr ""
+msgstr "Isla Norfolk"
 
 #: ../java/build/Countries.java:159
 msgid "Nigeria"
-msgstr ""
+msgstr "Nigeria"
 
 #: ../java/build/Countries.java:160
 msgid "Nicaragua"
-msgstr ""
+msgstr "Nicaragua"
 
 #: ../java/build/Countries.java:161
 msgid "Netherlands"
-msgstr ""
+msgstr "Países Bajos"
 
 #: ../java/build/Countries.java:162
 msgid "Norway"
-msgstr ""
+msgstr "Noruega"
 
 #: ../java/build/Countries.java:163
 msgid "Nepal"
-msgstr ""
+msgstr "Nepal"
 
 #: ../java/build/Countries.java:164
 msgid "Nauru"
-msgstr ""
+msgstr "Nauru"
 
 #: ../java/build/Countries.java:165
 msgid "Niue"
-msgstr ""
+msgstr "Niue"
 
 #: ../java/build/Countries.java:166
 msgid "New Zealand"
-msgstr ""
+msgstr "Nueva Zelanda"
 
 #: ../java/build/Countries.java:167
 msgid "Oman"
-msgstr ""
+msgstr "Omán"
 
 #: ../java/build/Countries.java:168
 msgid "Panama"
-msgstr ""
+msgstr "Panamá"
 
 #: ../java/build/Countries.java:169
 msgid "Peru"
-msgstr ""
+msgstr "Perú"
 
 #: ../java/build/Countries.java:170
 msgid "French Polynesia"
-msgstr ""
+msgstr "Polinesia francésa"
 
 #: ../java/build/Countries.java:171
 msgid "Papua New Guinea"
-msgstr ""
+msgstr "Papua Nueva Guinea"
 
 #: ../java/build/Countries.java:172
 msgid "Philippines"
-msgstr ""
+msgstr "Filipinas"
 
 #: ../java/build/Countries.java:173
 msgid "Pakistan"
-msgstr ""
+msgstr "Pakistán"
 
 #: ../java/build/Countries.java:174
 msgid "Poland"
-msgstr ""
+msgstr "Polonia"
 
 #: ../java/build/Countries.java:175
 msgid "Saint Pierre and Miquelon"
-msgstr ""
+msgstr "San Pedro y Miquelón"
 
 #: ../java/build/Countries.java:176
 msgid "Puerto Rico"
-msgstr ""
+msgstr "Puerto Rico"
 
 #: ../java/build/Countries.java:177
 msgid "Palestinian Territory"
-msgstr ""
+msgstr "Territorio Palestino"
 
 #: ../java/build/Countries.java:178
 msgid "Portugal"
-msgstr ""
+msgstr "Portugal"
 
 #: ../java/build/Countries.java:179
 msgid "Palau"
-msgstr ""
+msgstr "Palau"
 
 #: ../java/build/Countries.java:180
 msgid "Paraguay"
-msgstr ""
+msgstr "Paraguay"
 
 #: ../java/build/Countries.java:181
 msgid "Qatar"
-msgstr ""
+msgstr "Qatar"
 
 #: ../java/build/Countries.java:182
 msgid "Reunion"
-msgstr ""
+msgstr "Reunión"
 
 #: ../java/build/Countries.java:183
 msgid "Romania"
-msgstr ""
+msgstr "Rumania"
 
 #: ../java/build/Countries.java:184
 msgid "Serbia"
-msgstr ""
+msgstr "Serbia"
 
 #: ../java/build/Countries.java:185
 msgid "Russian Federation"
-msgstr ""
+msgstr "Federación de Rusia"
 
 #: ../java/build/Countries.java:186
 msgid "Rwanda"
-msgstr ""
+msgstr "Ruanda"
 
 #: ../java/build/Countries.java:187
 msgid "Saudi Arabia"
-msgstr ""
+msgstr "Arabia Saudí"
 
 #: ../java/build/Countries.java:188
 msgid "Solomon Islands"
-msgstr ""
+msgstr "Islas Salomón"
 
 #: ../java/build/Countries.java:189
 msgid "Seychelles"
-msgstr ""
+msgstr "Seychelles"
 
 #: ../java/build/Countries.java:190
 msgid "Sudan"
-msgstr ""
+msgstr "Sudán"
 
 #: ../java/build/Countries.java:191
 msgid "Sweden"
-msgstr ""
+msgstr "Suecia"
 
 #: ../java/build/Countries.java:192
 msgid "Singapore"
-msgstr ""
+msgstr "Singapur"
 
 #: ../java/build/Countries.java:193
 msgid "Slovenia"
-msgstr ""
+msgstr "Eslovenia"
 
 #: ../java/build/Countries.java:194
 msgid "Slovakia"
-msgstr ""
+msgstr "Eslovaquia"
 
 #: ../java/build/Countries.java:195
 msgid "Sierra Leone"
-msgstr ""
+msgstr "Sierra Leona"
 
 #: ../java/build/Countries.java:196
 msgid "San Marino"
-msgstr ""
+msgstr "San Marino"
 
 #: ../java/build/Countries.java:197
 msgid "Senegal"
-msgstr ""
+msgstr "Senegal"
 
 #: ../java/build/Countries.java:198
 msgid "Somalia"
-msgstr ""
+msgstr "Somalia"
 
 #: ../java/build/Countries.java:199
 msgid "Suriname"
-msgstr ""
+msgstr "Surinam"
 
 #: ../java/build/Countries.java:200
 msgid "Sao Tome and Principe"
-msgstr ""
+msgstr "Santo Tomé y Príncipe"
 
 #: ../java/build/Countries.java:201
 msgid "El Salvador"
-msgstr ""
+msgstr "El Salvador"
 
 #: ../java/build/Countries.java:202
 msgid "Syrian Arab Republic"
-msgstr ""
+msgstr "República Árabe Siria"
 
 #: ../java/build/Countries.java:203
 msgid "Swaziland"
-msgstr ""
+msgstr "Swazilandia"
 
 #: ../java/build/Countries.java:204
 msgid "Turks and Caicos Islands"
-msgstr ""
+msgstr "Islas Turcas y Caicos"
 
 #: ../java/build/Countries.java:205
 msgid "Chad"
-msgstr ""
+msgstr "Chad"
 
 #: ../java/build/Countries.java:206
 msgid "French Southern Territories"
-msgstr ""
+msgstr "Sur de Francia"
 
 #: ../java/build/Countries.java:207
 msgid "Togo"
-msgstr ""
+msgstr "Togo"
 
 #: ../java/build/Countries.java:208
 msgid "Thailand"
-msgstr ""
+msgstr "Tailandia"
 
 #: ../java/build/Countries.java:209
 msgid "Tajikistan"
-msgstr ""
+msgstr "Tayikistán"
 
 #: ../java/build/Countries.java:210
 msgid "Tokelau"
-msgstr ""
+msgstr "Tokelau"
 
 #: ../java/build/Countries.java:211
 msgid "Timor-Leste"
-msgstr ""
+msgstr "Timor-Leste"
 
 #: ../java/build/Countries.java:212
 msgid "Turkmenistan"
-msgstr ""
+msgstr "Turkmenistán"
 
 #: ../java/build/Countries.java:213
 msgid "Tunisia"
-msgstr ""
+msgstr "Túnez"
 
 #: ../java/build/Countries.java:214
 msgid "Tonga"
-msgstr ""
+msgstr "Tonga"
 
 #: ../java/build/Countries.java:215
 msgid "Turkey"
-msgstr ""
+msgstr "Turquía"
 
 #: ../java/build/Countries.java:216
 msgid "Trinidad and Tobago"
-msgstr ""
+msgstr "Trinidad y Tobago"
 
 #: ../java/build/Countries.java:217
 msgid "Tuvalu"
-msgstr ""
+msgstr "Tuvalu"
 
 #: ../java/build/Countries.java:218
 msgid "Taiwan"
-msgstr ""
+msgstr "Taiwan"
 
 #: ../java/build/Countries.java:219
 msgid "United Republic of Tanzania"
-msgstr ""
+msgstr "República Unida de Tanzanía"
 
 #: ../java/build/Countries.java:220
 msgid "Ukraine"
-msgstr ""
+msgstr "Ucrania"
 
 #: ../java/build/Countries.java:221
 msgid "Uganda"
-msgstr ""
+msgstr "Uganda"
 
 #: ../java/build/Countries.java:222
 msgid "United States Minor Outlying Islands"
-msgstr ""
+msgstr "Islas Menores de Estados Unidos"
 
 #: ../java/build/Countries.java:223
 msgid "United States"
-msgstr ""
+msgstr "Estados Unidos"
 
 #: ../java/build/Countries.java:224
 msgid "Uruguay"
-msgstr ""
+msgstr "Uruguay"
 
 #: ../java/build/Countries.java:225
 msgid "Uzbekistan"
-msgstr ""
+msgstr "Uzbekistán"
 
 #: ../java/build/Countries.java:226
 msgid "Holy See (Vatican City State)"
-msgstr ""
+msgstr "Santa Sede (Ciudad del Vaticano)"
 
 #: ../java/build/Countries.java:227
 msgid "Saint Vincent and the Grenadines"
-msgstr ""
+msgstr "San Vicente y las Granadinas"
 
 #: ../java/build/Countries.java:228
 msgid "Venezuela"
-msgstr ""
+msgstr "Venezuela"
 
-#: ../java/build/Countries.java:229 ../java/build/Countries.java:230
+#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:230
 msgid "Virgin Islands"
-msgstr ""
+msgstr "Islas Vírgenes"
 
 #: ../java/build/Countries.java:231
 msgid "Viet Nam"
-msgstr ""
+msgstr "Viet Nam"
 
 #: ../java/build/Countries.java:232
 msgid "Vanuatu"
-msgstr ""
+msgstr "Vanuatu"
 
 #: ../java/build/Countries.java:233
 msgid "Wallis and Futuna"
-msgstr ""
+msgstr "Wallis y Futuna"
 
 #: ../java/build/Countries.java:234
 msgid "Samoa"
-msgstr ""
+msgstr "Samoa"
 
 #: ../java/build/Countries.java:235
 msgid "Yemen"
-msgstr ""
+msgstr "Yemen"
 
 #: ../java/build/Countries.java:236
 msgid "Mayotte"
-msgstr ""
+msgstr "Mayotte"
 
 #: ../java/build/Countries.java:237
 msgid "South Africa"
-msgstr ""
+msgstr "Sudáfrica"
 
 #: ../java/build/Countries.java:238
 msgid "Zambia"
-msgstr ""
+msgstr "Zambia"
 
 #: ../java/build/Countries.java:239
 msgid "Zimbabwe"
-msgstr ""
+msgstr "Zimbabwe"
 
-#: ../java/src/net/i2p/router/web/CSSHelper.java:58
+#: ../java/src/net/i2p/router/web/CSSHelper.java:60
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:125
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:257
 msgid "I2P Router Console"
-msgstr "Console del Enrutador I2P"
+msgstr "Consola del Router I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:57
 msgid "Error updating the configuration - please see the error logs"
-msgstr ""
+msgstr "Error al actualizar la configuración - por favor consulte los registros de errores"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:69
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:266
@@ -1512,56 +1511,53 @@ msgstr "Configuración guardada con éxito"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:268
-msgid ""
-"Error saving the configuration (applied but not saved) - please see the "
-"error logs"
-msgstr ""
+msgid "Error saving the configuration (applied but not saved) - please see the error logs"
+msgstr "Error al guardar la configuración (aplicada pero no guardada) - por favor consulte los registros de errores"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
 msgid "Save Client Configuration"
 msgstr "Guardar la configuración de clientes"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
 msgid "Save Interface Configuration"
-msgstr "Guardar la configuración de clientes"
+msgstr "Guardar configuración de interfaz"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:441
 msgid "Save WebApp Configuration"
-msgstr ""
+msgstr "Guardar configuración de aplicaciones web"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:453
 msgid "Save Plugin Configuration"
-msgstr ""
+msgstr "Guardar configuración de complementos"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:461
 msgid "Install Plugin"
-msgstr ""
+msgstr "Instalar complemento"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87
 #, java-format
 msgid "Deleted plugin {0}"
-msgstr ""
+msgstr "Eliminado el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89
 #, java-format
 msgid "Error deleting plugin {0}"
-msgstr ""
+msgstr "Error al eliminar el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101
 #, java-format
 msgid "Stopped plugin {0}"
-msgstr ""
+msgstr "Detenido complemento {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103
 #, java-format
 msgid "Error stopping plugin {0}"
-msgstr ""
+msgstr "Error al detener el complemento {0}"
 
 #. label (IE)
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124
@@ -1574,26 +1570,25 @@ msgstr "Lanzar"
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:33
 msgid "Unsupported"
-msgstr ""
+msgstr "No soportado"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189
 msgid "New client added"
-msgstr ""
+msgstr "Nuevo cliente añadido"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
-msgid ""
-"Client configuration saved successfully - restart required to take effect."
-msgstr ""
+msgid "Client configuration saved successfully - restart required to take effect."
+msgstr "configuración de cliente guardada correctamente - Es necesario reiniciar para que los cambios surtan efecto."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 msgid "Bad client index."
-msgstr ""
+msgstr "índice de clientes en mal estado."
 
 #: ../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/SummaryBarRenderer.java:392
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:384
 msgid "Client"
 msgstr "Cliente"
@@ -1605,24 +1600,24 @@ msgstr "lanzado"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
 msgid "deleted"
-msgstr ""
+msgstr "eliminado"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240
 msgid "WebApp configuration saved."
-msgstr ""
+msgstr "configuración de aplicación Web guardada."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256
 msgid "Plugin configuration saved."
-msgstr ""
+msgstr "configuración del complemento guardada."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
 msgid "WebApp"
-msgstr ""
+msgstr "Aplicación Web"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
 msgid "Failed to start"
-msgstr "Fallido el lanzamiento"
+msgstr "lanzamiento fallido"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278
 msgid "Failed to find server."
@@ -1630,65 +1625,64 @@ msgstr "No se encontró el servidor"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284
 msgid "No plugin URL specified."
-msgstr ""
+msgstr "Ninguna URL de complementos especificada."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
 #, java-format
 msgid "No update URL specified for {0}"
-msgstr ""
+msgstr "Ninguna URL de actualización especificado para {0}"
 
 #: ../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 ""
+msgstr "Descarga del complemento o de la actualización ya en curso."
 
 #: ../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 ""
+msgstr "Descargar complemento de {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329
 #, java-format
 msgid "Checking plugin {0} for updates"
-msgstr ""
+msgstr "Buscando actualizaciones para el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
 #, java-format
 msgid "Started plugin {0}"
-msgstr ""
+msgstr "Complemento {0} iniciado"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341
 #, java-format
 msgid "Error starting plugin {0}"
-msgstr ""
+msgstr "Error al iniciar el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
-msgid ""
-"Interface configuration saved successfully - restart required to take effect."
-msgstr ""
+msgid "Interface configuration saved successfully - restart required to take effect."
+msgstr "configuración de interfaz guardada correctamente - Es necesario reiniciar para que los cambios surtan efecto."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
 msgid "Edit"
-msgstr ""
+msgstr "Editar"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Add Client"
 msgstr "Añadir cliente"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
 msgid "Class and arguments"
-msgstr ""
+msgstr "Clase y argumentos"
 
 #: ../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 ""
+msgstr "Control"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
@@ -1700,21 +1694,21 @@ msgstr "Lanzar al iniciarse?"
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
 msgid "Description"
-msgstr ""
+msgstr "Descripción"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 msgid "Plugin"
-msgstr ""
+msgstr "Complemento"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Versión"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:163
 msgid "Signed by"
-msgstr ""
+msgstr "Firmado por"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:180
 msgid "Date"
@@ -1726,11 +1720,11 @@ msgstr "Autor"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
 msgid "License"
-msgstr ""
+msgstr "Licencia"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
 msgid "Website"
-msgstr ""
+msgstr "Sitio web"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
 msgid "Update link"
@@ -1738,47 +1732,45 @@ msgstr "Enlace para actualizaciones"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
 msgid "Stop"
-msgstr ""
+msgstr "Detener"
 
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Check for updates"
 msgstr "Buscar actualizaciones"
 
 #: ../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 "Actualización"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
 #, java-format
 msgid "Are you sure you want to delete {0}?"
-msgstr ""
+msgstr "¿Está seguro que desea eliminar {0}?"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:270
 msgid "Delete"
 msgstr "Borrar"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343
 msgid "Add key"
 msgstr "Añadir clave"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341
 msgid "Delete key"
 msgstr "Borrar clave"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:21
 msgid "You must enter a destination"
-msgstr "¡Tienes que entrar un destino!"
+msgstr "Tienes que introducir un destino"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:23
 msgid "You must enter a key"
-msgstr "Tienes que entrar una clave"
+msgstr "Tienes que introducir una clave"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
@@ -1792,7 +1784,7 @@ msgstr "añadida al llavero"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:36
 msgid "Invalid destination or key"
-msgstr ""
+msgstr "Clave de destino o llave no válida"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
 msgid "removed from keyring"
@@ -1808,46 +1800,43 @@ msgstr "Destino no válido"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
 msgid "Log overrides updated"
-msgstr ""
+msgstr "Reemplazos del registro actualizados"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
 msgid "Log configuration saved"
-msgstr "Guardados los ajustes de registros"
+msgstr "Guardados los ajustes de los registros"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
-msgid ""
-"Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
-msgstr ""
+msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr "Añadir nuevos argumentos para el registro arriba. Ejemplo: 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 ""
+msgid "Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN"
+msgstr "O añadir nuevos argumentos en el archivo logger.config Ejemplo: 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"
-msgstr ""
+msgstr "Los niveles válidos son DEBUG, INFO, WARN, ERROR, CRIT"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "CRIT"
-msgstr ""
+msgstr "CRIT"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "DEBUG"
-msgstr ""
+msgstr "DEBUG"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "ERROR"
-msgstr ""
+msgstr "ERROR"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "INFO"
-msgstr ""
+msgstr "INFO"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "WARN"
-msgstr ""
+msgstr "WARN"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
 msgid "Remove"
@@ -1855,7 +1844,7 @@ msgstr "Quitar"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
 msgid "Select a class to add"
-msgstr ""
+msgstr "Selecciona una clase para agregar"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
@@ -1868,7 +1857,7 @@ msgstr "Servicio"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:381
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "Túneles"
@@ -1882,7 +1871,7 @@ msgid "Clients"
 msgstr "Clientes"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "Keyring"
 msgstr "Llavero"
 
@@ -1892,13 +1881,13 @@ msgstr "Registros"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:255
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "Pares"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:389
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Estadísticas"
@@ -1911,19 +1900,19 @@ msgstr "Avanzado"
 #: ../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
+#: ../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:534
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:362
 msgid "Save changes"
-msgstr "Guardar"
+msgstr "Guardar cambios"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:121
 msgid "Rechecking router reachability..."
-msgstr ""
+msgstr "Segunda verificación de accesibilidad del router ..."
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:153
 msgid "Updating IP address"
@@ -1931,31 +1920,31 @@ msgstr "Actualizando dirección IP"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:171
 msgid "Disabling TCP completely"
-msgstr ""
+msgstr "Desactivando TCP completamente"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:175
 msgid "Updating inbound TCP address to"
-msgstr ""
+msgstr "Actualizando las direcciones de entrada TCP a "
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:179
 msgid "Disabling inbound TCP"
-msgstr ""
+msgstr "Desactivando TCP entrante"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:181
 msgid "Updating inbound TCP address to auto"
-msgstr ""
+msgstr "Actualizando la dirección TCP de entrada a automático"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190
 msgid "Updating inbound TCP port to"
-msgstr ""
+msgstr "Actualizando el puerto de entrada TCP a "
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:193
 msgid "Updating inbound TCP port to auto"
-msgstr ""
+msgstr "Actualizando el puerto de entrada TCP a automático"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
 msgid "Updating UDP port from"
-msgstr ""
+msgstr "Actualizando el puerto UDP desde"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
 msgid "to"
@@ -1963,37 +1952,38 @@ msgstr "a"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:221
 msgid "Gracefully restarting into Hidden Router Mode"
-msgstr ""
+msgstr "Reiniciando de forma controlada en modo router oculto"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:223
 msgid "Gracefully restarting to exit Hidden Router Mode"
-msgstr ""
+msgstr "Reiniciando de forma controlada para salir del modo router oculto"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:232
 msgid "Enabling UPnP, restart required to take effect"
-msgstr ""
+msgstr "Activando UPnP, Se requiere reiniciar para que los cambios surtan efecto"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:234
 msgid "Disabling UPnP, restart required to take effect"
-msgstr ""
+msgstr "Deshabilitando UPnP, se requiere un reinicio para que los cambios surtan efectp"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:242
 msgid "Enabling laptop mode"
-msgstr ""
+msgstr "Activando el modo ordenador portátil"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:244
 msgid "Disabling laptop mode"
-msgstr ""
+msgstr "Desactivando el modo ordenador portátil"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:250
 msgid "Requiring SSU introducers"
-msgstr ""
+msgstr "Exigir introductores SSU"
 
-#. 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"
-msgstr ""
+msgstr "Reiniciando I2P de forma controlada para cambiar la dirección publicada del router"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:314
 msgid "Updating bandwidth share percentage"
@@ -2018,79 +2008,76 @@ msgstr "bits por segundo"
 #: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173
 #, java-format
 msgid "or {0} bytes per month maximum"
-msgstr ""
+msgstr "ó {0} bytes por mes como máximo"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:333
 msgid "Ban peer until restart"
-msgstr ""
+msgstr "Banear par hasta el reinicio"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:23
 #, java-format
 msgid "Manually banned via {0}"
-msgstr ""
+msgstr "Manualmente baneado a través de {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
 msgid "banned until restart"
-msgstr ""
+msgstr "baneado hasta el reinicio"
 
 #: ../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 ""
+msgstr "par no válido"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Unban peer"
-msgstr ""
+msgstr "Desbanear par"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
 msgid "unbanned"
-msgstr ""
+msgstr "desbaneado"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
 msgid "is not currently banned"
-msgstr ""
+msgstr "no se encuentra baneado"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:361
 msgid "Adjust peer bonuses"
-msgstr ""
+msgstr "Ajustar bonus de pares"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
 msgid "Bad speed value"
-msgstr ""
+msgstr "valor de velocidad Malo"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:52
 msgid "Bad capacity value"
-msgstr ""
+msgstr "valor de la capacidad Malo"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:17
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:368
 msgid "Save changes and reseed now"
-msgstr "Guardar"
+msgstr "Guardar cambios y resembrar ahora"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:21
-#, fuzzy
 msgid "Reseeding is already in progress"
-msgstr "Creación de túnel en marcha"
+msgstr "Resembrar ya está en proceso"
 
 #. skip the nonce checking in ReseedHandler
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:24
 msgid "Starting reseed process"
-msgstr ""
+msgstr "Iniciando el proceso de resembrar"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:66
-#, fuzzy
 msgid "Configuration saved successfully."
-msgstr "Configuración guardada con éxito"
+msgstr "Configuración guardada correctamente."
 
 #. 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:311
 msgid "Shutdown immediately"
 msgstr "Apagar en seguida"
 
@@ -2098,15 +2085,15 @@ msgstr "Apagar en seguida"
 #. give the UI time to respond
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:36
 msgid "Cancel shutdown"
-msgstr "Cancelar el apagarse"
+msgstr "Cancelar apagado"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:37
 msgid "Cancel restart"
-msgstr "Cancelar el reiniciarse"
+msgstr "Cancelar reinicio"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:39
 msgid "Restart immediately"
-msgstr "Reiniciar en seguida"
+msgstr "Reiniciar inmediatamente"
 
 #. ctx.router().shutdown(Router.EXIT_HARD_RESTART); // never returns
 #. give the UI time to respond
@@ -2120,11 +2107,11 @@ msgstr "Apagar"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:59
 msgid "Restart imminent"
-msgstr "por reiniciarse"
+msgstr "Reinicio inminente"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:61
 msgid "Shutdown imminent"
-msgstr "por apagarse"
+msgstr "Apagado inminente"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:65
 #, java-format
@@ -2137,93 +2124,93 @@ msgid "Restart in {0}"
 msgstr "Reiniciando en {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Shutdown gracefully"
-msgstr ""
+msgstr "Apagar de forma controlada"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:56
 msgid "Graceful shutdown initiated"
-msgstr ""
+msgstr "Iniciado el apagado controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:60
 msgid "Shutdown immediately!  boom bye bye bad bwoy"
-msgstr ""
+msgstr "Apagar inmediatamente!   Boom adiós chico malo"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:313
 msgid "Cancel graceful shutdown"
-msgstr ""
+msgstr "Cancelar el apagado controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:63
 msgid "Graceful shutdown cancelled"
-msgstr ""
+msgstr "Cancelado el apagado controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Graceful restart"
-msgstr ""
+msgstr "Reinicio controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:67
 msgid "Graceful restart requested"
-msgstr ""
+msgstr "Ha sido solicitado el reinicio controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Hard restart"
-msgstr ""
+msgstr "Reinicio rápido"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:71
 msgid "Hard restart requested"
-msgstr ""
+msgstr "Reinicio rápido solicitado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:72
 msgid "Rekey and Restart"
-msgstr ""
+msgstr "limpiar claves y reiniciar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:73
 msgid "Rekeying after graceful restart"
-msgstr ""
+msgstr "Reinicio de claves después del reinicio controlado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:76
 msgid "Rekey and Shutdown"
-msgstr ""
+msgstr "limpiar claves y apagar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:77
 msgid "Rekeying after graceful shutdown"
-msgstr ""
+msgstr "Reinicio de claves después del apagado controlado"
 
 #: ../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:353
 msgid "Run I2P on startup"
-msgstr ""
+msgstr "Ejecutar I2P al arrancar el sistema"
 
 #: ../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:355
 msgid "Don't run I2P on startup"
-msgstr ""
+msgstr "No ejecutar I2P al arrancar el sistema"
 
 #: ../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:373
 msgid "Dump threads"
-msgstr ""
+msgstr "deshechar threads"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../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:381
 msgid "View console on startup"
-msgstr ""
+msgstr "Mostrar consola al iniciar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93
 msgid "Console is to be shown on startup"
-msgstr ""
+msgstr "La consola se mostrará al iniciar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:383
 msgid "Do not view console on startup"
-msgstr ""
+msgstr "No mostrar consola al iniciar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
 msgid "Console is not to be shown on startup"
-msgstr ""
+msgstr "La consola no se mostrará al iniciar"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105
 msgid "Service installed"
@@ -2231,7 +2218,7 @@ msgstr "Servicio instalado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107
 msgid "Warning: unable to install the service"
-msgstr ""
+msgstr "Advertencia: no se puede instalar el servicio"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
 msgid "Service removed"
@@ -2239,27 +2226,26 @@ msgstr "Servicio quitado"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
 msgid "Warning: unable to remove the service"
-msgstr ""
+msgstr "Advertencia: no se puede quitar el servicio"
 
 #: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
 msgid "Stat filter and location updated successfully to"
-msgstr ""
+msgstr "Filtro de estadísticas y ubicación actualizados correctamente a "
 
 #: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
 msgid "Failed to update the stat filter and location"
-msgstr ""
+msgstr "No se pudo actualizar el filtro de estadísticas y ubicación"
 
 #: ../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 ""
+msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
+msgstr "Lista del gráfico actualizada, puede tardar hasta 60s en reflejarse aquí y en la <a href=\"graphs.jsp\">Página de Gráficos</a>"
 
-#. 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."
-msgstr ""
+msgstr "Actualizada la configuración para todos los valores."
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
 msgid "Exploratory tunnel configuration saved successfully."
@@ -2267,10 +2253,8 @@ msgstr "Ajustes de los túneles exploratorios guardados con éxito"
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
-msgid ""
-"Error saving the configuration (applied but not saved) - please see the "
-"error logs."
-msgstr ""
+msgid "Error saving the configuration (applied but not saved) - please see the error logs."
+msgstr "Error al guardar la configuración (aplicada pero no guardada) - por favor consulte los registros de errores."
 
 #. * dummies for translation
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
@@ -2284,61 +2268,61 @@ msgstr[1] "{0} saltos"
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "1 túnel"
+msgstr[1] "{0} túneles"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:35
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 msgid "Exploratory tunnels"
 msgstr "Túneles exploratorios"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:46
-#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
-msgid "Client tunnels for"
-msgstr "Túneles clientes para"
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:51
+#, java-format
+msgid "Client tunnels for {0}"
+msgstr "Túneles de cliente para {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
 msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
-msgstr ""
+msgstr "ADVERTENCIA DE ANONIMATO - Los ajustes incluyen túneles de 0 saltos."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:79
 msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
-msgstr ""
+msgstr "ADVERTENCIA DE ANONIMATO - Los ajustes incluyen los túneles de 1 salto."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "PERFORMANCE WARNING - Settings include very long tunnels."
-msgstr ""
+msgstr "ADVERTENCIA DE RENDIMIENTO - Los ajustes incluyen túneles de gran longitud."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:85
 msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
-msgstr ""
+msgstr "ADVERTENCIA DE RENDIMIENTO - Los ajustes incluyen grandes cantidades de túneles."
 
 #. buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
 #. tunnel depth
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:92
 msgid "Length"
-msgstr ""
+msgstr "Longitud"
 
 #. tunnel depth variance
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:109
 msgid "Randomization"
-msgstr ""
+msgstr "Aleatoriedad"
 
 #. tunnel quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:133
 msgid "Quantity"
 msgstr "Cantidad"
 
 #. tunnel backup quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:150
 msgid "Backup quantity"
 msgstr "Cantidad de reserva"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:172
 msgid "Inbound options"
 msgstr "Opciones de Entrada"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:185
 msgid "Outbound options"
 msgstr "Opciones de Salida"
 
@@ -2348,11 +2332,11 @@ msgstr "Cambio del tema guardado."
 
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:33
 msgid "Refresh the page to view."
-msgstr ""
+msgstr "Actualiza la página para ver."
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
 msgid "Arabic"
-msgstr ""
+msgstr "Árabe"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "English"
@@ -2374,7 +2358,6 @@ msgstr "Español"
 msgid "Dutch"
 msgstr "Neerlandés"
 
-# added manually
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Portuguese"
 msgstr "Portugués"
@@ -2397,45 +2380,43 @@ msgstr "Actualización disponible; tratando de descargarla"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87
 msgid "Update available, click button on left to download"
-msgstr ""
-"Actualización disponible; ¡presiona el botón al lado izquierdo para "
-"descargarla!"
+msgstr "Actualización disponible; ¡presiona el botón al lado izquierdo para descargarla!"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93
 msgid "No update available"
-msgstr "No está disponible ninguna actualización"
+msgstr "Ninguna actualización disponible"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101
 msgid "Updating news URL to"
-msgstr ""
+msgstr "Actualizando URL de noticias a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109
 msgid "Updating proxy host to"
-msgstr ""
+msgstr "Actualizando host de proxy a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117
 msgid "Updating proxy port to"
-msgstr ""
+msgstr "Actualizando puerto del servidor proxy a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130
 msgid "Updating refresh frequency to"
-msgstr ""
+msgstr "Actualizando frecuencia de refresco a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137
 msgid "Updating update policy to"
-msgstr ""
+msgstr "Actualizando política de actualización a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146
 msgid "Updating update URLs."
-msgstr ""
+msgstr "Actualizando URLs para la actualización"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155
 msgid "Updating trusted keys."
-msgstr ""
+msgstr "Actualizando claves de confianza."
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163
 msgid "Updating unsigned update URL to"
-msgstr ""
+msgstr "Actualizando URL de actualización no firmada a "
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
 #: ../java/src/net/i2p/router/web/GraphHelper.java:167
@@ -2458,29 +2439,27 @@ msgstr "Sólo descargar y verificar"
 msgid "Download, verify, and restart"
 msgstr "Descargar, verificar y reiniciar"
 
-#: ../java/src/net/i2p/router/web/FormHandler.java:174
-msgid ""
-"Invalid form submission, probably because you used the 'back' or 'reload' "
-"button on your browser. Please resubmit."
-msgstr ""
+#: ../java/src/net/i2p/router/web/FormHandler.java:176
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr "El formulario introducido es inválido, probablemente por haber utilizado el botón 'atrás' ó 'refrescar' del navegador. Por favor, reinténtelo."
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:93
 msgid "Combined bandwidth graph"
-msgstr ""
+msgstr "gráfico de ancho de banda combinado"
 
 #. e.g. "statname for 60m"
 #: ../java/src/net/i2p/router/web/GraphHelper.java:107
 #, java-format
 msgid "{0} for {1}"
-msgstr ""
+msgstr "{0} para {1}"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Configure Graph Display"
-msgstr ""
+msgstr "Configuración de la gráfica"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Select Stats"
-msgstr ""
+msgstr "Seleccionar Estadísticas"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:150
 msgid "Periods"
@@ -2488,17 +2467,17 @@ msgstr "Períodos"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:151
 msgid "Plot averages"
-msgstr ""
+msgstr "promedios de la trama"
 
 #: ../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/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "or"
 msgstr "o"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:152
 msgid "plot events"
-msgstr ""
+msgstr "eventos de la trama"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:153
 msgid "Image sizes"
@@ -2510,7 +2489,7 @@ msgstr "ancho"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:154
 msgid "height"
-msgstr "altura"
+msgstr "alto"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:154
 #: ../java/src/net/i2p/router/web/GraphHelper.java:155
@@ -2519,20 +2498,20 @@ msgstr "píxeles"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:156
 msgid "Refresh delay"
-msgstr ""
+msgstr "Retardo de actualización"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:171
 msgid "Redraw"
-msgstr ""
+msgstr "Redibujar"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:203
 msgid "Graph settings saved"
-msgstr ""
+msgstr "configuración de gráfico guardada"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:13
 #: ../java/src/net/i2p/router/web/LogsHelper.java:37
 msgid "File location"
-msgstr ""
+msgstr "Ubicación del archivo"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:34
 msgid "File not found"
@@ -2540,37 +2519,37 @@ msgstr "Archivo no encontrado"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:52
 msgid "No log messages"
-msgstr ""
+msgstr "No hay mensajes de registro"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
 msgid "Network Database RouterInfo Lookup"
-msgstr ""
+msgstr "Busqueda de RouterInfo en la base de datos de red"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 #: ../java/strings/Strings.java:68
 msgid "Router"
-msgstr "Enrutador"
+msgstr "Router"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 msgid "not found in network database"
-msgstr ""
+msgstr "no se encuentra en la base de datos de red"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "Network Database Contents"
-msgstr ""
+msgstr "Contenido de la base de datos de red"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
 msgid "View RouterInfo"
-msgstr ""
+msgstr "Ver RouterInfo"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
 msgid "LeaseSets"
-msgstr ""
+msgstr "LeaseSets"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
 msgid "LeaseSet"
-msgstr ""
+msgstr "LeaseSet"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
 msgid "Local"
@@ -2583,7 +2562,7 @@ msgstr "No publicado"
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
 msgid "Destination"
-msgstr ""
+msgstr "Destino"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
 #, java-format
@@ -2598,19 +2577,19 @@ msgstr "Caducó hace {0}"
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Gateway"
-msgstr ""
+msgstr "Gateway"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 msgid "Lease"
-msgstr ""
+msgstr "Lease"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
 msgid "Tunnel"
-msgstr ""
+msgstr "Túnel"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "View LeaseSets"
-msgstr ""
+msgstr "Ver LeaseSets"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
 msgid "Not initialized"
@@ -2618,7 +2597,7 @@ msgstr "No inicializado"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
 msgid "Routers"
-msgstr "Enrutadores"
+msgstr "Routers"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
 msgid "Show all routers"
@@ -2626,98 +2605,98 @@ msgstr "Mostrar todos los enrutadores"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
 msgid "Show all routers with full stats"
-msgstr ""
+msgstr "Mostrar las estadísticas completas de todos los routers"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:266
 msgid "Network Database Router Statistics"
-msgstr ""
+msgstr "Estadísticas de la base de datos de red del router"
 
-#: ../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
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Count"
-msgstr ""
+msgstr "Cuenta"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
 msgid "Transports"
-msgstr ""
+msgstr "Transportes"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Country"
 msgstr "País"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Our info"
-msgstr ""
+msgstr "Nuestra información"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:346
 msgid "Peer info for"
-msgstr ""
+msgstr "Información de interlocutor para"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:350
 msgid "Full entry"
-msgstr ""
+msgstr "Campo completo"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "Hidden"
 msgstr "Oculto"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 msgid "Updated"
 msgstr "Actualizado"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
-#: ../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:360
 #, java-format
 msgid "{0} ago"
 msgstr "hace {0}"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:359
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Published"
 msgstr "Publicado"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:365
 msgid "Address(es)"
 msgstr "Dirección(es)"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:378
 msgid "cost"
-msgstr ""
+msgstr "coste"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "Hidden or starting up"
-msgstr ""
+msgstr "Oculto o iniciando"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU"
-msgstr ""
+msgstr "SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU with introducers"
-msgstr ""
+msgstr "SSU con introductores"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP"
-msgstr ""
+msgstr "NTCP"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU"
-msgstr ""
+msgstr "NTCP y SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU with introducers"
-msgstr ""
+msgstr "NTCP y SSU con introductores"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:92
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Noticias actualizadas hace {0}."
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:98
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Noticias chequeadas hace {0}."
@@ -2725,164 +2704,163 @@ msgstr "Noticias chequeadas hace {0}."
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
 #, java-format
 msgid "Cannot check, plugin {0} is not installed"
-msgstr ""
+msgstr "No se puede comprobar, el complemento {0} no está instalado"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:129
 #, java-format
 msgid "Checking for update of plugin {0}"
-msgstr ""
+msgstr "Buscando actualizaciones para el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154
 #, java-format
 msgid "New plugin version {0} is available"
-msgstr ""
+msgstr "Hay una nueva versión del complemento {0} disponible"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156
 #, java-format
 msgid "No new version is available for plugin {0}"
-msgstr ""
+msgstr "No hay nuevas versiones disponibles para el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:165
 #, java-format
 msgid "Update check failed for plugin {0}"
-msgstr ""
+msgstr "Fallo al buscar actualizaciones para el complemento {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
 msgid "Downloading plugin"
-msgstr ""
+msgstr "Descargando complemento"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:245
 #, java-format
 msgid "{0}B transferred"
-msgstr ""
+msgstr "{0}B transferidos"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153
 msgid "Plugin downloaded"
-msgstr ""
+msgstr "Complemento descargado"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:356
 #, java-format
 msgid "Cannot create plugin directory {0}"
-msgstr ""
+msgstr "No se puede crear directorio del complemento {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:299
 #, java-format
 msgid "from {0}"
-msgstr ""
+msgstr "de {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177
 #, java-format
 msgid "Plugin from {0} is corrupt"
-msgstr ""
+msgstr "El complemento de {0} está dañado."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
-msgstr ""
+msgstr "El complemento de {0} no contiene el archivo de configuración necesario."
 
-#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
+#. 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 ""
+msgstr "El complemento de {0} contiene una clave no válida."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:225
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:235
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:249
 #, java-format
 msgid "Plugin signature verification of {0} failed"
-msgstr ""
+msgstr "Verificación de la firma del complemento de {0} ha fallado"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:264
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
-msgstr ""
+msgstr "El complemento de {0} tiene nombre o versión no válido."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:269
 #, java-format
 msgid "Plugin {0} has mismatched versions"
-msgstr ""
+msgstr "El complemento {0} tiene versiones no coincidentes."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:277
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
-msgstr ""
+msgstr "Este complemento requiere la versión {0} o superior de I2P."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:285
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
-msgstr ""
+msgstr "Este complemento requiere la versión {0} o superior de Java."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
-msgid ""
-"Downloaded plugin is for new installs only, but the plugin is already "
-"installed"
-msgstr ""
+msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
+msgstr "El complemento descargado es sólo para instalaciones nuevas, pero el complemento ya está instalado."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:305
 msgid "Installed plugin does not contain the required configuration file"
-msgstr ""
+msgstr "El complemento instalado no contiene el archivo de configuración necesario."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:313
 msgid "Signature of downloaded plugin does not match installed plugin"
-msgstr ""
+msgstr "La firma del complemento descargado no coincide con la del instalado."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:320
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
-msgstr ""
+msgstr "El complemento descargado con versión {0} no es más reciente que la versión ya instalada."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:327
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
-msgstr ""
+msgstr "La actualización del complemento requiere tener instalada la versión {0} o superior de este complemento."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:334
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
-msgstr ""
+msgstr "La actualización del complemento requiere tener instalada la versión {0} o inferior de este complemento."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
 msgid "Plugin is for upgrades only, but the plugin is not installed"
-msgstr ""
+msgstr "El complemento es sólo para actualizaciones, pero el complemento aún no está instalado."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:364
 #, java-format
 msgid "Failed to install plugin in {0}"
-msgstr ""
+msgstr "No se pudo instalar el complemento en {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:371
 #, java-format
 msgid "Plugin {0} installed, router restart required"
-msgstr ""
+msgstr "Complemento {0} instalado, se requiere un reinicio del router."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:373
 #, java-format
 msgid "Plugin {0} installed"
-msgstr ""
+msgstr "Complemento {0} instalado"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:391
 #, java-format
 msgid "Plugin {0} installed and started"
-msgstr ""
+msgstr "Complemento {0} instalado e iniciado"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
-msgstr ""
+msgstr "Complemento {0} instalado pero no funciona, ¡revisa los registros!"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:396
 #, java-format
 msgid "Plugin {0} installed but failed to start"
-msgstr ""
+msgstr "Complemento {0} instalado, pero no se pudo iniciar."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:406
 #, java-format
 msgid "Failed to download plugin from {0}"
-msgstr ""
+msgstr "No se pudo descargar el complemento de {0}."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:72
 msgid "Peer Profiles"
@@ -2890,37 +2868,43 @@ msgstr "Perfiles de los pares"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
 #, java-format
-msgid "Showing {0} recent profiles."
-msgstr "Mostrando {0} perfiles recientes"
+msgid "Showing 1 recent profile."
+msgid_plural "Showing {0} recent profiles."
+msgstr[0] "Mostrando 1 perfil reciente."
+msgstr[1] "Mostrando {0} Perfiles recientes."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
 #, java-format
-msgid "Hiding {0} older profiles."
-msgstr "Ocultando {0} perfiles antiguos"
+msgid "Hiding 1 older profile."
+msgid_plural "Hiding {0} older profiles."
+msgstr[0] "Ocultando 1 perfil más antiguo."
+msgstr[1] "Ocultando {0} perfiles más antiguos."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
 #, java-format
-msgid "Hiding {0} standard profiles."
-msgstr "Ocultando {0} perfiles estándar"
+msgid "Hiding 1 standard profile."
+msgid_plural "Hiding {0} standard profiles."
+msgstr[0] "Ocultando 1 perfil estándar."
+msgstr[1] "Ocultando {0} perfiles estándar."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
 msgid "Groups (Caps)"
-msgstr ""
+msgstr "Grupos (Caps)"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:353
 msgid "Speed"
 msgstr "Velocidad"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:357
 msgid "Capacity"
 msgstr "Capacidad"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
 msgid "Integration"
 msgstr "Integración"
 
@@ -2938,7 +2922,7 @@ msgstr "Alta  Capacidad"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:128
 msgid "Standard"
-msgstr ""
+msgstr "Estándar"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:129
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:163
@@ -2946,7 +2930,7 @@ msgid "Failing"
 msgstr "Fallando"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:282
 msgid "Integrated"
 msgstr "Integrados"
 
@@ -2959,265 +2943,277 @@ msgstr "Inaccesible"
 msgid "Test Fails"
 msgstr "Test fallido"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:177
 msgid "profile"
 msgstr "perfil"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:186
 msgid "Floodfill and Integrated Peers"
-msgstr ""
+msgstr "Floodfill e pares Integrados"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
 msgid "Caps"
 msgstr "Categorías"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
 msgid "Integ. Value"
 msgstr "Valor de Integración"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
 msgid "Last Heard About"
-msgstr ""
+msgstr "sabido por última vez sobre"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
 msgid "Last Heard From"
-msgstr ""
+msgstr "sabido por última vez de"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
 msgid "Last Good Send"
-msgstr ""
+msgstr "Último Enviado Correctamente"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
 msgid "Last Bad Send"
-msgstr ""
+msgstr "Último Enviado con Errores"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
 msgid "10m Resp. Time"
-msgstr ""
+msgstr "Tiempo resp. 10m"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
 msgid "1h Resp. Time"
-msgstr ""
+msgstr "Tiempo resp. 1h"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
 msgid "1d Resp. Time"
-msgstr ""
+msgstr "Tiempo resp. 1d"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
 msgid "Last Good Lookup"
-msgstr ""
+msgstr "Última Buena Búsqueda"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
 msgid "Last Bad Lookup"
-msgstr ""
+msgstr "Última Mala Búsqueda"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
 msgid "Last Good Store"
-msgstr ""
+msgstr "Última Buena Guardada"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
 msgid "Last Bad Store"
-msgstr ""
+msgstr "Última Mala Guardada"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:203
 msgid "1h Fail Rate"
-msgstr ""
+msgstr "Tasa de error de 1h"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:204
 msgid "1d Fail Rate"
-msgstr ""
+msgstr "Tasa de error de 1d"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
 msgid "Thresholds"
-msgstr ""
+msgstr "Umbrales"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
 msgid "fast peers"
 msgstr "pares rápidos"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
 msgid "high capacity peers"
 msgstr "pares de alta capacidad"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid " well integrated peers"
-msgstr ""
+msgstr "Pares bien integrados"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "as determined by the profile organizer"
-msgstr ""
+msgstr "según lo determinado por el organizador del perfil"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "groups"
 msgstr "grupos"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 msgid "capabilities in the netDb, not used to determine profiles"
-msgstr ""
+msgstr "capacidades en el netDb, no se utilizan para determinar los perfiles"
 
 #. capabilities
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 #: ../java/strings/Strings.java:81
 msgid "caps"
-msgstr ""
+msgstr "límites"
 
-#: ../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:261
+msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
+msgstr "rendimiento máximo (bytes por segundo) durante un período de 1 minuto que el par ha sostenido en un solo túnel"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "speed"
 msgstr "velocidad"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "capacity"
 msgstr "capacidad"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "how many tunnels can we ask them to join in an hour?"
-msgstr ""
+msgstr "a cuántos túneles podemos pedirlos que se unan en una hora?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "how many new peers have they told us about lately?"
-msgstr ""
+msgstr "de cuántos nuevos pares nos han hablado últimamente?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "integration"
 msgstr "integración"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "is the peer banned, or unreachable, or failing tunnel tests?"
-msgstr ""
+msgstr "está el par baneado, o inalcanzable, o fallando las pruebas de túnel?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "status"
 msgstr "estado"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:47
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
+msgid "none"
+msgstr "ninguno"
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:62
 #, java-format
 msgid "Temporary ban expiring in {0}"
-msgstr ""
+msgstr "El baneado temporal expirará en {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:64
 #, java-format
 msgid "Banned until restart or in {0}"
-msgstr ""
+msgstr "Baneado hasta reinicio o en {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:76
 msgid "unban now"
-msgstr ""
+msgstr "Desbanear ahora"
 
-#. 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 ""
+msgstr "Uso de ancho de banda"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:230
 msgid "Outbound bytes/sec"
-msgstr ""
+msgstr "bytes/seg de salida"
 
 #. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:232
 msgid "Inbound bytes/sec"
-msgstr ""
+msgstr "bytes/seg entrantes"
 
 #: ../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 "bytes/seg"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:235
 msgid "out average"
-msgstr ""
+msgstr "media de salida"
 
 #: ../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 ""
+msgstr "max"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:237
 msgid "in average"
-msgstr ""
+msgstr "en promedio"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:57
 msgid "GO"
-msgstr ""
+msgstr "GO"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:60
 msgid "Statistics gathered during this router's uptime"
-msgstr ""
+msgstr "Estadísticas recopiladas durante el funcionamiento de este 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 ""
+msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
+msgstr "Los datos recogidos se cuantifican en un período de 1 minuto, por lo que sólo deben utilizarse como estimación."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:64
 msgid "These statistics are primarily used for development and debugging."
-msgstr ""
+msgstr "Estas estadísticas se utilizan principalmente para el desarrollo y depuración."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:106
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:157
 msgid "No lifetime events"
-msgstr ""
+msgstr "No hay eventos de duración ilimitada"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:117
 msgid "frequency"
 msgstr "frecuencia"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:121
 msgid "Rolling average events per period"
-msgstr ""
+msgstr "Promedio de eventos móviles por período"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:125
 msgid "Highest events per period"
-msgstr ""
+msgstr "Más eventos por período"
 
-#. 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
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:136
 msgid "Lifetime average events per period"
-msgstr ""
+msgstr "Media de eventos por período en la vida"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:141
 msgid "Lifetime average frequency"
-msgstr ""
+msgstr "Frecuencia media en la vida"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:144
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:234
+#, java-format
+msgid "1 event"
+msgid_plural "{0} events"
+msgstr[0] "1 evento"
+msgstr[1] "{0} eventos"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:169
 msgid "rate"
 msgstr "Tasa"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:171
 msgid "Average"
 msgstr "Promedio"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:174
 msgid "Highest average"
 msgstr "Promedio máximo"
 
-#. 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 ""
+msgid "There was 1 event in this period."
+msgid_plural "There were {0} events in this period."
+msgstr[0] "Hubo 1 evento en este período."
+msgstr[1] "Hubo {0} eventos en este período."
 
-#. buf.append(' ');
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:203
-#, fuzzy, java-format
-msgid " which ended {0} ago."
-msgstr "Noticias chequeadas hace {0}."
+#, java-format
+msgid "The period ended {0} ago."
+msgstr "El período terminó hace {0}."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:205
 msgid "No events"
@@ -3225,43 +3221,40 @@ msgstr "sin acontecimientos"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:211
 msgid "Average event count"
-msgstr ""
+msgstr "número medio de eventos"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:213
 msgid "Events in peak period"
-msgstr ""
+msgstr "Eventos en temporada alta"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:221
 msgid "Graph Data"
-msgstr ""
+msgstr "Datos de gráfica"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:223
 msgid "Graph Event Count"
-msgstr ""
+msgstr "Número de eventos en el Gráfico"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:226
 msgid "Export Data as XML"
-msgstr ""
+msgstr "Exportar datos como XML"
 
 #. Display the strict average
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:231
 msgid "Lifetime average value"
-msgstr ""
+msgstr "Valor medio total"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
 msgid "I2P Router Help &amp; FAQ"
-msgstr "Ayuda acerca del enrutador I2P &amp; FAQ"
+msgstr "Ayuda del router I2P &amp; preguntas frecuentes"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
 msgid "Help &amp; FAQ"
 msgstr "Ayuda"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
-msgid ""
-"Configure startup of clients and webapps (services); manually start dormant "
-"services"
-msgstr ""
-"Configura el arranque de clientes y servicios o lanza servicios no activados"
+msgid "Configure startup of clients and webapps (services); manually start dormant services"
+msgstr "Configura el arranque de clientes y servicios (webapps) o lanza servicios no activados"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
@@ -3269,7 +3262,7 @@ msgstr "Servicios I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
-msgstr ""
+msgstr "Administrar el archivo hosts de I2P aquí (resolución de nombres de dominio I2P)"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
@@ -3277,7 +3270,7 @@ msgstr "Libreta de direcciones"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
 msgid "Built-in anonymous BitTorrent Client"
-msgstr ""
+msgstr "Cliente BitTorrent anónimo integrado"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
 msgid "Torrents"
@@ -3285,35 +3278,35 @@ msgstr "Torrents"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
 msgid "Anonymous webmail client"
-msgstr ""
+msgstr "Cliente webmail anónimo"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
 msgid "Webmail"
-msgstr "Mensagería web"
+msgstr "Webmail"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
 msgid "Anonymous resident webserver"
-msgstr ""
+msgstr "Servidor web residente anónimo "
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
 msgid "Webserver"
-msgstr "Servidor web"
+msgstr "ServidorWeb"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
 msgid "Configure I2P Router"
-msgstr "Configura enrutador I2P"
+msgstr "Configurar router I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
 msgid "I2P Internals"
 msgstr "Configuración"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:379
 msgid "View existing tunnels and tunnel build status"
-msgstr ""
+msgstr "Ver los túneles existentes y el estado de construcción de túneles"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
 msgid "Show all current peer connections"
 msgstr "Mostrar todas las conexiones actuales con pares"
 
@@ -3327,23 +3320,23 @@ msgstr "Perfiles"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
 msgid "Show list of all known I2P routers"
-msgstr "Mostrar lista de todos los enrutadores I2P conocidos"
+msgstr "Mostrar lista de todos los routers I2P conocidos"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
 msgid "NetDB"
-msgstr ""
+msgstr "NetDB"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
 msgid "Health Report"
-msgstr ""
+msgstr "Informe de salud"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
 msgid "Logs"
-msgstr ""
+msgstr "Registros"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
 msgid "Graph router performance"
-msgstr "Mostrar el rendimiento del enrutador"
+msgstr "Mostrar el rendimiento del router"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
 msgid "Graphs"
@@ -3351,7 +3344,7 @@ msgstr "Gráficos"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
 msgid "Textual router performance statistics"
-msgstr "Estadísticas textuales del rendimiento del enrutador"
+msgstr "Estadísticas textuales del rendimiento del router"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:370
@@ -3361,11 +3354,11 @@ msgstr "Destinos locales"
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
 #: ../java/strings/Strings.java:62
 msgid "I2PTunnel"
-msgstr "I2PTunnel"
+msgstr "Túnel I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
 msgid "I2P Router Help"
-msgstr ""
+msgstr "Ayuda de Router I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
 msgid "General"
@@ -3389,170 +3382,174 @@ msgstr "mostrar"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
 msgid "How long we've been running for this session"
-msgstr ""
+msgstr "Cuanto tiempo hemos estado en funcionamiento durante esta sesión"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
 msgid "Uptime"
 msgstr "Tiempo de servicio"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
-msgid ""
-"Help with configuring your firewall and router for optimal I2P performance"
-msgstr ""
+msgid "Help with configuring your firewall and router for optimal I2P performance"
+msgstr "Ayuda con la configuración de cortafuegos y router para un rendimiento óptimo de I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
-msgid "Download"
-msgstr "Descargar"
+#. Note to translators: parameter is a version, e.g. "0.8.4"
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:232
+#, java-format
+msgid "Download {0} Update"
+msgstr "Descargar actualización ( {0} )"
 
+#. Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC"
+#. <br> is optional, to help the browser make the lines even in the button
+#. If the translation is shorter than the English, you should probably not
+#. include <br>
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
-msgid "Download Unsigned"
-msgstr "Descargar de forma no authentificada"
+#, java-format
+msgid "Download Unsigned<br>Update {0}"
+msgstr "Descargar actualización<br>no firmada del {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
 msgid "Active"
 msgstr "Activos"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:270
 msgid "Fast"
 msgstr "Rápidos"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:276
 msgid "High capacity"
 msgstr "Alta capacidad"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:288
 msgid "Known"
 msgstr "Conocidos"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:303
 msgid "Help with firewall configuration"
-msgstr ""
+msgstr "Ayuda con la configuración del cortafuegos"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:305
 msgid "Check NAT/firewall"
-msgstr ""
+msgstr "Comprobar NAT/cortafuegos"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:325
 msgid "Reseed"
-msgstr ""
+msgstr "Rresembrar"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:342
 msgid "Configure router bandwidth allocation"
 msgstr "Configurar ancho de banda del enrutador I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:344
 msgid "Bandwidth in/out"
 msgstr "Ancho de Banda entrante/saliente"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:364
 msgid "Total"
 msgstr "Total"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:371
 msgid "Used"
 msgstr "Usado"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 msgid "Exploratory"
 msgstr "Exploratorios"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:398
 msgid "Participating"
-msgstr "Participando&nbsp;en"
+msgstr "Participando en"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:404
 msgid "Share ratio"
-msgstr "Compartición"
+msgstr "Relación de compartición"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:410
 msgid "What's in the router's job queue?"
-msgstr "¿Qué está en la cola de tareas del enrutador?"
+msgstr "¿Qué está en la cola de tareas del router?"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
 msgid "Congestion"
 msgstr "Tareas"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Job lag"
 msgstr "Demora - tareas"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:423
 msgid "Message delay"
 msgstr "Demora - mensajes"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:429
 msgid "Tunnel lag"
-msgstr "Demora - túnel"
+msgstr "Demora - túneles"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:435
 msgid "Backlog"
 msgstr "Peticiones pendientes"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:106
 msgid "ERR-Client Manager I2CP Error - check logs"
-msgstr ""
+msgstr "ERR- Error Administrador de Clientes I2CP - comprobar registros"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:113
 #, java-format
 msgid "ERR-Clock Skew of {0}"
-msgstr ""
+msgstr "ERR-Desviación del Reloj de {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:122
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "OK"
-msgstr "BIEN"
+msgstr "Bien"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:123
 msgid "ERR-Private TCP Address"
-msgstr ""
+msgstr "ERR-Dirección TCP Privada"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:125
 msgid "ERR-SymmetricNAT"
-msgstr ""
+msgstr "ERR-NAT Simétrico"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:128
 msgid "WARN-Firewalled with Inbound TCP Enabled"
-msgstr ""
+msgstr "AVISO-Tras cortafuegos con TCP entrante Activado"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:130
 msgid "WARN-Firewalled and Floodfill"
-msgstr ""
+msgstr "AVISO-Tras cortafuegos y Floodfill"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:132
 msgid "WARN-Firewalled and Fast"
-msgstr ""
+msgstr "AVISO-Tras cortafuegos y rápido"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:133
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "Firewalled"
-msgstr "Bloqueado por un corta-fuegos"
+msgstr "Bloqueado por un cortafuegos"
 
 #: ../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 ""
+msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ERR-puerto UDP en uso - establezca i2np.udp.internalPort=xxxx = en configuración avanzada y reinicie"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:141
 msgid "ERR-No Active Peers, Check Network Connection and Firewall"
-msgstr ""
+msgstr "ERR-No hay pares activos, Compruebe la conexión de red y cortafuegos"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:144
 msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
-msgstr ""
+msgstr "ERR-UDP deshabilitado y el puerto/host de entrada TCP no ha sido establecido"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:146
 msgid "WARN-Firewalled with UDP Disabled"
-msgstr ""
+msgstr "AVISO-Tras cortafuegos con UDP deshabilitado"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:148
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "Testing"
 msgstr "Comprobando"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:370
 msgid "Add/remove/edit &amp; control your client and server tunnels"
-msgstr ""
+msgstr "Agregar/quitar/editar &amp; controlar sus túneles de cliente y servidor"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:382
 msgid "Server"
@@ -3560,17 +3557,17 @@ msgstr "Servidor"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:386
 msgid "Show tunnels"
-msgstr "Mostrar los túneles"
+msgstr "Mostrar túneles"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:397
 msgid "Leases expired"
-msgstr ""
+msgstr "Leases expirados"
 
 #. 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 ""
+msgstr "Reconstruyendo"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:398
 msgid "ago"
@@ -3584,16 +3581,12 @@ msgstr "Listo"
 #. yellow light
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building"
-msgstr ""
+msgstr "Construyendo"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building tunnels"
 msgstr "Creando túneles"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
-msgid "none"
-msgstr "ninguno"
-
 #. tunnel nicknames, taken from i2ptunnel.config so they will display
 #. nicely under 'local destinations' in the summary bar
 #. note that if the wording changes in i2ptunnel.config, we have to
@@ -3603,20 +3596,21 @@ msgstr "ninguno"
 msgid "shared clients"
 msgstr "clientes diferentes"
 
-#. 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}"
-msgstr ""
+msgstr "eventos en {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
 #, java-format
 msgid "averaged for {0}"
-msgstr ""
+msgstr "promedio por {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
 msgid "Events per period"
-msgstr ""
+msgstr "Eventos por período"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
 msgid "avg"
@@ -3628,10 +3622,14 @@ msgstr "ahora"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:309
 msgid "configure"
 msgstr "configurar"
 
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr "Túneles de clientes para"
+
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
 msgid "dead"
 msgstr "muerto"
@@ -3671,37 +3669,37 @@ msgstr "Papel"
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Usage"
-msgstr ""
+msgstr "Uso"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:107
 msgid "grace period"
-msgstr ""
+msgstr "período de gracia"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:117
 msgid "Outbound Endpoint"
-msgstr ""
+msgstr "Salida de punto final"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:119
 msgid "Inbound Gateway"
-msgstr ""
+msgstr "Gateway de entrada"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:121
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:162
 msgid "Participant"
-msgstr ""
+msgstr "Participante"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:126
 msgid "Inactive participating tunnels"
-msgstr ""
+msgstr "Túneles Inactivos participantes"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:127
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:218
 msgid "Lifetime bandwidth usage"
-msgstr ""
+msgstr "Uso de ancho de banda total"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Expiry"
-msgstr ""
+msgstr "Expiración"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:159
 msgid "Participants"
@@ -3709,7 +3707,7 @@ msgstr "Participantes"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:165
 msgid "Endpoint"
-msgstr ""
+msgstr "Punto final"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
@@ -3726,7 +3724,7 @@ msgstr "saliente"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:217
 msgid "No tunnels; waiting for the grace period to end."
-msgstr ""
+msgstr "No hay túneles, esperando que termine el período de gracia."
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:219
 msgid "in"
@@ -3754,72 +3752,72 @@ msgstr "participando en"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:256
 msgid "Totals"
-msgstr "Total"
+msgstr "Totales"
 
-#: ../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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:67
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:143
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:238
 msgid "Updating"
 msgstr "Actualizando"
 
 #. 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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:89
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:262
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:287
 msgid "Update downloaded"
-msgstr "actualización descargada"
+msgstr "Actualización descargada"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:92
 #, java-format
 msgid "Unsigned update file from {0} is corrupt"
-msgstr ""
+msgstr "Archivo de actualización no firmado del {0} está dañado"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Restarting"
 msgstr "Reiniciando"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:119
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:289
 msgid "Click Restart to install"
 msgstr "¡Pincha en \"Reiniciar\" para instalar!"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:291
 msgid "Click Shutdown and restart to install"
 msgstr "¡Pincha en \"Apagar\" y reinicia para instalar!"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:292
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:122
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:293
 #, java-format
 msgid "Version {0}"
 msgstr "Versión {0}"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:127
 #, java-format
 msgid "Failed copy to {0}"
-msgstr "Fallido copiar a {0}"
+msgstr "Fallada copia a {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
+#, java-format
 msgid "Updating from {0}"
-msgstr "Actualizando"
+msgstr "Actualizando de {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:254
 #, java-format
 msgid "No new version found at {0}"
-msgstr ""
+msgstr "Ninguna versión nueva encontrada en {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Update verified"
-msgstr "Actualización actualizada"
+msgstr "Actualización verificada"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:308
 #, java-format
 msgid "Transfer failed from {0}"
-msgstr ""
+msgstr "Transferencia fallida de {0}"
 
 #. wars for ConfigClientsHelper
 #: ../java/strings/Strings.java:12
@@ -3844,18 +3842,18 @@ msgstr "Susidns"
 
 #: ../java/strings/Strings.java:17
 msgid "routerconsole"
-msgstr ""
+msgstr "Consola del router"
 
 #. 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 ""
+msgstr "Consola Web"
 
 #: ../java/strings/Strings.java:23
 msgid "SAM application bridge"
-msgstr ""
+msgstr "Puente de aplicación SAM"
 
 #: ../java/strings/Strings.java:24
 msgid "Application tunnels"
@@ -3863,23 +3861,23 @@ msgstr "Túneles de aplicaciónes"
 
 #: ../java/strings/Strings.java:25
 msgid "My eepsite web server"
-msgstr ""
+msgstr "Mi servidor web I2P"
 
 #: ../java/strings/Strings.java:26
 msgid "I2P webserver (eepsite)"
-msgstr ""
+msgstr "Servidor web I2P (eepsite)"
 
 #: ../java/strings/Strings.java:27
 msgid "Browser launch at startup"
-msgstr ""
+msgstr "Lanzar el navegador al iniciar"
 
 #: ../java/strings/Strings.java:28
 msgid "BOB application bridge"
-msgstr ""
+msgstr "Puente de aplicación BOB"
 
 #: ../java/strings/Strings.java:30
 msgid "Open Router Console in web browser at startup"
-msgstr ""
+msgstr "Abrir la consola del router en el navegador web al iniciar"
 
 #: ../java/strings/Strings.java:37
 msgid "IRC proxy"
@@ -3887,24 +3885,24 @@ msgstr "proxy IRC"
 
 #: ../java/strings/Strings.java:38
 msgid "eepsite"
-msgstr ""
+msgstr "sitio I2P"
 
 #: ../java/strings/Strings.java:39
 msgid "I2P webserver"
-msgstr ""
+msgstr "Servidor web I2P"
 
 #: ../java/strings/Strings.java:40
 msgid "HTTP Proxy"
-msgstr ""
+msgstr "Proxy HTTP"
 
 #. older names for pre-0.7.4 installs
 #: ../java/strings/Strings.java:42
 msgid "eepProxy"
-msgstr ""
+msgstr "eepProxy"
 
 #: ../java/strings/Strings.java:43
 msgid "ircProxy"
-msgstr ""
+msgstr "Proxy irc"
 
 #. hardcoded in i2psnark
 #: ../java/strings/Strings.java:45
@@ -3914,7 +3912,7 @@ msgstr "I2PSnark"
 #. hardcoded in iMule?
 #: ../java/strings/Strings.java:47
 msgid "iMule"
-msgstr ""
+msgstr "iMule"
 
 #. standard themes for ConfigUIHelper
 #: ../java/strings/Strings.java:51
@@ -3948,15 +3946,15 @@ msgstr "Mensajes de Clientes"
 
 #: ../java/strings/Strings.java:60
 msgid "Encryption"
-msgstr "Clave del Cifrado"
+msgstr "Cifrado"
 
 #: ../java/strings/Strings.java:61
 msgid "i2cp"
-msgstr ""
+msgstr "i2cp"
 
 #: ../java/strings/Strings.java:63
 msgid "InNetPool"
-msgstr ""
+msgstr "InNetPool"
 
 #: ../java/strings/Strings.java:64
 msgid "JobQueue"
@@ -3968,29 +3966,29 @@ msgstr "BaseDeDatosRed"
 
 #: ../java/strings/Strings.java:66
 msgid "ntcp"
-msgstr ""
+msgstr "ntcp"
 
 #: ../java/strings/Strings.java:69
 msgid "Stream"
-msgstr ""
+msgstr "Corriente"
 
 #: ../java/strings/Strings.java:70
 msgid "Throttle"
-msgstr ""
+msgstr "Regular"
 
 #: ../java/strings/Strings.java:71
 msgid "Transport"
-msgstr ""
+msgstr "Transporte"
 
 #: ../java/strings/Strings.java:73
 msgid "udp"
-msgstr ""
+msgstr "udp"
 
 #. parameters in transport addresses (netdb.jsp)
 #. may or may not be worth translating
 #: ../java/strings/Strings.java:77
 msgid "host"
-msgstr ""
+msgstr "host"
 
 #: ../java/strings/Strings.java:78
 msgid "key"
@@ -4003,1611 +4001,1467 @@ msgstr "puerto"
 #. introducer host
 #: ../java/strings/Strings.java:83
 msgid "ihost0"
-msgstr ""
+msgstr "ihost0"
 
 #: ../java/strings/Strings.java:84
 msgid "ihost1"
-msgstr ""
+msgstr "ihost1"
 
 #: ../java/strings/Strings.java:85
 msgid "ihost2"
-msgstr ""
+msgstr "ihost2"
 
 #. introducer port
 #: ../java/strings/Strings.java:87
 msgid "iport0"
-msgstr ""
+msgstr "iport0"
 
 #: ../java/strings/Strings.java:88
 msgid "iport1"
-msgstr ""
+msgstr "iport1"
 
 #: ../java/strings/Strings.java:89
 msgid "iport2"
-msgstr ""
+msgstr "iport2"
 
 #. introducer key
 #: ../java/strings/Strings.java:91
 msgid "ikey0"
-msgstr ""
+msgstr "ikey0"
 
 #: ../java/strings/Strings.java:92
 msgid "ikey1"
-msgstr ""
+msgstr "ikey1"
 
 #: ../java/strings/Strings.java:93
 msgid "ikey2"
-msgstr ""
+msgstr "ikey2"
 
 #. introducer tag
 #: ../java/strings/Strings.java:95
 msgid "itag0"
-msgstr ""
+msgstr "itag0"
 
 #: ../java/strings/Strings.java:96
 msgid "itag1"
-msgstr ""
+msgstr "itag1"
 
 #: ../java/strings/Strings.java:97
 msgid "itag2"
-msgstr ""
+msgstr "itag2"
 
 #. Descriptions for the stats that are graphed by default
 #. There are over 500 stats currently defined, we aren't going to tag them all
 #: ../java/strings/Strings.java:101
 msgid "Low-level bandwidth receive rate"
-msgstr ""
+msgstr "tasa de recepción de ancho de banda de bajo nivel"
 
 #. bw.recvRate
 #: ../java/strings/Strings.java:102
 msgid "Low-level bandwidth send rate"
-msgstr ""
+msgstr "tasa de envío de ancho de banda de bajo nivel"
 
 #. bw.sendRate
 #: ../java/strings/Strings.java:103
 msgid "How many peers we are actively talking with"
-msgstr ""
+msgstr "Con cuántos pares estamos hablando activamente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:112
 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_005far_jsp.java:219
-#: ../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
+msgstr "configuración de red"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:222
+msgid "Summary Bar"
+msgstr "Barra resumen"
+
+#. 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:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:235
 msgid "Refresh (s)"
 msgstr "Actualizar (s)"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/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_005far_jsp.java:223
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:239
 msgid "Enable"
 msgstr "Activar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:262
 msgid "I2P Network Configuration"
-msgstr ""
+msgstr "Configuración de red I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:316
 msgid "Bandwidth limiter"
-msgstr "Limitador del ancho de banda"
+msgstr "Limitador de ancho de banda"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
-msgid ""
-"I2P will work best if you configure your rates to match the speed of your "
-"internet connection."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
+msgstr "I2P funcionará mejor si configuras tus tasas para que coincida con la velocidad de tu conexión a Internet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:322
 msgid "KBps In"
 msgstr "KB/s entrantes"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:336
 msgid "KBps Out"
 msgstr "KB/s salientes"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:352
 msgid "Share"
 msgstr "Compartir"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:326
 msgid "NOTE"
-msgstr "AVISO"
+msgstr "NOTA"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:361
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
-msgstr ""
+msgstr "Has configurado I2P para compartir sólo {0} KBps."
 
-#: ../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:364
 msgid "I2P requires at least 12KBps to enable sharing. "
-msgstr ""
+msgstr "I2P requiere al menos 12KBps para permitir el intercambio."
 
-#: ../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:365
+msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
+msgstr "Por favor, active el intercambio (participación en túneles) configurando un mayor ancho de banda."
 
-#: ../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:366
+msgid "It improves your anonymity by creating cover traffic, and helps the network."
+msgstr "Esto mejora tu anonimato creando tráfico de cobertura, y ayuda a la red."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369
 #, 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
+msgstr "Has configurado I2P para compartir {0} KBps."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:372
+msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
+msgstr "Cuanto mayor sea el ancho de banda compartido, mayor es el anonimato y más se ayuda a la red."
+
+#: ../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:532
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:425
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393
 msgid "IP and Transport Configuration"
-msgstr ""
+msgstr "IP y configuración de transporte"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
 msgid "The default settings will work for most people."
-msgstr ""
+msgstr "La configuración por defecto funcionará para la mayoría de gente."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397
 msgid "There is help below."
-msgstr "Hay una ayuda abjo."
+msgstr "Hay ayuda debajo."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "UPnP Configuration"
 msgstr "Configuración UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Enable UPnP to open firewall ports"
-msgstr ""
+msgstr "Activar UPnP para abrir puertos del cortafuegos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
 msgid "UPnP status"
 msgstr "Estado UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "IP Configuration"
 msgstr "Configuración IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Externally reachable hostname or IP address"
-msgstr ""
+msgstr "Nombre de host o dirección IP accesible externamente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:413
 msgid "Use all auto-detect methods"
-msgstr ""
+msgstr "Utilizar todos los métodos de detección automática"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Disable UPnP IP address detection"
-msgstr ""
+msgstr "Desactivar detección de direcciones IP por UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:421
 msgid "Ignore local interface IP address"
-msgstr ""
+msgstr "Ingonrar la dirección IP de la interfaz local"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:425
 msgid "Use SSU IP address detection only"
-msgstr ""
+msgstr "Utilizar detección de direcciones IP sólo por SSU"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Specify hostname or IP"
-msgstr ""
+msgstr "Especificar nombre de host o IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Select Interface"
-msgstr "Elige interfaz"
+msgstr "Elegir interfaz"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449
 msgid "Hidden mode - do not publish IP"
-msgstr "Modo oculto - no se publica el IP"
+msgstr "Modo oculto - no publicar IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451
 msgid "(prevents participating traffic)"
-msgstr ""
+msgstr "(Evita el tráfico de participantes)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:453
 msgid "Action when IP changes"
-msgstr ""
+msgstr "Acción al cambiar de IP"
 
-#: ../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:457
+msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
+msgstr "Modo Portátil - Cambiar identidad del router y puerto UDP cuando cambie la IP para aumentar el anonimato"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "Experimental"
-msgstr ""
+msgstr "Experimental"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "UDP Configuration:"
 msgstr "Ajustes de UDP:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463
 msgid "UDP port:"
 msgstr "Puerto UDP :"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477
 msgid "TCP Configuration"
-msgstr "Ajustes de TCP:"
+msgstr "Ajustes de TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483
 msgid "Use auto-detected IP address"
-msgstr ""
+msgstr "Utilizar dirección IP detectada automáticamente"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
 msgid "currently"
 msgstr "actualmente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "if we are not firewalled"
 msgstr "si no estamos bloqueados por el corta-fuegos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Always use auto-detected IP address (Not firewalled)"
-msgstr ""
+msgstr "Siempre utilizar la dirección IP detectada automáticamente (no bloqueada por cortafuegos)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:503
 msgid "Disable inbound (Firewalled)"
-msgstr ""
+msgstr "Deshabilitar entrada (bloqueado por cortafuegos)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:507
 msgid "Completely disable"
 msgstr "Desactivar por completo"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
-msgid ""
-"(select only if behind a firewall that throttles or blocks outbound TCP)"
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr "(Selecciona sólo si estás detrás de un cortafuegos que regule o bloquee la salida por TCP)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
 msgid "Externally reachable TCP port"
-msgstr ""
+msgstr "Puerto TCP externamente accesible"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
 msgid "Use the same port configured for UDP"
-msgstr ""
+msgstr "Usar el mismo puerto configurado para UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
 msgid "Specify Port"
 msgstr "Elegir un puerto"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:348
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530
 msgid "Changing these settings will restart your router."
-msgstr ""
+msgstr "Cambiar estos ajustes reiniciará el router."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
 msgid "Configuration Help"
-msgstr ""
+msgstr "Ayuda de Configuración"
 
-#: ../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:538
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
+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 "Aunque I2P funcionrá bien aún bloqueado por la mayoría de cotrafuegos, las velocidades y la integración de la red en general mejorará si el puerto I2P está abierto tanto por UDP como por 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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
+msgstr "Si es posiible, por favor permite el paso de los paquetes TCP y UDP no solicitados por el cortafuegos."
 
-#: ../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:542
+msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
+msgstr "Si no puede ser, I2P soporta UPnP (Universal Plug and Play) y UDP hole punching con \"introducciones SSU\" para transmitir tráfico."
 
-#: ../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:544
+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 "La mayoría de las opciones anteriores son para situaciones especiales, por ejemplo, cuando UPnP no funciona correctamente, o un cortafuegos que no está bajo tu control está haciendo daño."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
-msgstr ""
+msgstr "Algunos cortafuegos como NATs simétricos pueden no funcionar bien con 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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
+msgstr "UPnP se utiliza para comunicarse con dispositivos de puerta de enlace a Internet (IGDs) para detectar la dirección IP externa y los puertos que se deben abrir."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "UPnP support is beta, and may not work for any number of reasons"
-msgstr ""
+msgstr "El soporte de UPnP está en fase beta, y puede no funcionar correctamente por varias razones"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "No UPnP-compatible device present"
-msgstr ""
+msgstr "No se encuentra ningún dispositivo compatible con UPnP presente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "UPnP disabled on the device"
-msgstr ""
+msgstr "UPnP desactivado en el dispositivo"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "Software firewall interference with UPnP"
-msgstr ""
+msgstr "Un cortafuegos de software interfiere con UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "Bugs in the device's UPnP implementation"
-msgstr ""
+msgstr "Errores en la implementación de UPnP del dispositivo"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Multiple firewall/routers in the internet connection path"
-msgstr ""
+msgstr "Múltiples cotrafuegos/routers en la ruta de conexión a Internet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "UPnP device change, reset, or address change"
-msgstr ""
+msgstr "El dispositivo UPnP ha cambiado, reiniciado, o ha cambiado de dirección"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
 msgid "Review the UPnP status here."
-msgstr ""
+msgstr "Revisar el estado de UPnP aquí."
 
-#: ../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:573
+msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
+msgstr "Encima de esto UPnP puede ser activado o desactivado, pero un cambio requiere reiniciar el router para que surta efecto."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "Hostnames entered above will be published in the network database."
-msgstr ""
+msgstr "Los nombres de host introducidos arriba se publicarán en la base de datos de red."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "They are <b>not private</b>."
-msgstr ""
+msgstr "<b>No son privados.</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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr "Además, <b>no se debe introducir una dirección IP privada</b> como 127.0.0.1 o 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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+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 "Si se especifica una dirección IP o nombre de host incorrectos, o no se configura correctamente el NAT o cortafuegos, el rendimiento de la red se degradará considerablemente."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "When in doubt, leave the settings at the defaults."
-msgstr ""
+msgstr "En caso de duda, deje los ajustes con los valores predeterminados."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid "Reachability Help"
-msgstr ""
+msgstr "Ayuda de Accesibilidad"
 
-#: ../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:590
+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 "Si crees que has abierto el cortafuegos y I2P todavía piensa que sigue bloqueado por uno, recuerda que podrías tener múltiples cortafuegos, por ejemplo, en paquetes de software o en routers externos."
 
-#: ../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:593
+msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
+msgstr "Si hay un error, el <a href=\"logs.jsp\">registro</a> también puede ayudar a diagnosticar el problema."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Your UDP port does not appear to be firewalled."
-msgstr ""
+msgstr "El puerto UDP no parece estar bloqueado por un cortafuegos."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 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 ""
+msgstr "El puerto UDP parece estar bloqueado por un cortafuegos."
 
 #: ../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 ""
+msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
+msgstr "Como los métodos de detección de cortafuegos no son 100% fiables, esto puede aparecer por error."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
-msgid "WARN - Firewalled and Fast"
-msgstr ""
+msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
+msgstr "Sin embargo, si aparece constantemente, deberías comprobar si tanto el cortafuegos interno como externo tienen los puertos abiertos."
 
 #: ../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 ""
+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 funcionará bien aún bloqueado por un cortafuegos, no hay motivo de preocupación. Si se está detrás de un cortafuegos, el router utiliza \"introductores\" para transmitir las conexiones entrantes."
 
 #: ../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 ""
+msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
+msgstr "No obstante, obtendrás más tráfico participante y ayudará más a la red si puedes abrir el/los cortafuegos."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
-msgid "WARN - Firewalled and Floodfill"
-msgstr ""
+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 "Si crees que ya lo has hecho, recuerda que podrías tener tanto un cortafuegos de hardware como un cortafuegos por software, o podrías estar detrás de otro cortafuegos institucional fuera de tu control."
 
 #: ../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 ""
+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 "Además, algunos routers no pueden encaminar correctamente TCP y UDP por el mismo puerto, o pueden tener otras limitaciones o bugs que les impidan pasar tráfico a través de I2P."
 
 #: ../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 ""
+msgid "The router is currently testing whether your UDP port is firewalled."
+msgstr "El router está probando si tu puerto UDP está bloqueado por un cortafuegos."
 
 #: ../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 ""
+msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
+msgstr "El router no está configurado para publicar su dirección, por lo tanto, no espera conexiones entrantes."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
-msgid "Please open your firewall or disable inbound TCP above."
-msgstr ""
+msgid "WARN - Firewalled and Fast"
+msgstr "AVISO - Bloqueado por cortafuegos y rápido"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
-msgid "WARN - Firewalled with UDP Disabled"
-msgstr ""
+msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
+msgstr "Has configurado I2P para compartir más de 128 kbps de ancho de banda, pero te encuentras bloqueado por un cortafuegos"
 
 #: ../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 ""
+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 "Aunque I2P funcionará bien con esta configuración, si realmente tiene más de 128 kbps de ancho de banda para compartir, será mucho más útil a la red si abre los puertos de su router."
 
 #: ../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 ""
+msgid "WARN - Firewalled and Floodfill"
+msgstr "AVISO - Bloqueado por cortafuegos y Floodfill"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
-msgid "Please open your firewall or enable UDP."
-msgstr ""
+msgid "You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr "Has configurado I2P ser un router floodfill, pero estás bloqueado por un cortafuegos."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
-msgid "ERR - Clock Skew"
-msgstr ""
+msgid "For best participation as a floodfill router, you should open your firewall."
+msgstr "Para mejorar la participación como router floodfill, deberías abrir tu cortafuegos."
 
 #: ../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 ""
+msgid "WARN - Firewalled with Inbound TCP Enabled"
+msgstr "AVISO - Bloqueado por cortafuegos con TCP entrante activado"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
-msgid "Correct your clock setting if this error persists."
-msgstr ""
+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 "Has configurado TCP entrante, sin embargo el puerto UDP está bloqueado por un cortafuegos, y por lo tanto es probable que el puerto TCP esté bloqueado también."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
-msgid "ERR - Private TCP Address"
-msgstr ""
+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 "Si el puerto TCP está bloqueado por un cortafuegos con TCP entrante habilitado, los routers no podrán ponerse en contacto con el tuyo a través de TCP, lo que perjudicará a la red."
 
 #: ../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 ""
+msgid "Please open your firewall or disable inbound TCP above."
+msgstr "Por favor, ¡abre los puertos del cortafuegos o desactiva TCP entrante arriba!"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
-msgid "Correct the address or disable inbound TCP above."
-msgstr ""
+msgid "WARN - Firewalled with UDP Disabled"
+msgstr "AVISO - Bloqueado por cortafuegos con UDP deshabilitado"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
-msgid "ERR - SymmetricNAT"
-msgstr ""
+msgid "You have configured inbound TCP, however you have disabled UDP."
+msgstr "Has configurado TCP entrante, sin embargo has deshabilitado UDP."
 
 #: ../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 ""
+msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
+msgstr "Parece que estás siendo bloqueado por un cortafuegos en TCP, por lo tanto el router no puede aceptar conexiones entrantes."
 
 #: ../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 ""
+msgid "Please open your firewall or enable UDP."
+msgstr "Por favor, ¡abre el cortafuegos o habilita UDP!"
 
 #: ../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 ""
+msgid "ERR - Clock Skew"
+msgstr "ERR - desviación de reloj"
 
 #: ../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 ""
+msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
+msgstr "El reloj del sistema está desviado, lo que hará difícil participar en la red."
 
 #: ../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 ""
+msgid "Correct your clock setting if this error persists."
+msgstr "Corrija su ajuste del reloj, si este error persiste."
 
 #: ../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 ""
+msgid "ERR - Private TCP Address"
+msgstr "ERR - Dirección TCP privada"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
-msgid "However, a restart is always required after this error."
-msgstr ""
+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 "Nunca debe anunciar una dirección IP no enrutable, como 127.0.0.1 o 192.168.1.1 como su dirección externa."
 
 #: ../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 ""
+msgid "Correct the address or disable inbound TCP above."
+msgstr "Corrija la dirección o desactive TCP entrante arriba."
 
 #: ../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 ""
+msgid "ERR - SymmetricNAT"
+msgstr "ERR - NAT Simétrico"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
-msgid "Therefore your router cannot accept inbound connections."
-msgstr ""
+msgid "I2P detected that you are firewalled by a Symmetric NAT."
+msgstr "I2P ha detectado que está siendo bloqueado por un NAT simétrico."
 
 #: ../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 ""
+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 no funciona bien detrás de este tipo de cortafuegos. Probablemente no serás capaz de aceptar conexiones entrantes, lo que limitará tu participación en la red."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
-msgid "ERR - Client Manager I2CP Error - check logs"
-msgstr ""
+msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ERR - el puerto UDP está en uso - Establezca i2np.udp.internalPort=xxxx en configuración avanzada reinicie"
 
 #: ../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 ""
+msgid "I2P was unable to bind to port 8887 or other configured port."
+msgstr "I2P no pudo enlazar con el puerto 8887 o el otro puerto configurado."
 
 #: ../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 ""
+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 "Compruebe si otro programa está utilizando el puerto configurado. Si es así, cierre el programa o configure I2P para utilizar un puerto diferente."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:675
+msgid "This may be a transient error, if the other program is no longer using the port."
+msgstr "Esto puede ser un error transitorio, si el otro programa ya no utiliza el puerto."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:677
+msgid "However, a restart is always required after this error."
+msgstr "Sin embargo, siempre es necesario reiniciar después de que aparezca este error."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:679
+msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
+msgstr "ERR - UDP deshabilitado y el host/puerto de entrada TCP no ha sido establecido"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:681
+msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
+msgstr "Arriba no has configurado TCP entrante con un nombre de host y puerto, sin embargo has deshabilitado UDP."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:683
+msgid "Therefore your router cannot accept inbound connections."
+msgstr "Por lo tanto el router no puede aceptar conexiones entrantes."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:685
+msgid "Please configure a TCP host and port above or enable UDP."
+msgstr "Por favor, configure un host y puerto TCP arriba o permita UDP."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:687
+msgid "ERR - Client Manager I2CP Error - check logs"
+msgstr "ERR - Error Client Manager I2CP - verificar los registros"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:689
+msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
+msgstr "Esto se debe generalmente a un conflicto en el puerto 7654. Revisa los registros para verificarlo."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:691
+msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
+msgstr "¿Tiene otra instancia I2P funcionando? Detenga el programa en conflicto y reinicie I2P."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:113
 msgid "config advanced"
 msgstr "configuración avanzada"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:263
 msgid "I2P Advanced Configuration"
 msgstr "Ajustes Avanzados de I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:319
 msgid "Advanced I2P Configuration"
-msgstr ""
+msgstr "Configuración I2P avanzada"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:329
 msgid "Some changes may require a restart to take effect."
-msgstr ""
+msgstr "Algunos cambios pueden requerir unreiniciar para que surtan efecto."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:112
 msgid "config clients"
 msgstr "configuración de clientes"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:265
 msgid "I2P Client Configuration"
 msgstr "Configuración de Clientes I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
 msgid "Client Configuration"
 msgstr "Configuración Clientes"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
-msgid ""
-"The Java clients listed below are started by the router and run in the same "
-"JVM."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:332
+msgid "The Java clients listed below are started by the router and run in the same JVM."
+msgstr "Los clientes de Java que se enumeran a continuación son iniciados por el router y se ejecutan en la misma JVM."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
 msgid "To change other client options, edit the file"
-msgstr ""
+msgstr "Para cambiar otras opciones clientes, edita el archivo"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:439
 msgid "All changes require restart to take effect."
-msgstr ""
+msgstr "Todos los cambios requieren reiniciar para que surtan efecto."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Advanced Client Interface Configuration"
-msgstr "Guardar la configuración de clientes"
+msgstr "Configuración avanzada de la interfaz del cliente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "External I2CP (I2P Client Protocol) Interface Configuration"
-msgstr ""
+msgstr "Configuración de la interfaz I2CP Exterior (I2P Protocolo de clientes)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:367
 msgid "Enabled without SSL"
-msgstr ""
+msgstr "Habilitado sin SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:373
 msgid "Enabled with SSL required"
-msgstr ""
+msgstr "Habilitado con SSL obligatorio"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
 msgid "Disabled - Clients outside this Java process may not connect"
-msgstr ""
+msgstr "Deshabilitado - Los clientes fuera de este proceso Java podrían no conectar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:381
 msgid "I2CP Port"
-msgstr ""
+msgstr "Puerto I2CP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
 msgid "I2CP Interface"
-msgstr "Configuración"
+msgstr "Interfaz I2CP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
 msgid "Authorization"
-msgstr "Autor"
+msgstr "Autorización"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
 msgid "Require username and password"
-msgstr ""
+msgstr "Requerir nombre de usuario y contraseña"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
 msgid "Username"
-msgstr ""
+msgstr "Nombre de usuario"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:413
 msgid "Password"
-msgstr ""
+msgstr "Contraseña"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:419
 msgid "Any changes made here must also be configured in the external client."
-msgstr ""
+msgstr "Cualquier cambio realizado aquí también debe configurarse en el cliente externo."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Many clients do not support SSL or authorization."
-msgstr ""
+msgstr "Muchos clientes no soportan SSL o autorización."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
 msgid "WebApp Configuration"
 msgstr "Configuración de las Applicaciones Web"
 
-#: ../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:431
+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 "Las aplicaciones web Java que se enumeran a continuación son iniciadas por el cliente de consola web y se ejecutan en la misma JVM que el router. Por lo general son aplicaciones web, accesibles a través de la consola del router. Pueden ser aplicaciones completas (i2psnark por ejemplo), interfaces de otro cliente o aplicaciónes que deben ser habilitadas por separado (por ejemplo, susidns, i2ptunnel), o que no tienen interfaz web en absoluto (por ejemplo, la libreta de direcciones)."
 
-#: ../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:433
+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 "Una aplicación web también se puede desactivar quitando el archivo .war del directorio de aplicaciones web; Sin embargo, el archivo .war y la aplicación web volverán a aparecer al actualizar el router a una nueva versión, así que el método preferido es deshabilitar la aplicación web aquí."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:445
 msgid "Plugin Configuration"
 msgstr "Configuración de Complementos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:447
 msgid "The plugins listed below are started by the webConsole client."
-msgstr ""
+msgstr "Los complementos enumerados a continuación son iniciados por el cliente de consola web."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:455
 msgid "Plugin Installation"
-msgstr ""
+msgstr "Instalación de Complementos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:457
 msgid "To install a plugin, enter the download URL:"
-msgstr ""
+msgstr "Para instalar un complemento, ¡introduce la URL de descarga!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:112
 msgid "config keyring"
-msgstr ""
+msgstr "configuración de llavero"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:249
 msgid "I2P Keyring Configuration"
 msgstr "Configuración del Llavero"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "The router keyring is used to decrypt encrypted leaseSets."
-msgstr ""
+msgstr "El llavero del router se utiliza para descifrar leaseSets encriptados."
 
-#: ../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:320
+msgid "The keyring may contain keys for local or remote encrypted destinations."
+msgstr "El anillo puede contener claves de cifrado para los destinos locales o remotos."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326
 msgid "Manual Keyring Addition"
-msgstr ""
+msgstr "Adición manual al Llavero"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328
 msgid "Enter keys for encrypted remote destinations here."
-msgstr ""
+msgstr "Introduzca las claves de cifrado para destinos remotos aquí."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331
 msgid "Keys for local destinations must be entered on the"
-msgstr ""
+msgstr "Las claves para los destinos locales deben introducirse en la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:333
 msgid "I2PTunnel page"
-msgstr ""
+msgstr "Página de túnelesI2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:335
 msgid "Dest. name, hash, or full key"
 msgstr "Nombre del destino, hash o clave completa"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:337
 msgid "Encryption Key"
 msgstr "Clave de cifrado"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:113
 msgid "config logging"
-msgstr ""
+msgstr "configuración de registro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:263
 msgid "I2P Logging Configuration"
-msgstr ""
+msgstr "Configuración del registro 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:319
 msgid "Configure I2P Logging Options"
-msgstr ""
+msgstr "Configurar las opciones de registro I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Logging filename"
-msgstr ""
+msgstr "Nombre de archivo del registro"
 
-#: ../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:325
 msgid "(the symbol '@' will be replaced during log rotation)"
-msgstr ""
+msgstr "(El símbolo '@' será reemplazado durante la rotación de registro)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
 msgid "Log record format"
-msgstr ""
+msgstr "Formato de escritura del registro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
-msgid ""
-"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
-msgstr ""
-"(use 'd' = fecha, 'c' = clase, 't' = hilo, 'p' = prioridad, 'm' = mensaje)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
+msgstr "(use 'd' = fecha, 'c' = clase, 't' = hilo, 'p' = prioridad, 'm' = mensaje)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
 msgid "Log date format"
-msgstr ""
+msgstr "Formato de fecha del registro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
-msgid ""
-"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
-"= millisecond)"
-msgstr ""
-"('MM' = mes, 'dd' = día, 'HH' = hora, 'mm' = minuto, 'ss' = segundo, 'SSS' = "
-"milisegundo)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:337
+msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
+msgstr "('MM' = mes, 'dd' = día, 'HH' = hora, 'mm' = minuto, 'ss' = segundo, 'SSS' = milisegundo)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
 msgid "Max log file size"
-msgstr ""
+msgstr "Tamaño máximo del archivo de registro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:343
 msgid "Default log level"
-msgstr ""
+msgstr "Nivel predeterminado de registro"
 
-#: ../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:347
+msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
+msgstr "(DEBUG e INFO no se recomiendan por defecto, ya que ralentizaran drásticamente el router)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:349
 msgid "Log level overrides"
-msgstr ""
+msgstr "Reemplazos a nivel de registros"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353
 msgid "New override"
-msgstr ""
+msgstr "Nueva reemplazo"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:112
 msgid "config peers"
-msgstr "configuración de los pares"
+msgstr "configuración de pares"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:249
 msgid "I2P Peer Configuration"
-msgstr "Configuración de los Pares I2P"
+msgstr "Configuración de los pares I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
 msgid "Manual Peer Controls"
-msgstr ""
+msgstr "Controles Manuales de pares"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 msgid "Router Hash"
-msgstr "Hash del Enrutador"
+msgstr "Hash del Router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:329
 msgid "Manually Ban / Unban a Peer"
-msgstr ""
+msgstr "Banear / Desbanear manualmente a un par"
 
-#: ../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:331
+msgid "Banning will prevent the participation of this peer in tunnels you create."
+msgstr "Banear evitará que ese par participe en cualquiera de los túneles que usted cree."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:341
 msgid "Adjust Profile Bonuses"
-msgstr ""
+msgstr "Ajustar Perfil de Bonus"
 
-#: ../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:343
+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 "Los bonus pueden ser positivos o negativos, y afectan a la inclusión de un par en los niveles 'Rápido' y 'de alta capacidad'. Los pares rápidos se utilizan para los túneles de clientes, los par de alta capacidad se utilizan para algunos túneles exploratorios. Los bonus actuales se muestran en la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
 msgid "profiles page"
 msgstr "página de perfiles"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:273
 msgid "Banned Peers"
-msgstr "Pares Relegados"
+msgstr "pares baneados"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:384
 msgid "Banned IPs"
-msgstr ""
+msgstr "IPs Baneadas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:112
 msgid "config reseeding"
-msgstr "configuración de servicios"
+msgstr "config para resembrar "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:262
 msgid "I2P Reseeding Configuration"
-msgstr "Configuración del Llavero"
+msgstr "Configuración del proceso de resembrar I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
 msgid "Reseeding Configuration"
-msgstr "Configuración del Llavero"
+msgstr "Configuración de Resembrar"
 
-#: ../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:320
+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 "Resembrar es el proceso de bootstrapping para encontrar otros routers cuando I2P se instala por primera vez o cuando al router le quedan muy pocas referencias de otros routers."
 
-#: ../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:322
+msgid "If reseeding has failed, you should first check your network connection."
+msgstr "El proceso de resembrar ha fallado, primero debes comprobar la conexión de red."
 
-#: ../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:326
+msgid "Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy."
+msgstr "¡Cambia estos parámetros solamente si HTTP está bloqueado por un cortafuegos restrictivo, el proceso de resembrar ha fracasado, y si tienes acceso a un proxy HTTP!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 #, java-format
 msgid "See {0} for instructions on reseeding manually."
-msgstr ""
+msgstr "Ver {0} para obtener instrucciones sobre cómo resembrar manualmente."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 msgid "the FAQ"
-msgstr ""
+msgstr "las preguntas más frecuentes"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
 msgid "Reseed URL Selection"
-msgstr ""
+msgstr "Selección de URL resembradora"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
 msgid "Try SSL first then non-SSL"
-msgstr ""
+msgstr "Probar SSL primero y luego no-SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:342
 msgid "Use SSL only"
-msgstr ""
+msgstr "Usar SSL exclusivamente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
 msgid "Use non-SSL only"
-msgstr ""
+msgstr "Usar no-SSL exclusivamente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
 msgid "Reseed URLs"
-msgstr "URL de noticias"
+msgstr "URLs resembradoras"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:354
 msgid "Enable HTTP proxy (not used for SSL)"
-msgstr ""
+msgstr "Habilitar proxy HTTP (no utilizado para SSL)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:358
 msgid "HTTP Proxy Host"
-msgstr ""
+msgstr "Host HTTP Proxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:362
 msgid "HTTP Proxy Port"
-msgstr ""
+msgstr "Puerto HTTP Proxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:112
 msgid "config service"
 msgstr "configuración de servicios"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:249
 msgid "I2P Service Configuration"
 msgstr "Configuración de Servicios I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid "Shutdown the router"
-msgstr "Apagar el enrutador"
+msgstr "Apagar el 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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
+msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
+msgstr "El apagado controlado permite al router cumplir los acuerdos que ya ha hecho antes de apagar, pero puede tardar unos minutos."
 
-#: ../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:307
+msgid "If you need to kill the router immediately, that option is available as well."
+msgstr "Si tiene que apagar el router inmediatamente, también tiene esa opción"
 
-#: ../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:317
+msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
+msgstr "Si deseas que el router se reinicie después del apagado, puedes elegir una de las siguientes opciones."
 
-#: ../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:319
+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 "Esto es útil en algunas situaciones - por ejemplo, si has cambiado algunas opciones de aplicaciones cliente que sólo se leen al iniciar, como la contraseña de la consola del router o tu interfaz de escucha."
 
-#: ../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:321
+msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
+msgstr "Un reinicio controlado tardará unos minutos (pero tus pares te agradecerán tu paciencia), mientras que un reinicio duro lo hace inmediatamente."
 
-#: ../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:323
+msgid "After tearing down the router, it will wait 1 minute before starting back up again."
+msgstr "Después de apagar completamente el router, esperará 1 minuto antes de volverse a iniciar."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "Systray integration"
-msgstr ""
+msgstr "integración con la bandeja del sistema"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
-msgid ""
-"On the windows platform, there is a small application to sit in the system "
-"tray, allowing you to view the router's status"
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+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 "En la plataforma Windows, hay una pequeña aplicación que se queda en la bandeja del sistema, lo que le permite ver el estado del router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
-msgid ""
-"(later on, I2P client applications will be able to integrate their own "
-"functionality into the system tray as well)."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)."
+msgstr "(Más adelante, las aplicaciones I2P de clientes serán capaces de integrar su propia funcionalidad en la bandeja de sistema también)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
 msgid "If you are on windows, you can either enable or disable that icon here."
-msgstr ""
+msgstr "Si usted está en Windows, puede activar o desactivar ese icono que aquí."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "Show systray icon"
-msgstr ""
+msgstr "Mostrar icono de la bandeja del sistema"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Hide systray icon"
-msgstr ""
+msgstr "Ocultar icono de la bandeja del sistema"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:345
 msgid "Run on startup"
-msgstr "Lanzar al iniciar el enrutador"
+msgstr "Lanzar al iniciar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
-msgid ""
-"You can control whether I2P is run on startup or not by selecting one of the "
-"following options - I2P will install (or remove) a service accordingly."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+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 "Puede controlar si I2P se ejecuta en el arranque o no seleccionando una de las siguientes opciones - I2P instalará (o eliminará) un servicio en consecuencia."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
 msgid "If you prefer the command line, you can also run the "
-msgstr ""
+msgstr "Si usted prefiere la línea de comandos, también puede ejecutar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
-msgid ""
-"If you are running I2P as service right now, removing it will shut down your "
-"router immediately."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
+msgstr "Si está ejecutando I2p como servicio en este momento, quitarlo hará que se apague el router de inmediato."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
-msgid ""
-"You may want to consider shutting down gracefully, as above, then running "
-"uninstall_i2p_service_winnt.bat."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
+msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
+msgstr "Es posible que desees considerar el apagado controlado como se indica arriba, para ello, ejecuta uninstall_i2p_service_winnt.bat."
 
-#: ../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:365
 msgid "Debugging"
-msgstr ""
+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:367
 msgid "View the job queue"
 msgstr "Ver cola de tareas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
-msgid ""
-"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
-"please select the following option and review the thread dumped to <a href="
-"\"logs.jsp#servicelogs\">wrapper.log</a>."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:371
+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 "A veces, puede ser útil depurar I2P consiguiendo un volcado de hilo. Para ello, selecciona la opción siguiente y revisa el dump en <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:377
 msgid "Launch browser on router startup?"
-msgstr ""
+msgstr "Iniciar el navegador al arrancar el 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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:379
+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 "La interfaz de configuración principal de I2P es esta consola Web. Para tu comodidad I2P puede lanzar el navegador web en al iniciar apuntando a"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:113
 msgid "config stats"
-msgstr ""
+msgstr "config de estadísticas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:250
 msgid "I2P Stats Configuration"
 msgstr "Ajustes de Estadísticas 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:320
 msgid "Configure I2P Stat Collection"
-msgstr ""
+msgstr "Configurar colección de estadísticas I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:322
 msgid "Enable full stats?"
-msgstr ""
+msgstr "Habilitar estadísticas completas?"
 
-#: ../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:329
 msgid "change requires restart to take effect"
-msgstr ""
+msgstr "cambiar esto requiere reiniciar para que los cambios surtan efecto"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:331
 msgid "Stat file"
-msgstr ""
+msgstr "Archivo de estadísticas"
 
-#: ../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:335
 msgid "Filter"
 msgstr "Filtro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:348
 msgid "toggle all"
-msgstr ""
+msgstr "cambiar todos"
 
-#: ../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:350
 msgid "Log"
-msgstr ""
+msgstr "Registro"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:352
 msgid "Graph"
 msgstr "Gráficas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:391
 msgid "Advanced filter"
-msgstr ""
+msgstr "Filtro avanzado"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:112
 msgid "config tunnels"
 msgstr "Configuración de túneles"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:262
 msgid "I2P Tunnel Configuration"
-msgstr "Configuración de los túneles I2P"
+msgstr "Configuración de túneles I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:328
 msgid "The default settings work for most people."
-msgstr ""
+msgstr "La configuración por defecto funciona para la mayoría de gente."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
 msgid "There is a fundamental tradeoff between anonymity and performance."
-msgstr ""
+msgstr "Hay un equilibrio fundamental entre el anonimato y el rendimiento."
 
-#: ../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:335
+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 "Los túneles de más de tres saltos (por ejemplo, 2 + 0-2 saltos, 3 saltos+ 0-1 saltos, 3 saltos + 0-2 saltos), o una alta cantidad incluyendo túneles de respaldo, pueden reducir severamente el rendimiento o la fiabilidad."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "High CPU and/or high outbound bandwidth usage may result."
-msgstr ""
+msgstr "Puede resultar en un uso alto de CPU y/o un uso de gran ancho de banda de salida "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
 msgid "Change these settings with care, and adjust them if you have problems."
-msgstr ""
+msgstr "Cambia esta configuración con cuidado, y ajústala en caso de tener problemas."
 
-#: ../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:351
+msgid "Exploratory tunnel setting changes are stored in the router.config file."
+msgstr "Los cambios en los túneles exploratorios se almacenan en el archivo router.config."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:354
 msgid "Client tunnel changes are temporary and are not saved."
-msgstr ""
+msgstr "Los cambios en túnel de cliente son de carácter temporal y no se guardan."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:356
 msgid "To make permanent client tunnel changes see the"
-msgstr ""
+msgstr "Para hacer cambios permanentes al túnel de cliente ve a la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:358
 msgid "i2ptunnel page"
-msgstr ""
+msgstr "Página túnel I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:112
 msgid "config UI"
 msgstr "configuración IU"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:262
 msgid "I2P UI Configuration"
 msgstr "Interfaz de Usuario"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:314
 msgid "Router Console Theme"
-msgstr ""
+msgstr "Tema de la Consola del Router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:339
 msgid "Theme selection disabled for Internet Explorer, sorry."
-msgstr ""
+msgstr "Lo sentimos, pero la selección de temas está deshabilitada para Internet Explorer."
 
-#: ../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:341
+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 "Si no estás utilizando Internet Explorer, es probable que tu navegador se esté haciendo pasar por el IE, por favor, configura tu navegador (o proxy) para utilizar un agente de usuario diferente si deseas acceder a los temas de la consola."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345
 msgid "Router Console Language"
-msgstr ""
+msgstr "Idioma de la Consola del Router"
 
-#: ../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:349
+msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
+msgstr "Por favor, contribuye al proyecto de traducción de la consola del router. Ponte en contacto con los desarrolladores en el IRC #I2P o #I2P-ES para ayudar."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353
 msgid "Apply"
 msgstr "Aplicar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:112
 msgid "config update"
 msgstr "Actualización de la configuración"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:249
 msgid "I2P Update Configuration"
 msgstr "Configuración de actualizaciones I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Check for I2P and news updates"
-msgstr ""
+msgstr "Comprobar si hay actualizaciones de I2P o noticias"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:323
 msgid "News &amp; I2P Updates"
 msgstr "Noticias &amp; actualizaciones de I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update In Progress"
 msgstr "Actualizando"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "News URL"
 msgstr "URL de noticias"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "Refresh frequency"
 msgstr "Frecuencia de actualización"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:345
 msgid "Update policy"
-msgstr ""
+msgstr "Política de actualizaciones"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:349
 msgid "Update through the eepProxy?"
-msgstr "¿Actualizar ustilizando el eeProxy?"
+msgstr "¿Actualizar utilizando el eepProxy?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:353
 msgid "eepProxy host"
-msgstr ""
+msgstr "host eepProxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:357
 msgid "eepProxy port"
-msgstr ""
+msgstr "puerto eepProxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "Update URLs"
-msgstr ""
+msgstr "URLs de actualizaciones"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Trusted keys"
 msgstr "Claves confiadas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
 msgid "Update with unsigned development builds?"
-msgstr ""
+msgstr "Actualizar con las versiones en desarrollo no firmadas?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
 msgid "Unsigned Build URL"
-msgstr ""
+msgstr "URL de versión no firmada"
 
-#: ../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:379
+msgid "I2P updates are disabled because you do not have write permission for the install directory."
+msgstr "Las actualizaciones de I2P están desactivadas porque no tienes permiso de escritura en el directorio de la instalación."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:385
 msgid "Save"
 msgstr "Guardar"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
 msgid "Internal Error"
-msgstr ""
+msgstr "Error interno"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
 msgid "Router Console"
-msgstr "Console del Enrutador I2P"
+msgstr "Consola del Router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:127
 msgid "Configuration"
-msgstr "Configuración IP"
+msgstr "Configuración"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:135
 msgid "Sorry! There has been an internal error."
-msgstr ""
+msgstr "Lo sentimos! Se ha producido un error interno."
 
 #. 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
+#: ../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:254
 #, java-format
 msgid "Please report bugs on {0} or {1}."
-msgstr ""
+msgstr "Por favor, informar sobre errores en {0} o {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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:258
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "Se puede utilizar el nombre de usuario \"guest\" y contraseña \"guest\" si no desea registrarse."
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:145
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:260
 msgid "Please include this information in bug reports"
-msgstr ""
+msgstr "Por favor, incluya esta información en los informes de error"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:147
 msgid "Error Details"
-msgstr ""
+msgstr "Detalles del error"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
-#, fuzzy, java-format
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:149
+#, java-format
 msgid "Error {0}"
-msgstr "Error 404"
+msgstr "Error {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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:169
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:250
 msgid "I2P Version and Running Environment"
-msgstr ""
+msgstr "Versión I2P y medio de ejecución"
 
-#: ../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/error500_jsp.java:197
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:288
+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 "Tenga en cuenta que la información del sistema, las marcas de tiempo del registro y los mensajes del registro pueden proporcionar pistas sobre su ubicación, por favor, revise todos los datos que se incluyen en un informe de error."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:123
 msgid "Page Not Found"
 msgstr "Página no encontrada"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
-msgid ""
-"Sorry! You appear to be requesting a non-existent Router Console page or "
-"resource."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:264
+msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
+msgstr "Lo sentimos! Pareces estar intentando entrar en una página de Consola de Router inexistente u otro recurso."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:266
 msgid "Error 404"
 msgstr "Error 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:271
 msgid "not found"
 msgstr "no encontrado"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:112
 msgid "graphs"
 msgstr "gráficas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:249
 msgid "I2P Performance Graphs"
-msgstr ""
+msgstr "Gráficos de rendimiento I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:111
 msgid "home"
-msgstr "página de inicio"
+msgstr "Página de Inicio"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:331
+msgid "Welcome to I2P"
+msgstr "¡Bienvenido a I2P!"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:111
 msgid "job queue"
 msgstr "cola de tareas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:248
 msgid "I2P Router Job Queue"
-msgstr ""
+msgstr "Cola de trabajos del router I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:111
 msgid "logs"
-msgstr ""
+msgstr "registros"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:248
 msgid "I2P Router Logs"
-msgstr ""
+msgstr "Registros del Router I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:303
 msgid "Critical Logs"
-msgstr ""
+msgstr "Registros críticos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:307
 msgid "Router Logs"
-msgstr ""
+msgstr "Registros del Router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:313
 msgid "Service (Wrapper) Logs"
-msgstr ""
+msgstr "Registros de Servicio (Wrapper)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:111
 msgid "network database summary"
-msgstr ""
+msgstr "Resumen de la base de datos de red"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:248
 msgid "I2P Network Database Summary"
-msgstr ""
+msgstr "Resumen de la base de datos de red I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:115
 msgid "WebApp Not Found"
-msgstr ""
+msgstr "Aplicación web no encontrada"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:252
 msgid "Web Application Not Running"
-msgstr ""
+msgstr "La Aplicación Web no se está ejecutando"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:254
 msgid "The requested web application is not running."
-msgstr ""
+msgstr "La aplicación Web solicitada no se está ejecutando"
 
-#: ../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/nowebapp_jsp.java:256
+msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
+msgstr "Por favor visita la <a href=\"/configclients.jsp#webapp\">página de configuración de clientes</a> para iniciarla."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:111
 msgid "peer connections"
 msgstr "conexiones con pares"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:248
 msgid "I2P Network Peers"
-msgstr ""
+msgstr "pares de la red I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:111
 msgid "peer profiles"
 msgstr "perfiles de los pares"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:248
 msgid "I2P Network Peer Profiles"
-msgstr ""
+msgstr "Perfiles de los pares de la red I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:111
 msgid "statistics"
 msgstr "estadísticas"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:265
 msgid "I2P Router Statistics"
-msgstr "Estadísticas del enrutador I2P"
+msgstr "Estadísticas del router I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:255
 #, java-format
 msgid "Disable {0} Refresh"
-msgstr "Deshabilitar el recargar cada {0}"
+msgstr "Deshabilitar la recarga de cada {0}"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:111
 msgid "tunnel summary"
-msgstr ""
+msgstr "Sumario de tuneles"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:248
 msgid "I2P Tunnel Summary"
-msgstr ""
-
-#~ msgid "hour"
-#~ msgstr "hora"
-
-#~ msgid "minutes"
-#~ msgstr "minutos"
-
-#~ msgid "This is useful in some situations"
-#~ msgstr "C'est utile dans certains cas"
+msgstr "Sumario de tuneles I2P"
 
-#~ msgid "Start Now"
-#~ msgstr "Démarrer tout de suite"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:111
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:248
+msgid "Peer Profile"
+msgstr "Perfil de pares"
 
-#~ msgid "Depth"
-#~ msgstr "Profondeur"
-
-#~ msgid "view without"
-#~ msgstr "montrer sans"
-
-#~ msgid "view with"
-#~ msgstr "montrer avec"
-
-#~ msgid "Show the router's workload, and how it's performing"
-#~ msgstr "Montrer les tâches en cours"
-
-#~ msgid "Jobs"
-#~ msgstr "Tâches"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:275
+#, java-format
+msgid "Profile for peer {0}"
+msgstr "Perfil para par {0}"
 
-#~ msgid "Tunnels in/out"
-#~ msgstr "Tunnels entrants/sortants"
diff --git a/apps/routerconsole/locale/messages_fr.po b/apps/routerconsole/locale/messages_fr.po
index 96286f0774fccdbd281baa0a6b8d32fe5f13ae26..e5a733652ca68845bbb20f30fff3ae56665ef774 100644
--- a/apps/routerconsole/locale/messages_fr.po
+++ b/apps/routerconsole/locale/messages_fr.po
@@ -8,16 +8,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-03 18:28+0000\n"
-"PO-Revision-Date: 2010-11-19 20:04+0100\n"
-"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
-"Language-Team: foo <foo@bar>\n"
+"POT-Creation-Date: 2011-05-18 10:29+0000\n"
+"PO-Revision-Date: 2011-05-18 13:35+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
+"Language-Team: I2P Project <foo@bar>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: French\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n >= 2)\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
@@ -27,262 +27,249 @@ msgstr ""
 #. {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:1141
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1140
 #, java-format
 msgid "1 ms"
 msgid_plural "{0,number,####} ms"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0,number,####}ms"
+msgstr[1] "{0,number,####}ms"
 
 #. seconds
 #. Note to translators: quantity will always be greater than one.
 #. alternates: secs, sec. 'seconds' is probably too long.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1146
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1145
 #, java-format
 msgid "1 sec"
 msgid_plural "{0} sec"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0}s"
+msgstr[1] "{0}s"
 
 #. minutes
 #. Note to translators: quantity will always be greater than one.
 #. alternates: mins, min. 'minutes' is probably too long.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1151
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1150
 #, java-format
 msgid "1 min"
 msgid_plural "{0} min"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0}mn"
+msgstr[1] "{0}mn"
 
 #. hours
 #. Note to translators: quantity will always be greater than one.
 #. alternates: hrs, hr., hrs.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1156
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1155
 #, java-format
 msgid "1 hour"
 msgid_plural "{0} hours"
-msgstr[0] "1 heure"
-msgstr[1] "{0} heures"
+msgstr[0] "{0}h"
+msgstr[1] "{0}h"
 
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1158
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1157
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:314
 msgid "n/a"
-msgstr ""
+msgstr "n/d"
 
 #. days
 #. Note to translators: quantity will always be greater than one.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1162
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1161
 #, java-format
 msgid "1 day"
 msgid_plural "{0} days"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0}j"
+msgstr[1] "{0}j"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:122
 #, java-format
 msgid "Banned by router hash: {0}"
-msgstr ""
+msgstr "Banni(s) par hachage routeur: {0}"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:124
-#, fuzzy
 msgid "Banned by router hash"
-msgstr "Pairs interdits"
+msgstr "Banni via hachage du routeur"
 
 #. Temporary reason, until the job finishes
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:669
 msgid "IP banned"
-msgstr "IP interdit"
+msgstr "IP bannie"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:739
 #, java-format
 msgid "IP banned by blocklist.txt entry {0}"
-msgstr ""
+msgstr "IP bannie(s) via entrée blocklist.txt {0}"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:92
 msgid "Rejecting tunnels: Shutting down"
-msgstr ""
+msgstr "Refuse les tunnels: (arrêt en cours)"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:141
 msgid "Rejecting tunnels: High message delay"
-msgstr ""
+msgstr "Refus de tunnels: (délai de messages élevé)"
 
 #. 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 ""
+msgstr "Refuse la plupart des tunnels: (trop de requêtes)"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:233
 msgid "Rejecting tunnels: Limit reached"
-msgstr ""
+msgstr "Refus de tunnels: (limite atteinte)"
 
 #. .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 ""
+msgstr "Refus de tunnels: (limite de bande passante)"
 
 #. 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 ""
+msgstr "Refuse la plupart des tunnels: (limite de bande passante)"
 
 #. hard to do {0} from here
 #. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375
-#, fuzzy
 msgid "Accepting most tunnels"
-msgstr "tunnels participants"
+msgstr "Accepte la plupart des tunnels"
 
 #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:377
 msgid "Accepting tunnels"
-msgstr ""
+msgstr "Accepte les tunnels"
 
 #. 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
-#, fuzzy
 msgid "Rejecting tunnels"
-msgstr "Configuration des tunnels"
+msgstr "Refus des tunnels"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:125
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
-#, fuzzy
 msgid "Reseeding"
-msgstr "Test en cours"
+msgstr "Réamorçage"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:141
 #, java-format
 msgid "Reseed fetched only 1 router."
 msgid_plural "Reseed fetched only {0} routers."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Le réamorçage n'a trouvé qu'un seul routeur."
+msgstr[1] "Le réamorçage n''a trouvé que {0} routeurs."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
-#, fuzzy
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:148
 msgid "Reseed failed."
-msgstr "Test en cours"
+msgstr "Échec de réamorçage"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:149
 #, java-format
 msgid "See {0} for help."
-msgstr ""
+msgstr "Voir {0} pour l''aide."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
-#, fuzzy
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
 msgid "reseed configuration page"
-msgstr "Aide avec la configuration"
+msgstr "page de configuration du réamorçage"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:293
 msgid "Reseeding: fetching seed URL."
-msgstr ""
+msgstr "Réamorçage: collecte des URL sources."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:335
 #, java-format
-msgid ""
-"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
-msgstr ""
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr "Réamorçage: collecte routerInfo depuis l''URL source ({0} réussie, {1} erreurs)."
 
 #: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
 msgid "NetDb entry"
-msgstr ""
+msgstr "Entrée netDb"
 
 #. 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 ""
+msgstr "Pas de transports (masqués ou en cours de démarrage?)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450
 msgid "Unreachable on any transport"
-msgstr ""
+msgstr "Inaccessible sur tout transport"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499
 msgid "Router Transport Addresses"
-msgstr ""
+msgstr "Adresses de transport du routeur"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504
 #, java-format
 msgid "{0} is used for outbound connections only"
-msgstr ""
+msgstr "{0} est utilisé seulement pour les connexions sortantes"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
 msgid "Help"
-msgstr ""
+msgstr "Aide"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
-msgid ""
-"Your transport connection limits are automatically set based on your "
-"configured bandwidth."
-msgstr ""
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr "Vos limites de connexion de transport sont réglées automatiquement selon votre configuration de bande passante."
 
 #: ../../../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 ""
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr "Pour modifier ces limites, ajoutez  les réglages i2np.ntcp.maxConnections=nnn et i2np.udp.maxConnections=nnn dans la configuration avancée."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
 msgid "Definitions"
 msgstr "Définitions"
 
 #: ../../../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/ntcp/NTCPTransport.java:737
 #: ../../../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/ProfileOrganizerRenderer.java:189
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
 msgid "Peer"
 msgstr "Pair"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 msgid "The remote peer, identified by router hash"
-msgstr ""
+msgstr "Le pair distant, identifié par son hachage routeur"
 
 #: ../../../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/ntcp/NTCPTransport.java:738
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Dir"
-msgstr ""
+msgstr "Sens"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
-#, fuzzy
 msgid "Inbound connection"
-msgstr "Options Entrants"
+msgstr "Connexion entrante"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
-#, fuzzy
 msgid "Outbound connection"
-msgstr "Options Sortants"
+msgstr "Connexion sortante"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
 msgid "They offered to introduce us (help other peers traverse our firewall)"
-msgstr ""
+msgstr "A proposé de nous représenter (aide de la part d'autres pairs pour traverser notre pare-feu)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
 msgid "We offered to introduce them (help other peers traverse their firewall)"
-msgstr ""
+msgstr "Nous avons proposé de le représenter (aide à d'autres pairs pour traverser passer leur pare-feu)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "How long since a packet has been received / sent"
-msgstr ""
+msgstr "Temps écoulé depuis la dernière réception/émission d'un paquet "
 
 #: ../../../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/ntcp/NTCPTransport.java:739
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Idle"
-msgstr ""
+msgstr "En attente"
 
 #: ../../../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/ntcp/NTCPTransport.java:740
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
@@ -290,291 +277,398 @@ msgstr "Entrant/Sortant"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
-msgstr ""
+msgstr "Taux de transfert entrant/sortant lissé (ko/s)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "How long ago this connection was established"
-msgstr ""
+msgstr "Depuis combien de temps cette connexion est établie"
 
 #: ../../../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/ntcp/NTCPTransport.java:741
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Up"
-msgstr ""
+msgstr "En marche"
 
 #: ../../../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/ntcp/NTCPTransport.java:742
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
 msgid "Skew"
-msgstr ""
+msgstr "Dérive"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "The difference between the peer's clock and your own"
-msgstr ""
+msgstr "Écart de temps entre l'horloge du pair et la votre"
 
 #: ../../../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 ""
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr "Fenêtre de congestion, en nombre d'octets transmissibles sans acquittement"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The number of sent messages awaiting acknowledgement"
-msgstr ""
+msgstr "Nombre de messages en attente d'acquittement"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The maximum number of concurrent messages to send"
-msgstr ""
+msgstr "Nombre maximum de messages simultanés à envoyer"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The number of pending sends which exceed congestion window"
-msgstr ""
+msgstr "Nombre d'envois en attente qui débordent de la fenêtre de congestion"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The slow start threshold"
-msgstr ""
+msgstr "Seuil de démarrage lent"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The round trip time in milliseconds"
-msgstr ""
+msgstr "Aller-retour en ms"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Dev"
-msgstr ""
+msgstr "Deviat."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The standard deviation of the round trip time in milliseconds"
-msgstr ""
+msgstr "Dérive standard d'aller-retour en ms"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The retransmit timeout in milliseconds"
-msgstr ""
+msgstr "Délai de retransmission en millisecondes"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
-msgid ""
-"Current maximum send packet size / estimated maximum receive packet size "
-"(bytes)"
-msgstr ""
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr "Taille actuelle maximum de paquet envoyé / taille maximum estimée de paquet reçu (octets) "
 
 #: ../../../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/ntcp/NTCPTransport.java:743
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "TX"
-msgstr ""
+msgstr "TX"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid "The total number of packets sent to the peer"
-msgstr ""
+msgstr "Nombre de paquets envoyés au pair"
 
 #: ../../../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/ntcp/NTCPTransport.java:744
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "RX"
-msgstr ""
+msgstr "RX"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets received from the peer"
-msgstr ""
+msgstr "Nombre de paquets reçus du pair"
 
 #: ../../../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 ""
+msgstr "TX dupl."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets retransmitted to the peer"
-msgstr ""
+msgstr "Nombre de paquets retransmis au pair"
 
 #: ../../../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 ""
+msgstr "RX dupl."
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of duplicate packets received from the peer"
-msgstr ""
+msgstr "Nombre de paquets en double reçus du pair"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:402
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+msgid "Service"
+msgstr "Service"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:404
+msgid "WAN Common Interface Configuration"
+msgstr "Configuration de l'interface commune Internet"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:405
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:411
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:421
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:426
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:86
+msgid "Status"
+msgstr "État"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:406
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:412
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:422
+msgid "Type"
+msgstr "Type"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:407
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:413
+msgid "Upstream"
+msgstr "Montant"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:408
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:414
+msgid "Downstream"
+msgstr "Descendant"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:410
+msgid "WAN PPP Connection"
+msgstr "Connexion Internet PPP"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:415
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:423
+msgid "External IP"
+msgstr "Adresse IP externe"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:417
+msgid "Layer 3 Forwarding"
+msgstr "Transfert niveau 3"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:418
+msgid "Default Connection Service"
+msgstr "Service de connexion par défaut"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:420
+msgid "WAN IP Connection"
+msgstr "Connexion IP Internet"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:425
+msgid "WAN Ethernet Link Configuration"
+msgstr "Configuration du lien Ethernet Internet"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:438
+msgid "Found Device"
+msgstr "Appareil détecté"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:440
+msgid "Subdevice"
+msgstr "Service"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:461
+msgid "UPnP Status"
+msgstr "État d'UPnP"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:464
+msgid "UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?"
+msgstr "UPnP a été désactivé; peut-être avez-vous plus d'une passerelle Internet avec UPnP activé sur votre réseau local."
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:467
+msgid "UPnP has not found any UPnP-aware, compatible device on your LAN."
+msgstr "UPnP n'a pas trouvé de passerelle compatible sur votre réseau local."
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:475
+#, java-format
+msgid "The current external IP address reported by UPnP is {0}"
+msgstr "Adresse IP externe détectée par UPnP : {0}"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:477
+msgid "The current external IP address is not available."
+msgstr "L'adresse IP externe n'est pas disponible."
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:481
+#, java-format
+msgid "UPnP reports the maximum downstream bit rate is {0}bits/sec"
+msgstr "UPnP indique un débit descendant maximum de  {0}b/s"
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:483
+#, java-format
+msgid "UPnP reports the maximum upstream bit rate is {0}bits/sec"
+msgstr "UPnP indique un débit montant maximum de  {0}b/s"
+
+#. {0} is TCP or UDP
+#. {1,number,#####} prevents 12345 from being output as 12,345 in the English locale.
+#. If you want the digit separator in your locale, translate as {1}.
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:492
+#, java-format
+msgid "{0} port {1,number,#####} was successfully forwarded by UPnP."
+msgstr "Le port {0} {1,number,#####} est correctement transféré par UPnP."
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:494
+#, java-format
+msgid "{0} port {1,number,#####} was not forwarded by UPnP."
+msgstr "Le port {0} {1,number,#####} n'est pas transféré par UPnP."
+
+#: ../../../router/java/src/net/i2p/router/transport/UPnPManager.java:161
+msgid "UPnP is not enabled"
+msgstr "UPnP n'est pas activé"
 
 #: ../../../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 ""
+msgstr "Décalage excessif de l''horloge: {0}"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
 msgid "NTCP connections"
 msgstr "connexions NTCP"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:733
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886
 msgid "Limit"
-msgstr ""
+msgstr "Limite"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:734
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
 msgid "Timeout"
-msgstr ""
+msgstr "Échéance"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:745
 msgid "Out Queue"
-msgstr ""
+msgstr "File de sortie"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
-#, fuzzy
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:746
 msgid "Backlogged?"
-msgstr "Retard accumulé"
+msgstr "Réinscrit?"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Inbound"
 msgstr "Entrant"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:762
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Outbound"
 msgstr "Sortant"
 
 #. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
-#, fuzzy
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:809
 msgid "peers"
 msgstr "Pairs"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
-#, fuzzy
 msgid "UDP connections"
 msgstr "connexions UDP"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
 msgid "Sort by peer hash"
-msgstr ""
+msgstr "Tri par hachage de pair"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Direction/Introduction"
-msgstr ""
+msgstr "Direction/Introduction"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
 msgid "Sort by idle inbound"
-msgstr ""
+msgstr "Tri par entrant inactif"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
 msgid "Sort by idle outbound"
-msgstr ""
+msgstr "Tri par sortant inactif"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
 msgid "Sort by inbound rate"
-msgstr ""
+msgstr "Tri par taux entrant"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
 msgid "Sort by outbound rate"
-msgstr ""
+msgstr "Tri par taux sortant"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
 msgid "Sort by connection uptime"
-msgstr ""
+msgstr "Tri par durée de connexion"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
 msgid "Sort by clock skew"
-msgstr ""
+msgstr "Tri par décalage d'horloge"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
 msgid "Sort by congestion window"
-msgstr ""
+msgstr "Tri par fenêtre de congestion"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
 msgid "Sort by slow start threshold"
-msgstr ""
+msgstr "Tri par seuil de démarrage lent"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
 msgid "Sort by round trip time"
-msgstr ""
+msgstr "Tri par durée d'aller-retour"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
 msgid "Sort by round trip time deviation"
-msgstr ""
+msgstr "Tri par dérive de durée d'aller-retour"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
 msgid "Sort by retransmission timeout"
-msgstr ""
+msgstr "Tri pas dépassement de durée de retransmission"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
 msgid "Sort by outbound maximum transmit unit"
-msgstr ""
+msgstr "Tri par MTU sortant"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
 msgid "Sort by packets sent"
-msgstr ""
+msgstr "Tri par paquets envoyés"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
 msgid "Sort by packets received"
-msgstr ""
+msgstr "Tri par paquets reçus"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930
 msgid "Sort by packets retransmitted"
-msgstr ""
+msgstr "Tri par paquets renvoyés"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932
 msgid "Sort by packets received more than once"
-msgstr ""
+msgstr "Tri par paquet reçus multiples"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1953
 msgid "We offered to introduce them"
-msgstr ""
+msgstr "Propositions de présentation à"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1955
 msgid "They offered to introduce us"
-msgstr ""
+msgstr "Ont proposé leur service"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1959
 msgid "Choked"
-msgstr ""
+msgstr "Choqué"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1967
 msgid "1 fail"
-msgstr ""
+msgstr "1 échec"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1969
 #, java-format
 msgid "{0} fails"
-msgstr ""
+msgstr "{0} échecs"
 
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1975
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
 msgid "Banned"
-msgstr "Prohibé"
+msgstr "Banni"
 
 #. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2106
 msgid "SUMMARY"
-msgstr ""
+msgstr "RÉSUMÉ"
 
 #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:124
 msgid "Dropping tunnel requests: Too slow"
-msgstr ""
+msgstr "Perte de demandes de tunnels: Trop lent"
 
 #. don't even bother, since we are so overloaded locally
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:267
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:270
 msgid "Dropping tunnel requests: Overloaded"
-msgstr ""
+msgstr "Perte de demandes de tunnnels: Surchargé"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:460
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:473
 msgid "Rejecting tunnels: Request overload"
-msgstr ""
+msgstr "Rejet de tunnels: Surcharge de requêtes "
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:485
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:498
 msgid "Rejecting tunnels: Connection limit"
-msgstr ""
+msgstr "Rejet de tunnels: Limite de connexions"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:685
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:706
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:698
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:719
 msgid "Dropping tunnel requests: High load"
-msgstr ""
+msgstr "Perte de tunnels: Forte charge"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:698
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:711
 msgid "Dropping tunnel requests: Queue time"
-msgstr ""
+msgstr "Demandes de fermeture de tunnel: temps en file d'attente"
 
 #. 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!!
@@ -584,19 +678,19 @@ msgstr "Andorre"
 
 #: ../java/build/Countries.java:4
 msgid "United Arab Emirates"
-msgstr ""
+msgstr "Émirats arabes unis"
 
 #: ../java/build/Countries.java:5
 msgid "Afghanistan"
-msgstr ""
+msgstr "Afghanistan"
 
 #: ../java/build/Countries.java:6
 msgid "Antigua and Barbuda"
-msgstr ""
+msgstr "Antigua-et-Barbuda"
 
 #: ../java/build/Countries.java:7
 msgid "Anguilla"
-msgstr ""
+msgstr "Anguilla"
 
 #: ../java/build/Countries.java:8
 msgid "Albania"
@@ -604,19 +698,19 @@ msgstr "Albanie"
 
 #: ../java/build/Countries.java:9
 msgid "Armenia"
-msgstr ""
+msgstr "Arménie"
 
 #: ../java/build/Countries.java:10
 msgid "Netherlands Antilles"
-msgstr ""
+msgstr "Antilles néerlandaises"
 
 #: ../java/build/Countries.java:11
 msgid "Angola"
-msgstr ""
+msgstr "Angola"
 
 #: ../java/build/Countries.java:12
 msgid "Antarctica"
-msgstr ""
+msgstr "Antarctique"
 
 #: ../java/build/Countries.java:13
 msgid "Argentina"
@@ -624,7 +718,7 @@ msgstr "Argentine"
 
 #: ../java/build/Countries.java:14
 msgid "American Samoa"
-msgstr ""
+msgstr "Samoa américanes"
 
 #: ../java/build/Countries.java:15
 msgid "Austria"
@@ -632,63 +726,63 @@ msgstr "Autriche"
 
 #: ../java/build/Countries.java:16
 msgid "Australia"
-msgstr ""
+msgstr "Australie"
 
 #: ../java/build/Countries.java:17
 msgid "Aruba"
-msgstr ""
+msgstr "Aruba"
 
 #: ../java/build/Countries.java:19
 msgid "Azerbaijan"
-msgstr ""
+msgstr "Azerbaïdjan"
 
 #: ../java/build/Countries.java:20
 msgid "Bosnia and Herzegovina"
-msgstr ""
+msgstr "Bosnie Herzégovine"
 
 #: ../java/build/Countries.java:21
 msgid "Barbados"
-msgstr ""
+msgstr "Barbades"
 
 #: ../java/build/Countries.java:22
 msgid "Bangladesh"
-msgstr ""
+msgstr "Bangladesh"
 
 #: ../java/build/Countries.java:23
 msgid "Belgium"
-msgstr ""
+msgstr "Belgique"
 
 #: ../java/build/Countries.java:24
 msgid "Burkina Faso"
-msgstr ""
+msgstr "Burkina Faso"
 
 #: ../java/build/Countries.java:25
 msgid "Bulgaria"
-msgstr ""
+msgstr "Bulgarie"
 
 #: ../java/build/Countries.java:26
 msgid "Bahrain"
-msgstr ""
+msgstr "Bahreïn"
 
 #: ../java/build/Countries.java:27
 msgid "Burundi"
-msgstr ""
+msgstr "Burundi"
 
 #: ../java/build/Countries.java:28
 msgid "Benin"
-msgstr ""
+msgstr "Benin"
 
 #: ../java/build/Countries.java:29
 msgid "Bermuda"
-msgstr ""
+msgstr "Bermudes"
 
 #: ../java/build/Countries.java:30
 msgid "Brunei Darussalam"
-msgstr ""
+msgstr "Brunei"
 
 #: ../java/build/Countries.java:31
 msgid "Bolivia"
-msgstr ""
+msgstr "Bolivie"
 
 #: ../java/build/Countries.java:32
 msgid "Brazil"
@@ -696,95 +790,95 @@ msgstr "Brésil"
 
 #: ../java/build/Countries.java:33
 msgid "Bahamas"
-msgstr ""
+msgstr "Bahamas"
 
 #: ../java/build/Countries.java:34
 msgid "Bhutan"
-msgstr ""
+msgstr "Bhoutan"
 
 #: ../java/build/Countries.java:35
 msgid "Bouvet Island"
-msgstr ""
+msgstr "ÃŽle Bouvet"
 
 #: ../java/build/Countries.java:36
 msgid "Botswana"
-msgstr ""
+msgstr "Botswana"
 
 #: ../java/build/Countries.java:37
 msgid "Belarus"
-msgstr ""
+msgstr "Biélorussie"
 
 #: ../java/build/Countries.java:38
 msgid "Belize"
-msgstr ""
+msgstr "Bélize"
 
 #: ../java/build/Countries.java:39
 msgid "Canada"
-msgstr ""
+msgstr "Canada"
 
 #: ../java/build/Countries.java:40
 msgid "The Democratic Republic of the Congo"
-msgstr ""
+msgstr "République démocratique du Congo"
 
 #: ../java/build/Countries.java:41
 msgid "Central African Republic"
-msgstr ""
+msgstr "République centre africaine"
 
 #: ../java/build/Countries.java:42
 msgid "Congo"
-msgstr ""
+msgstr "Congo"
 
 #: ../java/build/Countries.java:43
 msgid "Switzerland"
-msgstr ""
+msgstr "Suisse"
 
 #: ../java/build/Countries.java:44
 msgid "Cote D'Ivoire"
-msgstr ""
+msgstr "Côte d'ivoire"
 
 #: ../java/build/Countries.java:45
 msgid "Cook Islands"
-msgstr ""
+msgstr "ÃŽles Cook"
 
 #: ../java/build/Countries.java:46
 msgid "Chile"
-msgstr ""
+msgstr "Chili"
 
 #: ../java/build/Countries.java:47
 msgid "Cameroon"
-msgstr ""
+msgstr "Cameroun"
 
 #: ../java/build/Countries.java:48
 msgid "China"
-msgstr ""
+msgstr "Chine"
 
 #: ../java/build/Countries.java:49
 msgid "Colombia"
-msgstr ""
+msgstr "Colombie"
 
 #: ../java/build/Countries.java:50
 msgid "Costa Rica"
-msgstr ""
+msgstr "Costa Rica"
 
 #: ../java/build/Countries.java:51
 msgid "Serbia and Montenegro"
-msgstr ""
+msgstr "Serbie-et-Monténégro"
 
 #: ../java/build/Countries.java:52
 msgid "Cuba"
-msgstr ""
+msgstr "Cuba"
 
 #: ../java/build/Countries.java:53
 msgid "Cape Verde"
-msgstr ""
+msgstr "Cap-Vert"
 
 #: ../java/build/Countries.java:54
 msgid "Cyprus"
-msgstr ""
+msgstr "Chypre"
 
 #: ../java/build/Countries.java:55
 msgid "Czech Republic"
-msgstr ""
+msgstr "République Tchèque"
 
 #: ../java/build/Countries.java:56
 msgid "Germany"
@@ -792,67 +886,67 @@ msgstr "Allemagne"
 
 #: ../java/build/Countries.java:57
 msgid "Djibouti"
-msgstr ""
+msgstr "Djibouti"
 
 #: ../java/build/Countries.java:58
 msgid "Denmark"
-msgstr ""
+msgstr "Danemark"
 
 #: ../java/build/Countries.java:59
 msgid "Dominica"
-msgstr ""
+msgstr "Dominique"
 
 #: ../java/build/Countries.java:60
 msgid "Dominican Republic"
-msgstr ""
+msgstr "République Dominicaine"
 
 #: ../java/build/Countries.java:61
 msgid "Algeria"
-msgstr ""
+msgstr "Algérie"
 
 #: ../java/build/Countries.java:62
 msgid "Ecuador"
-msgstr ""
+msgstr "Équateur"
 
 #: ../java/build/Countries.java:63
 msgid "Estonia"
-msgstr ""
+msgstr "Estonie"
 
 #: ../java/build/Countries.java:64
 msgid "Egypt"
-msgstr ""
+msgstr "Égypte"
 
 #: ../java/build/Countries.java:65
 msgid "Eritrea"
-msgstr ""
+msgstr "Érythrée"
 
 #: ../java/build/Countries.java:66
 msgid "Spain"
-msgstr ""
+msgstr "Espagne"
 
 #: ../java/build/Countries.java:67
 msgid "Ethiopia"
-msgstr ""
+msgstr "Éthiopie"
 
 #: ../java/build/Countries.java:68
 msgid "Finland"
-msgstr ""
+msgstr "Finlande"
 
 #: ../java/build/Countries.java:69
 msgid "Fiji"
-msgstr ""
+msgstr "Fidji"
 
 #: ../java/build/Countries.java:70
 msgid "Falkland Islands (Malvinas)"
-msgstr ""
+msgstr "Malouines"
 
 #: ../java/build/Countries.java:71
 msgid "Federated States of Micronesia"
-msgstr ""
+msgstr "Micronésie"
 
 #: ../java/build/Countries.java:72
 msgid "Faroe Islands"
-msgstr ""
+msgstr "Féroé"
 
 #: ../java/build/Countries.java:73
 msgid "France"
@@ -860,660 +954,661 @@ msgstr "France"
 
 #: ../java/build/Countries.java:74
 msgid "Gabon"
-msgstr ""
+msgstr "Gabon"
 
 #: ../java/build/Countries.java:75
 msgid "United Kingdom"
-msgstr ""
+msgstr "Royaume uni"
 
 #: ../java/build/Countries.java:76
 msgid "Grenada"
-msgstr ""
+msgstr "Grenade"
 
 #: ../java/build/Countries.java:77
 msgid "Georgia"
-msgstr ""
+msgstr "Géorgie"
 
 #: ../java/build/Countries.java:78
 msgid "French Guiana"
-msgstr ""
+msgstr "Guyane française"
 
 #: ../java/build/Countries.java:79
 msgid "Ghana"
-msgstr ""
+msgstr "Ghana"
 
 #: ../java/build/Countries.java:80
 msgid "Gibraltar"
-msgstr ""
+msgstr "Gibraltar"
 
 #: ../java/build/Countries.java:81
 msgid "Greenland"
-msgstr ""
+msgstr "Groenland"
 
 #: ../java/build/Countries.java:82
 msgid "Gambia"
-msgstr ""
+msgstr "Gambie"
 
 #: ../java/build/Countries.java:83
 msgid "Guinea"
-msgstr ""
+msgstr "Guinée"
 
 #: ../java/build/Countries.java:84
 msgid "Guadeloupe"
-msgstr ""
+msgstr "Guadeloupe"
 
 #: ../java/build/Countries.java:85
 msgid "Equatorial Guinea"
-msgstr ""
+msgstr "Guinée équatoriale"
 
 #: ../java/build/Countries.java:86
 msgid "Greece"
-msgstr ""
+msgstr "Grèce"
 
 #: ../java/build/Countries.java:87
 msgid "South Georgia and the South Sandwich Islands"
-msgstr ""
+msgstr "Géorgie et Sandwich du sud"
 
 #: ../java/build/Countries.java:88
 msgid "Guatemala"
-msgstr ""
+msgstr "Guatémala"
 
 #: ../java/build/Countries.java:89
 msgid "Guam"
-msgstr ""
+msgstr "Guam"
 
 #: ../java/build/Countries.java:90
 msgid "Guinea-Bissau"
-msgstr ""
+msgstr "Guinée-Bissau"
 
 #: ../java/build/Countries.java:91
 msgid "Guyana"
-msgstr ""
+msgstr "Guyane"
 
 #: ../java/build/Countries.java:92
 msgid "Hong Kong"
-msgstr ""
+msgstr "Hong Kong"
 
 #: ../java/build/Countries.java:93
 msgid "Honduras"
-msgstr ""
+msgstr "Honduras"
 
 #: ../java/build/Countries.java:94
 msgid "Croatia"
-msgstr ""
+msgstr "Croatie"
 
 #: ../java/build/Countries.java:95
 msgid "Haiti"
-msgstr ""
+msgstr "Haïti"
 
 #: ../java/build/Countries.java:96
 msgid "Hungary"
-msgstr ""
+msgstr "Hongrie"
 
 #: ../java/build/Countries.java:97
 msgid "Indonesia"
-msgstr ""
+msgstr "Indonésie"
 
 #: ../java/build/Countries.java:98
 msgid "Ireland"
-msgstr ""
+msgstr "Irlande"
 
 #: ../java/build/Countries.java:99
 msgid "Israel"
-msgstr ""
+msgstr "Israël"
 
 #: ../java/build/Countries.java:101
 msgid "India"
-msgstr ""
+msgstr "Inde"
 
 #: ../java/build/Countries.java:102
 msgid "British Indian Ocean Territory"
-msgstr ""
+msgstr "Territoire britannique de l'océan Indien"
 
 #: ../java/build/Countries.java:103
 msgid "Iraq"
-msgstr ""
+msgstr "Irak"
 
 #: ../java/build/Countries.java:104
 msgid "Islamic Republic of Iran"
-msgstr ""
+msgstr "Iran"
 
 #: ../java/build/Countries.java:105
 msgid "Iceland"
-msgstr ""
+msgstr "Islande"
 
 #: ../java/build/Countries.java:106
 msgid "Italy"
-msgstr ""
+msgstr "Italie"
 
 #: ../java/build/Countries.java:108
 msgid "Jamaica"
-msgstr ""
+msgstr "Jamaïque"
 
 #: ../java/build/Countries.java:109
 msgid "Jordan"
-msgstr ""
+msgstr "Jordanie"
 
 #: ../java/build/Countries.java:110
 msgid "Japan"
-msgstr ""
+msgstr "Japon"
 
 #: ../java/build/Countries.java:111
 msgid "Kenya"
-msgstr ""
+msgstr "Kenya"
 
 #: ../java/build/Countries.java:112
 msgid "Kyrgyzstan"
-msgstr ""
+msgstr "Kirghizistan"
 
 #: ../java/build/Countries.java:113
 msgid "Cambodia"
-msgstr ""
+msgstr "Cambodge"
 
 #: ../java/build/Countries.java:114
 msgid "Kiribati"
-msgstr ""
+msgstr "Kiribati"
 
 #: ../java/build/Countries.java:115
 msgid "Comoros"
-msgstr ""
+msgstr "Comores"
 
 #: ../java/build/Countries.java:116
 msgid "Saint Kitts and Nevis"
-msgstr ""
+msgstr "Saint-Christophe-et-Niévès"
 
 #: ../java/build/Countries.java:117
 msgid "Republic of Korea"
-msgstr ""
+msgstr "Corée"
 
 #: ../java/build/Countries.java:118
 msgid "Kuwait"
-msgstr ""
+msgstr "Koweit"
 
 #: ../java/build/Countries.java:119
 msgid "Cayman Islands"
-msgstr ""
+msgstr "Caïman"
 
 #: ../java/build/Countries.java:120
 msgid "Kazakhstan"
-msgstr ""
+msgstr "Kazakhstan"
 
 #: ../java/build/Countries.java:121
 msgid "Lao People's Democratic Republic"
-msgstr ""
+msgstr "Laos"
 
 #: ../java/build/Countries.java:122
 msgid "Lebanon"
-msgstr ""
+msgstr "Liban"
 
 #: ../java/build/Countries.java:123
 msgid "Saint Lucia"
-msgstr ""
+msgstr "Sainte Lucie"
 
 #: ../java/build/Countries.java:124
 msgid "Liechtenstein"
-msgstr ""
+msgstr "Liechtenstein"
 
 #: ../java/build/Countries.java:125
 msgid "Sri Lanka"
-msgstr ""
+msgstr "Sri Lanka"
 
 #: ../java/build/Countries.java:126
 msgid "Liberia"
-msgstr ""
+msgstr "Libéria"
 
 #: ../java/build/Countries.java:127
 msgid "Lesotho"
-msgstr ""
+msgstr "Lesotho"
 
 #: ../java/build/Countries.java:128
 msgid "Lithuania"
-msgstr ""
+msgstr "Lithuanie"
 
 #: ../java/build/Countries.java:129
 msgid "Luxembourg"
-msgstr ""
+msgstr "Luxembourg"
 
 #: ../java/build/Countries.java:130
 msgid "Latvia"
-msgstr ""
+msgstr "Lettonie"
 
 #: ../java/build/Countries.java:131
 msgid "Libyan Arab Jamahiriya"
-msgstr ""
+msgstr "Libye"
 
 #: ../java/build/Countries.java:132
 msgid "Morocco"
-msgstr ""
+msgstr "Maroc"
 
 #: ../java/build/Countries.java:133
 msgid "Monaco"
-msgstr ""
+msgstr "Monaco"
 
 #: ../java/build/Countries.java:134
 msgid "Republic of Moldova"
-msgstr ""
+msgstr "Moldavie"
 
 #: ../java/build/Countries.java:137
 msgid "Madagascar"
-msgstr ""
+msgstr "Madagascar"
 
 #: ../java/build/Countries.java:138
 msgid "Marshall Islands"
-msgstr ""
+msgstr "Marshall"
 
 #: ../java/build/Countries.java:139
 msgid "The Former Yugoslav Republic of Macedonia"
-msgstr ""
+msgstr "Macédoine"
 
 #: ../java/build/Countries.java:140
 msgid "Mali"
-msgstr ""
+msgstr "Mali"
 
 #: ../java/build/Countries.java:141
 msgid "Myanmar"
-msgstr ""
+msgstr "Birmanie"
 
 #: ../java/build/Countries.java:142
 msgid "Mongolia"
-msgstr ""
+msgstr "Mongolie"
 
 #: ../java/build/Countries.java:143
 msgid "Macao"
-msgstr ""
+msgstr "Macao"
 
 #: ../java/build/Countries.java:144
 msgid "Northern Mariana Islands"
-msgstr ""
+msgstr "Mariannes"
 
 #: ../java/build/Countries.java:145
 msgid "Martinique"
-msgstr ""
+msgstr "Martinique"
 
 #: ../java/build/Countries.java:146
 msgid "Mauritania"
-msgstr ""
+msgstr "Mauritanie"
 
 #: ../java/build/Countries.java:147
 msgid "Montserrat"
-msgstr ""
+msgstr "Montserrat"
 
 #: ../java/build/Countries.java:148
 msgid "Malta"
-msgstr ""
+msgstr "Malte"
 
 #: ../java/build/Countries.java:149
 msgid "Mauritius"
-msgstr ""
+msgstr "Maurice"
 
 #: ../java/build/Countries.java:150
 msgid "Maldives"
-msgstr ""
+msgstr "Maldives"
 
 #: ../java/build/Countries.java:151
 msgid "Malawi"
-msgstr ""
+msgstr "Malawi"
 
 #: ../java/build/Countries.java:152
 msgid "Mexico"
-msgstr ""
+msgstr "Mexique"
 
 #: ../java/build/Countries.java:153
 msgid "Malaysia"
-msgstr ""
+msgstr "Malaisie"
 
 #: ../java/build/Countries.java:154
 msgid "Mozambique"
-msgstr ""
+msgstr "Mozambique"
 
 #: ../java/build/Countries.java:155
 msgid "Namibia"
-msgstr ""
+msgstr "Namibie"
 
 #: ../java/build/Countries.java:156
 msgid "New Caledonia"
-msgstr ""
+msgstr "Nouvelle Calédonie"
 
 #: ../java/build/Countries.java:157
 msgid "Niger"
-msgstr ""
+msgstr "Niger"
 
 #: ../java/build/Countries.java:158
 msgid "Norfolk Island"
-msgstr ""
+msgstr "Norfolk"
 
 #: ../java/build/Countries.java:159
 msgid "Nigeria"
-msgstr ""
+msgstr "Nigéria"
 
 #: ../java/build/Countries.java:160
 msgid "Nicaragua"
-msgstr ""
+msgstr "Nicaragua"
 
 #: ../java/build/Countries.java:161
 msgid "Netherlands"
-msgstr ""
+msgstr "Pays bas"
 
 #: ../java/build/Countries.java:162
 msgid "Norway"
-msgstr ""
+msgstr "Norvège"
 
 #: ../java/build/Countries.java:163
 msgid "Nepal"
-msgstr ""
+msgstr "Népal"
 
 #: ../java/build/Countries.java:164
 msgid "Nauru"
-msgstr ""
+msgstr "Nauru"
 
 #: ../java/build/Countries.java:165
 msgid "Niue"
-msgstr ""
+msgstr "Niue"
 
 #: ../java/build/Countries.java:166
 msgid "New Zealand"
-msgstr ""
+msgstr "Nouvelle Zélande"
 
 #: ../java/build/Countries.java:167
 msgid "Oman"
-msgstr ""
+msgstr "Oman"
 
 #: ../java/build/Countries.java:168
 msgid "Panama"
-msgstr ""
+msgstr "Panama"
 
 #: ../java/build/Countries.java:169
 msgid "Peru"
-msgstr ""
+msgstr "Pérou"
 
 #: ../java/build/Countries.java:170
 msgid "French Polynesia"
-msgstr ""
+msgstr "Polynésie française"
 
 #: ../java/build/Countries.java:171
 msgid "Papua New Guinea"
-msgstr ""
+msgstr "Papouasie-Nouvelle-Guinée"
 
 #: ../java/build/Countries.java:172
 msgid "Philippines"
-msgstr ""
+msgstr "Philippines"
 
 #: ../java/build/Countries.java:173
 msgid "Pakistan"
-msgstr ""
+msgstr "Pakistan"
 
 #: ../java/build/Countries.java:174
 msgid "Poland"
-msgstr ""
+msgstr "Pologne"
 
 #: ../java/build/Countries.java:175
 msgid "Saint Pierre and Miquelon"
-msgstr ""
+msgstr "Saint Pierre et Miquelon"
 
 #: ../java/build/Countries.java:176
 msgid "Puerto Rico"
-msgstr ""
+msgstr "Porto Rico"
 
 #: ../java/build/Countries.java:177
 msgid "Palestinian Territory"
-msgstr ""
+msgstr "Palestine"
 
 #: ../java/build/Countries.java:178
 msgid "Portugal"
-msgstr ""
+msgstr "Portugal"
 
 #: ../java/build/Countries.java:179
 msgid "Palau"
-msgstr ""
+msgstr "Palaos"
 
 #: ../java/build/Countries.java:180
 msgid "Paraguay"
-msgstr ""
+msgstr "Paraguay"
 
 #: ../java/build/Countries.java:181
 msgid "Qatar"
-msgstr ""
+msgstr "Qatar"
 
 #: ../java/build/Countries.java:182
 msgid "Reunion"
-msgstr ""
+msgstr "Réunion"
 
 #: ../java/build/Countries.java:183
 msgid "Romania"
-msgstr ""
+msgstr "Roumanie"
 
 #: ../java/build/Countries.java:184
 msgid "Serbia"
-msgstr ""
+msgstr "Serbie"
 
 #: ../java/build/Countries.java:185
 msgid "Russian Federation"
-msgstr ""
+msgstr "Russie"
 
 #: ../java/build/Countries.java:186
 msgid "Rwanda"
-msgstr ""
+msgstr "Rwanda"
 
 #: ../java/build/Countries.java:187
 msgid "Saudi Arabia"
-msgstr ""
+msgstr "Arabie Saoudite"
 
 #: ../java/build/Countries.java:188
 msgid "Solomon Islands"
-msgstr ""
+msgstr "Salomon"
 
 #: ../java/build/Countries.java:189
 msgid "Seychelles"
-msgstr ""
+msgstr "Seychelles"
 
 #: ../java/build/Countries.java:190
 msgid "Sudan"
-msgstr ""
+msgstr "Soudan"
 
 #: ../java/build/Countries.java:191
 msgid "Sweden"
-msgstr ""
+msgstr "Suède"
 
 #: ../java/build/Countries.java:192
 msgid "Singapore"
-msgstr ""
+msgstr "Singapour"
 
 #: ../java/build/Countries.java:193
 msgid "Slovenia"
-msgstr ""
+msgstr "Slovénie"
 
 #: ../java/build/Countries.java:194
 msgid "Slovakia"
-msgstr ""
+msgstr "Slovaquie"
 
 #: ../java/build/Countries.java:195
 msgid "Sierra Leone"
-msgstr ""
+msgstr "Sierra Leone"
 
 #: ../java/build/Countries.java:196
 msgid "San Marino"
-msgstr ""
+msgstr "Saint Marin"
 
 #: ../java/build/Countries.java:197
 msgid "Senegal"
-msgstr ""
+msgstr "Sénégal"
 
 #: ../java/build/Countries.java:198
 msgid "Somalia"
-msgstr ""
+msgstr "Somalie"
 
 #: ../java/build/Countries.java:199
 msgid "Suriname"
-msgstr ""
+msgstr "Surinam"
 
 #: ../java/build/Countries.java:200
 msgid "Sao Tome and Principe"
-msgstr ""
+msgstr "Sao Tome e Principe"
 
 #: ../java/build/Countries.java:201
 msgid "El Salvador"
-msgstr ""
+msgstr "Salvador"
 
 #: ../java/build/Countries.java:202
 msgid "Syrian Arab Republic"
-msgstr ""
+msgstr "Syrie"
 
 #: ../java/build/Countries.java:203
 msgid "Swaziland"
-msgstr ""
+msgstr "Swaziland"
 
 #: ../java/build/Countries.java:204
 msgid "Turks and Caicos Islands"
-msgstr ""
+msgstr "Turques-et-Caïques"
 
 #: ../java/build/Countries.java:205
 msgid "Chad"
-msgstr ""
+msgstr "Tchad"
 
 #: ../java/build/Countries.java:206
 msgid "French Southern Territories"
-msgstr ""
+msgstr "Terres australes et antarctiques françaises"
 
 #: ../java/build/Countries.java:207
 msgid "Togo"
-msgstr ""
+msgstr "Togo"
 
 #: ../java/build/Countries.java:208
 msgid "Thailand"
-msgstr ""
+msgstr "Thaïlande"
 
 #: ../java/build/Countries.java:209
 msgid "Tajikistan"
-msgstr ""
+msgstr "Tadjikistan"
 
 #: ../java/build/Countries.java:210
 msgid "Tokelau"
-msgstr ""
+msgstr "Tokelau"
 
 #: ../java/build/Countries.java:211
 msgid "Timor-Leste"
-msgstr ""
+msgstr "Timor oriental"
 
 #: ../java/build/Countries.java:212
 msgid "Turkmenistan"
-msgstr ""
+msgstr "Turkménistan"
 
 #: ../java/build/Countries.java:213
 msgid "Tunisia"
-msgstr ""
+msgstr "Tunisie"
 
 #: ../java/build/Countries.java:214
 msgid "Tonga"
-msgstr ""
+msgstr "Tonga"
 
 #: ../java/build/Countries.java:215
 msgid "Turkey"
-msgstr ""
+msgstr "Turquie"
 
 #: ../java/build/Countries.java:216
 msgid "Trinidad and Tobago"
-msgstr ""
+msgstr "Trinidad et Tobago"
 
 #: ../java/build/Countries.java:217
 msgid "Tuvalu"
-msgstr ""
+msgstr "Tuvalu"
 
 #: ../java/build/Countries.java:218
 msgid "Taiwan"
-msgstr ""
+msgstr "Taiwan"
 
 #: ../java/build/Countries.java:219
 msgid "United Republic of Tanzania"
-msgstr ""
+msgstr "Tanzanie"
 
 #: ../java/build/Countries.java:220
 msgid "Ukraine"
-msgstr ""
+msgstr "Ukraine"
 
 #: ../java/build/Countries.java:221
 msgid "Uganda"
-msgstr ""
+msgstr "Ouganda"
 
 #: ../java/build/Countries.java:222
 msgid "United States Minor Outlying Islands"
-msgstr ""
+msgstr "Îles mineures éloignées des États-Unis"
 
 #: ../java/build/Countries.java:223
 msgid "United States"
-msgstr ""
+msgstr "États unis"
 
 #: ../java/build/Countries.java:224
 msgid "Uruguay"
-msgstr ""
+msgstr "Uruguay"
 
 #: ../java/build/Countries.java:225
 msgid "Uzbekistan"
-msgstr ""
+msgstr "Ouzbékistan"
 
 #: ../java/build/Countries.java:226
 msgid "Holy See (Vatican City State)"
-msgstr ""
+msgstr "Vatican"
 
 #: ../java/build/Countries.java:227
 msgid "Saint Vincent and the Grenadines"
-msgstr ""
+msgstr "Saint-Vincent-et-les Grenadines"
 
 #: ../java/build/Countries.java:228
 msgid "Venezuela"
-msgstr ""
+msgstr "Venezuela"
 
-#: ../java/build/Countries.java:229 ../java/build/Countries.java:230
+#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:230
 msgid "Virgin Islands"
-msgstr ""
+msgstr "Ïles Vierges"
 
 #: ../java/build/Countries.java:231
 msgid "Viet Nam"
-msgstr ""
+msgstr "Viêt Nam"
 
 #: ../java/build/Countries.java:232
 msgid "Vanuatu"
-msgstr ""
+msgstr "Vanuatu"
 
 #: ../java/build/Countries.java:233
 msgid "Wallis and Futuna"
-msgstr ""
+msgstr "Wallis et Futuna"
 
 #: ../java/build/Countries.java:234
 msgid "Samoa"
-msgstr ""
+msgstr "Samoa"
 
 #: ../java/build/Countries.java:235
 msgid "Yemen"
-msgstr ""
+msgstr "Yémen"
 
 #: ../java/build/Countries.java:236
 msgid "Mayotte"
-msgstr ""
+msgstr "Mayotte"
 
 #: ../java/build/Countries.java:237
 msgid "South Africa"
-msgstr ""
+msgstr "Afrique du sud"
 
 #: ../java/build/Countries.java:238
 msgid "Zambia"
-msgstr ""
+msgstr "Zambie"
 
 #: ../java/build/Countries.java:239
 msgid "Zimbabwe"
-msgstr ""
+msgstr "Zimbabwe"
 
-#: ../java/src/net/i2p/router/web/CSSHelper.java:58
+#: ../java/src/net/i2p/router/web/CSSHelper.java:60
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:125
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:257
 msgid "I2P Router Console"
 msgstr "Console du routeur I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:57
 msgid "Error updating the configuration - please see the error logs"
-msgstr ""
+msgstr "Erreur pendant la mise à jour de la configuration: contrôlez les historiques"
 
 #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:69
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:266
@@ -1522,57 +1617,53 @@ msgstr "Configuration sauvegardé avec succès"
 
 #: ../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 ""
+msgid "Error saving the configuration (applied but not saved) - please see the error logs"
+msgstr "Erreur pendant l'enregistrement de la configuration (appliquée mais non sauvegardée): contrôlez les historiques"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
 msgid "Save Client Configuration"
-msgstr "Sauvegarder Configuration Client "
+msgstr "Enregistrer la configuration du client "
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
 msgid "Save Interface Configuration"
-msgstr "Sauvegarder Configuration Client "
+msgstr "Enregistrer la configuration de l'interface"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:441
 msgid "Save WebApp Configuration"
-msgstr ""
+msgstr "Enregistrer la configuration WebApp"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:453
 msgid "Save Plugin Configuration"
-msgstr "Sauvegarder Configuration Client "
+msgstr "Enregistrer la configuration du greffon"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:461
 msgid "Install Plugin"
-msgstr ""
+msgstr "Installer le greffon"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87
 #, java-format
 msgid "Deleted plugin {0}"
-msgstr ""
+msgstr "Greffon {0} supprimé"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89
 #, java-format
 msgid "Error deleting plugin {0}"
-msgstr ""
+msgstr "Erreur de suppression du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101
 #, java-format
 msgid "Stopped plugin {0}"
-msgstr ""
+msgstr "Greffon {0} arrêté"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103
 #, java-format
 msgid "Error stopping plugin {0}"
-msgstr ""
+msgstr "Erreur d''arrêt du greffon {0}"
 
 #. label (IE)
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124
@@ -1589,27 +1680,24 @@ msgstr "Non supportée"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189
 msgid "New client added"
-msgstr ""
+msgstr "Nouveau client ajouté"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
-msgid ""
-"Client configuration saved successfully - restart required to take effect."
-msgstr ""
-"La configuration du client a été sauvegardé avec succès - redémarrer pour "
-"prendre effet. "
+msgid "Client configuration saved successfully - restart required to take effect."
+msgstr "La configuration du client a été sauvegardé avec succès - redémarrer pour prendre effet. "
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 msgid "Bad client index."
-msgstr ""
+msgstr "Index client incorrect."
 
 #: ../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/SummaryBarRenderer.java:392
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:384
 msgid "Client"
-msgstr "Client"
+msgstr "Clients"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
@@ -1618,21 +1706,20 @@ msgstr "démarré"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
 msgid "deleted"
-msgstr ""
+msgstr "effacé"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240
 msgid "WebApp configuration saved."
 msgstr "Sauvegardé configuration WebApp"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256
-#, fuzzy
 msgid "Plugin configuration saved."
-msgstr "Configuration Client"
+msgstr "Configuration du greffon enregistrée"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
 msgid "WebApp"
-msgstr ""
+msgstr "WebApp"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
 msgid "Failed to start"
@@ -1644,94 +1731,90 @@ msgstr "Pas pu trouver un serveur."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284
 msgid "No plugin URL specified."
-msgstr ""
+msgstr "URL du greffon non spécifiée."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
 #, java-format
 msgid "No update URL specified for {0}"
-msgstr ""
+msgstr "URL de mise à jour non spécifiée pour {0}"
 
 #: ../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 ""
+msgstr "Greffon ou téléchargement de mise à jour déjà en cours d'exécution."
 
 #: ../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 ""
+msgstr "Téléchargement greffon depuis {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329
-#, fuzzy, java-format
+#, java-format
 msgid "Checking plugin {0} for updates"
-msgstr "Chercher des mises à jour"
+msgstr "Cherche de mise à jour du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
 #, java-format
 msgid "Started plugin {0}"
-msgstr ""
+msgstr "Greffon {0} démarré"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341
 #, java-format
 msgid "Error starting plugin {0}"
-msgstr ""
+msgstr "Erreur de démarrage du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
-#, fuzzy
-msgid ""
-"Interface configuration saved successfully - restart required to take effect."
-msgstr ""
-"La configuration du client a été sauvegardé avec succès - redémarrer pour "
-"prendre effet. "
+msgid "Interface configuration saved successfully - restart required to take effect."
+msgstr "La configuration de l'interface a été sauvegardée avec succès - redémarrer pour prise en compte."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
 msgid "Edit"
-msgstr ""
+msgstr "Modifier"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Add Client"
-msgstr "Ajouter client"
+msgstr "Ajouter un client"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
 msgid "Class and arguments"
-msgstr ""
+msgstr "Classe et paramètres"
 
 #: ../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 ""
+msgstr "Actions"
 
 #: ../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 "Lancer au démarrage ?"
+msgstr "Lancé au démarrage"
 
 #: ../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 ""
+msgstr "Description"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
 msgid "Plugin"
-msgstr ""
+msgstr "Greffon"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Version"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:163
 msgid "Signed by"
-msgstr ""
+msgstr "Signé par"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:180
 msgid "Date"
@@ -1743,53 +1826,49 @@ msgstr "Autheur"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
 msgid "License"
-msgstr ""
+msgstr "Licence"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
 msgid "Website"
-msgstr ""
+msgstr "Site web"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
-#, fuzzy
 msgid "Update link"
-msgstr "Méthode de mise à jour"
+msgstr "Mise à jour du lien"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
 msgid "Stop"
-msgstr ""
+msgstr "Arrêt"
 
 #: ../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
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:80
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Check for updates"
-msgstr "Chercher des mises à jour"
+msgstr "Vérifier les mises à jour"
 
 #: ../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 "Mettre à jour"
+msgstr "Mise à jour"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
 #, java-format
 msgid "Are you sure you want to delete {0}?"
-msgstr ""
+msgstr "Voulez-vous vraiment supprimer {0}?"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:270
-#, fuzzy
 msgid "Delete"
-msgstr "Supprimer une clé"
+msgstr "Effacer"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343
 msgid "Add key"
-msgstr "Ajouter une clé"
+msgstr "Ajouter la clé"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341
 msgid "Delete key"
-msgstr "Supprimer une clé"
+msgstr "Supprimer la clé"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:21
 msgid "You must enter a destination"
@@ -1807,119 +1886,110 @@ msgstr "Clé pour"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
 msgid "added to keyring"
-msgstr "ajouté au porte-clés "
+msgstr "ajoutée au porte-clés "
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:36
 msgid "Invalid destination or key"
-msgstr "Destination ou clé pas valable"
+msgstr "Destination ou clé incorrecte"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
 msgid "removed from keyring"
-msgstr "enlévé du porte-clés"
+msgstr "enlevée du porte-clés"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:43
 msgid "not found in keyring"
-msgstr "pas trouvé sur le porte-clés"
+msgstr "pas trouvée sur le porte-clés"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:45
 msgid "Invalid destination"
-msgstr "Destination pas valable"
+msgstr "Destination incorrecte"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
 msgid "Log overrides updated"
-msgstr ""
+msgstr "Écrasement des historiques mis à jour"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
-#, fuzzy
 msgid "Log configuration saved"
-msgstr "Aide avec la configuration"
+msgstr "Configuration des historiques enregistrée"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
-msgid ""
-"Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
-msgstr ""
+msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr "Ajoutez des critères supplémentaires ci-dessus. Exemple: 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 ""
+msgid "Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN"
+msgstr "Ou mettez des entrées dans le fichier logger.config. Exemple 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"
-msgstr ""
+msgstr "Les niveaux autorisés sont DEBUG, INFO, WARN, ERROR, CRIT"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "CRIT"
-msgstr ""
+msgstr "CRIT"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "DEBUG"
-msgstr ""
+msgstr "DEBUG"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "ERROR"
-msgstr ""
+msgstr "ERROR"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "INFO"
-msgstr ""
+msgstr "INFO"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "WARN"
-msgstr ""
+msgstr "WARN"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
-#, fuzzy
 msgid "Remove"
-msgstr "Supprimir"
+msgstr "Supprimer"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
 msgid "Select a class to add"
-msgstr ""
+msgstr "Choisissez une classe à ajouter"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
 msgid "Network"
 msgstr "Réseau"
 
-#: ../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/src/net/i2p/router/web/SummaryBarRenderer.java:381
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
-msgstr ""
+msgstr "Tunnels"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
 msgid "UI"
-msgstr "IHM"
+msgstr "Apparence"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
 msgid "Clients"
 msgstr "Clients"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "Keyring"
 msgstr "Porte-clés"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
 msgid "Logging"
-msgstr "Enregistrements"
+msgstr "Historiques"
 
 #: ../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/src/net/i2p/router/web/SummaryBarRenderer.java:255
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "Pairs"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:389
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Statistiques"
@@ -1932,19 +2002,19 @@ msgstr "Avancé"
 #: ../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
+#: ../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:534
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:362
 msgid "Save changes"
-msgstr "Sauvegarder"
+msgstr "Enregistrer"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:121
 msgid "Rechecking router reachability..."
-msgstr ""
+msgstr "Vérification de l'accessibilité du routeur..."
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:153
 msgid "Updating IP address"
@@ -1952,31 +2022,31 @@ msgstr "Mise à jour d'adresse IP en cours"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:171
 msgid "Disabling TCP completely"
-msgstr ""
+msgstr "Désactivation complète de TCP"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:175
 msgid "Updating inbound TCP address to"
-msgstr ""
+msgstr "Mise à jour adresse TCP entrante à "
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:179
 msgid "Disabling inbound TCP"
-msgstr ""
+msgstr "Désactivation TCP entrant"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:181
 msgid "Updating inbound TCP address to auto"
-msgstr ""
+msgstr "Mise à jour adresse TCP entrante à \"Auto\""
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190
 msgid "Updating inbound TCP port to"
-msgstr ""
+msgstr "Mise à jour port TCP entrant à "
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:193
 msgid "Updating inbound TCP port to auto"
-msgstr ""
+msgstr "Mise à jour port TCP entrant à \"Auto\""
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
 msgid "Updating UDP port from"
-msgstr ""
+msgstr "Mise à jour port UDP de  "
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
 msgid "to"
@@ -1984,37 +2054,37 @@ msgstr "à"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:221
 msgid "Gracefully restarting into Hidden Router Mode"
-msgstr ""
+msgstr "Redémarrage respectueux en mode routeur caché"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:223
 msgid "Gracefully restarting to exit Hidden Router Mode"
-msgstr ""
+msgstr "Redémarrage respectueux pour sortie du mode routeur caché"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:232
 msgid "Enabling UPnP, restart required to take effect"
-msgstr ""
+msgstr "Activation UPnP, sera prise en compte au démarrage suivant"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:234
 msgid "Disabling UPnP, restart required to take effect"
-msgstr ""
+msgstr "Désactivation UPnP, sera prise en compte au démarrage suivant"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:242
 msgid "Enabling laptop mode"
-msgstr ""
+msgstr "Activation mode portable"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:244
 msgid "Disabling laptop mode"
-msgstr ""
+msgstr "Désactivation mode portable"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:250
 msgid "Requiring SSU introducers"
-msgstr ""
+msgstr "Nécessite des représentants SSU"
 
 #. 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 ""
+msgstr "Redémarrage respectueux en cours pour modifier l'adresse routeur publiée"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:314
 msgid "Updating bandwidth share percentage"
@@ -2039,21 +2109,21 @@ msgstr "bits par seconde"
 #: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173
 #, java-format
 msgid "or {0} bytes per month maximum"
-msgstr ""
+msgstr "= {0} o/mois  maximum"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:333
 msgid "Ban peer until restart"
 msgstr "Interdire pair jusqu'au redémarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:23
 #, java-format
 msgid "Manually banned via {0}"
-msgstr ""
+msgstr "Banni manuellement via {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
 msgid "banned until restart"
-msgstr "interdit jusqu'au rédémarrage"
+msgstr "banni jusqu'au redémarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:27
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:38
@@ -2062,9 +2132,9 @@ msgid "Invalid peer"
 msgstr "Pair pas valable"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Unban peer"
-msgstr ""
+msgstr "Banissement du pair levé"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
 msgid "unbanned"
@@ -2072,59 +2142,55 @@ msgstr "plus interdit"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
 msgid "is not currently banned"
-msgstr "n'est pas actuellement interdit"
+msgstr "n'est pas banni actuellement"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:361
 msgid "Adjust peer bonuses"
-msgstr ""
+msgstr "Ajuster les boni des pairs"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
 msgid "Bad speed value"
-msgstr ""
+msgstr "Valeur de vitesse incorrecte"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:52
 msgid "Bad capacity value"
 msgstr "Mauvaise valeur de capacité"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:17
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:368
 msgid "Save changes and reseed now"
-msgstr "Sauvegarder"
+msgstr "Sauvegarder et réamorcer"
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:21
-#, fuzzy
 msgid "Reseeding is already in progress"
-msgstr "Création d'un tunnel en cours"
+msgstr "Réamorçage déjà en cours"
 
 #. skip the nonce checking in ReseedHandler
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:24
 msgid "Starting reseed process"
-msgstr ""
+msgstr "Processus de réamorçage en cours."
 
 #: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:66
-#, fuzzy
 msgid "Configuration saved successfully."
-msgstr "Configuration sauvegardé avec succès"
+msgstr "Configuration sauvegardée"
 
 #. 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:311
 msgid "Shutdown immediately"
-msgstr "Fermer immédiatement"
+msgstr "Arrêter immédiatement"
 
 #. 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 "Annuler redémarrage"
+msgstr "Annuler l'arrêt"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:37
-#, fuzzy
 msgid "Cancel restart"
-msgstr "Redémarrage gracieux"
+msgstr "Annuler le redémarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:39
 msgid "Restart immediately"
@@ -2134,119 +2200,118 @@ msgstr "Redémarrer immédiatement"
 #. give the UI time to respond
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:43
 msgid "Restart"
-msgstr "Redémarrer"
+msgstr "Redémarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:46
 msgid "Shutdown"
-msgstr "Fermer"
+msgstr "Arrêt"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:59
-#, fuzzy
 msgid "Restart imminent"
-msgstr "Redémarrer immédiatement"
+msgstr "Redémarrage imminent"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:61
 msgid "Shutdown imminent"
-msgstr "Fermature imminente"
+msgstr "Arrêt imminent"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:65
 #, java-format
 msgid "Shutdown in {0}"
-msgstr "Fermature en {0}"
+msgstr "Arrêt dans {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:70
 #, java-format
 msgid "Restart in {0}"
-msgstr "Redémarrage en {0}"
+msgstr "Redémarrage dans {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Shutdown gracefully"
-msgstr "Fermer gracieusement"
+msgstr "Arrêt respectueux"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:56
 msgid "Graceful shutdown initiated"
-msgstr "Fermature gracieuse initiée"
+msgstr "Arrêt respectueux initialisé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:60
 msgid "Shutdown immediately!  boom bye bye bad bwoy"
-msgstr "Fermer immédiatement !"
+msgstr "Arrêt immédiat! (À la sauvage)"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:313
 msgid "Cancel graceful shutdown"
-msgstr "Annuler fermeture gracieux"
+msgstr "Annuler l'arrêt respectueux"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:63
 msgid "Graceful shutdown cancelled"
-msgstr "Fermeture gracieux annulée"
+msgstr "Arrêt respectueux annulé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Graceful restart"
-msgstr "Redémarrage gracieux"
+msgstr "Redémarrage respectueux"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:67
 msgid "Graceful restart requested"
-msgstr "Redémarrage gracieux demandé"
+msgstr "Redémarrage respectueux demandé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Hard restart"
-msgstr "Redémarrage immédiate"
+msgstr "Redémarrage immédiat"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:71
 msgid "Hard restart requested"
-msgstr "Redémarrage immédiate demandé"
+msgstr "Redémarrage immédiat demandé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:72
 msgid "Rekey and Restart"
-msgstr ""
+msgstr "Régénération de clé et redémarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:73
 msgid "Rekeying after graceful restart"
-msgstr ""
+msgstr "Régénaration clé après redémarrage respecteux"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:76
 msgid "Rekey and Shutdown"
-msgstr ""
+msgstr "Régénération clé et arrêt"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:77
 msgid "Rekeying after graceful shutdown"
-msgstr ""
+msgstr "Régénération clé après arrêt respectueux"
 
 #: ../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:353
 msgid "Run I2P on startup"
 msgstr "Lancer I2P au démarrage"
 
 #: ../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:355
 msgid "Don't run I2P on startup"
 msgstr "Ne pas lancer I2P au démarrage"
 
 #: ../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:373
 msgid "Dump threads"
-msgstr "Dump fils d'exécution"
+msgstr "Cliché des tâches"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../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:381
 msgid "View console on startup"
 msgstr "Montrer la console au démarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93
 msgid "Console is to be shown on startup"
-msgstr ""
+msgstr "Afficher la console au démarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:383
 msgid "Do not view console on startup"
 msgstr "Ne pas montrer la console au démarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
 msgid "Console is not to be shown on startup"
-msgstr ""
+msgstr "Ne pas afficher la console au démarrage"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105
 msgid "Service installed"
@@ -2254,128 +2319,124 @@ msgstr "Service installé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107
 msgid "Warning: unable to install the service"
-msgstr ""
+msgstr "Avertissement: impossible d'installer le service"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
 msgid "Service removed"
-msgstr "Service enlévé"
+msgstr "Service enlevé"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
 msgid "Warning: unable to remove the service"
-msgstr ""
+msgstr "Avertissement: impossible de désinstaller le service"
 
 #: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
 msgid "Stat filter and location updated successfully to"
-msgstr ""
+msgstr "Filtre de statistiques et emplacement mis à jour à "
 
 #: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
 msgid "Failed to update the stat filter and location"
-msgstr ""
+msgstr "Échec de mise à jour du filtre de statistiques et emplacement"
 
 #: ../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 ""
+msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
+msgstr "Liste des graphiques mise à jour. Peut nécessiter jusqu'à 60s pour être répercutée ici et la <a href=\"graphs.jsp\">page des graphiques</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:135
 msgid "Updated settings for all pools."
-msgstr ""
+msgstr "Mise à jour des réglages pour tous les groupes."
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
 msgid "Exploratory tunnel configuration saved successfully."
-msgstr "Configuration du tunnel exploratoire a été sauvegardé avec succès."
+msgstr "Configuration des tunnels exploratoires sauvegardée avec succès."
 
 #: ../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 ""
+msgid "Error saving the configuration (applied but not saved) - please see the error logs."
+msgstr "Erreur pendant l'enregistrement de la configuration (appliquée mais non sauvegardée): contrôlez les historiques"
 
 #. * dummies for translation
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
-msgstr[0] "1 saut"
+msgstr[0] "{0} saut"
 msgstr[1] "{0} sauts"
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:15
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{0} tunnel"
+msgstr[1] "{0} tunnels"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:35
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 msgid "Exploratory tunnels"
 msgstr "Tunnels exploratoires"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:46
-#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
-msgid "Client tunnels for"
-msgstr "Tunnels clients pour"
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:51
+#, java-format
+msgid "Client tunnels for {0}"
+msgstr "Tunnels clients pour {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
 msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
-msgstr ""
+msgstr "AVERTISSEMENT d'ANONYMAT: les réglages incluent des tunnels à 0 saut!"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:79
 msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
-msgstr ""
+msgstr "AVERTISSEMENT d'ANONYMAT: les réglages incluent des tunnels à 1 saut!"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "PERFORMANCE WARNING - Settings include very long tunnels."
-msgstr ""
+msgstr "AVERTISSEMENT de PERFORMANCES: les réglages incluent des tunnels très longs!"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:85
 msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
-msgstr ""
+msgstr "AVERTISSEMENT de PERFORMANCES: les réglages incluent un grand nombre de tunnels!"
 
 #. buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
 #. tunnel depth
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:92
 msgid "Length"
-msgstr ""
+msgstr "Longueur"
 
 #. tunnel depth variance
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:109
 msgid "Randomization"
-msgstr "Randomisation"
+msgstr "Aléas"
 
 #. tunnel quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:133
 msgid "Quantity"
-msgstr "Quantité"
+msgstr "Nombre"
 
 #. tunnel backup quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:150
 msgid "Backup quantity"
-msgstr "'Backup' quantité"
+msgstr "Secours"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:172
 msgid "Inbound options"
 msgstr "Options Entrants"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:185
 msgid "Outbound options"
 msgstr "Options Sortants"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:31
 msgid "Theme change saved."
-msgstr "Changement de thème sauvegardé."
+msgstr "Changement de thème enregistré."
 
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:33
 msgid "Refresh the page to view."
-msgstr ""
+msgstr "Réactualiser la page."
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
 msgid "Arabic"
-msgstr ""
+msgstr "Arabe"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "English"
@@ -2399,7 +2460,7 @@ msgstr "Néerlandais"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Portuguese"
-msgstr ""
+msgstr "Portugais"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Russian"
@@ -2413,51 +2474,49 @@ msgstr "Chinois"
 msgid "Swedish"
 msgstr "Suédois"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:85
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87
 msgid "Update available, attempting to download now"
-msgstr "Mise à jour disponible, en tentant de la télécharger actuellement"
+msgstr "Mise à jour disponible, essai de téléchargement en cours"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:89
 msgid "Update available, click button on left to download"
-msgstr ""
-"Mise à jour disponible, cliquez sur le bouton sur la gauche pour la "
-"télécharger"
+msgstr "Mise à jour disponible, cliquez sur le bouton de gauche pour la télécharger"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:95
 msgid "No update available"
 msgstr "Pas de mise à jour disponible"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:103
 msgid "Updating news URL to"
-msgstr ""
+msgstr "Mise à jour de l'URL de news vers "
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:111
 msgid "Updating proxy host to"
-msgstr ""
+msgstr "Mise à jour de l'hôte mandataire vers"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:119
 msgid "Updating proxy port to"
-msgstr ""
+msgstr "Mise à jour du port mandataire vers"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:132
 msgid "Updating refresh frequency to"
-msgstr ""
+msgstr "Mise à jour de la fréquence de rafraîchissement vers"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:139
 msgid "Updating update policy to"
-msgstr ""
+msgstr "Mise à jour de la stratégie de mises à jour vers"
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:148
 msgid "Updating update URLs."
-msgstr ""
+msgstr "Mise à jour de l'URL de mises à jour."
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:157
 msgid "Updating trusted keys."
-msgstr ""
+msgstr "Mise à jour des clefs de confiance."
 
-#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:165
 msgid "Updating unsigned update URL to"
-msgstr ""
+msgstr "Mise à jour de l'URL de mises à jour non signées vers"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
 #: ../java/src/net/i2p/router/web/GraphHelper.java:167
@@ -2466,7 +2525,7 @@ msgstr "Jamais"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:90
 msgid "Every"
-msgstr "Chaque"
+msgstr "Tou(te)s les"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:108
 msgid "Notify only"
@@ -2480,47 +2539,45 @@ msgstr "Télécharger et vérifier seulement"
 msgid "Download, verify, and restart"
 msgstr "Télécharger, vérifier et redémarrer"
 
-#: ../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/FormHandler.java:176
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr "Soumission de formulaire incorrecte: vous avez peut-être utilisé le bouton \"Page précédente\" ou \"Rechargement\" de votre navigateur. Merci de renvoyer."
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:93
 msgid "Combined bandwidth graph"
-msgstr ""
+msgstr "Graphique combiné de bandes passantes"
 
 #. e.g. "statname for 60m"
 #: ../java/src/net/i2p/router/web/GraphHelper.java:107
 #, java-format
 msgid "{0} for {1}"
-msgstr ""
+msgstr "{0} pour {1}"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Configure Graph Display"
-msgstr "Graphe affichage configuration"
+msgstr "Paramètres d'affichage des graphiques"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "Select Stats"
-msgstr ""
+msgstr "Choix des statistiques"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:150
 msgid "Periods"
-msgstr "Périodes"
+msgstr "Plage (mn)"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:151
 msgid "Plot averages"
 msgstr "Tracer les moyennes"
 
 #: ../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/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "or"
 msgstr "ou"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:152
 msgid "plot events"
-msgstr "tracer les événements"
+msgstr "les événements"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:153
 msgid "Image sizes"
@@ -2541,20 +2598,20 @@ msgstr "pixels"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:156
 msgid "Refresh delay"
-msgstr "Delai d'actualisation"
+msgstr "Actualiser toutes les"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:171
 msgid "Redraw"
-msgstr ""
+msgstr "Rafraîchir"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:203
 msgid "Graph settings saved"
-msgstr ""
+msgstr "Réglages des graphiques enregistrés"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:13
 #: ../java/src/net/i2p/router/web/LogsHelper.java:37
 msgid "File location"
-msgstr ""
+msgstr "Emplacement du fichier"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:34
 msgid "File not found"
@@ -2562,78 +2619,77 @@ msgstr "Fichier pas trouvé"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:52
 msgid "No log messages"
-msgstr ""
+msgstr "Historique vide"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:79
 msgid "Network Database RouterInfo Lookup"
-msgstr ""
+msgstr "Recherche RouterInfo dans la base de données du réseau "
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:94
 #: ../java/strings/Strings.java:68
 msgid "Router"
 msgstr "Routeur"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:94
 msgid "not found in network database"
-msgstr ""
+msgstr "non trouvé dans la NetDb"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:106
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "Network Database Contents"
-msgstr ""
+msgstr "Contenus NetDb"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
 msgid "View RouterInfo"
-msgstr ""
+msgstr "Retour synthèse routeurs"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
-#, fuzzy
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
 msgid "LeaseSets"
-msgstr "Bail"
+msgstr "Jeux de baux"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:130
 msgid "LeaseSet"
-msgstr ""
+msgstr "Jeu de baux"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:132
 msgid "Local"
-msgstr "Locale"
+msgstr "Local"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:134
 msgid "Unpublished"
 msgstr "Pas publié"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:142
 msgid "Destination"
-msgstr ""
+msgstr "Destination"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:152
 #, java-format
 msgid "Expires in {0}"
-msgstr "Expirera en {0}"
+msgstr "Expirera dans {0}"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:154
 #, java-format
 msgid "Expired {0} ago"
 msgstr "Périmé il y a {0}"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Gateway"
-msgstr ""
+msgstr "Passerelle"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
 msgid "Lease"
 msgstr "Bail"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:168
 msgid "Tunnel"
-msgstr ""
+msgstr "Tunnel"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "View LeaseSets"
-msgstr ""
+msgstr "Afficher les jeux de baux"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
 msgid "Not initialized"
@@ -2641,109 +2697,106 @@ msgstr "Pas initialisé"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
 msgid "Routers"
-msgstr "Routeurs"
+msgstr "Synthèse routeurs"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
-#, fuzzy
 msgid "Show all routers"
-msgstr "Fermer le routeur"
+msgstr "Afficher tous, avec statistiques basiques"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
 msgid "Show all routers with full stats"
-msgstr ""
+msgstr "Afficher tous, avec statistiques complètes"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
-#, fuzzy
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:266
 msgid "Network Database Router Statistics"
-msgstr "Statistiques du routeur I2P"
+msgstr "Statistiques NetDb du routeur "
 
-#: ../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
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Count"
-msgstr ""
+msgstr "Nombre"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
 msgid "Transports"
-msgstr ""
+msgstr "Transports"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Country"
 msgstr "Pays"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Our info"
-msgstr "Notre info"
+msgstr "Ce routeur"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:346
 msgid "Peer info for"
-msgstr "Mise à jour en cours"
+msgstr "Informations pair"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:350
 msgid "Full entry"
-msgstr ""
+msgstr "Détails"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "Hidden"
 msgstr "Caché"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 msgid "Updated"
-msgstr "Mise à jour fini"
+msgstr "Mise à jour terminée"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:360
+#, java-format
 msgid "{0} ago"
-msgstr "Périmé il y a {0}"
+msgstr "il y a {0}"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:359
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Published"
 msgstr "Publié il y a"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:365
 msgid "Address(es)"
 msgstr "Adresse(s)"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:378
 msgid "cost"
-msgstr ""
+msgstr "coût"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
-#, fuzzy
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "Hidden or starting up"
-msgstr "Lancer avec le démarrage du routeur"
+msgstr "Masqué ou en cours de démarrage"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU"
-msgstr ""
+msgstr "SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU with introducers"
-msgstr ""
+msgstr "SSU avec représentants"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP"
-msgstr ""
+msgstr "NTCP"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU"
-msgstr ""
+msgstr "NTCP et SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU with introducers"
-msgstr ""
+msgstr "NTCP et SSU avec représentants"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:92
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Actualités mises à jour il y a {0}"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:98
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Actualités vérifiés il y a {0}"
@@ -2751,165 +2804,162 @@ msgstr "Actualités vérifiés il y a {0}"
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
 #, java-format
 msgid "Cannot check, plugin {0} is not installed"
-msgstr ""
+msgstr "Non vérifiable, le greffon {0} n''est pas installé"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:129
-#, fuzzy, java-format
+#, java-format
 msgid "Checking for update of plugin {0}"
-msgstr "Chercher des mises à jour"
+msgstr "Recherche de mise à jour du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154
 #, java-format
 msgid "New plugin version {0} is available"
-msgstr ""
+msgstr "La nouvelle version {0} du greffon est disponible"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156
 #, java-format
 msgid "No new version is available for plugin {0}"
-msgstr ""
+msgstr "Pas de nouvelle version pour le greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:165
 #, java-format
 msgid "Update check failed for plugin {0}"
-msgstr ""
+msgstr "Échec de la vérification de mise à jour du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
-#, fuzzy
 msgid "Downloading plugin"
-msgstr "Télécharger pas signé"
+msgstr "Téléchargement greffon en cours"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:245
 #, java-format
 msgid "{0}B transferred"
-msgstr ""
+msgstr "{0}o transférés"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153
 msgid "Plugin downloaded"
-msgstr ""
+msgstr "Greffon téléchargé"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:356
 #, java-format
 msgid "Cannot create plugin directory {0}"
-msgstr ""
+msgstr "Impossible de créer le répertoire du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:299
 #, java-format
 msgid "from {0}"
-msgstr ""
+msgstr "depuis {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177
 #, java-format
 msgid "Plugin from {0} is corrupt"
-msgstr ""
+msgstr "Le greffon de {0} est corrompu"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
-msgstr ""
+msgstr "Le greffon de {0} ne contient pas le fichier de configuration requis"
 
 #. 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 ""
+msgstr "Le greffon de {0} contient une clef incorrecte."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:225
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:235
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:249
 #, java-format
 msgid "Plugin signature verification of {0} failed"
-msgstr ""
+msgstr "Échec de vérification de signature du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:264
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
-msgstr ""
+msgstr "La version ou le nom du greffon de  {0} est incorrect."
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:269
 #, java-format
 msgid "Plugin {0} has mismatched versions"
-msgstr ""
+msgstr "Versions désapairées du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:277
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
-msgstr ""
+msgstr "Ce greffon nécessite I2P version {0} ou plus récente"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:285
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
-msgstr ""
+msgstr "Ce greffon nécessite Java version {0} ou plus récente"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
-msgid ""
-"Downloaded plugin is for new installs only, but the plugin is already "
-"installed"
-msgstr ""
+msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
+msgstr "La version du greffon téléchargée est faite pour les nouvelles installations, mais le greffon est déjà installé "
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:305
 msgid "Installed plugin does not contain the required configuration file"
-msgstr ""
+msgstr "Le greffon installé ne contient pas le fichier de configuration requis"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:313
 msgid "Signature of downloaded plugin does not match installed plugin"
-msgstr ""
+msgstr "La signature du greffon téléchargé ne correspond pas à celle de celui qui est installé"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:320
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
-msgstr ""
+msgstr "La version {0} du greffon téléchargé n''est pas plus récente que celle installée"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:327
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
-msgstr ""
+msgstr "La mise à jour du greffon nécessite au moins la version {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:334
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
-msgstr ""
+msgstr "La mise à jour du greffon nécessite au plus la version {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
 msgid "Plugin is for upgrades only, but the plugin is not installed"
-msgstr ""
+msgstr "Ce greffon est seulement une mise à jour, mais le greffon prérequis n'est pas installé"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:364
 #, java-format
 msgid "Failed to install plugin in {0}"
-msgstr ""
+msgstr "Échec d''installation du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:371
 #, java-format
 msgid "Plugin {0} installed, router restart required"
-msgstr ""
+msgstr "Greffon {0} installé, le routeur doit être redémarré"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:373
 #, java-format
 msgid "Plugin {0} installed"
-msgstr ""
+msgstr "Greffon {0} installé"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:391
 #, java-format
 msgid "Plugin {0} installed and started"
-msgstr ""
+msgstr "Greffon {0} installé et démarré"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
-msgstr ""
+msgstr "Greffon {0} installé, mais son démarrage a échoué. Vérifiez les historiques"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:396
 #, java-format
 msgid "Plugin {0} installed but failed to start"
-msgstr ""
+msgstr "Greffon {0} installé, mais son démarrage a échoué"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:406
 #, java-format
 msgid "Failed to download plugin from {0}"
-msgstr ""
+msgstr "Échec de téléchargement du greffon {0}"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:72
 msgid "Peer Profiles"
@@ -2917,44 +2967,46 @@ msgstr "Profils des pairs"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
 #, java-format
-msgid "Showing {0} recent profiles."
-msgstr "Montrant {0} profiles récents"
+msgid "Showing 1 recent profile."
+msgid_plural "Showing {0} recent profiles."
+msgstr[0] "Affichage d'un profil récent."
+msgstr[1] "Affichage de {0} profils récents."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
 #, java-format
-msgid "Hiding {0} older profiles."
-msgstr "Cachant {0} profiles anciens"
+msgid "Hiding 1 older profile."
+msgid_plural "Hiding {0} older profiles."
+msgstr[0] "Masquage d'un très vieux profil."
+msgstr[1] "Masquage de {0} très vieux profils."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
-#, fuzzy, java-format
-msgid "Hiding {0} standard profiles."
-msgstr "Cachant {0} profiles anciens"
+#, java-format
+msgid "Hiding 1 standard profile."
+msgid_plural "Hiding {0} standard profiles."
+msgstr[0] "Masquage d'un profil standard."
+msgstr[1] "Masquage de {0} profils standards."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
 msgid "Groups (Caps)"
-msgstr ""
+msgstr "Groupes (capacités)"
 
 #: ../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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:353
 msgid "Speed"
 msgstr "Vitesse"
 
 #: ../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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:357
 msgid "Capacity"
 msgstr "Capacité"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
 msgid "Integration"
 msgstr "Intégration"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:86
-msgid "Status"
-msgstr "Statut actuel"
-
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:126
 msgid "Fast, High Capacity"
 msgstr "Rapide, haute capacité"
@@ -2965,7 +3017,7 @@ msgstr "Haute capacité"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:128
 msgid "Standard"
-msgstr ""
+msgstr "Standard"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:129
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:163
@@ -2973,9 +3025,9 @@ msgid "Failing"
 msgstr "Défaillant"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:282
 msgid "Integrated"
-msgstr "Intégré"
+msgstr "Bien intégrés"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:164
 msgid "Unreachable"
@@ -2984,242 +3036,228 @@ msgstr "Inaccessible"
 #. hide if < 10%
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:171
 msgid "Test Fails"
-msgstr "Test échec"
+msgstr "Échec de test"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:177
 msgid "profile"
-msgstr "Profiles"
+msgstr "Profil"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:186
 msgid "Floodfill and Integrated Peers"
-msgstr "Floodfill et pairs intégrés"
+msgstr "Pairs diffuseurs et intégrés"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
 msgid "Caps"
-msgstr "graphes"
+msgstr "Possib."
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
 msgid "Integ. Value"
-msgstr "Intégré"
+msgstr "Valeur intég."
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
 msgid "Last Heard About"
-msgstr ""
+msgstr "Signalé la dernière fois"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
 msgid "Last Heard From"
-msgstr ""
+msgstr "Entendu depuis"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
 msgid "Last Good Send"
-msgstr ""
+msgstr "Dernier envoi OK"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
 msgid "Last Bad Send"
-msgstr ""
+msgstr "Dernier envoi KO"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
 msgid "10m Resp. Time"
-msgstr ""
+msgstr "Tps de rép.(10mn)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
 msgid "1h Resp. Time"
-msgstr ""
+msgstr "Tps de rép. (1h)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
 msgid "1d Resp. Time"
-msgstr ""
+msgstr "Tps de rép.(1j)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
 msgid "Last Good Lookup"
-msgstr ""
+msgstr "Dernière req. OK"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
 msgid "Last Bad Lookup"
-msgstr ""
+msgstr "Dernière req. KO"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
 msgid "Last Good Store"
-msgstr ""
+msgstr "Dernier stk.OK"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
 msgid "Last Bad Store"
-msgstr ""
+msgstr "Dernier stk.KO"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:203
 msgid "1h Fail Rate"
-msgstr ""
+msgstr "Taux d'échec (1h)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:204
 msgid "1d Fail Rate"
-msgstr ""
+msgstr "Taux d'échec (1j)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
 msgid "Thresholds"
-msgstr "Seuils :"
+msgstr "Seuils"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
 msgid "fast peers"
-msgstr "Configuration des pairs"
+msgstr "pairs rapides"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
 msgid "high capacity peers"
-msgstr "Haute capacité"
+msgstr "pairs à haute capacités"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid " well integrated peers"
-msgstr "Floodfill et pairs intégrés"
+msgstr "pairs bien intégrés"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "as determined by the profile organizer"
-msgstr ""
+msgstr "tels que définis par le  gestionnaire de profils"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "groups"
-msgstr "groupes"
+msgstr "Groupes"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 msgid "capabilities in the netDb, not used to determine profiles"
-msgstr ""
+msgstr "possibilités vues dans la base de données du réseau (non utilisées pour définir les profils)"
 
 #. capabilities
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 #: ../java/strings/Strings.java:81
 msgid "caps"
-msgstr ""
+msgstr "Possib."
 
-#: ../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:261
+msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
+msgstr "débit crête (o/s) tenu sur 1mn par le pair sur un seul tunnel"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "speed"
-msgstr "vitesse"
+msgstr "Vitesse"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "capacity"
-msgstr "capacité"
+msgstr "Capacité"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "how many tunnels can we ask them to join in an hour?"
-msgstr ""
+msgstr "combien de tunnels nous pouvons lui demander de rejoindre en une heure."
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "how many new peers have they told us about lately?"
-msgstr ""
+msgstr "sur combien de nouveaux pairs il nous a renseigné récemment."
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "integration"
-msgstr "intégration"
+msgstr "Intégration"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "is the peer banned, or unreachable, or failing tunnel tests?"
-msgstr ""
+msgstr "Le pair banni, injoignable ou les tests de tunnels échouent."
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "status"
-msgstr "statut"
+msgstr "État"
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:47
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
+msgid "none"
+msgstr "aucun"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:62
 #, java-format
 msgid "Temporary ban expiring in {0}"
-msgstr ""
+msgstr "Le bannissement temporaire expire dans {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:64
+#, java-format
 msgid "Banned until restart or in {0}"
-msgstr "interdit jusqu'au rédémarrage"
+msgstr "Banni jusqu''au redémarrage ou dans {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
-#, fuzzy
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:76
 msgid "unban now"
-msgstr "plus interdit"
+msgstr "lever le bannissement"
 
 #. 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
-#, fuzzy
 msgid "Bandwidth usage"
-msgstr "Bande passante entrante/sortante"
+msgstr "Utilisation de la bande passante"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:230
-#, fuzzy
 msgid "Outbound bytes/sec"
-msgstr "Options Sortants"
+msgstr "o/s sortants"
 
 #. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:232
-#, fuzzy
 msgid "Inbound bytes/sec"
-msgstr "Options Entrants"
+msgstr "o/s entrants"
 
 #: ../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 "o/s"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:235
-#, fuzzy
 msgid "out average"
-msgstr "Tracer les moyennes"
+msgstr "hors moyenne"
 
 #: ../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 ""
+msgstr "max"
 
 #: ../java/src/net/i2p/router/web/StatSummarizer.java:237
-#, fuzzy
 msgid "in average"
-msgstr "Tracer les moyennes"
+msgstr "dans la moyenne"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:57
 msgid "GO"
-msgstr ""
+msgstr "Lancer"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:60
 msgid "Statistics gathered during this router's uptime"
-msgstr ""
+msgstr "Statistiques collectées pendant cette session du routeur"
 
 #: ../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 ""
+msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
+msgstr "Les données collectées sont quantifiées sur 1mn, et ne doivent être utilisées que comme estimations."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:64
 msgid "These statistics are primarily used for development and debugging."
-msgstr ""
+msgstr "Ces statistiques sont initialement destinées au développement et au débogage."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:106
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:157
 msgid "No lifetime events"
-msgstr "tracer les événements"
+msgstr "Aucun évènement de durée de vie"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:117
 msgid "frequency"
-msgstr "Fréquence d'actualisation"
+msgstr "fréquence"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:121
 msgid "Rolling average events per period"
-msgstr ""
+msgstr "Moyenne glissante d'évènements par période"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:125
 msgid "Highest events per period"
-msgstr ""
+msgstr "Maximum d'évènements par période"
 
 #. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
 #. buf.append("(current is ");
@@ -3228,88 +3266,87 @@ msgstr ""
 #. }
 #. 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
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:136
 msgid "Lifetime average events per period"
-msgstr ""
+msgstr "évènements de moyenne de durée de vie par période"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:141
 msgid "Lifetime average frequency"
-msgstr "Fréquence d'actualisation"
+msgstr "Fréquence moyenne de durée de vie"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:144
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:234
+#, java-format
+msgid "1 event"
+msgid_plural "{0} events"
+msgstr[0] "1 évènement"
+msgstr[1] "{0} évènements"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:169
 msgid "rate"
-msgstr "Taux"
+msgstr "taux"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:171
 msgid "Average"
-msgstr "Tracer les moyennes"
+msgstr "moyenne"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
-#, fuzzy
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:174
 msgid "Highest average"
-msgstr "Tracer les moyennes"
+msgstr "Plus haute moyenne"
 
-#. 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 ""
+msgid "There was 1 event in this period."
+msgid_plural "There were {0} events in this period."
+msgstr[0] "Il y a eu 1 évènement sur cette période."
+msgstr[1] "Il y a eu {0} évènements sur cette période."
 
-#. buf.append(' ');
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:203
-#, fuzzy, java-format
-msgid " which ended {0} ago."
-msgstr "Actualités vérifiés il y a {0}"
+#, java-format
+msgid "The period ended {0} ago."
+msgstr "La période s''est terminée il y a {0}."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:205
-#, fuzzy
 msgid "No events"
-msgstr "tracer les événements"
+msgstr "Aucun évènement"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:211
 msgid "Average event count"
-msgstr ""
+msgstr "Nombre moyen d'évènements"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:213
 msgid "Events in peak period"
-msgstr ""
+msgstr "Pic d'évènements dans la période"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:221
-#, fuzzy
 msgid "Graph Data"
-msgstr "Graphe"
+msgstr "Graphique de données"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:223
 msgid "Graph Event Count"
-msgstr ""
+msgstr "Nombre d'évènements de graphiques"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:226
 msgid "Export Data as XML"
-msgstr ""
+msgstr "Exporter en XML"
 
 #. Display the strict average
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:231
 msgid "Lifetime average value"
-msgstr ""
+msgstr "Durée de vie moyenne"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
-#, fuzzy
 msgid "I2P Router Help &amp; FAQ"
-msgstr "Aide routeur I2P"
+msgstr "Aide routeur I2P &amp; FAQ"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
 msgid "Help &amp; FAQ"
-msgstr ""
+msgstr "Aide &amp; FAQ"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
-msgid ""
-"Configure startup of clients and webapps (services); manually start dormant "
-"services"
-msgstr ""
+msgid "Configure startup of clients and webapps (services); manually start dormant services"
+msgstr "configurer le démarrage des clients et des applications web (services); démarrer manuellement les services arrêtés"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
@@ -3317,7 +3354,7 @@ msgstr "Services I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
-msgstr "Gérer votre fichier 'I2P hosts' ici (I2P DNS)"
+msgstr "Gérer votre fichier d'hôtes I2P ici (I2P DNS)"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
@@ -3337,7 +3374,7 @@ msgstr "Client webmail anonyme"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
 msgid "Webmail"
-msgstr "messagerie Web"
+msgstr "Messagerie web"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
 msgid "Anonymous resident webserver"
@@ -3356,42 +3393,42 @@ msgid "I2P Internals"
 msgstr "Configuration"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:379
 msgid "View existing tunnels and tunnel build status"
-msgstr "Montrer les tunnels existants et le statut de création des tunnels"
+msgstr "État des tunnels existants et de la création de tunnels"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
 msgid "Show all current peer connections"
-msgstr "Montrer toutes les connexions actuelles aux pairs"
+msgstr "Afficher toutes les connexions actuelles aux pairs"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
 msgid "Show recent peer performance profiles"
-msgstr "Montrer les profils de la performance récente des pairs"
+msgstr "Afficher les profils de la performance récente des pairs"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
 msgid "Profiles"
-msgstr "Profiles"
+msgstr "Profils"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
 msgid "Show list of all known I2P routers"
-msgstr "Montrer une liste de touts le routeurs I2P connus"
+msgstr "Afficher tous les routeurs I2P connus"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
 msgid "NetDB"
-msgstr ""
+msgstr "NetDb"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
 msgid "Health Report"
-msgstr "Fichier traces du routeur"
+msgstr "Bilan de santé"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
 msgid "Logs"
-msgstr "Fichier traces"
+msgstr "Historiques"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
 msgid "Graph router performance"
-msgstr "Montrer la performance du routeur avec des graphes"
+msgstr "Graphique de performances du routeur"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
 msgid "Graphs"
@@ -3399,7 +3436,7 @@ msgstr "Graphes"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
 msgid "Textual router performance statistics"
-msgstr "La performance statistique du routeur en texte"
+msgstr "Statistiques textuelles de performance du routeur"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:370
@@ -3408,13 +3445,12 @@ msgstr "Destinations locales"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
 #: ../java/strings/Strings.java:62
-#, fuzzy
 msgid "I2PTunnel"
-msgstr "tunnel sommaire I2P"
+msgstr "I2PTunnel"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
 msgid "I2P Router Help"
-msgstr "Aide routeur I2P"
+msgstr "Aide du routeur I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
 msgid "General"
@@ -3426,131 +3462,133 @@ msgstr "Identité locale"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
 msgid "Your unique I2P router identity is"
-msgstr "L'identité unique de votre routeur est"
+msgstr "L'identité unique de votre routeur commence par"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
 msgid "never reveal it to anyone"
-msgstr "ne jamais la révéler à personne"
+msgstr "NE la révélez JAMAIS à PERSONNE ! (Cliquez pour l'afficher)"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
 msgid "show"
-msgstr ""
+msgstr "Détails"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
 msgid "How long we've been running for this session"
-msgstr ""
+msgstr "Durée de cette session"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
 msgid "Uptime"
-msgstr "Temps de service"
+msgstr "Lancé depuis"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
-msgid ""
-"Help with configuring your firewall and router for optimal I2P performance"
-msgstr ""
-"Aide avec la configuration du pare-feu et du routeur afin d'optimiser la "
-"performance d'I2P"
+msgid "Help with configuring your firewall and router for optimal I2P performance"
+msgstr "Aide à la configuration du pare-feu et du routeur pour optimiser les performances d'I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
-msgid "Download"
-msgstr "Télécharger"
+#. Note to translators: parameter is a version, e.g. "0.8.4"
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:232
+#, java-format
+msgid "Download {0} Update"
+msgstr "Télécharger la version {0}"
 
+#. Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC"
+#. <br> is optional, to help the browser make the lines even in the button
+#. If the translation is shorter than the English, you should probably not include <br>
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
-msgid "Download Unsigned"
-msgstr "Télécharger pas signé"
+#, java-format
+msgid "Download Unsigned<br>Update {0}"
+msgstr "Télécharger la version<br> non signée {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
 msgid "Active"
-msgstr "Actif"
+msgstr "Actifs"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:270
 msgid "Fast"
-msgstr "Rapide"
+msgstr "Rapides"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:276
 msgid "High capacity"
-msgstr "Haute capacité"
+msgstr "Hautes capacités"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:288
 msgid "Known"
-msgstr "Connu"
+msgstr "Connus"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:303
 msgid "Help with firewall configuration"
-msgstr "Aide avec la configuration du pare-feu"
+msgstr "Aide à la configuration du pare-feu"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:305
 msgid "Check NAT/firewall"
 msgstr "Vérifier NAT/pare-feu"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:325
 msgid "Reseed"
-msgstr ""
+msgstr "Réamorçage"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:342
 msgid "Configure router bandwidth allocation"
 msgstr "Configurer la bande passante du routeur"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:344
 msgid "Bandwidth in/out"
 msgstr "Bande passante entrante/sortante"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:364
 msgid "Total"
 msgstr "Totale"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:371
 msgid "Used"
 msgstr "Utilisée"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 msgid "Exploratory"
-msgstr "Exploratoire"
+msgstr "Exploratoires"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:398
 msgid "Participating"
-msgstr "Participant"
+msgstr "Participants"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
-#, fuzzy
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:404
 msgid "Share ratio"
-msgstr "Partager"
+msgstr "Rapport de partage"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:410
 msgid "What's in the router's job queue?"
-msgstr "Montrer les tâches du routeur qui sont à traiter "
+msgstr "Afficher la file d'attente de travaux du routeur. "
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
 msgid "Congestion"
-msgstr "Saturation réseau"
+msgstr "Charge"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Job lag"
-msgstr "Tâche décalage"
+msgstr "Retard de tâches"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:423
 msgid "Message delay"
-msgstr "Message retard"
+msgstr "Retard de messages"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:429
 msgid "Tunnel lag"
-msgstr "Tunnel décalage"
+msgstr "Retard de tunnels"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:435
 msgid "Backlog"
-msgstr "Retard accumulé"
+msgstr "En attente"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:106
 msgid "ERR-Client Manager I2CP Error - check logs"
-msgstr ""
+msgstr "ERR-Erreur du gestionnaire de clients I2CP - vérifier l'historique"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:113
-#, fuzzy, java-format
+#, java-format
 msgid "ERR-Clock Skew of {0}"
-msgstr "ERR - horloge décalé"
+msgstr "ERR - horloge décalée de {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:122
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "OK"
 msgstr "OK"
 
@@ -3568,43 +3606,41 @@ msgstr "WARN - pare-feu avec TCP entrant activé"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:130
 msgid "WARN-Firewalled and Floodfill"
-msgstr "WARN - Pare-feu et Floodfill"
+msgstr "WARN - Pare-feu et Diffuseur"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:132
 msgid "WARN-Firewalled and Fast"
 msgstr "WARN - Pare-feu et Rapide"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:133
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "Firewalled"
 msgstr "Bloqué par un pare-feu"
 
 #: ../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 ""
+msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ERR-port UDP en cours d'utilisation - Réglez i2np.udp.internalPort=xxxx dans la configuration avancée et redémarrez"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:141
 msgid "ERR-No Active Peers, Check Network Connection and Firewall"
-msgstr ""
+msgstr "ERR-Pas de pair actif, vérifiez votre connexion réseau et votre pare-feu"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:144
 msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
-msgstr ""
+msgstr "ERR-UDP désactivé, mais port/hôte entrants TCP non renseignés"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:146
 msgid "WARN-Firewalled with UDP Disabled"
 msgstr "WARN - Pare-feu avec UDP desactivé"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:148
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "Testing"
 msgstr "Test en cours"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:370
 msgid "Add/remove/edit &amp; control your client and server tunnels"
-msgstr "Ajouter/enlever/éditer &amp; contrôler vos tunnels client et serveur"
+msgstr "Ajoutez, modifiez/supprimez &amp; contrôlez vos tunnels clients et serveurs"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:382
 msgid "Server"
@@ -3622,7 +3658,7 @@ msgstr "Bails périmés"
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:397
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:398
 msgid "Rebuilding"
-msgstr ""
+msgstr "Reconstruction"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:398
 msgid "ago"
@@ -3636,17 +3672,12 @@ msgstr "Prêt"
 #. yellow light
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building"
-msgstr ""
+msgstr "Construction"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:405
 msgid "Building tunnels"
 msgstr "Création des tunnels en cours"
 
-#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
-#, fuzzy
-msgid "none"
-msgstr "Connu"
-
 #. 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
@@ -3658,45 +3689,44 @@ msgstr "clients partagés"
 
 #. 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
-#, fuzzy, java-format
+#, java-format
 msgid "events in {0}"
-msgstr "Redémarrage en {0}"
+msgstr "Évènements en {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
 #, java-format
 msgid "averaged for {0}"
-msgstr ""
+msgstr "moyenne pour {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
-#, fuzzy
 msgid "Events per period"
-msgstr "bits par seconde"
+msgstr "Fréquence"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
-#, fuzzy
 msgid "avg"
-msgstr ":"
+msgstr "moy"
 
 #: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
-#, fuzzy
 msgid "now"
-msgstr "Connu"
+msgstr "maintenant"
 
 #: ../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
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:309
 msgid "configure"
 msgstr "configuration"
 
-#: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
-#, fuzzy
-msgid "dead"
-msgstr "Prêt"
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr "Tunnels clients pour"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
+msgid "dead"
+msgstr "Morts"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:71
 msgid "Participating tunnels"
-msgstr "tunnels participants"
+msgstr "Tunnels participants"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
 msgid "From"
@@ -3704,7 +3734,7 @@ msgstr "De"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
 msgid "Receive on"
-msgstr "Réception active"
+msgstr "Reçoit sur"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
 msgid "Expiration"
@@ -3712,11 +3742,11 @@ msgstr "Expiration"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
 msgid "Send on"
-msgstr "Envoyer activé"
+msgstr "Envoie sur"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
 msgid "To"
-msgstr "à"
+msgstr "Vers"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
 msgid "Rate"
@@ -3733,15 +3763,15 @@ msgstr "Utilisation"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:107
 msgid "grace period"
-msgstr ""
+msgstr "délai de grâce"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:117
 msgid "Outbound Endpoint"
-msgstr "Endpoint Sortant"
+msgstr "Point terminal sortant"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:119
 msgid "Inbound Gateway"
-msgstr "Gateway Entrant"
+msgstr "Passerelle entrante"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:121
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:162
@@ -3750,12 +3780,12 @@ msgstr "Participant"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:126
 msgid "Inactive participating tunnels"
-msgstr ""
+msgstr "Tunnels participants inactifs"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:127
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:218
 msgid "Lifetime bandwidth usage"
-msgstr ""
+msgstr "Utilisation de la bande passante depuis le démarrage"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Expiry"
@@ -3767,12 +3797,12 @@ msgstr "Participants"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:165
 msgid "Endpoint"
-msgstr ""
+msgstr "Point terminal"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
 msgid "Build in progress"
-msgstr "Création d'un tunnel en cours"
+msgstr "Création en cours"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
 msgid "inbound"
@@ -3784,15 +3814,15 @@ msgstr "sortant"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:217
 msgid "No tunnels; waiting for the grace period to end."
-msgstr "Pas de tunnel; attendant la fin du délai de grâce"
+msgstr "Pas de tunnel; attente de la fin du délai de grâce"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:219
 msgid "in"
-msgstr "entrer"
+msgstr "entrés"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:220
 msgid "out"
-msgstr "sortir"
+msgstr "sortis"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:237
 msgid "Tunnel Counts By Peer"
@@ -3803,93 +3833,86 @@ msgid "% of total"
 msgstr "% du total"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
-#, fuzzy
 msgid "Our Tunnels"
-msgstr "Montrer les tunnels"
+msgstr "Mes tunnels"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
-#, fuzzy
 msgid "Participating Tunnels"
-msgstr "tunnels participants"
+msgstr "Tunnels participants"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:256
-#, fuzzy
 msgid "Totals"
-msgstr "Totale"
+msgstr "Totaux"
 
-#: ../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
-#, fuzzy
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:67
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:143
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:238
 msgid "Updating"
-msgstr "Mettre à jour"
+msgstr "Mise à jour en cours"
 
 #. 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
-#, fuzzy
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:89
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:262
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:287
 msgid "Update downloaded"
-msgstr "Méthode de mise à jour"
+msgstr "Mise à jour téléchargée"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:92
 #, java-format
 msgid "Unsigned update file from {0} is corrupt"
-msgstr ""
+msgstr "Le fichier de mise à jour non signé de {0} est corrompu"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
-#, fuzzy
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Restarting"
-msgstr "Redémarrer"
+msgstr "Redémarrage en cours"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:119
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:289
 msgid "Click Restart to install"
-msgstr ""
+msgstr "cliquez sur Redémarrer pour installer"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:291
 msgid "Click Shutdown and restart to install"
-msgstr ""
+msgstr "Cliquez sur \"Arrêter\" puis \"Démarrer\" pour installer"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:292
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:122
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:293
+#, java-format
 msgid "Version {0}"
-msgstr "Version"
+msgstr "Version {0}"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:127
+#, java-format
 msgid "Failed copy to {0}"
-msgstr "Echec de démarrage"
+msgstr "Échec de copie vers {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
-#, fuzzy, java-format
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
+#, java-format
 msgid "Updating from {0}"
-msgstr "Mettre à jour"
+msgstr "Mise à jour depuis {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:254
 #, java-format
 msgid "No new version found at {0}"
-msgstr ""
+msgstr "Pas de nouvelle trouvée sur {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
-#, fuzzy
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Update verified"
-msgstr "Mise à jour fini"
+msgstr "Mise à jour vérifiée"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:308
 #, java-format
 msgid "Transfer failed from {0}"
-msgstr ""
+msgstr "Échec de transfert depuis {0}"
 
 #. wars for ConfigClientsHelper
 #: ../java/strings/Strings.java:12
 msgid "addressbook"
-msgstr "carnet d'adresse"
+msgstr "carnet d'adresses"
 
 #: ../java/strings/Strings.java:13
 msgid "i2psnark"
@@ -3920,11 +3943,11 @@ msgstr "Console web"
 
 #: ../java/strings/Strings.java:23
 msgid "SAM application bridge"
-msgstr ""
+msgstr "Pont applicatif SAM"
 
 #: ../java/strings/Strings.java:24
 msgid "Application tunnels"
-msgstr "Tunnels d'application"
+msgstr "Tunnels d'applications"
 
 #: ../java/strings/Strings.java:25
 msgid "My eepsite web server"
@@ -3932,19 +3955,19 @@ msgstr "Serveur web de mon eepsite"
 
 #: ../java/strings/Strings.java:26
 msgid "I2P webserver (eepsite)"
-msgstr ""
+msgstr "Serveur web I2P (eepsite)"
 
 #: ../java/strings/Strings.java:27
 msgid "Browser launch at startup"
-msgstr ""
+msgstr "Lancer le navigateur au démarrage"
 
 #: ../java/strings/Strings.java:28
 msgid "BOB application bridge"
-msgstr ""
+msgstr "Pont applicatif BOB"
 
 #: ../java/strings/Strings.java:30
 msgid "Open Router Console in web browser at startup"
-msgstr ""
+msgstr "Ouvrir la console du routeur dans le navigateur au démarrage"
 
 #: ../java/strings/Strings.java:37
 msgid "IRC proxy"
@@ -3955,23 +3978,21 @@ msgid "eepsite"
 msgstr "eepsite"
 
 #: ../java/strings/Strings.java:39
-#, fuzzy
 msgid "I2P webserver"
-msgstr "Serveur web"
+msgstr "Serveur web I2P"
 
 #: ../java/strings/Strings.java:40
 msgid "HTTP Proxy"
-msgstr ""
+msgstr "Mandataire HTTP"
 
 #. older names for pre-0.7.4 installs
 #: ../java/strings/Strings.java:42
-#, fuzzy
 msgid "eepProxy"
-msgstr "eeProxy hôte"
+msgstr "hôte eeProxy"
 
 #: ../java/strings/Strings.java:43
 msgid "ircProxy"
-msgstr ""
+msgstr "Mandataire IRC"
 
 #. hardcoded in i2psnark
 #: ../java/strings/Strings.java:45
@@ -3981,1749 +4002,1616 @@ msgstr "I2PSnark"
 #. hardcoded in iMule?
 #: ../java/strings/Strings.java:47
 msgid "iMule"
-msgstr ""
+msgstr "iMule"
 
 #. standard themes for ConfigUIHelper
 #: ../java/strings/Strings.java:51
 msgid "classic"
-msgstr "classique"
+msgstr "Classique"
 
 #: ../java/strings/Strings.java:52
 msgid "dark"
-msgstr "foncé"
+msgstr "Sombre"
 
 #: ../java/strings/Strings.java:53
 msgid "light"
-msgstr "léger"
+msgstr "Clair"
 
 #: ../java/strings/Strings.java:54
-#, fuzzy
 msgid "midnight"
-msgstr "léger"
+msgstr "Minuit"
 
 #. stat groups for stats.jsp
 #: ../java/strings/Strings.java:57
-#, fuzzy
 msgid "Bandwidth"
-msgstr "Bande passante entrante/sortante"
+msgstr "Bande passante"
 
 #: ../java/strings/Strings.java:58
-#, fuzzy
 msgid "BandwidthLimiter"
 msgstr "Limiteur de bande passante"
 
 #: ../java/strings/Strings.java:59
-#, fuzzy
 msgid "ClientMessages"
-msgstr "Clients"
+msgstr "Messages clients"
 
 #: ../java/strings/Strings.java:60
-#, fuzzy
 msgid "Encryption"
-msgstr "Clé d'encryption"
+msgstr "Cryptage"
 
 #: ../java/strings/Strings.java:61
 msgid "i2cp"
-msgstr ""
+msgstr "i2cp"
 
 #: ../java/strings/Strings.java:63
 msgid "InNetPool"
-msgstr ""
+msgstr "InNetPool"
 
 #: ../java/strings/Strings.java:64
-#, fuzzy
 msgid "JobQueue"
-msgstr "queue des tâches"
+msgstr "File d'attente de travaux"
 
 #: ../java/strings/Strings.java:65
-#, fuzzy
 msgid "NetworkDatabase"
-msgstr "Réseau"
+msgstr "Base de données du réseau"
 
 #: ../java/strings/Strings.java:66
 msgid "ntcp"
-msgstr ""
+msgstr "ntcp"
 
 #: ../java/strings/Strings.java:69
 msgid "Stream"
-msgstr ""
+msgstr "flux"
 
 #: ../java/strings/Strings.java:70
 msgid "Throttle"
-msgstr ""
+msgstr "Régulation"
 
 #: ../java/strings/Strings.java:71
 msgid "Transport"
-msgstr ""
+msgstr "Transport"
 
 #: ../java/strings/Strings.java:73
 msgid "udp"
-msgstr ""
+msgstr "udp"
 
 #. parameters in transport addresses (netdb.jsp)
 #. may or may not be worth translating
 #: ../java/strings/Strings.java:77
 msgid "host"
-msgstr ""
+msgstr "hôte"
 
 #: ../java/strings/Strings.java:78
-#, fuzzy
 msgid "key"
-msgstr "Ajouter une clé"
+msgstr "clef"
 
 #: ../java/strings/Strings.java:79
-#, fuzzy
 msgid "port"
-msgstr "ou"
+msgstr "port"
 
 #. introducer host
 #: ../java/strings/Strings.java:83
 msgid "ihost0"
-msgstr ""
+msgstr "ihost0"
 
 #: ../java/strings/Strings.java:84
 msgid "ihost1"
-msgstr ""
+msgstr "ihost1"
 
 #: ../java/strings/Strings.java:85
 msgid "ihost2"
-msgstr ""
+msgstr "ihost2"
 
 #. introducer port
 #: ../java/strings/Strings.java:87
 msgid "iport0"
-msgstr ""
+msgstr "iport0"
 
 #: ../java/strings/Strings.java:88
 msgid "iport1"
-msgstr ""
+msgstr "iport1"
 
 #: ../java/strings/Strings.java:89
 msgid "iport2"
-msgstr ""
+msgstr "iport2"
 
 #. introducer key
 #: ../java/strings/Strings.java:91
 msgid "ikey0"
-msgstr ""
+msgstr "ikey0"
 
 #: ../java/strings/Strings.java:92
 msgid "ikey1"
-msgstr ""
+msgstr "ikey1"
 
 #: ../java/strings/Strings.java:93
 msgid "ikey2"
-msgstr ""
+msgstr "ikey2"
 
 #. introducer tag
 #: ../java/strings/Strings.java:95
 msgid "itag0"
-msgstr ""
+msgstr "itag0"
 
 #: ../java/strings/Strings.java:96
 msgid "itag1"
-msgstr ""
+msgstr "itag1"
 
 #: ../java/strings/Strings.java:97
 msgid "itag2"
-msgstr ""
+msgstr "itag2"
 
 #. Descriptions for the stats that are graphed by default
 #. There are over 500 stats currently defined, we aren't going to tag them all
 #: ../java/strings/Strings.java:101
 msgid "Low-level bandwidth receive rate"
-msgstr ""
+msgstr "Taux de bande passante de réception faible"
 
 #. bw.recvRate
 #: ../java/strings/Strings.java:102
 msgid "Low-level bandwidth send rate"
-msgstr ""
+msgstr "Taux de bande passante d'émission de bas niveau"
 
 #. bw.sendRate
 #: ../java/strings/Strings.java:103
 msgid "How many peers we are actively talking with"
-msgstr ""
+msgstr "Nombre de pairs actifs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:112
 msgid "config networking"
 msgstr "Interconnexion configuration"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:222
+msgid "Summary Bar"
+msgstr "Panneau de contrôle"
+
 #. 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_005far_jsp.java:219
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:235
 msgid "Refresh (s)"
-msgstr "Actualiser (s)"
+msgstr "Actualisation auto. (s)"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/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_005far_jsp.java:223
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:239
 msgid "Enable"
 msgstr "Activer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:262
 msgid "I2P Network Configuration"
 msgstr "Configuration I2P réseau"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:316
 msgid "Bandwidth limiter"
-msgstr "Limiteur de bande passante"
+msgstr "Gestionnaire de bande passante"
 
-#: ../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 fonctionnera mieux si vous configurez le débit de transmission et "
-"réception pour qu'ils soient égales à ceux de votre connexion internet."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
+msgstr "I2P fonctionnera mieux si vous configurez les débits de réception et d'émission pour qu'ils correspondent à ceux de votre connexion Internet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:322
 msgid "KBps In"
-msgstr "KOps entrant"
+msgstr "ko/s entrants"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:336
 msgid "KBps Out"
-msgstr "KOps sortant"
+msgstr "ko/s sortants"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:352
 msgid "Share"
-msgstr "Partager"
+msgstr "Partagés"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:326
 msgid "NOTE"
-msgstr "NOTER"
+msgstr "NOTE"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:361
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
-msgstr "Vous avez configuré I2P à partager que {0} KOps."
+msgstr "Vous avez configuré I2P pour qu''il ne partage que {0} ko/s."
 
-#: ../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:364
 msgid "I2P requires at least 12KBps to enable sharing. "
-msgstr ""
-"I2P a besoin de plus de 12KOps afin d'activer le partage de bande passante"
+msgstr "I2P a besoin de plus de 12ko/s afin d'activer le partage de bande passante."
 
-#: ../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 ""
-"Veuillez activer le partage de bande passante (tunnels participants) en "
-"augmentant votre bande passante."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:365
+msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
+msgstr "Merci d'activer le partage de bande passante (en participant aux tunnels) en augmentant votre bande passante, si possible."
 
-#: ../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 ""
-"Cela aidera votre anonymat en cachant vos données parmi les données des "
-"autres, et cela améliorera le réseau."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:366
+msgid "It improves your anonymity by creating cover traffic, and helps the network."
+msgstr "Cela aidera votre anonymat en cachant vos données parmi les données des autres, et cela améliorera le réseau."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
-msgstr "Vous avez configuré I2P à partager {0} KOps."
-
-#: ../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 ""
-"En partageant plus de votre bande passante, vous améliorerez votre anonymat "
-"et le réseau."
-
-#: ../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
+msgstr "Vous avez configuré le partage I2P à {0}ko/s."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:372
+msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
+msgstr "En partageant plus de votre bande passante, vous améliorerez votre anonymat et le réseau."
+
+#: ../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:532
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:425
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
 msgid "Cancel"
 msgstr "Annuler"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393
 msgid "IP and Transport Configuration"
-msgstr ""
+msgstr "Configuration IP et transport "
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
 msgid "The default settings will work for most people."
 msgstr "La configuration par défaut marchera pour la plupart des gens."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397
 msgid "There is help below."
 msgstr "Voir les explications ci-dessous."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "UPnP Configuration"
 msgstr "Configuration UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Enable UPnP to open firewall ports"
 msgstr "Activer UPnP afin d'ouvrir les ports du pare-feu"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
 msgid "UPnP status"
-msgstr "Statut UPnP"
+msgstr "État de UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "IP Configuration"
 msgstr "Configuration IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Externally reachable hostname or IP address"
-msgstr "Adresse IP ou nom d'hôte qui est joignable depuis l'exterieur"
+msgstr "Adresse IP ou nom d'hôte joignable de l'extérieur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:413
 msgid "Use all auto-detect methods"
-msgstr "Utiliser toute méthode d'auto-détection"
+msgstr "Utiliser toutes les méthodes d'auto-détection"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Disable UPnP IP address detection"
-msgstr "Desactiver la détection de l'adresse IP par UPnP"
+msgstr "Désactiver la détection de l'adresse IP par UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:421
 msgid "Ignore local interface IP address"
 msgstr "Ignorer l'adresse IP de l'interface locale"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:425
 msgid "Use SSU IP address detection only"
-msgstr "Utiliser seulement SSU pour détecter l'adresse IP"
+msgstr "N'utiliser que la détection d'adresse IP par SSU"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Specify hostname or IP"
-msgstr "Saisir l'adresse IP ou le nom de l'hôte"
+msgstr "Saisir l'adresse IP ou le nom d'hôte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Select Interface"
 msgstr "Choisir l'interface"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449
 msgid "Hidden mode - do not publish IP"
 msgstr "Mode caché - ne pas publier l'adresse IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451
 msgid "(prevents participating traffic)"
-msgstr ""
+msgstr "(empêche le trafic participants)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:453
 msgid "Action when IP changes"
-msgstr ""
+msgstr "Action quand l'IP change"
 
-#: ../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:457
+msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
+msgstr "Mode IP publique dynamique/PC portable: modifie l'identité du router et le port UDP quand l'IP publique change, pour améliorer l'anonymat"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "Experimental"
-msgstr ""
+msgstr "Expérimental"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "UDP Configuration:"
 msgstr "Configuration UDP :"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463
 msgid "UDP port:"
 msgstr "Port UDP :"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477
 msgid "TCP Configuration"
 msgstr "Configuration TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483
 msgid "Use auto-detected IP address"
-msgstr "Utiliser l'adresse IP qui a été auto-détectée"
+msgstr "Utiliser l'adresse IP auto-détectée"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
 msgid "currently"
 msgstr "actuellement"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "if we are not firewalled"
-msgstr "s'il n'y a pas de pare-feu"
+msgstr "si vous n'êtes pas bloqué par un pare-feu"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Always use auto-detected IP address (Not firewalled)"
-msgstr ""
-"Utiliser toujours l'adresse IP qui a été auto-détectée (pas de pare-feu)"
+msgstr "Toujours utiliser l'adresse IP auto-détectée (non bloqué par pare-feu)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:503
 msgid "Disable inbound (Firewalled)"
 msgstr "Desactiver les connexions entrantes (derrière un pare-feu)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:507
 msgid "Completely disable"
 msgstr "Desactiver complètement"
 
-#: ../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 ""
-"(selectionner seulement si derrière un pare-feu qui limite les connexions "
-"sortantes TCP)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr "(selectionner seulement si derrière un pare-feu qui limite les connexions sortantes TCP)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
 msgid "Externally reachable TCP port"
-msgstr ""
+msgstr "Port TCP joignable de l'extérieur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
 msgid "Use the same port configured for UDP"
 msgstr "Utiliser le même port qui a été configuré pour UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
 msgid "Specify Port"
 msgstr "Saisir le port"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
-msgid "Note"
-msgstr "Noter"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+msgid "Notes"
+msgstr "Remarques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
-msgid "Changing these settings will restart your router."
-msgstr ""
-"Un changement de cette configuration entraînera un redémarrage du routeur"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530
+msgid "a) Do not reveal your port numbers to anyone!   b) Changing these settings will restart your router."
+msgstr "a)Ne révélez  vos n° de ports à personne! b)La modification de ces réglages redémarrera votre routeur. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
 msgid "Configuration Help"
-msgstr "Aide avec la configuration"
+msgstr "Aide à la configuration"
 
-#: ../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
-#, fuzzy
-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 fonctionnera derrière le plupart des pares-feu, mais votre vitesse et "
-"votre intégration avec le réseau s'améliorera s'il y a la redirection du "
-"port I2P pour UDP et TCP."
+#: ../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:587
+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 fonctionnera derrière la plupart des pare-feux, mais votre vitesse et votre intégration avec le réseau sera améliorée par la redirection des ports UDP et TCP d'I2P."
 
-#: ../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 ""
-"Si vous pouvez, ouvrez un port dans votre pare-feu afin de permettre la "
-"réception des les paquets TCP et UDP non sollicités."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
+msgstr "If vous pouvez, ouvrez un port dans votre pare-feu pour recevoir les paquets UDP et TCP non sollicités."
 
-#: ../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 ""
-"Si vous ne pouvez pas, I2P est compatible avec UPnp (Universal Plug and "
-"Play)  et \"UDP hole punching\" avec \"SSU introductions\" afin de relayer "
-"le trafic I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
+msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
+msgstr "Sinon, I2P est compatible UPnP (Universal Plug and Play) et perçage de trou UDP par \"représentations SSU\" pour relayer le trafic."
 
-#: ../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 ""
-"Le plupart des possibilités décrites ci-avant sont pour les situtations "
-"particulieres, par exemple le cas où UPnP ne fonctionne pas correctement, ou "
-"un pare-feu empeche la connexion au réseau I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
+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 "La plupart des options ci-dessous concernent des situations particulières, par exemple quand UPnP ne marche pas correctement, ou qu'un pare-feu hors de contrôle fait son pénible."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
-msgstr ""
-"Il y a des certains types de pare-feu (tel que les NAT symétriques) qui ne "
-"fonctionnent pas bien avec I2P."
+msgstr "Certains types de pare-feu (tels que les NAT symétriques) empêchent un fonctionnement correct."
 
-#: ../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 est utilisé pour communiquer avec des \"Internet Gateway Devices "
-"(IGDs)\" afin de détecter l'adresse IP extérieure et de contrôler la "
-"redirection des ports."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
+msgstr "UPnP est utilisé pour communiquer avec des passerelles Internet pour détecter l'adresse IP extérieure et contrôler la redirection des ports."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "UPnP support is beta, and may not work for any number of reasons"
-msgstr ""
-"UPnP est toujours en développement, et il peut arrêter de fonctionner "
-"correctement à cause de "
+msgstr "La gestion par UPnP est toujours en développement, et peut ne pas fonctionner pour plusieurs raisons"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "No UPnP-compatible device present"
-msgstr "Il n'y a pas d'appareil qui est compatible avec UPnP"
+msgstr "Aucun appareil compatible UPnP détecté"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "UPnP disabled on the device"
-msgstr "UPnP est desactivé sur l'appareil"
+msgstr "UPnP est désactivé sur l'appareil"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "Software firewall interference with UPnP"
-msgstr "Il y a de l'intérference entre un pare-feu en software et UPnP"
+msgstr "Interférence entre un pare-feu logiciel et UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "Bugs in the device's UPnP implementation"
-msgstr "Il y a des bogues dans l'implementation d'UPnP dans l'appareil"
+msgstr "Bogues dans l'implémentation UPnP de l'appareil"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Multiple firewall/routers in the internet connection path"
-msgstr "Il y a plusieurs routeurs/pare-feux entre le routeur I2P et l'internet"
+msgstr "Il y a plusieurs routeurs/pare-feux entre le routeur I2P et l'Internet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "UPnP device change, reset, or address change"
-msgstr ""
-"Un changement de l'appareil UPnP, une redémarrage, ou une changement "
-"d'adresse IP"
+msgstr "Changement d'appareil UPnP, redémarrage, ou changement d'adresse IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
 msgid "Review the UPnP status here."
-msgstr "Consulter le statut de UPnP ici."
+msgstr "Vérifier l'état d'UPnP ici."
 
-#: ../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 peut être activé ou desactivé au-dessus, mais afin de prendre en compte "
-"la changement il faut rédemarrer le routeur I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
+msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
+msgstr "UPnP peut être activé ou desactivé au-dessus, mais afin de prendre en compte la changement il faut rédemarrer le routeur I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "Hostnames entered above will be published in the network database."
-msgstr ""
-"Les noms d'hôtes qui ont été saisis au-dessus seront publié dans la base de "
-"données du réseau I2P."
+msgstr "Les noms d'hôtes saisis ci-dessus seront publié dans la base de données du réseau I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "They are <b>not private</b>."
 msgstr "Ils ne sont pas <b>privés</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 ""
-"En plus, <b>ne saisissez pas une adresse IP privée</b> tel que 127.0.0.1 ou "
-"192.168.1.1."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr "De plus, <b>ne saisissez pas une adresse IP privée</b> tel que 127.0.0.1 ou 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 ""
-"Si vous saisissez une mauvaise adresse IP ou nom d'hôte, ou configurer votre "
-"NAT ou pare-feu incorrectement, votre intégration avec le réseau I2P "
-"dégradera substantiellement."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+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 "Si vous saisissez une mauvaise adresse IP ou nom d'hôte, ou configurez votre NAT ou pare-feu incorrectement, votre intégration avec le réseau I2P sera substantiellement dégradée."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "When in doubt, leave the settings at the defaults."
-msgstr "Si vous n'êtes pas sûr de vous, laisser la configuration par défaut."
+msgstr "Dans le doute, laissez les réglages par défaut."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid "Reachability Help"
-msgstr ""
+msgstr "Aide sur la joignabilité"
 
-#: ../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:590
+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 "Si vous pensez que vous avez ouvert votre pare-feu et qu'I2P indique toujours que vous êtes derrière le pare-feu, n'oubliez pas que vous avez peut-être plusieurs pare-feux: par exemple celui de votre box DSL et un pare-feu logiciel dans votre ordinateur."
 
-#: ../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:593
+msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
+msgstr "S'il y a une erreur, les <a href=\"logs.jsp\">historiques</a> peuvent aider au diagnostic."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Your UDP port does not appear to be firewalled."
-msgstr ""
+msgstr "Votre port UDP ne semble pas bloqué par un pare-feu."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 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 ""
+msgstr "Votre port UDP semble bloqué par un pare-feu."
 
 #: ../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 ""
+msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
+msgstr "Comme les méthodes de détection de pare-feu ne sont pas fiables à 100%, ceci peut occasionnellement générer une erreur."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
-msgid "WARN - Firewalled and Fast"
-msgstr "WARN - Pare-feu et Rapide"
+msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
+msgstr "Cependant, si ça se reproduit systématiquement, vous devez vérifier que votre box et vos pare-feux internes sont ouverts pour votre port."
 
 #: ../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 ""
+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 fonctionne très bien derrière un pare-feu, ça n'est pas un problème. Derrière un pare-feu, le routeur utilise des  \"représentants\" pour relayer les connexions entrantes."
 
 #: ../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 ""
+msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
+msgstr "Cependant, vous obtiendrez plus de trafic participants et aiderez plus le réseau si vous avez la possibilité d'ouvrir vos pare-feux."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
-msgid "WARN - Firewalled and Floodfill"
-msgstr "WARN - Pare-feu et Floodfill"
+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 "Si vous pensez que vous l'avez déjà fait, n'oubliez pas que vous avez peut-être un pare-feu matériel et logiciel, ou que vous êtes derrière un pare-feu supplémentaire sur lequel vous n'avez aucun contrôle (p.e. en entreprise)."
 
 #: ../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 ""
+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 "De plus, certains pare-feux ne peuvent pas transférer correctement TCP et UDP sur le même port, ou pourraient  avoir d'autres limitations ou des bogues qui  les empêcheraient de passer le trafic à I2P."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
-msgid "WARN - Firewalled with Inbound TCP Enabled"
-msgstr "WARN - Pare-feu avec TCP entrant activé"
-
-#: ../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 ""
+msgid "The router is currently testing whether your UDP port is firewalled."
+msgstr "Le routeur teste actuellement si votre port UDP est bloqué."
 
 #: ../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 ""
+msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
+msgstr "Le routeur n'est pas configuré pour publier son adresse : il n'attend donc pas de connexions entrantes."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
-msgid "Please open your firewall or disable inbound TCP above."
-msgstr ""
+msgid "WARN - Firewalled and Fast"
+msgstr "WARN - Pare-feu et Rapide"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
-msgid "WARN - Firewalled with UDP Disabled"
-msgstr "WARN - Pare-feu avec UDP desactivé"
+msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
+msgstr "Vous avez configuré I2P pour partager plus de 128ko/s de bande passante, mais vous êtes bloqué par un pare-feu."
 
 #: ../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 ""
+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 "Bien qu'I2P fonctionne correctement dans cette configuration, si vous avez vraiment plus de 128ko/s (~1Mb/s) de bande passante à partager, il serait bénéfique pour le réseau que vous ouvriez un port dans votre pare-feu."
 
 #: ../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 ""
+msgid "WARN - Firewalled and Floodfill"
+msgstr "WARN - Pare-feu et Floodfill"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
-msgid "Please open your firewall or enable UDP."
-msgstr ""
+msgid "You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr "Vous avez configuré I2P pour être un routeur de remplissage par diffusion, mais vous êtes derrière un pare-feu."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
-msgid "ERR - Clock Skew"
-msgstr "ERR - horloge décalé"
+msgid "For best participation as a floodfill router, you should open your firewall."
+msgstr "Pour une meilleure participation en tant que diffuseur, vous devriez ouvrir votre pare-feu."
 
 #: ../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 ""
+msgid "WARN - Firewalled with Inbound TCP Enabled"
+msgstr "WARN - Pare-feu avec TCP entrant activé"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
-msgid "Correct your clock setting if this error persists."
-msgstr ""
+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 "Vous avez configuré le TCP entrant,  cependant votre port UDP est bloqué et en conséquence il est probable que TCP l'est aussi."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
-msgid "ERR - Private TCP Address"
-msgstr "ERR - Adresse TCP privée"
+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 "Si votre port TCp est bloqué et les connexions entrantes TCP activées dans la console, les routeurs ne pourront pas vous contacter via TCP, ce qui va perturber le réseau. "
 
 #: ../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 ""
+msgid "Please open your firewall or disable inbound TCP above."
+msgstr "Merci d'ouvrir votre pare-feu ou de désactiver le TCP entrant ci-dessus."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
-msgid "Correct the address or disable inbound TCP above."
-msgstr ""
+msgid "WARN - Firewalled with UDP Disabled"
+msgstr "WARN - Pare-feu avec UDP désactivé"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
-msgid "ERR - SymmetricNAT"
-msgstr "ERR - NAT symétrique"
+msgid "You have configured inbound TCP, however you have disabled UDP."
+msgstr "Vous avez configuré le TCP entrant, mais vous avez désactivé UDP."
 
 #: ../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 ""
+msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
+msgstr "Vous apparaissez comme étant bloqué par un pare-feu pour TCP, et en conséquence votre routeur ne peut pas accepter les connexions entrantes."
 
 #: ../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 ""
+msgid "Please open your firewall or enable UDP."
+msgstr "Merci d'ouvrir votre pare-feu ou d'activer UDP."
 
 #: ../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 ""
+msgid "ERR - Clock Skew"
+msgstr "ERR - horloge décalée"
 
 #: ../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 ""
+msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
+msgstr "L'horloge système est décalée, ce qui rend la participation au réseau difficile."
 
 #: ../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 ""
+msgid "Correct your clock setting if this error persists."
+msgstr "Corrigez votre réglage d'horloge si cette erreur persiste."
 
 #: ../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 ""
+msgid "ERR - Private TCP Address"
+msgstr "ERR - Adresse TCP privée"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
-msgid "However, a restart is always required after this error."
-msgstr ""
+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 "Vous ne devez jamais publier une IP non routable telle que 127.0.0.1 ou 192.168.1.1 en tant qu'adresse externe."
 
 #: ../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 ""
+msgid "Correct the address or disable inbound TCP above."
+msgstr "Corrigez cette adresse ou désactivez le TCP entrant ci-dessus."
 
 #: ../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 ""
+msgid "ERR - SymmetricNAT"
+msgstr "ERR - NAT symétrique"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
-msgid "Therefore your router cannot accept inbound connections."
-msgstr ""
+msgid "I2P detected that you are firewalled by a Symmetric NAT."
+msgstr "I2P a détecté que vous êtes derrière un NAT symétrique."
 
 #: ../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 ""
+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 marche mal derrière ce genre de pare-feu. vous ne pourrez sûrement pas accepter de recevoir de connexions entrantes, ce qui limitera votre participation au réseau."
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
-msgid "ERR - Client Manager I2CP Error - check logs"
-msgstr ""
+msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ERR - Port UDP en cours d'utilisation - réglez i2np.udp.internalPort=xxxx dans la configuration avancée et redémarrez"
 
 #: ../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 ""
+msgid "I2P was unable to bind to port 8887 or other configured port."
+msgstr "I2P n'a pas pu s'attacher au port configuré."
 
 #: ../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 ""
+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 "Vérifiez si un autre programme utilise le port configuré pour I2P. Si oui, arrêtez ce programme ou configurez I2P pour qu'il utilise un port différent (dans Windows tapez netstat dans une boîte de commandes pour lister les ports utilisés par les programmes)."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:675
+msgid "This may be a transient error, if the other program is no longer using the port."
+msgstr "Il s'agit peut-être d'une erreur passagère, si l'autre programme n'utilise plus le port."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:677
+msgid "However, a restart is always required after this error."
+msgstr "Cependant un redémarrage du routeur est toujours requis après cette erreur."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:679
+msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
+msgstr "ERR - UDP est désactivé et l'hôte/port entrants ne sont pas définis."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:681
+msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
+msgstr "vous n'avez pas configuré le TCP entrant ci-dessus avec un nom d'hôte et un port, mais vous avez désactivé UDP."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:683
+msgid "Therefore your router cannot accept inbound connections."
+msgstr "Le routeur ne peut donc pas accepter de connexions entrantes."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:685
+msgid "Please configure a TCP host and port above or enable UDP."
+msgstr "Merci de configurer ci-dessus un nom et un port TCP, ou d'activer UDP."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:687
+msgid "ERR - Client Manager I2CP Error - check logs"
+msgstr "ERR - Client Manager I2CP Error - vérifiez les historique"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:689
+msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
+msgstr "Ceci est habituellement dû à un conflit de port 7654. Vérifiez dans l'historique. (et pensez éventuellement à netstat   ;-)   ) "
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:691
+msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
+msgstr "Avez-vous une autre instance d'I2P en cours d'exécution? Arrêtez le programme en conflit et redémarrez I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:113
 msgid "config advanced"
-msgstr "configuration avancé"
+msgstr "configuration avancée"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:263
 msgid "I2P Advanced Configuration"
-msgstr "Configuration I2P avancé"
+msgstr "Configuration I2P avancée"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:319
 msgid "Advanced I2P Configuration"
-msgstr "Configuration I2P avancé"
+msgstr "Configuration I2P avancée"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:329
 msgid "Some changes may require a restart to take effect."
-msgstr ""
+msgstr "Certains changement nécessitent un redémarrage pour prendre effet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:112
 msgid "config clients"
-msgstr "Clients configuration"
+msgstr "configuration clients"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:265
 msgid "I2P Client Configuration"
-msgstr "Client I2P configuration"
+msgstr "Configuration clients I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
 msgid "Client Configuration"
-msgstr "Configuration Client"
+msgstr "Préférences"
 
-#: ../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:332
+msgid "The Java clients listed below are started by the router and run in the same JVM."
+msgstr "Les clients Java listés ci-dessous sont démarrés par le routeur et s'exécutent dans la même JVM."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
 msgid "To change other client options, edit the file"
-msgstr ""
+msgstr "Pour changer d'autres options du client, modifiez le fichier"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:439
 msgid "All changes require restart to take effect."
-msgstr ""
+msgstr "Tous les changements nécessitent un redémarrage pour prendre effet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Advanced Client Interface Configuration"
-msgstr "Configuration I2P avancé"
+msgstr "Configuration interface client avancée"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "External I2CP (I2P Client Protocol) Interface Configuration"
-msgstr ""
+msgstr "Configuration de l'interface I2CP (I2P Client Protocol) externe"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:367
 msgid "Enabled without SSL"
-msgstr ""
+msgstr "Activé sans SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:373
 msgid "Enabled with SSL required"
-msgstr ""
+msgstr "Activé avec SLL requis"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
 msgid "Disabled - Clients outside this Java process may not connect"
-msgstr ""
+msgstr "Désactivé: les clients hors de ce processus Java ne peuvent pas se connecter"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:381
 msgid "I2CP Port"
-msgstr ""
+msgstr "Port I2CP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
 msgid "I2CP Interface"
-msgstr "Configuration"
+msgstr "Interface i2CP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
 msgid "Authorization"
-msgstr "Autheur"
+msgstr "Autorisation"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
 msgid "Require username and password"
-msgstr ""
+msgstr "Utilisateur+Mot de  passe requis"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
 msgid "Username"
-msgstr ""
+msgstr "Utilisateur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:413
 msgid "Password"
-msgstr ""
+msgstr "Mot de passe"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:419
 msgid "Any changes made here must also be configured in the external client."
-msgstr ""
+msgstr "Tous les changements apportés ici doivent être répercutés dans le client externe."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Many clients do not support SSL or authorization."
-msgstr ""
+msgstr "Nombre de clients ne prennent pas en charge l'authentification ou SSL."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
 msgid "WebApp Configuration"
 msgstr "Configuration WebApp"
 
-#: ../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:431
+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 "Les applications Web Java listées ci-dessous sont démarrées par le client webConsole et s'exécutent dans la même JVM que le routeur. Il s'agit généralement d'applications web accessibles par la console du routeur. Il peut s'agir d'applications complètes (p.e. i2pSnark), d'interfaces pour d'autres clients ou applications qui doivent être activées séparément (p.e. susidns, i2ptunnel), ou n'ayant absolument aucune interface web (p.e. le carnet d'adresses)"
 
-#: ../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:433
+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 "Une appli web peut aussi être désactivée en supprimant le ficher .war du répertoire des web apps; mais le fichier et la web app reviendront à l'occasion d'une mise à jour du routeur, et donc la désactivation depuis la console est la méthode recommandée."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:445
 msgid "Plugin Configuration"
-msgstr "Configuration Client"
+msgstr "Configuration du greffon"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:447
 msgid "The plugins listed below are started by the webConsole client."
-msgstr ""
+msgstr "Les greffons listés ci-dessous sont démarrés par le client webConsole."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:455
 msgid "Plugin Installation"
-msgstr ""
+msgstr "Installation de greffon"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:457
 msgid "To install a plugin, enter the download URL:"
-msgstr ""
+msgstr "Pour installer un greffon, entrez son URL de téléchargement:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:112
 msgid "config keyring"
-msgstr "Configuration porte-clés"
+msgstr "Configuration du porte-clés"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:249
 msgid "I2P Keyring Configuration"
-msgstr "Configuration du Porte-clés I2P"
+msgstr "Configuration du porte-clés I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "The router keyring is used to decrypt encrypted leaseSets."
-msgstr ""
+msgstr "Le trousseau de clefs du routeur est utilisé pour déchiffrer les jeux de baux (leaseSets) cryptés."
 
-#: ../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:320
+msgid "The keyring may contain keys for local or remote encrypted destinations."
+msgstr "Le trousseau contient les clés des destinations cryptées locales ou distantes."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326
 msgid "Manual Keyring Addition"
-msgstr ""
+msgstr "Ajout manuel de clés"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328
 msgid "Enter keys for encrypted remote destinations here."
-msgstr ""
+msgstr "Entrez les clés pour les destinations chiffrées distantes ici."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331
 msgid "Keys for local destinations must be entered on the"
-msgstr ""
+msgstr "Les clés des destinations locales doivent être entrées sur la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:333
 msgid "I2PTunnel page"
-msgstr ""
+msgstr "page I2PTunnel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:335
 msgid "Dest. name, hash, or full key"
 msgstr "Nom de destination, empreinte, ou clé complète"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:337
 msgid "Encryption Key"
-msgstr "Clé d'encryption"
+msgstr "Clé de cryptage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:113
 msgid "config logging"
-msgstr "configuration enregistrements"
+msgstr "configuration des historiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:263
 msgid "I2P Logging Configuration"
-msgstr ""
+msgstr "Configuration des historiques 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:319
 msgid "Configure I2P Logging Options"
-msgstr ""
+msgstr "Configuration des options d'historiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Logging filename"
-msgstr ""
+msgstr "Nom du fichier des historiques"
 
-#: ../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:325
 msgid "(the symbol '@' will be replaced during log rotation)"
-msgstr ""
+msgstr "(le caractère \"@\" sera remplacé lors des rotations d'historiques)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
 msgid "Log record format"
-msgstr ""
+msgstr "Format des enregistrements d'historiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
-msgid ""
-"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
-msgstr ""
-"(use 'd' = date, 'c' = classe, 't' = fil d'exécution, 'p' = priorité, 'm' = "
-"message)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
+msgstr "(utilisez \"d\" = date, \"c\" = classe, \"t\" = tâche, \"p\" = priorité, \"m\" = message)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
 msgid "Log date format"
-msgstr ""
+msgstr "Format de date des historiques"
 
-#: ../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' = mois, 'dd' = jour, 'HH' = heure, 'mm' = minute, 'ss' = seconde, "
-"'SSS' = milliseconde)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:337
+msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
+msgstr "(\"MM\" = mois, \"dd\" = jour, \"HH\" = heure, \"mm\" = minute, \"ss\" = seconde, \"SSS\" = milliseconde)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
 msgid "Max log file size"
-msgstr ""
+msgstr "Taille max des fichiers d'historiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:343
 msgid "Default log level"
-msgstr ""
+msgstr "Niveau d'historisation par défaut"
 
-#: ../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:347
+msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
+msgstr "(DEBUG et INFO sont déconseillés, car ils ralentissent double-plus-grâââve votre routeur)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:349
 msgid "Log level overrides"
-msgstr ""
+msgstr "Exceptions au niveau d'historisation"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353
 msgid "New override"
-msgstr ""
+msgstr "Nouvelle exception"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:112
 msgid "config peers"
 msgstr "Configuration des pairs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:249
 msgid "I2P Peer Configuration"
 msgstr "Configuration des pairs I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
 msgid "Manual Peer Controls"
-msgstr ""
+msgstr "Contrôle manuel des pairs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 msgid "Router Hash"
-msgstr "Routeur empreinte"
+msgstr "Empreinte du routeur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:329
 msgid "Manually Ban / Unban a Peer"
-msgstr ""
+msgstr "(Dé)banissement manuel d'un pair"
 
-#: ../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:331
+msgid "Banning will prevent the participation of this peer in tunnels you create."
+msgstr "Le banissement empêchera ce pair de participer aux tunnels que vous créez."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:341
 msgid "Adjust Profile Bonuses"
-msgstr ""
+msgstr "Ajuster les boni du profil"
 
-#: ../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:343
+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 "Les boni peuvent être positifs ou négatifs, et influencent l'affectation des pairs dans les groupes \"Rapides\" et \"Hautes capacités\". Les pairs rapides sont utilisés pour les tunnels clients, et les pairs à hautes capacités pour quelques tunnels exploratoires. Les boni actuels sont affichés sur la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
 msgid "profiles page"
-msgstr "page des profiles"
+msgstr "page des profils"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:273
 msgid "Banned Peers"
-msgstr "Pairs interdits"
+msgstr "Pairs bannis"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:384
 msgid "Banned IPs"
-msgstr "Adresses IP interdits"
+msgstr "Adresses IP bannies"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:112
 msgid "config reseeding"
-msgstr "Configuration porte-clés"
+msgstr "Config réamorçage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:262
 msgid "I2P Reseeding Configuration"
-msgstr "Configuration du Porte-clés I2P"
+msgstr "Configuration du réamorçage d'I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
 msgid "Reseeding Configuration"
-msgstr "Configuration du Porte-clés I2P"
+msgstr "Configuration réamorçage"
 
-#: ../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:320
+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 "Le réamorçage est le processus de lancement utilisé pour trouver d'autres routeurs lors de l'installation initiale d'I2P, ou lorsqu'il reste au routeur trop peu de références à d'autre routeurs."
 
-#: ../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:322
+msgid "If reseeding has failed, you should first check your network connection."
+msgstr "Si le réamorçage a échoué, vérifiez d'abord l'état de votre connexion au réseau."
 
-#: ../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:326
+msgid "Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy."
+msgstr "Changez-les seulement si HTTP est bloqué par un pare-feu restrictif, si le réamorçage a échoué, et si vous avez accès à un mandataire (proxy) HTTP."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 #, java-format
 msgid "See {0} for instructions on reseeding manually."
-msgstr ""
+msgstr "Voir les instructions de réamorçage manuel sur {0}."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 msgid "the FAQ"
-msgstr ""
+msgstr "la FAQ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
 msgid "Reseed URL Selection"
-msgstr ""
+msgstr "Sélection de l'URL de réamorçage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
 msgid "Try SSL first then non-SSL"
-msgstr ""
+msgstr "Préférer SSL, sinon,  repli sur non-SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:342
 msgid "Use SSL only"
-msgstr ""
+msgstr "Avec SSL seulement"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
 msgid "Use non-SSL only"
-msgstr ""
+msgstr "Sans SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
 msgid "Reseed URLs"
-msgstr "Actualités URL"
+msgstr "URLs de réamorçage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:354
 msgid "Enable HTTP proxy (not used for SSL)"
-msgstr ""
+msgstr "Activer le mandataire HTTP (non utilisé pour SSL)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:358
 msgid "HTTP Proxy Host"
-msgstr "eeProxy hôte"
+msgstr "Hôte mandataire HTTP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:362
 msgid "HTTP Proxy Port"
-msgstr ""
+msgstr "Port mandataire HTTP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:112
 msgid "config service"
-msgstr "Service Configuration "
+msgstr "Configuration du service"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:249
 msgid "I2P Service Configuration"
-msgstr "Service I2P Configuration"
+msgstr "Configuration du service I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid "Shutdown the router"
-msgstr "Fermer le routeur"
+msgstr "Arrêter le routeur"
 
-#: ../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 ""
-"Une fermature gracieuse permit au routeur de satisfaire ses accords en place "
-"avec d'autres routeurs avant de fermer, mais cela prendra plusieurs minutes."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
+msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
+msgstr "Un arrêt respectueux permet au routeur de satisfaire les accords en place avec d'autres routeurs avant la fermeture,  mais cela prendra quelques minutes."
 
-#: ../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 ""
-"Si vous avez besoin d'arrêter le routeur I2P immédiatement, cette option est "
-"aussi disponible."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+msgid "If you need to kill the router immediately, that option is available as well."
+msgstr "Si vous avez besoin d'arrêter le routeur I2P immédiatement, cette option est également disponible."
 
-#: ../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:317
+msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
+msgstr "Si vous voulez que le routeur redémarre après l'arrêt, vous pouvez choisir une des possibilités suivantes."
 
-#: ../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:319
+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 "C'est utile dans certaines situations: p.e. quand vous faites un réglage que telle application cliente ne lit qu'au démarrage, comme le mot de passe de la console ou l'interface sur lequel elle écoute."
 
-#: ../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 ""
-"Une redémarrage gracieux prendra quelques minutes (mais vos pairs "
-"apprécieront votre patience), une redémarrage immédiate est quasi instantané."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
+msgstr "Un redémarrage respectueux prendra quelques minutes (mais vos pairs apprécieront votre patience), un redémarrage immédiat est quasi instantané."
 
-#: ../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 ""
-"Après la rédemmarage du routeur, il attendra 1 minute avant de se relancer."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+msgid "After tearing down the router, it will wait 1 minute before starting back up again."
+msgstr "Après le redémarrage du routeur, il attendra 1 minute avant de se relancer."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "Systray integration"
-msgstr ""
+msgstr "Intégration dans la zone de notification"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
-msgid ""
-"On the windows platform, there is a small application to sit in the system "
-"tray, allowing you to view the router's status"
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+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 "Sur Windows, une icône pour la zone de notification indiquant l'état du routeur "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
-msgid ""
-"(later on, I2P client applications will be able to integrate their own "
-"functionality into the system tray as well)."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)."
+msgstr "(Ultérieurement, les applications clientes I2P pourront aussi intégrer leurs propres fonctionnalités dans la zone de notification système)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
 msgid "If you are on windows, you can either enable or disable that icon here."
-msgstr ""
+msgstr "Si vous êtes sur Windows, vous pouvez (dés)activer cette icône ici."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "Show systray icon"
-msgstr ""
+msgstr "Afficher l'icône de zone de notification"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Hide systray icon"
-msgstr ""
+msgstr "Masquer l'icône de zone de notification"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:345
 msgid "Run on startup"
-msgstr "Lancer avec le démarrage du routeur"
+msgstr "Lancer au démarrage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
-msgid ""
-"You can control whether I2P is run on startup or not by selecting one of the "
-"following options - I2P will install (or remove) a service accordingly."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+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 "Vous pouvez contrôler si I2P est lancé ou pas au démarrage en choisissant une des options suivantes: I2P installera le service en conséquence."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
 msgid "If you prefer the command line, you can also run the "
-msgstr ""
+msgstr "Si vous préférez la ligne commande, vous pouvez aussi exécuter la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
-msgid ""
-"If you are running I2P as service right now, removing it will shut down your "
-"router immediately."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:348
+msgid "Note"
+msgstr "Note"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
-msgid ""
-"You may want to consider shutting down gracefully, as above, then running "
-"uninstall_i2p_service_winnt.bat."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
+msgstr "Si vous exécutez actuellement I2P en tant que service, l'enlever arrêtera le routeur immédiatement."
 
-#: ../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:361
+msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
+msgstr "Vous pouvez faire un arrêt respectueux, comme ci-dessus, puis lancer le fichier uninstall_i2p_service_winnt.bat."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
 msgid "Debugging"
 msgstr "Débogage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:367
 msgid "View the job queue"
-msgstr "queue des tâches"
+msgstr "Afficher la file d'attente de travaux"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
-msgid ""
-"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
-"please select the following option and review the thread dumped to <a href="
-"\"logs.jsp#servicelogs\">wrapper.log</a>."
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:371
+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 "À l'occasion, il peut être utile de déboguer I2P à l'aide d'un cliché de tâches. Pour ce faire, cliquer sur le bouton ci-dessous et examiner le résultat dans  l'historique du <a href=\"logs.jsp#servicelogs\">service Wrapper</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:377
 msgid "Launch browser on router startup?"
-msgstr "Lancer explorateur internet pendant le démarrage du routeur ?"
+msgstr "Lancer le navigateur au démarrage du routeur?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
-msgid ""
-"I2P's main configuration interface is this web console, so for your "
-"convenience I2P can launch a web browser on startup pointing at"
-msgstr ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:379
+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 "La plus grande partie de la configuration d'I2P se fait dans cette console, et donc pour votre confort, I2P peut lancer au démarrage votre navigateur sur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:113
 msgid "config stats"
-msgstr ""
+msgstr "config stats"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:250
 msgid "I2P Stats Configuration"
-msgstr "Configuration I2P Statistiques"
+msgstr "Configuration des statistiques d'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:320
 msgid "Configure I2P Stat Collection"
-msgstr ""
+msgstr "Sélection des données à collecter"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:322
 msgid "Enable full stats?"
-msgstr ""
+msgstr "Activer toutes les statistiques"
 
-#: ../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:329
 msgid "change requires restart to take effect"
-msgstr ""
+msgstr "la modification sera prise en compte au prochain démarrage"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:331
 msgid "Stat file"
-msgstr ""
+msgstr "Fichier des statistiques"
 
-#: ../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:335
 msgid "Filter"
 msgstr "Filtre"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:348
 msgid "toggle all"
-msgstr "basculer tous"
+msgstr "basculer tout"
 
-#: ../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:350
 msgid "Log"
-msgstr "Enregistrement"
+msgstr "Histo."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:352
 msgid "Graph"
-msgstr "Graphe"
+msgstr "Graph."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:391
 msgid "Advanced filter"
 msgstr "Filtre avancé"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:112
 msgid "config tunnels"
 msgstr "Configuration des tunnels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:262
 msgid "I2P Tunnel Configuration"
 msgstr "Configuration des tunnels I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:328
 msgid "The default settings work for most people."
-msgstr "La configuration défaut fonctionne pour le plupart des utilisateurs"
+msgstr "La configuration par défaut fonctionne pour la plupart des utilisateurs."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
 msgid "There is a fundamental tradeoff between anonymity and performance."
-msgstr ""
+msgstr "Il y a une contradiction fondamentale entre anonymat et performances."
 
-#: ../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:335
+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 "Des tunnels à plus de 3 sauts (p.e. 2 sauts + 0-2 sauts, 3 sauts + 0-1 saut, 3 sauts + 0-2 sauts), ou en grand nombre avec une réserve de secours élevée, peuvent gravement réduire les performances ou la fiabilité. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "High CPU and/or high outbound bandwidth usage may result."
-msgstr ""
+msgstr "Une forte charge UC et/ou utilisation de bande passante sortante peuvent en résulter. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
 msgid "Change these settings with care, and adjust them if you have problems."
-msgstr ""
+msgstr "Modifiez ces réglages avec prudence, et fignolez-les en cas de problèmes."
 
-#: ../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:351
+msgid "Exploratory tunnel setting changes are stored in the router.config file."
+msgstr "Les modifications des réglages de tunnels exploratoires sont enregistrés dans le fichier router.config."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:354
 msgid "Client tunnel changes are temporary and are not saved."
-msgstr ""
+msgstr "Les modifications des tunnels clients sont temporaires et ne sont pas enregistrées."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:356
 msgid "To make permanent client tunnel changes see the"
-msgstr ""
+msgstr "Pour faire des modifications permanentes à un tunnel client particulier, voyez la"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:358
 msgid "i2ptunnel page"
-msgstr ""
+msgstr "page i2ptunnel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:112
 msgid "config UI"
-msgstr "configuration IHM"
+msgstr "configuration de la console"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:262
 msgid "I2P UI Configuration"
-msgstr "Configuration de l'IHM I2P"
+msgstr "Préférences de la console"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:314
 msgid "Router Console Theme"
-msgstr ""
+msgstr "Thème de la console"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:339
 msgid "Theme selection disabled for Internet Explorer, sorry."
-msgstr ""
+msgstr "Sélection de thème indisponible pour Internet Explorer, désolé."
 
-#: ../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:341
+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 "Si vous n'utilisez pas IE, c'est que votre navigateur tente de le faire croire; configurez-le (ou son proxy) pour qu'il utilise une chaîne User Agent différente si vous souhaitez pouvoir changer de thème."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345
 msgid "Router Console Language"
-msgstr ""
+msgstr "Langue de la console"
 
-#: ../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 ""
-"Veuillez contribuer à la traduction du 'router console' ! Contactez les "
-"développeurs sur IRC #i2p afin de donner un coup de main."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:349
+msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
+msgstr "Merci de contribuer à la traduction de la console du routeur ! Contactez les développeurs sur IRC #i2p afin de donner un coup de main."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353
 msgid "Apply"
 msgstr "Appliquer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:112
 msgid "config update"
-msgstr "Mettre à jour la configuration"
+msgstr "mise à jour config"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:249
 msgid "I2P Update Configuration"
-msgstr "Configuration du mise à jour I2P"
+msgstr "Configuration des mises à jour"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Check for I2P and news updates"
-msgstr ""
+msgstr "Vérification de mises à jour I2P et nouvelles"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:323
 msgid "News &amp; I2P Updates"
-msgstr "Actualités et mises à jour I2P"
+msgstr "Actualités &amp; mises à jour i2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update In Progress"
 msgstr "Mise à jour en cours"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "News URL"
-msgstr "Actualités URL"
+msgstr "URL des actualités"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "Refresh frequency"
 msgstr "Fréquence d'actualisation"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:345
 msgid "Update policy"
 msgstr "Méthode de mise à jour"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:349
 msgid "Update through the eepProxy?"
-msgstr "Mettre à jour utilisant l'eeProxy ?"
+msgstr "Mettre à jour via l'eeProxy ?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:353
 msgid "eepProxy host"
 msgstr "eeProxy hôte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:357
 msgid "eepProxy port"
-msgstr ""
+msgstr "Port eepProxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "Update URLs"
 msgstr "Mettre à jour à partir de ces URLs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Trusted keys"
-msgstr "Clés auxquelles on peut faire confiance"
+msgstr "Clés de confiance"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
 msgid "Update with unsigned development builds?"
-msgstr ""
-"Mettre à jour avec une version de développement d'i2p qui n'a pas été signée"
+msgstr "Mettre à jour avec les versions intermédiaires de développement non signées?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
 msgid "Unsigned Build URL"
-msgstr "L'URL de la version d'i2p qui n'a pas été signée"
+msgstr "L'URL de version non signée"
 
-#: ../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:379
+msgid "I2P updates are disabled because you do not have write permission for the install directory."
+msgstr "Les mises à jours d'I2P sont désactivées car vous n'avez pas le droit d'écriture sur le dossier d'installation. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:385
 msgid "Save"
-msgstr "Sauvegarder"
+msgstr "Enregistrer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
 msgid "Internal Error"
-msgstr ""
+msgstr "Erreur interne"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
 msgid "Router Console"
 msgstr "Console du routeur I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:127
 msgid "Configuration"
-msgstr "Configuration IP"
+msgstr "Configuration"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:135
 msgid "Sorry! There has been an internal error."
-msgstr ""
+msgstr "Désolé! Une erreur interne est survenue."
 
 #. 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
+#: ../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:254
 #, java-format
 msgid "Please report bugs on {0} or {1}."
-msgstr ""
+msgstr "Merci de signaler les bogues sur {0} ou {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 ""
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:258
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "Vous pouvez utiliser l'identifiant \"guest\" et le mot de passe \"guest\" si vous ne souhaitez pas vous inscrire."
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:145
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:260
 msgid "Please include this information in bug reports"
 msgstr "Veuillez inclure cette information dans les rapports des bugs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:147
 msgid "Error Details"
-msgstr ""
+msgstr "Détails de l'erreur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
-#, fuzzy, java-format
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:149
+#, java-format
 msgid "Error {0}"
-msgstr "Erreur 404"
+msgstr "Erreur {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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:169
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:250
 msgid "I2P Version and Running Environment"
-msgstr ""
+msgstr "Version d'I2P & environnement d'exécution"
 
-#: ../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/error500_jsp.java:197
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:288
+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 "Veuillez prendre note que les informations système, les tampons horaires, et les messages d'historiques contiennent des indices susceptibles de révéler votre identité. Merci de vérifier tout ce que vous incluez dans un rapport de bogue."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:123
 msgid "Page Not Found"
 msgstr "Page introuvable"
 
-#: ../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:264
+msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
+msgstr "Désolé! Vous avez demandé une page ou ressource de la console inexistante. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:266
 msgid "Error 404"
 msgstr "Erreur 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:271
 msgid "not found"
-msgstr "pas trouvé"
+msgstr "non trouvé"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:112
 msgid "graphs"
-msgstr "graphes"
+msgstr "graphiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:249
 msgid "I2P Performance Graphs"
-msgstr ""
+msgstr "Graphiques de performances I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:111
 msgid "home"
-msgstr ""
+msgstr "accueil"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:331
+msgid "Welcome to I2P"
+msgstr "Bienvenue sur I2P !"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:111
 msgid "job queue"
-msgstr "queue des tâches"
+msgstr "file d'attente"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:248
 msgid "I2P Router Job Queue"
-msgstr ""
+msgstr "File d'attente de travaux du routeur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:111
 msgid "logs"
-msgstr "fichier traces"
+msgstr "historiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:248
 msgid "I2P Router Logs"
 msgstr "Fichier traces du routeur I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:303
 msgid "Critical Logs"
-msgstr ""
+msgstr "Historiques critiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:307
 msgid "Router Logs"
-msgstr "Fichier traces du routeur I2P"
+msgstr "Historiques du routeur"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:313
 msgid "Service (Wrapper) Logs"
-msgstr ""
+msgstr "Historique du service Wrapper"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:111
 msgid "network database summary"
-msgstr ""
+msgstr "Résumé base de données"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:248
 msgid "I2P Network Database Summary"
-msgstr ""
+msgstr "Résumé base de données I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:115
 msgid "WebApp Not Found"
-msgstr "Page introuvable"
+msgstr "Application web introuvable"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
-#, fuzzy
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:252
 msgid "Web Application Not Running"
-msgstr "Tunnels d'application"
+msgstr "Application web non lancée"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:254
 msgid "The requested web application is not running."
-msgstr ""
+msgstr "L'application web demandée n'est pas lancée."
 
-#: ../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/nowebapp_jsp.java:256
+msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
+msgstr "Pour la lancer, rendez-vous sur <a href=\"/configclients.jsp#webapp\">configuration des clients</a>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:111
 msgid "peer connections"
-msgstr "connexions pairs"
+msgstr "connexions de pairs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:248
 msgid "I2P Network Peers"
-msgstr ""
+msgstr "Pairs I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:111
 msgid "peer profiles"
-msgstr "profile des pairs"
+msgstr "profils de pairs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:248
 msgid "I2P Network Peer Profiles"
-msgstr ""
+msgstr "Profils de pairs I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:111
 msgid "statistics"
 msgstr "statistiques"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:265
 msgid "I2P Router Statistics"
 msgstr "Statistiques du routeur I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:255
 #, java-format
 msgid "Disable {0} Refresh"
-msgstr "Désactiver {0} actualisation"
+msgstr "Désactiver l''actualisation automatique {0}"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:111
 msgid "tunnel summary"
-msgstr "sommaire tunnel"
+msgstr "résumé des tunnels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:248
 msgid "I2P Tunnel Summary"
-msgstr "tunnel sommaire I2P"
+msgstr "Résumé des tunnels I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:111
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:248
+msgid "Peer Profile"
+msgstr "Profils de pair"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:275
+#, java-format
+msgid "Profile for peer {0}"
+msgstr "Profil du pair {0}"
+
+#~ msgid "Last reseed failed fully (failed reading seed URL)."
+#~ msgstr ""
+#~ "Échec complet du dernier réamorçage (échec de lecture de l\\''URL source)"
+
+#~ msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
+#~ msgstr ""
+#~ "Échec complet du dernier réamorçage (pas de routerInfo à l\\''URL source)"
+
+#~ msgid "Last reseed failed partly ({0}% of {1})."
+#~ msgstr "Échec partiel du dernier réamorçage ({0}% de {1})."
+
+#~ msgid "Last reseed failed ({0}% of {1})."
+#~ msgstr "Échec du dernier réamorçage ({0}% de {1})."
+
+#~ msgid "Last reseed failed fully (exception caught)."
+#~ msgstr "Échec complet du dernier réamorçage (exception interceptée)."
+
+#~ msgid "System tray icon enabled."
+#~ msgstr "Icône de zone de notification système activée."
+
+#~ msgid "System tray icon feature not supported on this platform. Sorry!"
+#~ msgstr ""
+#~ "Fonctionnalité \"Icône de zone de notification système\" non disponible "
+#~ "sur cette plateforme. Désolé!"
+
+#~ msgid "Warning: unable to contact the systray manager"
+#~ msgstr ""
+#~ "Avertissement: impossible de contacter le gestionnaire de zone de "
+#~ "notification."
+
+#~ msgid "System tray icon disabled."
+#~ msgstr "Icône de zone de notification système désactivée."
 
 #~ msgid "hour"
 #~ msgstr "heure"
 
+#~ msgid "minute"
+#~ msgstr "mn"
+
 #~ msgid "minutes"
 #~ msgstr "minutes"
 
+#~ msgid "Download"
+#~ msgstr "Télécharger"
+
+#~ msgid ""
+#~ "Please report bugs on <a href=\"http://trac.i2p2.i2p/newticket\">trac."
+#~ "i2p2.i2p</a>."
+#~ msgstr ""
+#~ "Merci de signaler les bogues sur <a href=\"http://trac.i2p2.i2p/newticket"
+#~ "\">trac.i2p2.i2p</a>."
+
 #~ msgid "This is useful in some situations"
 #~ msgstr "C'est utile dans certains cas"
 
diff --git a/apps/routerconsole/locale/messages_ru.po b/apps/routerconsole/locale/messages_ru.po
index 1a1d48ab9c37d2ec8b0350c1949dc7a0665f3fec..5a7538fba73e832f92d765496991eaf8d054265a 100644
--- a/apps/routerconsole/locale/messages_ru.po
+++ b/apps/routerconsole/locale/messages_ru.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-03 18:28+0000\n"
-"PO-Revision-Date: 2011-02-19 22:43+0500\n"
+"POT-Creation-Date: 2011-04-13 16:25+0000\n"
+"PO-Revision-Date: 2011-04-13 23:31+0500\n"
 "Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
 "Language-Team: \n"
 "Language: \n"
@@ -17,8 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Russian\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
 "X-Poedit-Bookmarks: 283,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 
 #. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
@@ -29,7 +28,7 @@ msgstr ""
 #. {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:1141
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1140
 #, java-format
 msgid "1 ms"
 msgid_plural "{0,number,####} ms"
@@ -40,7 +39,7 @@ msgstr[2] "{0,number,####} мс"
 #. seconds
 #. Note to translators: quantity will always be greater than one.
 #. alternates: secs, sec. 'seconds' is probably too long.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1146
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1145
 #, java-format
 msgid "1 sec"
 msgid_plural "{0} sec"
@@ -51,7 +50,7 @@ msgstr[2] "{0} с."
 #. minutes
 #. Note to translators: quantity will always be greater than one.
 #. alternates: mins, min. 'minutes' is probably too long.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1151
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1150
 #, java-format
 msgid "1 min"
 msgid_plural "{0} min"
@@ -62,7 +61,7 @@ msgstr[2] "{0} мин."
 #. hours
 #. Note to translators: quantity will always be greater than one.
 #. alternates: hrs, hr., hrs.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1156
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1155
 #, java-format
 msgid "1 hour"
 msgid_plural "{0} hours"
@@ -70,14 +69,14 @@ msgstr[0] "{0} час"
 msgstr[1] "{0} часа"
 msgstr[2] "{0} часов"
 
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1158
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1157
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:314
 msgid "n/a"
 msgstr "нет данных"
 
 #. days
 #. Note to translators: quantity will always be greater than one.
-#: ../../../core/java/src/net/i2p/data/DataHelper.java:1162
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1161
 #, java-format
 msgid "1 day"
 msgid_plural "{0} days"
@@ -133,8 +132,7 @@ msgstr "Не принимаем туннели: Достигнут предел
 #. 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 ""
-"Не принимаем большую часть туннелей: Достигнут предел пропускной способности"
+msgstr "Не принимаем большую часть туннелей: Достигнут предел пропускной способности"
 
 #. hard to do {0} from here
 #. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
@@ -154,12 +152,12 @@ msgstr "Принимаем туннели"
 msgid "Rejecting tunnels"
 msgstr "Не принимаем туннели"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:125
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
 msgid "Reseeding"
 msgstr "Начальная загрузка"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:141
 #, java-format
 msgid "Reseed fetched only 1 router."
 msgid_plural "Reseed fetched only {0} routers."
@@ -167,31 +165,27 @@ msgstr[0] "При начальной загрузке получены данн
 msgstr[1] "При начальной загрузке получены данные только о {0} роутерах."
 msgstr[2] "При начальной загрузке получены данные только о {0} роутерах."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:148
 msgid "Reseed failed."
 msgstr "Попытка начальной загрузки провалилась."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:149
 #, java-format
 msgid "See {0} for help."
 msgstr "Смотрите {0} для помощи."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
 msgid "reseed configuration page"
 msgstr "страница настройки начальной загрузки"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:293
 msgid "Reseeding: fetching seed URL."
-msgstr ""
-"Производится начальная загрузка: загружается URL каталога маршрутизаторов."
+msgstr "Производится начальная загрузка: загружается URL каталога маршрутизаторов."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:335
 #, java-format
-msgid ""
-"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
-msgstr ""
-"Производится начальная загрузка: получение информации о маршрутизаторах ({0} "
-"удачно, {1} ошибок)."
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr "Производится начальная загрузка: получение информации о маршрутизаторах ({0} удачно, {1} ошибок)."
 
 #: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512
 msgid "NetDb entry"
@@ -216,52 +210,41 @@ msgid "{0} is used for outbound connections only"
 msgstr "{0} используется только для исходящих соединений"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
 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 ""
-"Лимиты транспортных соединений назначены автоматически на основе заданной "
-"вами пропускной способности."
+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 на странице расширенных "
-"настроек."
+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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
 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/ntcp/NTCPTransport.java:737
 #: ../../../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/ProfileOrganizerRenderer.java:189
 #: ../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 ""
-"Уникальный идентификатор пира (несколько начальных символов из хеша его "
-"маршрутизатора)"
+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/ntcp/NTCPTransport.java:738
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
 msgid "Dir"
 msgstr "Направление"
@@ -276,28 +259,24 @@ msgstr "Исходящее соединение"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
 msgid "They offered to introduce us (help other peers traverse our firewall)"
-msgstr ""
-"Этот пир предлагает себя в качестве нашего посредника (для того, чтобы "
-"другие пиры могли соединяться с нами в обход нашего брандмауэра)"
+msgstr "Этот пир предлагает себя в качестве нашего посредника (для того, чтобы другие пиры могли соединяться с нами в обход нашего брандмауэра)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
 msgid "We offered to introduce them (help other peers traverse their firewall)"
-msgstr ""
-"Мы предлагаем себя в качестве посредника для этого пира (для того, чтобы "
-"другие пиры могли соединяться с ним в обход его брандмауэра)"
+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/ntcp/NTCPTransport.java:739
 #: ../../../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/ntcp/NTCPTransport.java:740
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
@@ -312,13 +291,13 @@ 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/ntcp/NTCPTransport.java:741
 #: ../../../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/ntcp/NTCPTransport.java:742
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907
 msgid "Skew"
 msgstr "Сдвиг"
@@ -328,12 +307,8 @@ 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 ""
-"<i>Congestion Window.</i> Окно насыщения — количество байт, которое мы можем "
-"послать до ожидания подтверждения"
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr "<i>Congestion Window.</i> Окно насыщения — количество байт, которое мы можем послать до ожидания подтверждения"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The number of sent messages awaiting acknowledgement"
@@ -353,9 +328,7 @@ msgstr "<i>Slow Start Threshold.</i> Величина порога медлен
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The round trip time in milliseconds"
-msgstr ""
-"<i>Round-Trip Time.</i> Время между отправкой запроса и получением ответа "
-"(миллисекунды)"
+msgstr "<i>Round-Trip Time.</i> Время между отправкой запроса и получением ответа (миллисекунды)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
@@ -368,20 +341,14 @@ msgstr "Среднеквадратическое отклонение RTT (ми
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The retransmit timeout in milliseconds"
-msgstr ""
-"<i>Retransmit Time-Out.</i> Время ожидания подтверждения перед повторной "
-"посылкой пакета (миллисекунды)"
+msgstr "<i>Retransmit Time-Out.</i> Время ожидания подтверждения перед повторной посылкой пакета (миллисекунды)"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
-msgid ""
-"Current maximum send packet size / estimated maximum receive packet size "
-"(bytes)"
-msgstr ""
-"<i>Maximum Transfer Unit.</i> Текущий максимальный размер исходящего "
-"пакета / максимальный размер принятого пакета (байт) "
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr "<i>Maximum Transfer Unit.</i> Текущий максимальный размер исходящего пакета / максимальный размер принятого пакета (байт) "
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "TX"
 msgstr "Передано"
@@ -391,7 +358,7 @@ 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/ntcp/NTCPTransport.java:744
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "RX"
 msgstr "Принято"
@@ -424,42 +391,42 @@ msgstr "Общее количество повторно принятых от 
 msgid "Excessive clock skew: {0}"
 msgstr "Чрезмерное расхождение времени: {0}"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732
 msgid "NTCP connections"
 msgstr "NTCP соединения"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:733
 #: ../../../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/ntcp/NTCPTransport.java:734
 #: ../../../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
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:745
 msgid "Out Queue"
 msgstr "Исходящая очередь"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:746
 msgid "Backlogged?"
 msgstr "В очереди?"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Inbound"
 msgstr "Входящие"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:762
 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Outbound"
 msgstr "Исходящие"
 
 #. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:809
 msgid "peers"
 msgstr "пиров"
 
@@ -579,23 +546,22 @@ msgstr "Игнорируем запросы туннелей: Время вып
 msgid "Dropping tunnel requests: Overloaded"
 msgstr "Игнорируем запросы туннелей: Слишком высокая нагрузка"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:460
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:470
 msgid "Rejecting tunnels: Request overload"
 msgstr "Не принимаем туннели: Слишком много запросов"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:485
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:495
 msgid "Rejecting tunnels: Connection limit"
 msgstr "Не принимаем туннели: Достигнут предел количества соединений"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:685
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:706
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:695
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:716
 msgid "Dropping tunnel requests: High load"
 msgstr "Игнорируем запросы туннелей: Высокая нагрузка"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:698
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:708
 msgid "Dropping tunnel requests: Queue time"
-msgstr ""
-"Игнорируем запросы туннелей: Слишком большое время пребывания в очереди"
+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!!
@@ -1483,7 +1449,8 @@ msgstr "Сент-Винсент и Гренадины"
 msgid "Venezuela"
 msgstr "Венесуэла"
 
-#: ../java/build/Countries.java:229 ../java/build/Countries.java:230
+#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:230
 msgid "Virgin Islands"
 msgstr "Виргинские острова"
 
@@ -1523,12 +1490,12 @@ msgstr "Замбия"
 msgid "Zimbabwe"
 msgstr "Зимбабве"
 
-#: ../java/src/net/i2p/router/web/CSSHelper.java:58
+#: ../java/src/net/i2p/router/web/CSSHelper.java:60
 #: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:125
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:257
 msgid "I2P Router Console"
 msgstr "Консоль маршрутизатора I2P"
 
@@ -1543,35 +1510,31 @@ 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 ""
-"Не удалось сохранить настройки (применены, но не сохранены) — загляните в "
-"логи ошибок"
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:441
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:453
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:461
 msgid "Install Plugin"
 msgstr "Установить плагин"
 
@@ -1613,11 +1576,8 @@ 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 ""
-"Настройки клиентов сохранены, требуется перезапуск маршрутизатора для "
-"вступления в силу."
+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
@@ -1627,7 +1587,7 @@ 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/SummaryBarRenderer.java:392
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:384
 msgid "Client"
 msgstr "Клиентские"
@@ -1700,11 +1660,8 @@ msgid "Error starting plugin {0}"
 msgstr "Ошибка при запуске плагина {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
-msgid ""
-"Interface configuration saved successfully - restart required to take effect."
-msgstr ""
-"Настройки интерфейса успешно сохранены, требуется перезапуск маршрутизатора "
-"для вступления в силу."
+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
@@ -1712,7 +1669,7 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Add Client"
 msgstr "Добавить клиент"
 
@@ -1743,7 +1700,7 @@ 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/NetDbRenderer.java:273
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Версия"
@@ -1778,14 +1735,12 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 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 "Обновление"
 
@@ -1799,12 +1754,12 @@ msgid "Delete"
 msgstr "Удалить"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341
 msgid "Delete key"
 msgstr "Удалить ключ"
 
@@ -1851,19 +1806,12 @@ 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 ""
-"Впишите выше дополнительные настройки уровней детализации лога. Пример: net."
-"i2p.router.tunnel=WARN"
+msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr "Впишите выше дополнительные настройки уровней детализации лога. Пример: 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 ""
-"Либо добавьте эти записи в файл logger.config. Пример: 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 "Либо добавьте эти записи в файл logger.config. Пример: 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"
@@ -1913,7 +1861,7 @@ 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/src/net/i2p/router/web/SummaryBarRenderer.java:381
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "Туннели"
@@ -1927,7 +1875,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:293
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "Keyring"
 msgstr "Ключи"
 
@@ -1937,13 +1885,13 @@ 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/src/net/i2p/router/web/SummaryBarRenderer.java:255
 #: ../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/NetDbRenderer.java:389
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Статистика"
@@ -1956,13 +1904,13 @@ msgstr "Расширенные"
 #: ../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
+#: ../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:534
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:362
 msgid "Save changes"
 msgstr "Сохранить настройки"
 
@@ -2066,7 +2014,7 @@ msgid "or {0} bytes per month maximum"
 msgstr "или {0} байт/месяц максимум"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:333
 msgid "Ban peer until restart"
 msgstr "Забанить пира до перезапуска маршрутизатора"
 
@@ -2086,7 +2034,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:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Unban peer"
 msgstr "Разбанить пира"
 
@@ -2099,7 +2047,7 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:361
 msgid "Adjust peer bonuses"
 msgstr "Изменить бонусы"
 
@@ -2112,7 +2060,7 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:368
 msgid "Save changes and reseed now"
 msgstr "Сохранить настройки и выполнить начальную загрузку"
 
@@ -2132,7 +2080,7 @@ msgstr "Настройки успешно сохранены."
 #. Normal browsers send value, IE sends button label
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:311
 msgid "Shutdown immediately"
 msgstr "Выключить немедленно"
 
@@ -2179,7 +2127,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:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Shutdown gracefully"
 msgstr "Выключить плавно"
 
@@ -2192,7 +2140,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:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:313
 msgid "Cancel graceful shutdown"
 msgstr "Отменить плавное выключение"
 
@@ -2201,7 +2149,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:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Graceful restart"
 msgstr "Перезапустить плавно"
 
@@ -2210,7 +2158,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:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Hard restart"
 msgstr "Перезапустить немедленно"
 
@@ -2235,22 +2183,22 @@ msgid "Rekeying after graceful shutdown"
 msgstr "Смена ключа после плавного выключения"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
 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:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:355
 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:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:373
 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:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:381
 msgid "View console on startup"
 msgstr "Открывать веб-консоль при запуске I2P"
 
@@ -2259,7 +2207,7 @@ msgid "Console is to be shown on startup"
 msgstr "Веб-консоль будет открываться при запуске I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:383
 msgid "Do not view console on startup"
 msgstr "Не открывать веб-консоль при запуске I2P"
 
@@ -2292,12 +2240,8 @@ 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 ""
-"Список графиков обновлен, для обновления содержимого <a href=\"graphs.jsp"
-"\">страницы графиков</a> может потребоваться до 60 секунд."
+msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
+msgstr "Список графиков обновлен, для обновления содержимого <a href=\"graphs.jsp\">страницы графиков</a> может потребоваться до 60 секунд."
 
 #. the count isn't really correct anyway, since we don't check for actual changes
 #. addFormNotice("Updated settings for " + updated + " pools.");
@@ -2311,12 +2255,8 @@ 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 ""
-"Не удалось сохранить настройки (применены, но не сохранены) — загляните в "
-"логи ошибок"
+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
@@ -2335,61 +2275,58 @@ msgstr[0] "{0} туннель"
 msgstr[1] "{0} туннеля"
 msgstr[2] "{0} туннелей"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:35
 #: ../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:51
+#, java-format
+msgid "Client tunnels for {0}"
+msgstr "Клиентские туннели для {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
 msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
 msgstr "ОПАСНО ДЛЯ АНОНИМНОСТИ — Настройки задают 0-хоповые туннели."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:79
 msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
 msgstr "ОПАСНО ДЛЯ АНОНИМНОСТИ — Настройки задают 1-хоповые туннели."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "PERFORMANCE WARNING - Settings include very long tunnels."
-msgstr ""
-"ОПАСНО ДЛЯ ПРОИЗВОДИТЕЛЬНОСТИ — Настройки задают слишком длинные туннели."
+msgstr "ОПАСНО ДЛЯ ПРОИЗВОДИТЕЛЬНОСТИ — Настройки задают слишком длинные туннели."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:85
 msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
-msgstr ""
-"ОПАСНО ДЛЯ ПРОИЗВОДИТЕЛЬНОСТИ — Настройки задают слишком большие количества "
-"туннелей."
+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
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:92
 msgid "Length"
 msgstr "Длина"
 
 #. tunnel depth variance
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:109
 msgid "Randomization"
 msgstr "Разброс"
 
 #. tunnel quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:133
 msgid "Quantity"
 msgstr "Количество"
 
 #. tunnel backup quantity
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:150
 msgid "Backup quantity"
 msgstr "Резервное количество"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:172
 msgid "Inbound options"
 msgstr "Дополнительные параметры для входящих"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:185
 msgid "Outbound options"
 msgstr "Дополнительные параметры для исходящих"
 
@@ -2506,14 +2443,9 @@ msgstr "Только скачать и проверить целостность
 msgid "Download, verify, and restart"
 msgstr "Скачать, проверить и обновить I2P"
 
-#: ../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/FormHandler.java:176
+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"
@@ -2542,8 +2474,8 @@ 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:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351
 msgid "or"
 msgstr "или"
 
@@ -2593,71 +2525,71 @@ msgstr "Файл не найден"
 msgid "No log messages"
 msgstr "Нет сообщений"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:79
 msgid "Network Database RouterInfo Lookup"
 msgstr "Просмотр RouterInfo"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:94
 #: ../java/strings/Strings.java:68
 msgid "Router"
 msgstr "Маршрутизатор"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:94
 msgid "not found in network database"
 msgstr "не найден в сетевой базе данных"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:106
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "Network Database Contents"
 msgstr "Просмотр сетевой базы данных"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
 msgid "View RouterInfo"
 msgstr "Показать список RouterInfo"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
 msgid "LeaseSets"
 msgstr "Список LeaseSet"
 
 # This term intentionally left in English
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:130
 msgid "LeaseSet"
 msgstr "LeaseSet"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:132
 msgid "Local"
 msgstr "Локальный"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:134
 msgid "Unpublished"
 msgstr "Неопубликованный"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:142
 msgid "Destination"
 msgstr "Адрес назначения"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:152
 #, java-format
 msgid "Expires in {0}"
 msgstr "Истекает через {0}"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:154
 #, java-format
 msgid "Expired {0} ago"
 msgstr "Истек {0} назад"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Gateway"
 msgstr "Шлюз"
 
 # This term intentionally left in English
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
 msgid "Lease"
 msgstr "Lease"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:168
 msgid "Tunnel"
 msgstr "Туннель"
 
@@ -2681,97 +2613,97 @@ msgstr "Показать полный список"
 msgid "Show all routers with full stats"
 msgstr "Показать полный список с полной статистикой"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:266
 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
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Count"
 msgstr "Количество"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:287
 msgid "Transports"
 msgstr "Транспортный протокол"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:305
 msgid "Country"
 msgstr "Страна"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Our info"
 msgstr "Информация о нас"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:346
 msgid "Peer info for"
 msgstr "Информация о пире"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:350
 msgid "Full entry"
 msgstr "Показать полную запись"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:115
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "Hidden"
 msgstr "Скрытый"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:356
 msgid "Updated"
 msgstr "Обновленный"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
-#: ../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:360
 #, java-format
 msgid "{0} ago"
 msgstr "{0} назад"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:359
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Published"
 msgstr "Опубликовано"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:365
 msgid "Address(es)"
 msgstr "Адрес(а)"
 
 # This term intentionally left in English
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:378
 msgid "cost"
 msgstr "cost"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "Hidden or starting up"
 msgstr "В скрытом режиме или недавно запущен"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU"
 msgstr "SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "SSU with introducers"
 msgstr "SSU через посредников"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP"
 msgstr "NTCP"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU"
 msgstr "NTCP и SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:404
 msgid "NTCP and SSU with introducers"
 msgstr "NTCP и SSU через посредников"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:92
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Новости последний раз обновлялись {0} назад."
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:98
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Новости последний раз проверялись {0} назад."
@@ -2806,7 +2738,7 @@ msgid "Downloading plugin"
 msgstr "Загружается плагин"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:244
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:245
 #, java-format
 msgid "{0}B transferred"
 msgstr "{0} байт скачано"
@@ -2822,7 +2754,7 @@ msgid "Cannot create plugin directory {0}"
 msgstr "Не удалось создать директорию плагина {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:298
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:299
 #, java-format
 msgid "from {0}"
 msgstr "из {0}"
@@ -2871,12 +2803,8 @@ msgid "This plugin requires Java version {0} or higher"
 msgstr "Для этого плагина требуется версия Java {0} и выше"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
-msgid ""
-"Downloaded plugin is for new installs only, but the plugin is already "
-"installed"
-msgstr ""
-"Загруженный инсталлятор плагина предназначен только для первоначальной "
-"установки, но такой плагин уже установлен"
+msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
+msgstr "Загруженный инсталлятор плагина предназначен только для первоначальной установки, но такой плагин уже установлен"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:305
 msgid "Installed plugin does not contain the required configuration file"
@@ -2889,26 +2817,21 @@ msgstr "Подпись загруженного плагина не совпад
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:320
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
-msgstr ""
-"Версия скачанного плагина {0} не новее версии уже установленного плагина"
+msgstr "Версия скачанного плагина {0} не новее версии уже установленного плагина"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:327
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
-msgstr ""
-"Для обновления плагина требуется установленная версия плагина {0} и выше"
+msgstr "Для обновления плагина требуется установленная версия плагина {0} и выше"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:334
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
-msgstr ""
-"Для обновления плагина требуется установленная версия плагина {0} и ниже"
+msgstr "Для обновления плагина требуется установленная версия плагина {0} и ниже"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
 msgid "Plugin is for upgrades only, but the plugin is not installed"
-msgstr ""
-"Загруженный инсталлятор плагина предназначен только для обновления, но такой "
-"плагин ещё не был установлен"
+msgstr "Загруженный инсталлятор плагина предназначен только для обновления, но такой плагин ещё не был установлен"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:364
 #, java-format
@@ -2933,8 +2856,7 @@ msgstr "Плагин {0} установлен и запущен"
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
-msgstr ""
-"Плагин {0} установлен, но при его запуске произошел сбой, загляните в логи"
+msgstr "Плагин {0} установлен, но при его запуске произошел сбой, загляните в логи"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:396
 #, java-format
@@ -2952,37 +2874,46 @@ msgstr "Профили пиров"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
 #, java-format
-msgid "Showing {0} recent profiles."
-msgstr "Показано {0} недавно обновленных профилей"
+msgid "Showing 1 recent profile."
+msgid_plural "Showing {0} recent profiles."
+msgstr[0] "Показан {0} недавно обновленный профиль."
+msgstr[1] "Показано {0} недавно обновленных профиля."
+msgstr[2] "Показано {0} недавно обновленных профилей."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
 #, java-format
-msgid "Hiding {0} older profiles."
-msgstr "Скрыто {0} устаревших профилей."
+msgid "Hiding 1 older profile."
+msgid_plural "Hiding {0} older profiles."
+msgstr[0] "Скрыт {0} устаревший профиль."
+msgstr[1] "Скрыто {0} более старых профиля."
+msgstr[2] "Скрыто {0} более старых профилей."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
 #, java-format
-msgid "Hiding {0} standard profiles."
-msgstr "Также скрыто {0} стандартных профилей (кликните для показа)."
+msgid "Hiding 1 standard profile."
+msgid_plural "Hiding {0} standard profiles."
+msgstr[0] "Скрыт {0} стандартный профиль."
+msgstr[1] "Скрыто {0} стандартный профиля."
+msgstr[2] "Скрыто {0} стандартных профилей."
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
 msgid "Groups (Caps)"
 msgstr "Входит в группы (Caps)"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:353
 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
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:357
 msgid "Capacity"
 msgstr "Ёмкость"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
 msgid "Integration"
 msgstr "Интеграция"
 
@@ -3008,7 +2939,7 @@ msgid "Failing"
 msgstr "Сбоит"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:282
 msgid "Integrated"
 msgstr "Интегрированные"
 
@@ -3021,162 +2952,158 @@ msgstr "Недоступен"
 msgid "Test Fails"
 msgstr "Неудачных тестов"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:177
 msgid "profile"
 msgstr "профиль"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:186
 msgid "Floodfill and Integrated Peers"
 msgstr "Floodfill и хорошо интегрированные пиры"
 
 # This term intentionally left in English
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
 msgid "Caps"
 msgstr "Caps"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
 msgid "Integ. Value"
 msgstr "Интег. Значение"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
 msgid "Last Heard About"
 msgstr "Последний раз слышали о"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
 msgid "Last Heard From"
 msgstr "Последний приём"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
 msgid "Last Good Send"
 msgstr "Последняя удачная передача"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
 msgid "Last Bad Send"
 msgstr "Последняя неудачная передача"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
 msgid "10m Resp. Time"
 msgstr "Время отклика (последние 10 мин)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
 msgid "1h Resp. Time"
 msgstr "Время отклика (последний 1 час)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
 msgid "1d Resp. Time"
 msgstr "Время отклика (последний 1 день)"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
 msgid "Last Good Lookup"
 msgstr "Последний удачный поиск"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
 msgid "Last Bad Lookup"
 msgstr "Последний неудачный поиск"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
 msgid "Last Good Store"
 msgstr "Последнее удачное размещение"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
 msgid "Last Bad Store"
 msgstr "Последнее неудачное размещение"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:203
 msgid "1h Fail Rate"
 msgstr "Уровень отказов за 1 час"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:204
 msgid "1d Fail Rate"
 msgstr "Уровень отказов за 1 день"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
 msgid "Thresholds"
 msgstr "Пороговые значения"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
 msgid "fast peers"
 msgstr "быстрые пиры"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
 msgid "high capacity peers"
 msgstr "высокоёмкие пиры"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid " well integrated peers"
 msgstr "хорошо интегрированные пиры"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "as determined by the profile organizer"
-msgstr ""
-"определяется автоматически модулем ProfileOrganizer на основании собранной "
-"информации о производительности пира"
+msgstr "определяется автоматически модулем ProfileOrganizer на основании собранной информации о производительности пира"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
 msgid "groups"
 msgstr "группы"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 msgid "capabilities in the netDb, not used to determine profiles"
-msgstr ""
-"информация о пире, предоставленная сетевой базой данных; для профилирования "
-"не используется"
+msgstr "информация о пире, предоставленная сетевой базой данных; для профилирования не используется"
 
 # This term intentionally left in English
 #. capabilities
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
 #: ../java/strings/Strings.java:81
 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 ""
-"пиковая скорость (байты/секунду) выданная пиром на одном туннеле за 1-"
-"минутый период"
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
+msgstr "пиковая скорость (байты/секунду) выданная пиром на одном туннеле за 1-минутый период"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
 msgid "speed"
 msgstr "скорость"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "capacity"
 msgstr "ёмкость"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
 msgid "how many tunnels can we ask them to join in an hour?"
-msgstr ""
-"к скольким туннелям мы можем попросить этого пира подсоединиться за час?"
+msgstr "к скольким туннелям мы можем попросить этого пира подсоединиться за час?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "how many new peers have they told us about lately?"
 msgstr "о скольких новых пирах этот пир нам сообщил в последнее время?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
 msgid "integration"
 msgstr "интеграция"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "is the peer banned, or unreachable, or failing tunnel tests?"
 msgstr "забанен ли этот пир, недоступен, дает ошибки на тестах?"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:264
 msgid "status"
 msgstr "статус"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:47
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:410
+msgid "none"
+msgstr "нет"
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:62
 #, java-format
 msgid "Temporary ban expiring in {0}"
 msgstr "Временный бан истекает через {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:64
 #, java-format
 msgid "Banned until restart or in {0}"
 msgstr "Забанен до перезапуска или истечения {0}"
 
-#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:76
 msgid "unban now"
 msgstr "разбанить"
 
@@ -3224,31 +3151,27 @@ 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 ""
-"Собираемые данные округляются за 1-минутные промежутки, поэтому используйте "
-"эту информацию только для приблизительной оценки."
+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: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
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:106
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:157
 msgid "No lifetime events"
 msgstr "Нет событий за время работы"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:117
 msgid "frequency"
 msgstr "частота"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:121
 msgid "Rolling average events per period"
 msgstr "Скользящее среднее количество событий за период"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:125
 msgid "Highest events per period"
 msgstr "Максимально количество событий за период"
 
@@ -3259,38 +3182,48 @@ msgstr "Максимально количество событий за пери
 #. }
 #. 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
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:136
 msgid "Lifetime average events per period"
 msgstr "Среднее количество событий за период"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:141
 msgid "Lifetime average frequency"
 msgstr "Средняя частота за время работы"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:144
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:234
+#, java-format
+msgid "1 event"
+msgid_plural "{0} events"
+msgstr[0] "{0} событие"
+msgstr[1] "{0} события"
+msgstr[2] "{0} событий"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:169
 msgid "rate"
 msgstr "интервал"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:171
 msgid "Average"
 msgstr "Среднее"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:174
 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 "Было {0} событий в этом периоде"
+msgid "There was 1 event in this period."
+msgid_plural "There were {0} events in this period."
+msgstr[0] "Было {0} событие в этом периоде."
+msgstr[1] "Было {0} события в этом периоде."
+msgstr[2] "Было {0} событий в этом периоде."
 
-#. buf.append(' ');
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:203
 #, java-format
-msgid " which ended {0} ago."
-msgstr "который закончился {0} назад."
+msgid "The period ended {0} ago."
+msgstr "Период закончился {0} назад."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:205
 msgid "No events"
@@ -3330,12 +3263,8 @@ msgid "Help &amp; FAQ"
 msgstr "Справка и FAQ"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
-msgid ""
-"Configure startup of clients and webapps (services); manually start dormant "
-"services"
-msgstr ""
-"Настройка автозапуска клиентов и веб-апплетов, ручной запуск неактивных "
-"приложений"
+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"
@@ -3343,9 +3272,7 @@ msgstr "Сервисы I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
-msgstr ""
-"Здесь можно управлять hosts-файлами (единственный механизм, используемый I2P "
-"для отображения доменных имен)"
+msgstr "Здесь можно управлять hosts-файлами (единственный механизм, используемый I2P для отображения доменных имен)"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
@@ -3384,12 +3311,12 @@ msgid "I2P Internals"
 msgstr "Настройки I2P"
 
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:379
 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
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
 msgid "Show all current peer connections"
 msgstr "Просмотр списка текущих соединения с пирами"
 
@@ -3473,97 +3400,100 @@ 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 ""
-"Помощь в настройке брандмауэра и маршрутизатора для обеспечения оптимальной "
-"производительности I2P"
+msgid "Help with configuring your firewall and router for optimal I2P performance"
+msgstr "Помощь в настройке брандмауэра и маршрутизатора для обеспечения оптимальной производительности I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
-msgid "Download"
-msgstr "Скачать"
+#. Note to translators: parameter is a version, e.g. "0.8.4"
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:232
+#, java-format
+msgid "Download {0} Update"
+msgstr "Скачать обновление {0}"
 
+#. Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC"
+#. <br> is optional, to help the browser make the lines even in the button
+#. If the translation is shorter than the English, you should probably not include <br>
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
-msgid "Download Unsigned"
-msgstr "Скачать неподписанное"
+#, java-format
+msgid "Download Unsigned<br>Update {0}"
+msgstr "Скачать неподписанное<br>обновление {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
 msgid "Active"
 msgstr "Активные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:270
 msgid "Fast"
 msgstr "Быстрые"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:276
 msgid "High capacity"
 msgstr "Высокоёмкие"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:288
 msgid "Known"
 msgstr "Известные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:303
 msgid "Help with firewall configuration"
 msgstr "Помощь в настройке брандмауэра"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:305
 msgid "Check NAT/firewall"
 msgstr "Проверьте настройки NAT/брандмауэров."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:325
 msgid "Reseed"
 msgstr "Повторить начальную загрузку"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:342
 msgid "Configure router bandwidth allocation"
 msgstr "Настройка ограничений скорости"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:344
 msgid "Bandwidth in/out"
 msgstr "Трафик (вх./исх.)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:364
 msgid "Total"
 msgstr "Всего"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:371
 msgid "Used"
 msgstr "Объём"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 msgid "Exploratory"
 msgstr "Зондирующие"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:398
 msgid "Participating"
 msgstr "Транзитные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:404
 msgid "Share ratio"
 msgstr "Доля транзита"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:410
 msgid "What's in the router's job queue?"
 msgstr "Просмотр очереди заданий маршрутизатора."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
 msgid "Congestion"
 msgstr "Занятость"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Job lag"
 msgstr "Задержка задач"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:423
 msgid "Message delay"
 msgstr "Задежка сообщений"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:429
 msgid "Tunnel lag"
 msgstr "Задержка туннелей"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:435
 msgid "Backlog"
 msgstr "Очередь"
 
@@ -3577,7 +3507,7 @@ msgid "ERR-Clock Skew of {0}"
 msgstr "ОШИБКА - Часы сбиты (расхождение {0})"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:122
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "OK"
 msgstr "OK"
 
@@ -3602,17 +3532,13 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 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 ""
-"ОШИБКА - UDP-порт уже занят - перенастройте i2np.udp.internalPort=xxxx в "
-"дополнительных настройках и перезапустите маршрутизатор"
+msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ОШИБКА - UDP-порт уже занят - перенастройте i2np.udp.internalPort=xxxx в дополнительных настройках и перезапустите маршрутизатор"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:141
 msgid "ERR-No Active Peers, Check Network Connection and Firewall"
@@ -3620,15 +3546,14 @@ msgstr "ОШИБКА - Нет активных пиров, проверьте п
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:144
 msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
-msgstr ""
-"ОШИБКА - UDP отключено и не заданы адрес/порт для входящих TCP-соединений"
+msgstr "ОШИБКА - UDP отключено и не заданы адрес/порт для входящих TCP-соединений"
 
 #: ../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:148
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "Testing"
 msgstr "Проверка"
 
@@ -3672,10 +3597,6 @@ msgstr "Построение"
 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
@@ -3710,10 +3631,14 @@ 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:309
 msgid "configure"
 msgstr "настроить"
 
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr "Клиентские туннели для:"
+
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
 msgid "dead"
 msgstr "мертв"
@@ -3838,67 +3763,67 @@ msgstr "Транзитных туннелей"
 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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:67
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:143
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:238
 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
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:89
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:262
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:287
 msgid "Update downloaded"
 msgstr "Обновление загружено"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:92
 #, java-format
 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:281
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:112
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Restarting"
 msgstr "Производится перезапуск"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:288
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:119
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:289
 msgid "Click Restart to install"
 msgstr "Перезапустите I2P-маршрутизатор для установки"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:290
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:291
 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:292
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:122
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:293
 #, java-format
 msgid "Version {0}"
 msgstr "Версия {0}"
 
-#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:127
 #, java-format
 msgid "Failed copy to {0}"
 msgstr "Не удалось скопировать в {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:184
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
 #, java-format
 msgid "Updating from {0}"
 msgstr "Обновление из {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:253
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:254
 #, java-format
 msgid "No new version found at {0}"
 msgstr "Новая версия не обнаружена на {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:281
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:282
 msgid "Update verified"
 msgstr "Подлинность обновления проверена"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:308
 #, java-format
 msgid "Transfer failed from {0}"
 msgstr "Не удалось произвести передачу файлов от {0}"
@@ -4175,1709 +4100,1417 @@ msgstr "Низкоуровневая скорость передачи"
 msgid "How many peers we are actively talking with"
 msgstr "Количество пиров, с которыми мы активно общаемся"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:112
 msgid "config networking"
 msgstr "настройки сети"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:222
+msgid "Summary Bar"
+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_005far_jsp.java:219
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:235
 msgid "Refresh (s)"
 msgstr "Интервал автообновления<br> панели (сек.)"
 
 #. 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_005far_jsp.java:223
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005far_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005ffr_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:239
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:239
 msgid "Enable"
 msgstr "Включить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:262
 msgid "I2P Network Configuration"
 msgstr "Настройки сетевых свойств I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:316
 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 ""
-"I2P будет работать лучше, если Вы настроите ограничение скорости в "
-"соответствии со скоростью Вашего подключения к Интернету."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+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:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:322
 msgid "KBps In"
 msgstr "Килобайт/секунду (на приём)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:336
 msgid "KBps Out"
 msgstr "Килобайт/секунду (на отдачу)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:352
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:326
 msgid "NOTE"
 msgstr "ПРИМЕЧАНИЕ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:361
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
-msgstr ""
-"Вы настроили очень низкий лимит для транзитного трафика (всего {0} килобайт/"
-"секунду)."
+msgstr "Вы настроили очень низкий лимит для транзитного трафика (всего {0} килобайт/секунду)."
 
-#: ../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:364
 msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P нужно как минимум 12 килобайт/секунду для включения этой функции. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
-msgid ""
-"Please enable sharing (participating in tunnels) by configuring more "
-"bandwidth. "
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:365
+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:366
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
 msgstr "Вы задали долю транзитного трафика {0} килобайт/секунду."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java: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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:372
+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:376
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:532
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:425
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
 msgid "Cancel"
 msgstr "Отменить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393
 msgid "IP and Transport Configuration"
 msgstr "Настройки IP и транспортных протоколов"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
 msgid "The default settings will work for most people."
 msgstr "Большинству пользователей подойдут настройки по умолчанию."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397
 msgid "There is help below."
 msgstr "В конце страницы приведена справка по настройкам."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "UPnP Configuration"
 msgstr "Настройки UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Enable UPnP to open firewall ports"
-msgstr ""
-"Использовать UPnP для автоматического открытия портов на брандмауэре/роутере"
+msgstr "Использовать UPnP для автоматического открытия портов на брандмауэре/роутере"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
 msgid "UPnP status"
 msgstr "статус UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "IP Configuration"
 msgstr "Настройки IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Externally reachable hostname or IP address"
 msgstr " Имя хоста или IP-адрес доступные из интернета"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:413
 msgid "Use all auto-detect methods"
 msgstr "Определять автоматически всеми доступными способами"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Disable UPnP IP address detection"
 msgstr "Определять автоматически (без использования UPnP)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:421
 msgid "Ignore local interface IP address"
-msgstr ""
-"Определять автоматически (без использования IP-адресов локальных сетевых "
-"интерфейсов)"
+msgstr "Определять автоматически (без использования IP-адресов локальных сетевых интерфейсов)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:425
 msgid "Use SSU IP address detection only"
 msgstr "Определять автоматически (только через SSU)"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Specify hostname or IP"
 msgstr "Задать хост или IP вручную"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Select Interface"
 msgstr "Выбрать сетевой интерфейс"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449
 msgid "Hidden mode - do not publish IP"
 msgstr "Скрытый режим, не публиковать IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451
 msgid "(prevents participating traffic)"
 msgstr "(такой режим предотвращает транзит трафика)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:453
 msgid "Action when IP changes"
 msgstr "Действие при смене IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
-msgid ""
-"Laptop mode - Change router identity and UDP port when IP changes for "
-"enhanced anonymity"
-msgstr ""
-"Режим мобильного компьютера:  автоматически менять идентификатор "
-"маршрутизатора и UDP-порт после смены IP"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:457
+msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
+msgstr "Режим мобильного компьютера:  автоматически менять идентификатор маршрутизатора и UDP-порт после смены IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "Experimental"
 msgstr "экспериментальный режим, повышает анонимность"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "UDP Configuration:"
 msgstr "Настройки UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463
 msgid "UDP port:"
 msgstr "UDP-порт:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477
 msgid "TCP Configuration"
 msgstr "Настройки TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483
 msgid "Use auto-detected IP address"
 msgstr "Использовать автоматически определенный IP-адрес"
 
-#: ../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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
 msgid "currently"
 msgstr "сейчас"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "if we are not firewalled"
 msgstr "если входящий порт не заблокирован"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "Всегда использовать автоматически определенный IP-адрес"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:503
 msgid "Disable inbound (Firewalled)"
 msgstr "Отключить поддержку входящих соединений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:507
 msgid "Completely disable"
 msgstr "Полностью отключить поддержку TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
-msgid ""
-"(select only if behind a firewall that throttles or blocks outbound TCP)"
-msgstr ""
-"(используйте этот режим только при наличии в системе брандмауэра, который "
-"замедляет или блокирует исходящие TCP-соединения)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr "(используйте этот режим только при наличии в системе брандмауэра, который замедляет или блокирует исходящие TCP-соединения)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
 msgid "Externally reachable TCP port"
 msgstr "Доступный из интернета TCP-порт"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
 msgid "Use the same port configured for UDP"
 msgstr "Использовать настройки UDP-порта"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
 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:339
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:348
 msgid "Note"
 msgstr "ВНИМАНИЕ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530
 msgid "Changing these settings will restart your router."
 msgstr "Изменение этих настроек повлечет перезапуск I2P маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
 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 ""
-"Хотя I2P без проблем работает за большинством брандмауэров, скорость и "
-"уровень интеграции в сеть будут гораздо лучше, если открыть порт Вашего I2P-"
-"маршрутизатора для UDP и TCP соединений из интернета."
+#: ../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:587
+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:522
-msgid ""
-"If you can, please poke a hole in your firewall to allow unsolicited UDP and "
-"TCP packets to reach you."
-msgstr ""
-"Попробуйте открыть доступ на Вашем брандмауэре для произвольных входящих UDP "
-"и TCP пакетов на порт I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
+msgstr "Попробуйте открыть доступ на Вашем брандмауэре для произвольных входящих UDP и TCP пакетов на порт I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
-msgid ""
-"If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole "
-"punching with \"SSU introductions\" to relay traffic."
-msgstr ""
-"Ничего страшного, если такой возможности нет. I2P поддерживает UPnP "
-"(Universal Plug and Play) и обход NAT с помощью SSU-посредников."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
+msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
+msgstr "Ничего страшного, если такой возможности нет. I2P поддерживает UPnP (Universal Plug and Play) и обход NAT с помощью SSU-посредников."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
-msgid ""
-"Most of the options above are for special situations, for example where UPnP "
-"does not work correctly, or a firewall not under your control is doing harm."
-msgstr ""
-"Настройки выше, в основном, предназначены для особых ситуаций. Например, "
-"некорректно сработал UPnP или возник конфликт брандмауэра и I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
+msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
+msgstr "Настройки выше, в основном, предназначены для особых ситуаций. Например, некорректно сработал UPnP или возник конфликт брандмауэра и I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
-msgstr ""
-"Некоторые виды брандмауэров могут быть частично несовместимы с I2P "
-"(например, симметричные NAT)."
+msgstr "Некоторые виды брандмауэров могут быть частично несовместимы с I2P (например, симметричные NAT)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
-msgid ""
-"UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect "
-"the external IP address and forward ports."
-msgstr ""
-"UPnP используется для взаимодействия с IGD (Internet Gateway Devices) при "
-"определении внешнего IP-адреса и переадресации портов."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
+msgstr "UPnP используется для взаимодействия с IGD (Internet Gateway Devices) при определении внешнего IP-адреса и переадресации портов."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "UPnP support is beta, and may not work for any number of reasons"
-msgstr ""
-"Поддержка UPnP находится в разработке (бета-версия). В следующих случаях "
-"UPnP возможно не будет работать"
+msgstr "Поддержка UPnP находится в разработке (бета-версия). В следующих случаях UPnP возможно не будет работать"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "No UPnP-compatible device present"
 msgstr "Не обнаружено UPnP-совместимых устройств"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "UPnP disabled on the device"
 msgstr "UPnP отключено на устройстве"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "Software firewall interference with UPnP"
 msgstr "Программный брандмауэр мешает корректной работе UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "Bugs in the device's UPnP implementation"
 msgstr "UPnP в устройстве реализовано с ошибками "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "Несколько маршрутизаторов/брандмауэров на пути к интернету"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "UPnP device change, reset, or address change"
 msgstr "Смена/сброс UPnP-устройства или изменение адреса "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
 msgid "Review the UPnP status here."
 msgstr "Посмотреть статус UPnP можно тут."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
-msgid ""
-"UPnP may be enabled or disabled above, but a change requires a router "
-"restart to take effect."
-msgstr ""
-"UPnP можно включить/выключить в настройках выше. Настройка вступит в силу "
-"только после перезапуска I2P-маршрутизатора."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
+msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
+msgstr "UPnP можно включить/выключить в настройках выше. Настройка вступит в силу только после перезапуска I2P-маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "Hostnames entered above will be published in the network database."
-msgstr ""
-"Если Вы задали вручную имена хостов, они будут опубликованы в сетевой базе."
+msgstr "Если Вы задали вручную имена хостов, они будут опубликованы в сетевой базе."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "They are <b>not private</b>."
 msgstr "<b>Не вводите локальные внутрисетевые имена.</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 ""
-"Также <b>не вводите IP из локальных диапазонов</b>, такие как 127.0.0.1 или "
-"192.168.1.1."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr "Также <b>не вводите IP из локальных диапазонов</b>, такие как 127.0.0.1 или 192.168.1.1."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
-msgid ""
-"If you specify the wrong IP address or hostname, or do not properly "
-"configure your NAT or firewall, your network performance will degrade "
-"substantially."
-msgstr ""
-"Производительность Вашего соединения с I2P-сетью может сильно пострадать, "
-"если Вы введете неверный IP-адрес, неверное имя хоста или неправильно "
-"настроите NAT/брандмауэр."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
+msgstr "Производительность Вашего соединения с I2P-сетью может сильно пострадать, если Вы введете неверный IP-адрес, неверное имя хоста или неправильно настроите NAT/брандмауэр."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "Если сомневаетесь — оставьте настройки по умолчанию."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 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 ""
-"Возможно Вы собственноручно открыли порт на Вашем брандмауэре, а I2P все еще "
-"показывает, что порт закрыт. Имейте в виду, что брандмауэров может быть "
-"несколько, например, локальный программный и внешний аппаратный."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
+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: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:593
+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:579
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "Ваш UDP-порт доступен извне."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 msgid "Your UDP port appears to be firewalled."
-msgstr ""
-"Ваш UDP-порт заблокирован брандмауэром и не может принимать входящие "
-"соединения."
+msgstr "Ваш UDP-порт заблокирован брандмауэром и не может принимать входящие соединения."
 
-#: ../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:603
+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 ""
-"Но если оно появляется постоянно, Вам следует проверить, что на всех "
-"брандмауэрах порт для I2P открыт."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+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:589
-msgid ""
-"I2P will work fine when firewalled, there is no reason for concern. When "
-"firewalled, the router uses \"introducers\" to relay inbound connections."
-msgstr ""
-"Повода для паники нет, I2P сможет работать даже с заблокированным портом при "
-"помощи заранее выбранных «посредников» для ретрансляции входящих соединений."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
+msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
+msgstr "Повода для паники нет, I2P сможет работать даже с заблокированным портом при помощи заранее выбранных «посредников» для ретрансляции входящих соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java: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:609
+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:611
+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 ""
-"Кроме того, некоторые маршрутизаторы не могут корректно переадресовать "
-"одновременно TCP и UDP на один порт или имеют другие ограничения, мешающие "
-"нормальному прохождению трафика до I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
+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:599
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "The router is currently testing whether your UDP port is firewalled."
-msgstr ""
-"Маршрутизатор проверяет возможность принятия входящих соединений на UDP-порт."
+msgstr "Маршрутизатор проверяет возможность принятия входящих соединений на UDP-порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
-msgid ""
-"The router is not configured to publish its address, therefore it does not "
-"expect incoming connections."
-msgstr ""
-"В настройках I2P-маршрутизатора запрещена публикация его адреса, как "
-"результат, маршрутизатор не ожидает входящих соединений."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
+msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
+msgstr "В настройках I2P-маршрутизатора запрещена публикация его адреса, как результат, маршрутизатор не ожидает входящих соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 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 ""
-"Вы настроили долю транзитного трафика выше 128 килобайт/секунду, при этом у "
-"Вас заблокирован входящий порт."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
+msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
+msgstr "Вы настроили долю транзитного трафика выше 128 килобайт/секунду, при этом у Вас заблокирован входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
-msgid ""
-"While I2P will work fine in this configuration, if you really have over "
-"128KBps of bandwidth to share, it will be much more helpful to the network "
-"if you open your firewall."
-msgstr ""
-"I2P будет работать нормально в такой конфигурации, но Вы можете помочь сети "
-"разблокировав входящий порт, если у Вас действительно быстрый интернет."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
+msgstr "I2P будет работать нормально в такой конфигурации, но Вы можете помочь сети разблокировав входящий порт, если у Вас действительно быстрый интернет."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
 msgid "WARN - Firewalled and Floodfill"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне и 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 ""
-"Вы настроили I2P работать в режиме floodfill-маршрутизатора, при этом у Вас "
-"заблокирован входящий порт."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
+msgid "You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr "Вы настроили I2P работать в режиме floodfill-маршрутизатора, при этом у Вас заблокирован входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
-msgid ""
-"For best participation as a floodfill router, you should open your firewall."
-msgstr ""
-"Для оптимальной работы в качестве floodfill-маршрутизатора Вам нужно "
-"разблокировать входящий порт."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+msgid "For best participation as a floodfill router, you should open your firewall."
+msgstr "Для оптимальной работы в качестве floodfill-маршрутизатора Вам нужно разблокировать входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне при включенном на вход TCP"
 
-#: ../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:637
+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:621
-msgid ""
-"If your TCP port is firewalled with inbound TCP enabled, routers will not be "
-"able to contact you via TCP, which will hurt the network."
-msgstr ""
-"Если у Вас разрешены входящие TCP-соединения при заблокированном TCP-порте, "
-"то другие маршрутизаторы не смогут к Вам подсоединиться по TCP. Это повредит "
-"производительности сети. "
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
+msgstr "Если у Вас разрешены входящие TCP-соединения при заблокированном TCP-порте, то другие маршрутизаторы не смогут к Вам подсоединиться по TCP. Это повредит производительности сети. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
 msgid "Please open your firewall or disable inbound TCP above."
-msgstr ""
-"Пожалуйста, проверьте состояние TCP-порта и разблокируйте его или отключите "
-"поддержку входящих TCP-соединений."
+msgstr "Пожалуйста, проверьте состояние TCP-порта и разблокируйте его или отключите поддержку входящих TCP-соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне при отключенном UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
 msgid "You have configured inbound TCP, however you have disabled UDP."
-msgstr ""
-"Вы отключили поддержку UDP, однако Ваш TCP-порт заблокирован и в результате "
-"Ваш маршрутизатор не может принимать входящие соединения."
+msgstr "Вы отключили поддержку UDP, однако Ваш TCP-порт заблокирован и в результате Ваш маршрутизатор не может принимать входящие соединения."
 
 # This string intentionally left blank
-#: ../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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
 msgid "Please open your firewall or enable UDP."
 msgstr "Пожалуйста, разблокируйте порт или включите поддержку UDP."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
 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:653
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
 msgid "Correct your clock setting if this error persists."
-msgstr ""
-"Поправьте настройки времени, если Вы постоянно видите это сообщение об "
-"ошибке."
+msgstr "Поправьте настройки времени, если Вы постоянно видите это сообщение об ошибке."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
 msgid "ERR - Private TCP Address"
 msgstr "ОШИБКА - Частный TCP Адрес"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
-msgid ""
-"You must never advertise an unroutable IP address such as 127.0.0.1 or "
-"192.168.1.1 as your external address."
-msgstr ""
-"Не публикуйте локальные IP-адреса (такие как 127.0.0.1 или 192.168.1.1) в "
-"качестве своего внешнего IP-адреса."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
+msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
+msgstr "Не публикуйте локальные IP-адреса (такие как 127.0.0.1 или 192.168.1.1) в качестве своего внешнего IP-адреса."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
 msgid "Correct the address or disable inbound TCP above."
 msgstr "Исправьте адрес или отключите поддержку входящих TCP-соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
 msgid "ERR - SymmetricNAT"
 msgstr "ОШИБКА - Симметричный NAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr "I2P обнаружил, что Вы за симметричным NAT."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
-msgid ""
-"I2P does not work well behind this type of firewall. You will probably not "
-"be able to accept inbound connections, which will limit your participation "
-"in the network."
-msgstr ""
-"I2P не очень хорошо работает за таким типом брандмауэров. Скорее всего Вы не "
-"сможете принимать входящие соединения и это снизит эффективность Вашего "
-"участия в сети."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
+msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
+msgstr "I2P не очень хорошо работает за таким типом брандмауэров. Скорее всего Вы не сможете принимать входящие соединения и это снизит эффективность Вашего участия в сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
-msgid ""
-"ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config "
-"and restart"
-msgstr ""
-"ОШИБКА - UDP-порт уже занят - перенастройте i2np.udp.internalPort=xxxx в "
-"дополнительных настройках и перезапустите маршрутизатор"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
+msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr "ОШИБКА - UDP-порт уже занят - перенастройте i2np.udp.internalPort=xxxx в дополнительных настройках и перезапустите маршрутизатор"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 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: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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
+msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
+msgstr "Проверьте, не занят ли этот порт другим приложением. Если такое приложение нашлось, остановите его или задайте другой порт в настройках I2P."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
-msgid ""
-"This may be a transient error, if the other program is no longer using the "
-"port."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:675
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:677
 msgid "However, a restart is always required after this error."
 msgstr "После возникновения этой ошибки необходим перезапуск I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:679
 msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
-msgstr ""
-"ОШИБКА - UDP отключено и не заданы адрес/порт для входящих TCP-соединений"
+msgstr "ОШИБКА - UDP отключено и не заданы адрес/порт для входящих TCP-соединений"
 
-#: ../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:681
+msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
+msgstr "Вы не задали адрес/порт для входящих TCP-соединений и одновременно отключили поддержку UDP, в результате Ваш маршрутизатор не может принимать входящие соединения."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:683
 msgid "Therefore your router cannot accept inbound connections."
 msgstr " "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:685
 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:669
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:687
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "ОШИБКА - ошибка менеджера I2CP - загляните в логи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:689
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
-msgstr ""
-"Эта ошибка обычно возникает из-за конфликта порта 7654. Загляните в логи "
-"чтобы убедиться."
+msgstr "Эта ошибка обычно возникает из-за конфликта порта 7654. Загляните в логи чтобы убедиться."
 
-#: ../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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:691
+msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
+msgstr "Не запущена ли у вас ещё одна копия I2P? Остановите вызвавшую конфликт программу и перезапустите I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:113
 msgid "config advanced"
 msgstr "дополнительные настройки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:263
 msgid "I2P Advanced Configuration"
 msgstr "Дополнительные настройки I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:319
 msgid "Advanced I2P Configuration"
 msgstr "Дополнительные настройки I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:329
 msgid "Some changes may require a restart to take effect."
-msgstr ""
-"Для вступления некоторых изменений в силу может потребоваться перезапуск I2P-"
-"маршрутизатора."
+msgstr "Для вступления некоторых изменений в силу может потребоваться перезапуск I2P-маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:112
 msgid "config clients"
 msgstr "настройки клиентов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:265
 msgid "I2P Client Configuration"
 msgstr "Настройки клиентов I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
 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 ""
-"Перечисленные ниже Java-клиенты запускаются маршрутизатором внутри своей JVM."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:332
+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:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:439
 msgid "All changes require restart to take effect."
-msgstr ""
-"Для вступления изменённых настроек в силу потребуется перезапуск "
-"маршрутизатора."
+msgstr "Для вступления изменённых настроек в силу потребуется перезапуск маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Advanced Client Interface Configuration"
 msgstr "Дополнительные настройки клиентского интерфейса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "External I2CP (I2P Client Protocol) Interface Configuration"
 msgstr "Настройки внешнего интерфейса I2CP (I2P Client Protocol)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:367
 msgid "Enabled without SSL"
 msgstr "Включен без требования SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:373
 msgid "Enabled with SSL required"
 msgstr "Включен с требованием SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
 msgid "Disabled - Clients outside this Java process may not connect"
 msgstr "Выключен - клиенты снаружи данного Java-процесса могут не соединяться"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:381
 msgid "I2CP Port"
 msgstr "Порт I2CP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
 msgid "I2CP Interface"
 msgstr "I2CP-интерфейс"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401
 msgid "Authorization"
 msgstr "Авторизация "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
 msgid "Require username and password"
 msgstr "Требовать имя пользователя и пароль"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:409
 msgid "Username"
 msgstr "Имя пользователя"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:413
 msgid "Password"
 msgstr "Пароль"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:419
 msgid "Any changes made here must also be configured in the external client."
-msgstr ""
-"Любые изменения, сделанные здесь, так же должны быть выполнены во внешнем "
-"клиенте."
+msgstr "Любые изменения, сделанные здесь, так же должны быть выполнены во внешнем клиенте."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
 msgid "Many clients do not support SSL or authorization."
 msgstr "Многие клиенты не поддерживают SSL или авторизацию."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429
 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 ""
-"Перечисленные ниже Java веб-апплеты запускаются консолью маршрутизатора "
-"внутри JVM маршрутизатора. Обычно эти приложения доступны через консоль "
-"маршрутизатора. Это могут быть как самостоятельные приложения (например, "
-"i2psnark), так и интерфейсы к другим приложениям или клиентам, которые надо "
-"включать отдельно (например, susidns, i2ptunnel), либо могут вообще не иметь "
-"веб-интерфейса (например, 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 ""
-"Веб-апплет также можно отключить, просто удалив .war-файл из директории "
-"webapps. Однако при  обновлении маршрутизатора и .war-файл и соответствующее "
-"приложение будут возвращены на свои места, поэтому отключение веб-апплетов "
-"через эту страницу это более корректный способ."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+msgid "The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark),front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook)."
+msgstr "Перечисленные ниже Java веб-апплеты запускаются консолью маршрутизатора внутри JVM маршрутизатора. Обычно эти приложения доступны через консоль маршрутизатора. Это могут быть как самостоятельные приложения (например, i2psnark), так и интерфейсы к другим приложениям или клиентам, которые надо включать отдельно (например, susidns, i2ptunnel), либо могут вообще не иметь веб-интерфейса (например, addressbook)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433
+msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method."
+msgstr "Веб-апплет также можно отключить, просто удалив .war-файл из директории webapps. Однако при  обновлении маршрутизатора и .war-файл и соответствующее приложение будут возвращены на свои места, поэтому отключение веб-апплетов через эту страницу это более корректный способ."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:445
 msgid "Plugin Configuration"
 msgstr "Настройки плагинов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:447
 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:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:455
 msgid "Plugin Installation"
 msgstr "Установка плагина"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:457
 msgid "To install a plugin, enter the download URL:"
 msgstr "Для установки нового плагина введите URL:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:112
 msgid "config keyring"
 msgstr "настройки ключей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:249
 msgid "I2P Keyring Configuration"
 msgstr "Настройки связки ключей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "The router keyring is used to decrypt encrypted leaseSets."
-msgstr ""
-"Маршрутизатор использует связку ключей для дешифровки зашифрованных LeaseSet."
+msgstr "Маршрутизатор использует связку ключей для дешифровки зашифрованных LeaseSet."
 
-#: ../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:320
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326
 msgid "Manual Keyring Addition"
 msgstr "Добавление ключей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328
 msgid "Enter keys for encrypted remote destinations here."
 msgstr "Здесь добавляются ключи для удаленных адресов назначения."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331
 msgid "Keys for local destinations must be entered on the"
 msgstr "Ключи для локальных адресов назначения настраиваются в"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:333
 msgid "I2PTunnel page"
 msgstr "Менеджере Туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:335
 msgid "Dest. name, hash, or full key"
 msgstr "Имя адреса назначения, хэш или полный ключ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:337
 msgid "Encryption Key"
 msgstr "Ключ шифрования"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:113
 msgid "config logging"
 msgstr "настройки логирования"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:263
 msgid "I2P Logging Configuration"
 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:319
 msgid "Configure I2P Logging Options"
 msgstr "Настройка опций логирования I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Logging filename"
 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:325
 msgid "(the symbol '@' will be replaced during log rotation)"
 msgstr "(во время ротации лога символ @  будет заменен на номер)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
 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)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+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:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
 msgid "Log date format"
 msgstr "Формат даты"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
-msgid ""
-"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
-"= millisecond)"
-msgstr ""
-"(MM = месяц, dd = день, HH = часы, mm = минуты, ss = секунды, SSS = "
-"миллисекунды)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:337
+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:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
 msgid "Max log file size"
 msgstr "Максимальный размер лог-файла"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:343
 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 ""
-"(не рекомендуется использовать уровни DEBUG и INFO для постоянного "
-"использования, так как они сильно замедлят работу Вашего маршрутизатора)"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:347
+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:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:349
 msgid "Log level overrides"
 msgstr "Переопределения уровня логирования"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353
 msgid "New override"
 msgstr "Новое переопределение"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:112
 msgid "config peers"
 msgstr "настройки пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:249
 msgid "I2P Peer Configuration"
 msgstr "Настройки пиров I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
 msgid "Manual Peer Controls"
 msgstr "Ручное управление пирами"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 msgid "Router Hash"
 msgstr "Хеш маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:329
 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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:331
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:341
 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:343
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:273
 msgid "Banned Peers"
 msgstr "Забаненные пиры"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:384
 msgid "Banned IPs"
 msgstr "Забаненные IP-адреса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:112
 msgid "config reseeding"
 msgstr "настройка reseeding"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:262
 msgid "I2P Reseeding Configuration"
 msgstr "Настройки начального обнаружения узлов I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
 msgid "Reseeding Configuration"
 msgstr "Настройки начального обнаружения узлов (reseeding)"
 
-#: ../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) - это процесс начальной "
-"загрузки (бутстрап), используемый для нахождения других роутеров, когда вы "
-"впервые установили I2P, или когда ваш роутер имеет слишком мало данных о "
-"других роутерах."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:320
+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) - это процесс начальной загрузки (бутстрап), используемый для нахождения других роутеров, когда вы впервые установили 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:322
+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 заблокирован на брандмауэре, "
-"начальная загрузка не удалась, и вы имеете доступ к HTTP-прокси."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:326
+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 заблокирован на брандмауэре, начальная загрузка не удалась, и вы имеете доступ к HTTP-прокси."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 #, java-format
 msgid "See {0} for instructions on reseeding manually."
-msgstr ""
-"Смотрите {0} на предмет инструкций как выполнить начальную загрузку вручную."
+msgstr "Смотрите {0} на предмет инструкций как выполнить начальную загрузку вручную."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:328
 msgid "the FAQ"
 msgstr "FAQ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
 msgid "Reseed URL Selection"
 msgstr "Выбор URL для начальной загрузки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
 msgid "Try SSL first then non-SSL"
 msgstr "Сперва пробовать SSL, потом не-SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:342
 msgid "Use SSL only"
 msgstr "Использовать только SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:348
 msgid "Use non-SSL only"
 msgstr "Использовать только не-SSL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:350
 msgid "Reseed URLs"
 msgstr "Адреса reseed-узлов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:354
 msgid "Enable HTTP proxy (not used for SSL)"
 msgstr "Использовать HTTP-прокси (не используется для SSL)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:358
 msgid "HTTP Proxy Host"
 msgstr "Хост HTTP-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configreseed_jsp.java:362
 msgid "HTTP Proxy Port"
 msgstr "Порт HTTP-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:112
 msgid "config service"
 msgstr "настройки службы"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:249
 msgid "I2P Service Configuration"
 msgstr "Настройки службы I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 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:305
+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:307
+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:317
+msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
+msgstr "Иногда, Вам нужно перегрузить маршрутизатор (например, после изменения базовых настроек, которые считываются приложением только во время запуска). В этом случае, Вам доступны два варианта. Плавный перезапуск займет несколько минут (но зато пиры, использующие Ваш маршрутизатор, будут Вам благодарны за терпение). Если Вы не можете ждать, выбирайте немедленный перезапуск. В случае немедленного перезапуска маршрутизатор запустится через одну минуту."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java: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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
+msgid "This is useful in some situations - for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on."
 msgstr " "
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
-msgid ""
-"A graceful restart will take a few minutes (but your peers will appreciate "
-"your patience), while a hard restart does so immediately."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
+msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
 msgstr " "
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
-msgid ""
-"After tearing down the router, it will wait 1 minute before starting back up "
-"again."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "Systray integration"
 msgstr "Интеграция в область уведомлений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
-msgid ""
-"On the windows platform, there is a small application to sit in the system "
-"tray, allowing you to view the router's status"
-msgstr ""
-"Если Вы работаете под Windows, у Вас есть возможность отслеживать статус "
-"маршрутизатора через значок в области уведомлений"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+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:319
-msgid ""
-"(later on, I2P client applications will be able to integrate their own "
-"functionality into the system tray as well)."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+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:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
 msgid "If you are on windows, you can either enable or disable that icon here."
-msgstr ""
-"Если Вы пользуетесь I2P под Windows, то здесь Вы можете настроить "
-"отображение этого значка."
+msgstr "Если Вы пользуетесь I2P под Windows, то здесь Вы можете настроить отображение этого значка."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "Show systray icon"
 msgstr "Показать значок статуса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
 msgid "Hide systray icon"
 msgstr "Спрятать значок статуса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:345
 msgid "Run on startup"
 msgstr "Автоматический запуск I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
-msgid ""
-"You can control whether I2P is run on startup or not by selecting one of the "
-"following options - I2P will install (or remove) a service accordingly."
-msgstr ""
-"Вы можете настроить автоматическую загрузку маршрутизатора при каждом "
-"запуске Windows. В зависимости от выбранной кнопки I2P немедленно установит "
-"или удалит свою службу из списка служб Windows."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly."
+msgstr "Вы можете настроить автоматическую загрузку маршрутизатора при каждом запуске Windows. В зависимости от выбранной кнопки I2P немедленно установит или удалит свою службу из списка служб Windows."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
 msgid "If you prefer the command line, you can also run the "
-msgstr ""
-"Если Вам удобно работать через командную строку, попробуйте использовать "
+msgstr "Если Вам удобно работать через командную строку, попробуйте использовать "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
-msgid ""
-"If you are running I2P as service right now, removing it will shut down your "
-"router immediately."
-msgstr ""
-"Если служба I2P уже была запущена, при выборе варианта <b>\"Не запускать I2P "
-"при старте\"</b> маршрутизатор будет моментально остановлен."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
+msgstr "Если служба I2P уже была запущена, при выборе варианта <b>\"Не запускать I2P при старте\"</b> маршрутизатор будет моментально остановлен."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343
-msgid ""
-"You may want to consider shutting down gracefully, as above, then running "
-"uninstall_i2p_service_winnt.bat."
-msgstr ""
-"Возможно лучше плавно остановить маршрутизатор и после этого запустить файл "
-"C:\\Program Files\\I2P\\uninstall_i2p_service_winnt.bat."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
+msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
+msgstr "Возможно лучше плавно остановить маршрутизатор и после этого запустить файл C:\\Program Files\\I2P\\uninstall_i2p_service_winnt.bat."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
 msgid "Debugging"
 msgstr "Отладка"
 
-#: ../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:367
 msgid "View the job queue"
 msgstr "Просмотр очереди заданий"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
-msgid ""
-"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
-"please select the following option and review the thread dumped to <a href="
-"\"logs.jsp#servicelogs\">wrapper.log</a>."
-msgstr ""
-"В некоторых случаях для отладки может пригодиться список состояний потоков "
-"I2P-маршутизатора. Для получения такого списка нажмите эту кнопку. Список "
-"будет сохранен в файле <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:371
+msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
+msgstr "В некоторых случаях для отладки может пригодиться список состояний потоков I2P-маршутизатора. Для получения такого списка нажмите эту кнопку. Список будет сохранен в файле <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:377
 msgid "Launch browser on router startup?"
 msgstr "Запускать браузер при старте I2P?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
-msgid ""
-"I2P's main configuration interface is this web console, so for your "
-"convenience I2P can launch a web browser on startup pointing at"
-msgstr ""
-"Основной интерфейс настройки I2P это веб-консоль. Здесь можно выбрать "
-"автоматическое открытие при запуске маршрутизатора страницы"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:379
+msgid "I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at"
+msgstr "Основной интерфейс настройки I2P это веб-консоль. Здесь можно выбрать автоматическое открытие при запуске маршрутизатора страницы"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:113
 msgid "config stats"
 msgstr "настройки статистики"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:250
 msgid "I2P Stats Configuration"
 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:320
 msgid "Configure I2P Stat Collection"
 msgstr "Настройки сбора статистики I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:322
 msgid "Enable full stats?"
 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:329
 msgid "change requires restart to take effect"
 msgstr "изменения вступят в силу только после перезапуска маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:331
 msgid "Stat file"
 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:335
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:348
 msgid "toggle all"
 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:350
 msgid "Log"
 msgstr "Лог"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:352
 msgid "Graph"
 msgstr "График"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:391
 msgid "Advanced filter"
 msgstr "Дополнительный фильтр"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:112
 msgid "config tunnels"
 msgstr "настройки туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:262
 msgid "I2P Tunnel Configuration"
 msgstr "Настройки туннелей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:328
 msgid "The default settings work for most people."
 msgstr "Большинству пользователей подойдут настройки по умолчанию. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
 msgid "There is a fundamental tradeoff between anonymity and performance."
-msgstr ""
-"Примите во внимание, что между анонимностью и эффективностью есть обратная "
-"связь — длинные туннели более анонимны, но хуже работают."
+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 ""
-" Туннели длиннее 3 хопов, а также большое количество туннелей (как обычных, "
-"так и резервных) могут привести к снижению производительности/надежности "
-"работы маршрутизатора."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
+msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
+msgstr " Туннели длиннее 3 хопов, а также большое количество туннелей (как обычных, так и резервных) могут привести к снижению производительности/надежности работы маршрутизатора."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
 msgid "Change these settings with care, and adjust them if you have problems."
-msgstr ""
-"Осторожно вносите изменения в существующие настройки и возвращайте в "
-"положение по умолчанию, если у Вас возникли проблемы."
+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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:351
+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:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:354
 msgid "Client tunnel changes are temporary and are not saved."
-msgstr ""
-"Настройки клиентских туннелей нигде не сохраняются и действуют только до "
-"перезапуска."
+msgstr "Настройки клиентских туннелей нигде не сохраняются и действуют только до перезапуска."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:356
 msgid "To make permanent client tunnel changes see the"
-msgstr ""
-"Для задания перманентных изменений в настройках клиентских туннелей "
-"воспользуйтесь"
+msgstr "Для задания перманентных изменений в настройках клиентских туннелей воспользуйтесь"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:358
 msgid "i2ptunnel page"
 msgstr "менеджером туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:112
 msgid "config UI"
 msgstr "настройки интерфейса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:262
 msgid "I2P UI Configuration"
 msgstr "Настройки пользовательского интерфейса I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:314
 msgid "Router Console Theme"
 msgstr "Тема оформления консоли маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:339
 msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "Переключатель тем отключен для Internet Explorer, извините"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
-msgid ""
-"If you're not using IE, it's likely that your browser is pretending to be "
-"IE; please configure your browser (or proxy) to use a different User Agent "
-"string if you'd like to access the console themes."
-msgstr ""
-"Если вы не используете IE, то, скорее всего, Ваш браузер сконфигурирован "
-"представляться как IE. Пожалуйста измените строку User-Agent в настройках "
-"Вашего браузера (или прокси-сервера), если хотите использовать темы "
-"оформления"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:341
+msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
+msgstr "Если вы не используете IE, то, скорее всего, Ваш браузер сконфигурирован представляться как IE. Пожалуйста измените строку User-Agent в настройках Вашего браузера (или прокси-сервера), если хотите использовать темы оформления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345
 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 ""
-"Пожалуйста, помогите проекту перевода консоли маршрутизатора! Разработчики "
-"доступны для связи на IRC-канале #i2p"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:349
+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:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353
 msgid "Apply"
 msgstr "Применить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:112
 msgid "config update"
 msgstr "настройки обновления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:249
 msgid "I2P Update Configuration"
 msgstr "Настройки обновлений I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Check for I2P and news updates"
 msgstr "Настройки проверки обновлений и новостей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:323
 msgid "News &amp; I2P Updates"
 msgstr "Новости и обновления I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update In Progress"
 msgstr "Выполняется обновление"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "News URL"
 msgstr "URL новостей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "Refresh frequency"
 msgstr "Интервал проверки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:345
 msgid "Update policy"
 msgstr "Режим обновления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:349
 msgid "Update through the eepProxy?"
 msgstr "Обновлять через I2P-прокси?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:353
 msgid "eepProxy host"
 msgstr "Адрес I2P-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:357
 msgid "eepProxy port"
 msgstr "Порт I2P-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "Update URLs"
 msgstr "URL обновлений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Trusted keys"
 msgstr "Доверенные ключи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
 msgid "Update with unsigned development builds?"
 msgstr "Обновлять до неподписанной тестовой сборки?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
 msgid "Unsigned Build URL"
 msgstr "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 недоступна: у Вас нет прав на запись в директорию "
-"I2P."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:379
+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:367
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:385
 msgid "Save"
 msgstr "Сохранить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
 msgid "Internal Error"
 msgstr "Внутренняя ошибка"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123
 msgid "Router Console"
 msgstr "Консоль маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:121
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:127
 msgid "Configuration"
 msgstr "Настройки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:129
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:135
 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
+#: ../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:254
 #, java-format
 msgid "Please report bugs on {0} or {1}."
 msgstr "Пожалуйста сообщайте об ошибках в багтрекер по адресу {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\" и пароль \"guest\" если не "
-"хотите регистрироваться."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:258
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "Вы можете использовать имя пользователя \"guest\" и пароль \"guest\" если не хотите регистрироваться."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:139
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:145
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:260
 msgid "Please include this information in bug reports"
 msgstr "Пожалуйста, добавляйте эту информацию в Ваши сообщения об ошибках"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:141
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:147
 msgid "Error Details"
 msgstr "Подробности ошибки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:149
 #, 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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:169
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:250
 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/error500_jsp.java:197
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:288
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:123
 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."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:264
+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
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:266
 msgid "Error 404"
 msgstr "Ошибка 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:271
 msgid "not found"
 msgstr "не найдено"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:112
 msgid "graphs"
 msgstr "графики"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:249
 msgid "I2P Performance Graphs"
 msgstr "Графики производительности I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:111
 msgid "home"
 msgstr "Домашняя страница"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:331
+msgid "Welcome to I2P"
+msgstr "Добро пожаловать в I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:111
 msgid "job queue"
 msgstr "очередь заданий"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:248
 msgid "I2P Router Job Queue"
 msgstr "Очередь заданий маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:111
 msgid "logs"
 msgstr "логи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:248
 msgid "I2P Router Logs"
 msgstr "Логи маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:303
 msgid "Critical Logs"
 msgstr "Логи критических ошибок"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:307
 msgid "Router Logs"
 msgstr "Логи маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:313
 msgid "Service (Wrapper) Logs"
 msgstr "Логи службы (wrapper)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:111
 msgid "network database summary"
 msgstr "сетевая база данных"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:248
 msgid "I2P Network Database Summary"
 msgstr "Обзор сетевой базы данных I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:115
 msgid "WebApp Not Found"
 msgstr "Веб-апплет не найден"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:252
 msgid "Web Application Not Running"
 msgstr "Веб-приложение не запущено"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:254
 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 ""
-"Пожалуйста, запустите его со <a href=\"/configclients.jsp#webapp\">страницы "
-"настроек веб-апплетов</a>."
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:256
+msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
+msgstr "Пожалуйста, запустите его со <a href=\"/configclients.jsp#webapp\">страницы настроек веб-апплетов</a>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:111
 msgid "peer connections"
 msgstr "обзор пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:248
 msgid "I2P Network Peers"
 msgstr "Соединения с пирами I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:111
 msgid "peer profiles"
 msgstr "профили пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:248
 msgid "I2P Network Peer Profiles"
 msgstr "Профили пиров сети I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:111
 msgid "statistics"
 msgstr "статистика"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:265
 msgid "I2P Router Statistics"
 msgstr "Статистика маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:255
 #, java-format
 msgid "Disable {0} Refresh"
 msgstr "Отключить {0} автообновление"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:111
 msgid "tunnel summary"
 msgstr "обзор туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:248
 msgid "I2P Tunnel Summary"
 msgstr "Обзор туннелей I2P"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:111
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:248
+msgid "Peer Profile"
+msgstr "Профиль пира"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/viewprofile_jsp.java:275
+#, java-format
+msgid "Profile for peer {0}"
+msgstr "Профиль пира {0}"
+
+#~ msgid "Download"
+#~ msgstr "Скачать"
+
 #~ msgid "System tray icon enabled."
 #~ msgstr "Включен значок-индикатор статуса в области уведомлений."
 
@@ -5939,9 +5572,6 @@ msgstr "Обзор туннелей I2P"
 #~ msgid "avg value"
 #~ msgstr "среднее значение"
 
-#~ msgid "events"
-#~ msgstr "событий"
-
 #~ msgid "lifetime average"
 #~ msgstr "среднее за время работы"
 
diff --git a/apps/susidns/locale/messages_es.po b/apps/susidns/locale/messages_es.po
new file mode 100644
index 0000000000000000000000000000000000000000..8e1ee29c1b23901ce271d39c38daa16317485200
--- /dev/null
+++ b/apps/susidns/locale/messages_es.po
@@ -0,0 +1,544 @@
+# 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\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-03 18:29+0000\n"
+"PO-Revision-Date: 2011-03-22 15:48+0000\n"
+"Last-Translator: punkibastardo <punkibastardo@gmail.com>\n"
+"Language-Team: Spanish (Castilian) <None>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\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 "Buscar"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
+msgid "Search within filtered list"
+msgstr "Buscar con la lista filtrada"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
+msgid "Filtered list"
+msgstr "Lista filtrada"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
+msgid "no matches"
+msgstr "No hay coincidencias"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
+msgid "Addressbook"
+msgstr "Libreta de direcciones"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
+msgid "contains no entries"
+msgstr "no contiene entradas"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
+msgid "contains 1 entry"
+msgstr "contiene 1 entrada"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
+#, java-format
+msgid "contains {0} entries"
+msgstr "contiene {0} entradas"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
+#, java-format
+msgid "Showing {0} of {1}"
+msgstr "Mostrando {0} de {1}"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
+msgid "Add"
+msgstr "Agregar"
+
+#: ../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 "Reemplazar"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#, java-format
+msgid "Host name {0} is already in addressbook, unchanged."
+msgstr ""
+"El nombre del host {0} ya está en la libreta de direcciones, sin cambios."
+
+#: ../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 ""
+"El nombre del host {0} ya está en la libreta de direcciones con un destino "
+"diferente. Haga clic en \"reemplazar\" para sobrescribir."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:278
+#, java-format
+msgid "Destination added for {0}."
+msgstr "Destino añadido para {0}."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
+#, java-format
+msgid "Destination changed for {0}."
+msgstr "Destino cambiado para {0}."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
+msgid "Invalid Base 64 destination."
+msgstr "Destino en Base 64 no válido"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
+msgid "Please enter a host name and destination"
+msgstr "Por favor, introduzca un nombre de host y destino"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
+msgid "Delete Selected"
+msgstr "Eliminar seleccionados"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
+#, java-format
+msgid "Destination {0} deleted."
+msgstr "Destino {0} eliminado."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
+#, java-format
+msgid "{0} destinations deleted."
+msgstr "{0} destinos eliminados."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
+msgid "Addressbook saved."
+msgstr "Libreta de direcciones guardada."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
+msgid "ERROR: Could not write addressbook file."
+msgstr "ERROR: No se pudo escribir el archivo de la libreta direcciones."
+
+#: ../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 ""
+"presentación de formulario no válido, probablemente debido a que ha "
+"utilizado el botón \"atrás\" o \"recargar\" de su navegador. Por favor, "
+"vuelva a enviarlo."
+
+#: ../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 "Guardar"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
+msgid "Configuration saved."
+msgstr "Configuración guardada."
+
+#: ../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 "Recargar"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
+msgid "Configuration reloaded."
+msgstr "Configuración recargada."
+
+#. 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 ""
+"Suscripciones guardadas, actualizando la libreta de direcciones a partir de "
+"las fuentes de suscripción ahora."
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
+msgid "Subscriptions saved."
+msgstr "Suscripciones guardadas."
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
+msgid "Subscriptions reloaded."
+msgstr "Suscripciones recargadas."
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
+msgid "addressbook"
+msgstr "libreta de direcciones"
+
+#: ../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 "libretas de direcciones"
+
+#: ../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 "privado"
+
+#: ../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 "maestro"
+
+#: ../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 "router"
+
+#: ../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 "publicado"
+
+#: ../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 "suscripciones"
+
+#: ../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 "configuración"
+
+#: ../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 "resumen"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
+msgid "Filter"
+msgstr "Filtro"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
+msgid "all"
+msgstr "todos"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
+msgid "Current filter"
+msgstr "Filtro actual"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
+msgid "clear filter"
+msgstr "filtro actual"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
+msgid "Name"
+msgstr "Nombre"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
+msgid "Destination"
+msgstr "Destino"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
+msgid "Mark for deletion"
+msgstr "Marcar para eliminar"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
+msgid "address helper link"
+msgstr "ayudante de dirección del enlace"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
+msgid "This addressbook is empty."
+msgstr "Esta libreta de direcciones está vacía."
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:356
+msgid "Add new destination"
+msgstr "Añadir nuevo destino"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
+msgid "Hostname"
+msgstr "Nombre de Host"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
+msgid "Hints"
+msgstr "Consejos"
+
+#: ../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 ""
+"Las rutas de archivos y de directorios mostradas aquí son relativas al "
+"directorio de trabajo de la libreta de direcciones, que es normalmente "
+"~/.i2p/addressbook/ (Linux) o %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 ""
+"Si desea agregar manualmente líneas a una libreta de direcciones, añadalos a"
+" la libreta de direcciones privada o maestra."
+
+#: ../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 ""
+"La libreta de direcciones del router y la libreta de direcciones publicada "
+"son actualizadas por la aplicación libreta de direcciones."
+
+#: ../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 ""
+"Al publicar su libro de direcciones, TODOS los destinos de la libreta "
+"maestra y la libreta de direcciones del router aparecen ahí."
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
+msgid ""
+"Use the private addressbook for private destinations, these are not "
+"published."
+msgstr ""
+"Utilice la libreta de direcciones privada para destinos privados, éstos no "
+"serán publicados."
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
+msgid "Options"
+msgstr "Opciones"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
+msgid "File containing the list of subscriptions URLs (no need to change)"
+msgstr ""
+"El archivo que contiene la lista de suscripciones URL (no es necesario "
+"cambiarlo)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
+msgid "Update interval in hours"
+msgstr "Intervalo de actualización en horas"
+
+#: ../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 ""
+"Su archivo hosts.txt público (elija una ruta dentro de la raíz de la "
+"documentación de su servidor web)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
+msgid "Your hosts.txt (don't change)"
+msgstr "Su hosts.txt (no cambiar)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
+msgid "Your personal addressbook, these hosts will be published"
+msgstr "Su libreta de direcciones personal, estos hosts serán publicados"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
+msgid "Your private addressbook, it is never published"
+msgstr "Su libreta de direcciones privada, nunca se publica"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
+msgid "Port for your eepProxy (no need to change)"
+msgstr "Puerto para su eepProxy (no es necesario cambiarlo)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
+msgid "Hostname for your eepProxy (no need to change)"
+msgstr "Nombre de la host para su eepProxy (no es necesario cambiarlo)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
+msgid "Whether to update the published addressbook"
+msgstr "Sea para actualizar la libreta de direcciones publicadas"
+
+#: ../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 ""
+"Archivo que contiene la cabecera de los etags desde la URL de subscripciones"
+" capturada  (no es necesario cambiarlo)"
+
+#: ../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 ""
+"Archivo que contiene la fecha y hora de modificación para cada URL de "
+"suscripción capturada (no es necesario cambiarlo)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
+msgid "File to log activity to (change to /dev/null if you like)"
+msgstr ""
+"El archivo en el que se guarda el registro de actividad (cambielo a "
+"/dev/null si quiere)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
+msgid "Introduction"
+msgstr "Introducción"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
+msgid "What is the addressbook?"
+msgstr "¿Qué es la libreta de direcciones?"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
+msgid "The addressbook application is part of your i2p installation."
+msgstr ""
+"La aplicación de libreta de direcciones es parte de la instalación 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 ""
+"Actualiza constantemente su archivo hosts.txt desde fuentes distribuidas o "
+"\"suscripciones\"."
+
+#: ../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 ""
+"Con la configuración predeterminada, la libreta de direcciones sólo está "
+"suscrita a 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 ""
+"Suscribirse a otros sitios es fácil, sólo tiene que añadirlos a su archivo "
+"de <a href=\"subscriptions.jsp\">suscripciones</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 ""
+"Para obtener más información sobre los nombres en I2P, consulte <a "
+"href=\"http://www.i2p2.i2p/naming.html\">la información general en "
+"www.i2p2.i2p</a> ."
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
+msgid "How does the addressbook work?"
+msgstr "¿Cómo funciona la libreta de direcciones?"
+
+#: ../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 ""
+"La aplicación de libreta de direcciones comprueba periódicamente sus "
+"suscripciones y funde su contenido con la libreta de direcciones de su "
+"\"router\" almacenada en el archivo 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 ""
+"Luego también une su libreta de direcciones \"maestra\" (userhosts.txt) con "
+"la libreta de direcciones del router."
+
+#: ../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 ""
+"Si está configurada, la libreta de direcciones del router ahora se escribirá"
+" a la libreta \"publicada\", que estará disponible al público si está "
+"ejecutando un 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 ""
+"El router también utiliza una libreta de direcciones privadas "
+"(privatehosts.txt, no se muestra en la imagen), que ni se fusiona ni es "
+"publicada."
+
+#: ../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 ""
+"Puede visitar a los hosts que aparecen en su libreta de direcciones privada,"
+" pero su dirección no se distribuye a terceros."
+
+#: ../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 ""
+"La libreta de direcciones privada también se pueden utilizar para alias de "
+"los hosts en sus otras libretas de direcciones."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
+msgid "The subscription file contains a list of i2p URLs."
+msgstr "El archivo de suscripción contiene una lista de URLs I2P."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
+msgid ""
+"The addressbook application regularly checks this list for new eepsites."
+msgstr ""
+"La aplicación de libreta de direcciones comprueba regularmente esta lista en"
+" busca de nuevos eepsites."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
+msgid "Those URLs refer to published hosts.txt files."
+msgstr "Esas URLs referencian a los archivos hosts.txt publicados."
+
+#: ../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 ""
+"La suscripción por defecto es el hosts.txt de www.i2p2.i2p, que se actualiza"
+" con poca frecuencia."
+
+#: ../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 ""
+"Por lo tanto, es una buena idea agregar suscripciones adicionales a sitios "
+"que ttengan las direcciones más recientes"
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
+msgid "See the FAQ for a list of subscription URLs."
+msgstr ""
+"Ver las preguntas frecuentes para obtener una lista de direcciones URL de "
+"suscripciónes."
diff --git a/apps/susidns/locale/messages_fr.po b/apps/susidns/locale/messages_fr.po
new file mode 100644
index 0000000000000000000000000000000000000000..8d2c13c2984ca012fdfd7571e5a3c88c827f9e70
--- /dev/null
+++ b/apps/susidns/locale/messages_fr.po
@@ -0,0 +1,435 @@
+# 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-03-24 16:49+0000\n"
+"PO-Revision-Date: 2011-04-09 02:53+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"Language: \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 >= 2)\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 "Chercher"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
+msgid "Search within filtered list"
+msgstr "Chercher dans la liste filtrée"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
+msgid "Filtered list"
+msgstr "Liste filtrée"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
+msgid "no matches"
+msgstr "aucune correspondance"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
+msgid "Addressbook"
+msgstr "Le carnet d'adresses"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
+msgid "contains no entries"
+msgstr "est vide"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
+msgid "contains 1 entry"
+msgstr "contient 1 entrée"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
+#, java-format
+msgid "contains {0} entries"
+msgstr "contient {0} entrée(s)"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
+#, java-format
+msgid "Showing {0} of {1}"
+msgstr "Affichage {0} sur {1}"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
+msgid "Add"
+msgstr "Ajouter"
+
+#: ../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 "Remplacer"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#, java-format
+msgid "Host name {0} is already in addressbook, unchanged."
+msgstr "L''hôte {0} est déjà présent: inchangé."
+
+#: ../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 "L''hôte {0} est déjà présent avec une destination différente. Cliquez sur \"Remplacer\"...pour le remplacer."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:278
+#, java-format
+msgid "Destination added for {0}."
+msgstr "Destination ajoutée pour {0}."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
+#, java-format
+msgid "Destination changed for {0}."
+msgstr "Destination modifiée pour {0}."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
+msgid "Invalid Base 64 destination."
+msgstr "Destination Base64 incorrecte."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
+msgid "Please enter a host name and destination"
+msgstr "Entrez un nom d'hôte et sa destination"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
+msgid "Delete Selected"
+msgstr "Supprimer les éléments sélectionnés"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
+#, java-format
+msgid "Destination {0} deleted."
+msgstr "Destination {0} supprimée."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
+#, java-format
+msgid "{0} destinations deleted."
+msgstr "{0} destination(s) supprimée(s)."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
+msgid "Addressbook saved."
+msgstr "Carnet d'adresses enregistré."
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
+msgid "ERROR: Could not write addressbook file."
+msgstr "ERREUR: impossible d'enregistrer le fichier carnet d'adresses."
+
+#: ../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 "Soumission du formulaire incorrecte: vous avez peut-être utilisé le bouton \"Page précédente\" ou \"Recharger\". Merci de soumettre à nouveau."
+
+#: ../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 "Enregistrer"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
+msgid "Configuration saved."
+msgstr "Configuration enregistrée."
+
+#: ../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 "Recharger"
+
+#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
+msgid "Configuration reloaded."
+msgstr "Configuration rechargée."
+
+#. 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 "Souscriptions enregistrées, mise à jour en cours du carnet d'adresses à partir de celles-ci."
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
+msgid "Subscriptions saved."
+msgstr "Souscription enregistrée."
+
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
+msgid "Subscriptions reloaded."
+msgstr "Souscription rechargée."
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
+msgid "addressbook"
+msgstr "carnet d'adresses"
+
+#: ../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 "carnets d'adresses"
+
+#: ../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 "privé"
+
+#: ../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 "principal"
+
+#: ../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 "routeur"
+
+#: ../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 "publié"
+
+#: ../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 "souscriptions"
+
+#: ../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 "configuration"
+
+#: ../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 "aperçu"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
+msgid "Filter"
+msgstr "Filtrer"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
+msgid "all"
+msgstr "tout"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
+msgid "Current filter"
+msgstr "Filtre courant"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
+msgid "clear filter"
+msgstr "effacer le filtre"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
+msgid "Name"
+msgstr "Nom"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
+msgid "Destination"
+msgstr "Destination"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
+msgid "Mark for deletion"
+msgstr "Marquer pour suppression"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
+msgid "address helper link"
+msgstr "lien d'aide d'adresse"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
+msgid "Cancel"
+msgstr "Annuler"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
+msgid "This addressbook is empty."
+msgstr "Ce carnet d'adresses est vide"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:356
+msgid "Add new destination"
+msgstr "Ajoutez une nouvelle destination"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
+msgid "Hostname"
+msgstr "Nom d'hôte"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
+msgid "Hints"
+msgstr "Aides"
+
+#: ../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 "Les chemins des fichiers et dossiers listés sont relatifs au répertoire de travail du carnet d'adresses, normalement ~/.i2p/addressbook/ (Linux) ou %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 "si vous voulez ajouter manuellement des lignes dans un carnet d'adresses, faites-le dans le carnet privé ou principal."
+
+#: ../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 "Le carnet d'adresses du routeur et le carnet d'adresses publié sont mis à jour par l'application carnet d'adresses."
+
+#: ../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 "Quand vous publiez votre carnet d'adresses, TOUTES les destinations des carnets principal et routeur le sont."
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
+msgid "Use the private addressbook for private destinations, these are not published."
+msgstr "Utilisez le carnet d'adresses privé pour les destinations privées: elles ne seront pas publiées."
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
+msgid "Options"
+msgstr "Options"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
+msgid "File containing the list of subscriptions URLs (no need to change)"
+msgstr "fichier contenant la liste des URLs de souscriptions (inutile de modifier)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
+msgid "Update interval in hours"
+msgstr "Intervalle de mise à jour (en heures)"
+
+#: ../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 "Votre fichier hosts.txt (choisissez un emplacement dans la racine de votre serveur web)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
+msgid "Your hosts.txt (don't change)"
+msgstr "Votre hosts.txt (ne pas modifier)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
+msgid "Your personal addressbook, these hosts will be published"
+msgstr "Votre carnet d'adresses personnel: ces hôtes peuvent être publiés"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
+msgid "Your private addressbook, it is never published"
+msgstr "Votre carnet d'adresses privé n'est jamais publié"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
+msgid "Port for your eepProxy (no need to change)"
+msgstr "Port de votre proxy eep (inutile de modifier)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
+msgid "Hostname for your eepProxy (no need to change)"
+msgstr "nom d'hôte de votre proxy eep (inutile de modifier)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
+msgid "Whether to update the published addressbook"
+msgstr "S'il faut actualiser le carnet d'adresses publié"
+
+#: ../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 "Fichier contenant les en-têtes etag des URLs de souscription (inutile de changer)"
+
+#: ../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 "Fichier contenant les tampons horaires de modification de chaque URL de souscription importée (inutile de modifier)"
+
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
+msgid "File to log activity to (change to /dev/null if you like)"
+msgstr "Fichier d'historiques (modifiez en /dev/null si ça vous chante) "
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
+msgid "Introduction"
+msgstr "Introduction"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
+msgid "What is the addressbook?"
+msgstr "Qu'est-ce que le carnet d'adresses?"
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
+msgid "The addressbook application is part of your i2p installation."
+msgstr "L'application carnet d'adresses fait partie intégrante de votre installation 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 "Elle actualise votre fichier hosts.txt à intervalle régulier à partir de sources décentralisées (\"souscriptions\" ou \"abonnements\")"
+
+#: ../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 "Dans sa configuration par défaut, le carnet d'adresses est seulement abonné à 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 "La souscription à des sites supplémentaires est aisée:  ajoutez-les simplement à votre fichier de <a href=\"subscriptions.jsp\">souscriptions</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 "Plus d'infos sur <a href=\"http://www.i2p2.i2p/techintro_fr.html#app.naming\">le nommage dans I2P</a>."
+
+#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
+msgid "How does the addressbook work?"
+msgstr "Fonctionnement du carnet d'adresses."
+
+#: ../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 "L'application carnet d'adresses interroge vos souscriptions à intervalle régulier et fusionne leurs contenus dans le carnet d'adresses du \"routeur\", stocké dans le fichier 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 "Puis elle fusionne votre carnet d'adresses \"principal\" (userhosts.txt) dans celui du routeur. "
+
+#: ../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 "Si c'est activé, le carnet du routeur est alors écrit dans le carnet d'adresses \"publié\" qui devient publiquement disponible si vous avez votre propre site eep."
+
+#: ../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 "Le routeur utilise également un carnet privé (privatehosts.txt, non illustré), qui n'est ni fusionné ni publié."
+
+#: ../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 "Les hôtes du carnet privé ne sont accessibles qu'à vous, et leurs adresses ne sont jamais distribuées à personne."
+
+#: ../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 "Le carnet privé peut aussi servir à stocker des alias/pseudos pour des hôtes des autres carnets."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
+msgid "The subscription file contains a list of i2p URLs."
+msgstr "Le fichier de souscriptions contient une liste d'URLs I2P."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
+msgid "The addressbook application regularly checks this list for new eepsites."
+msgstr "L'application vérifie régulièrement cette liste pour trouver de nouveaux sites eep."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
+msgid "Those URLs refer to published hosts.txt files."
+msgstr "Ces URLs font référence aux fichiers hosts.txt des autres utilisateurs."
+
+#: ../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 "L'abonnement par défaut est le fichier hosts.txt de www.i2p2.i2p, mais il est très peu actualisé."
+
+#: ../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 "C'est donc une bonne idée d'ajouter des souscriptions supplémentaires à des sites qui disposent des dernières adresses."
+
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
+msgid "See the FAQ for a list of subscription URLs."
+msgstr "Voir la <a href=\"http://www.i2p2.i2p/faq_fr.html#subscriptions\">FAQ</a> pour une liste d'URLs de souscriptions."
+
diff --git a/apps/susidns/src/images/how_fr.png b/apps/susidns/src/images/how_fr.png
new file mode 100644
index 0000000000000000000000000000000000000000..43da5d091e98e8a034b523799d89976080c4a981
Binary files /dev/null and b/apps/susidns/src/images/how_fr.png differ
diff --git a/apps/susimail/locale/messages_es.po b/apps/susimail/locale/messages_es.po
new file mode 100644
index 0000000000000000000000000000000000000000..8d930c4e70eec1ed3fc9639db47bddcf01893019
--- /dev/null
+++ b/apps/susimail/locale/messages_es.po
@@ -0,0 +1,441 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the susimail package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2011-03-12 20:49+0000\n"
+"PO-Revision-Date: 2011-04-18 21:35+0100\n"
+"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"Language-Team: Spanish (Castilian) <None>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: src/src/i2p/susi/webmail/WebMail.java:454
+msgid "unknown"
+msgstr "desconocido"
+
+#: src/src/i2p/susi/webmail/WebMail.java:473
+msgid "Warning: no transfer encoding found, fallback to 7bit."
+msgstr "Aviso: no se encuentra codificación de transferencia, volviendo a 7 bits."
+
+#: src/src/i2p/susi/webmail/WebMail.java:478
+#, java-format
+msgid "No encoder found for encoding \\''{0}\\''."
+msgstr "No se ha encontrado codificador para la codificación \\''{0}''\\."
+
+#: src/src/i2p/susi/webmail/WebMail.java:484
+msgid "Warning: no charset found, fallback to US-ASCII."
+msgstr "Aviso: no se ha encontrado el juego de caracteres, volviendo a US-ASCII."
+
+#: src/src/i2p/susi/webmail/WebMail.java:498
+#, java-format
+msgid "Charset \\''{0}\\'' not supported."
+msgstr "juego de caracteres \\''{0}\\''no soportado."
+
+#: src/src/i2p/susi/webmail/WebMail.java:502
+#, java-format
+msgid "Part ({0}) not shown, because of {1}"
+msgstr "La parte ({0}) no se muestra, debido a {1}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+msgid "Download"
+msgstr "Descarga"
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+msgid "File is packed into a zipfile for security reasons."
+msgstr "El archivo está empaquetado en un archivo zip por razones de seguridad."
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+#, java-format
+msgid "attachment ({0})."
+msgstr "adjunto ({0})."
+
+#: src/src/i2p/susi/webmail/WebMail.java:529
+#, java-format
+msgid "Attachment ({0})."
+msgstr "Adjunto ({0})."
+
+#: src/src/i2p/susi/webmail/WebMail.java:579
+msgid "Need username for authentication."
+msgstr "Es necesario un nombre de usuario para la autenticación."
+
+#: src/src/i2p/susi/webmail/WebMail.java:583
+msgid "Need password for authentication."
+msgstr "Es necesaria una contraseña para la autenticación."
+
+#: src/src/i2p/susi/webmail/WebMail.java:587
+msgid "Need hostname for connect."
+msgstr "Es necesario un nombre de host para la conexión."
+
+#: src/src/i2p/susi/webmail/WebMail.java:592
+msgid "Need port number for pop3 connect."
+msgstr "Es necesario el número de puerto para conectar pop3."
+
+#: src/src/i2p/susi/webmail/WebMail.java:599
+msgid "POP3 port number is not in range 0..65535."
+msgstr "El puerto POP3 no está en el rango 0..65535."
+
+#: src/src/i2p/susi/webmail/WebMail.java:605
+msgid "POP3 port number is invalid."
+msgstr "El puerto POP3 no es válido."
+
+#: src/src/i2p/susi/webmail/WebMail.java:611
+msgid "Need port number for smtp connect."
+msgstr "Es necesario el número de puerto para conectar smtp."
+
+#: src/src/i2p/susi/webmail/WebMail.java:618
+msgid "SMTP port number is not in range 0..65535."
+msgstr "El puerto SMTP no está en el rango 0..65535."
+
+#: src/src/i2p/susi/webmail/WebMail.java:624
+msgid "SMTP port number is invalid."
+msgstr "El puerto SMTP no es válido."
+
+#: src/src/i2p/susi/webmail/WebMail.java:671
+msgid "User logged out."
+msgstr "Usuario desconectado."
+
+#: src/src/i2p/susi/webmail/WebMail.java:675
+msgid "Internal error, lost connection."
+msgstr "Error interno, pérdida de conexión."
+
+#: src/src/i2p/susi/webmail/WebMail.java:771
+#, java-format
+msgid "On {0} {1} wrote:"
+msgstr "En {0} {1} escribió:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:818
+msgid "begin forwarded mail"
+msgstr "comenzar correo reenviado"
+
+#: src/src/i2p/susi/webmail/WebMail.java:840
+msgid "end forwarded mail"
+msgstr "terminar correo reenviado"
+
+#: src/src/i2p/susi/webmail/WebMail.java:847
+#: src/src/i2p/susi/webmail/WebMail.java:1701
+msgid "Could not fetch mail body."
+msgstr "No se pudo obtener el cuerpo del correo."
+
+#: src/src/i2p/susi/webmail/WebMail.java:875
+msgid "Message id not valid."
+msgstr "ID del mensaje no válida."
+
+#: src/src/i2p/susi/webmail/WebMail.java:958
+#, java-format
+msgid "No Encoding found for {0}"
+msgstr "No se ha encontrado codificación para {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:962
+#, java-format
+msgid "Could not encode data: {0}"
+msgstr "No se pudo codificar los datos: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:967
+#, java-format
+msgid "Error reading uploaded file: {0}"
+msgstr "Error al leer el archivo subido: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1045
+msgid "Error parsing download parameter."
+msgstr "Error al analizar parámetros de descarga."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1089
+msgid "Invalid pagesize number, resetting to default value."
+msgstr "Tamaño de página no válida, restableciendo a los valores predeterminados."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1113
+msgid "No messages marked for deletion."
+msgstr "No hay mensajes marcados para su eliminación."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1133
+#, java-format
+msgid "Error deleting message: {0}"
+msgstr "Error al eliminar el mensaje: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1144
+#, java-format
+msgid "1 message deleted."
+msgid_plural "{0} messages deleted."
+msgstr[0] "1 mensaje eliminado."
+msgstr[1] "{0} mensajes eliminados."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1264
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Login"
+msgstr "Iniciar sesión"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1266
+#, java-format
+msgid "1 Message"
+msgid_plural "{0} Messages"
+msgstr[0] "1 Mensaje"
+msgstr[1] "{0} Mensajes"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1268
+msgid "Show Message"
+msgstr "Mostrar mensaje"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1325
+#, java-format
+msgid "Error decoding content: {0}"
+msgstr "Error al descifrar el contenido: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1330
+msgid "Error decoding content: No encoder found."
+msgstr "Error al descifrar el contenido: No se ha encontrado codificador."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1377
+msgid "no subject"
+msgstr "sin asunto"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1394
+msgid "Found no valid sender address."
+msgstr "No se ha encontrado una dirección de remitente válida."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1400
+#, java-format
+msgid "Found no valid address in \\''{0}\\''."
+msgstr "No se ha encontrado ninguna dirección válida en \\''{0}\\''."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1419
+msgid "No recipients found."
+msgstr "No se han encontrado destinatarios."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1426
+msgid "Quoted printable encoder not available."
+msgstr "El codificador imprimible citado no se encuentra disponible."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1431
+msgid "Header line encoder not available."
+msgstr "El codificador de línea de encabezado no está disponible."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1482
+msgid "Mail sent."
+msgstr "Correo enviado."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1519
+msgid "Send"
+msgstr "Enviar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1520
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1521
+msgid "Delete Attachment"
+msgstr "Eliminar datos adjuntos"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1522
+#: src/src/i2p/susi/webmail/WebMail.java:1607
+#: src/src/i2p/susi/webmail/WebMail.java:1688
+msgid "Reload Config"
+msgstr "Actualizar configuración"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1523
+#: src/src/i2p/susi/webmail/WebMail.java:1608
+#: src/src/i2p/susi/webmail/WebMail.java:1689
+msgid "Logout"
+msgstr "Desconectarse"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1546
+#: src/src/i2p/susi/webmail/WebMail.java:1693
+msgid "From:"
+msgstr "De:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1547
+msgid "To:"
+msgstr "Para:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1548
+msgid "Cc:"
+msgstr "Cc:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1549
+msgid "Bcc:"
+msgstr "CCO:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1550
+#: src/src/i2p/susi/webmail/WebMail.java:1695
+msgid "Subject:"
+msgstr "Asunto:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1551
+msgid "Bcc to self"
+msgstr "CCO a mí mismo"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1554
+msgid "New Attachment:"
+msgstr "Nuevo Archivo adjunto:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1554
+msgid "Upload File"
+msgstr "Subir Archivo"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1560
+msgid "Attachments:"
+msgstr "Archivos adjuntos:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1582
+msgid "User"
+msgstr "Usuario"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1583
+msgid "Pass"
+msgstr "Contraseña"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1584
+msgid "Host"
+msgstr "Host"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1585
+msgid "POP3-Port"
+msgstr "Puerto-POP3"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1586
+msgid "SMTP-Port"
+msgstr "Puerto-SMTP"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Create Account"
+msgstr "Crear una cuenta"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Reset"
+msgstr "Cancelar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1599
+msgid "Really delete the marked messages?"
+msgstr "¿Realmente deseas borrar los mensajes marcados?"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1599
+msgid "Yes, really delete them!"
+msgstr "Sí, realmente eliminarlos!"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1601
+#: src/src/i2p/susi/webmail/WebMail.java:1680
+msgid "New"
+msgstr "Nuevo"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1602
+#: src/src/i2p/susi/webmail/WebMail.java:1681
+msgid "Reply"
+msgstr "Responder"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1603
+#: src/src/i2p/susi/webmail/WebMail.java:1682
+msgid "Reply All"
+msgstr "Responder a todos"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1604
+#: src/src/i2p/susi/webmail/WebMail.java:1683
+msgid "Forward"
+msgstr "Reenviar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1605
+#: src/src/i2p/susi/webmail/WebMail.java:1684
+msgid "Delete"
+msgstr "Eliminar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1606
+msgid "Check Mail"
+msgstr "Comprobar correo"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1610
+msgid "Sender"
+msgstr "Remitente"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1611
+msgid "Subject"
+msgstr "Asunto"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1612
+msgid "Date"
+msgstr "Fecha"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1613
+msgid "Size"
+msgstr "Tamaño"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1639
+#, java-format
+msgid "1 Byte"
+msgid_plural "{0} Bytes"
+msgstr[0] "1 Byte"
+msgstr[1] "{0} Bytes"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1644
+msgid "Mark All"
+msgstr "Marcar todos"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1645
+msgid "Invert Selection"
+msgstr "Invertir selección"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1646
+msgid "Clear"
+msgstr "Despejar"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1649
+#: src/src/i2p/susi/webmail/WebMail.java:1650
+msgid "First"
+msgstr "Primero"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1649
+#: src/src/i2p/susi/webmail/WebMail.java:1650
+#: src/src/i2p/susi/webmail/WebMail.java:1685
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1651
+#, java-format
+msgid "Page {0} of {1}"
+msgstr "Página {0} de {1}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1653
+#: src/src/i2p/susi/webmail/WebMail.java:1654
+msgid "Last"
+msgstr "Última"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1653
+#: src/src/i2p/susi/webmail/WebMail.java:1654
+#: src/src/i2p/susi/webmail/WebMail.java:1686
+msgid "Next"
+msgstr "Siguiente"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1657
+msgid "Pagesize:"
+msgstr "Tamaño de página:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1658
+msgid "Set"
+msgstr "Set"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1668
+msgid "Really delete this message?"
+msgstr "¿Realmente deseas borrar este mensaje?"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1668
+msgid "Yes, really delete it!"
+msgstr "Sí, realmente eliminarlo!"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1687
+msgid "Back to Folder"
+msgstr "Volver a carpeta"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1694
+msgid "Date:"
+msgstr "Fecha:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1705
+msgid "Could not fetch mail."
+msgstr "No se pudo descargar el correo."
+
diff --git a/apps/susimail/locale/messages_fr.po b/apps/susimail/locale/messages_fr.po
new file mode 100644
index 0000000000000000000000000000000000000000..238ebd4e716d8d7587497e06d0879e3ed793a2f5
--- /dev/null
+++ b/apps/susimail/locale/messages_fr.po
@@ -0,0 +1,441 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the susimail package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P susimail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-24 16:49+0000\n"
+"PO-Revision-Date: 2011-04-09 03:06+0100\n"
+"Last-Translator: magma <magma@mail.i2p>\n"
+"Language-Team: duck <duck@mail.i2p>\n"
+"Language: \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 >= 2)\n"
+
+#: src/src/i2p/susi/webmail/WebMail.java:454
+msgid "unknown"
+msgstr "inconnu"
+
+#: src/src/i2p/susi/webmail/WebMail.java:473
+msgid "Warning: no transfer encoding found, fallback to 7bit."
+msgstr "Avertissement: pas d'encodage de transfert trouvé: retour en 7bits."
+
+#: src/src/i2p/susi/webmail/WebMail.java:478
+#, java-format
+msgid "No encoder found for encoding \\''{0}\\''."
+msgstr "Pas d''encodeur trouvé pour encoder \"{0}\"."
+
+#: src/src/i2p/susi/webmail/WebMail.java:484
+msgid "Warning: no charset found, fallback to US-ASCII."
+msgstr "Avertissement: aucun jeu de caractères trouvé, retour en ASCII-US"
+
+#: src/src/i2p/susi/webmail/WebMail.java:498
+#, java-format
+msgid "Charset \\''{0}\\'' not supported."
+msgstr "Jeu de caractères \\''{0}\\'' non pris en charge."
+
+#: src/src/i2p/susi/webmail/WebMail.java:502
+#, java-format
+msgid "Part ({0}) not shown, because of {1}"
+msgstr "Partie ({0}) non affichée car {1}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+msgid "Download"
+msgstr "Télécharger"
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+msgid "File is packed into a zipfile for security reasons."
+msgstr "Fichier compressé en zip par sécurité."
+
+#: src/src/i2p/susi/webmail/WebMail.java:525
+#, java-format
+msgid "attachment ({0})."
+msgstr "pièce jointe ({0})."
+
+#: src/src/i2p/susi/webmail/WebMail.java:529
+#, java-format
+msgid "Attachment ({0})."
+msgstr "Pièce jointe ({0})."
+
+#: src/src/i2p/susi/webmail/WebMail.java:579
+msgid "Need username for authentication."
+msgstr "Identifiant requis pour l'authentification."
+
+#: src/src/i2p/susi/webmail/WebMail.java:583
+msgid "Need password for authentication."
+msgstr "Mot de passe requis pour l'authentification."
+
+#: src/src/i2p/susi/webmail/WebMail.java:587
+msgid "Need hostname for connect."
+msgstr "Nom d'hôte requis pour la connexion."
+
+#: src/src/i2p/susi/webmail/WebMail.java:592
+msgid "Need port number for pop3 connect."
+msgstr "Port requis pour la connexion POP3."
+
+#: src/src/i2p/susi/webmail/WebMail.java:599
+msgid "POP3 port number is not in range 0..65535."
+msgstr "Le port POP3 n'est pas compris entre 0 et 65535."
+
+#: src/src/i2p/susi/webmail/WebMail.java:605
+msgid "POP3 port number is invalid."
+msgstr "Port POP3 incorrect."
+
+#: src/src/i2p/susi/webmail/WebMail.java:611
+msgid "Need port number for smtp connect."
+msgstr "Port requis pour la connexion SMTP."
+
+#: src/src/i2p/susi/webmail/WebMail.java:618
+msgid "SMTP port number is not in range 0..65535."
+msgstr "Le port SMTP n'est pas compris entre 0 et 65535."
+
+#: src/src/i2p/susi/webmail/WebMail.java:624
+msgid "SMTP port number is invalid."
+msgstr "Port SMTP incorrect."
+
+#: src/src/i2p/susi/webmail/WebMail.java:671
+msgid "User logged out."
+msgstr "Utilisateur déconnecté."
+
+#: src/src/i2p/susi/webmail/WebMail.java:675
+msgid "Internal error, lost connection."
+msgstr "Erreur interne, connexion perdue."
+
+#: src/src/i2p/susi/webmail/WebMail.java:771
+#, java-format
+msgid "On {0} {1} wrote:"
+msgstr "Sur {0} {1} écrit:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:818
+msgid "begin forwarded mail"
+msgstr "tranfert du message commencé"
+
+#: src/src/i2p/susi/webmail/WebMail.java:840
+msgid "end forwarded mail"
+msgstr "tranfert du message terminé"
+
+#: src/src/i2p/susi/webmail/WebMail.java:847
+#: src/src/i2p/susi/webmail/WebMail.java:1701
+msgid "Could not fetch mail body."
+msgstr "Impossible de ramener le corps du message."
+
+#: src/src/i2p/susi/webmail/WebMail.java:875
+msgid "Message id not valid."
+msgstr "ID de message incorrecte."
+
+#: src/src/i2p/susi/webmail/WebMail.java:958
+#, java-format
+msgid "No Encoding found for {0}"
+msgstr "Pas d''encodage trouvé pour {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:962
+#, java-format
+msgid "Could not encode data: {0}"
+msgstr "Impossible d''encoder les données: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:967
+#, java-format
+msgid "Error reading uploaded file: {0}"
+msgstr "Erreur de lecture du fichier envoyé: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1045
+msgid "Error parsing download parameter."
+msgstr "Erreur d'analyse des paramètres de téléchargement."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1089
+msgid "Invalid pagesize number, resetting to default value."
+msgstr "Taille de page incorrecte: réinitialisation à la valeur par défaut."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1113
+msgid "No messages marked for deletion."
+msgstr "Aucun message marqué pour suppression"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1133
+#, java-format
+msgid "Error deleting message: {0}"
+msgstr "Erreur de suppression du message: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1144
+#, java-format
+msgid "1 message deleted."
+msgid_plural "{0} messages deleted."
+msgstr[0] "{0} message supprimé"
+msgstr[1] "{0} messages supprimés"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1264
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Login"
+msgstr "Identification"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1266
+#, java-format
+msgid "1 Message"
+msgid_plural "{0} Messages"
+msgstr[0] "{0} Message"
+msgstr[1] "{0} Messages"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1268
+msgid "Show Message"
+msgstr "Afficher le message"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1325
+#, java-format
+msgid "Error decoding content: {0}"
+msgstr "Erreur de décodage de contenu: {0}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1330
+msgid "Error decoding content: No encoder found."
+msgstr "Erreur de décodage de contenu: pas d'encodeur trouvé."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1377
+msgid "no subject"
+msgstr "pas d'objet"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1394
+msgid "Found no valid sender address."
+msgstr "Adresse d'expéditeur correcte non trouvée"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1400
+#, java-format
+msgid "Found no valid address in \\''{0}\\''."
+msgstr "Pas d''adresse correcte dans \\''{0}\\''."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1419
+msgid "No recipients found."
+msgstr "Pas de destinataire trouvé."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1426
+msgid "Quoted printable encoder not available."
+msgstr "Encodeur \"Quoted printable\" non disponible."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1431
+msgid "Header line encoder not available."
+msgstr "Ligne d'en-tête \"Encodeur\" non disponible."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1482
+msgid "Mail sent."
+msgstr "Message envoyé."
+
+#: src/src/i2p/susi/webmail/WebMail.java:1519
+msgid "Send"
+msgstr "Envoyer"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1520
+msgid "Cancel"
+msgstr "Annuler"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1521
+msgid "Delete Attachment"
+msgstr "Supprimer la pièce jointe"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1522
+#: src/src/i2p/susi/webmail/WebMail.java:1607
+#: src/src/i2p/susi/webmail/WebMail.java:1688
+msgid "Reload Config"
+msgstr "Recharger la configuration"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1523
+#: src/src/i2p/susi/webmail/WebMail.java:1608
+#: src/src/i2p/susi/webmail/WebMail.java:1689
+msgid "Logout"
+msgstr "Déconnexion"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1546
+#: src/src/i2p/susi/webmail/WebMail.java:1693
+msgid "From:"
+msgstr "De:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1547
+msgid "To:"
+msgstr "À:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1548
+msgid "Cc:"
+msgstr "Cc:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1549
+msgid "Bcc:"
+msgstr "Cci:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1550
+#: src/src/i2p/susi/webmail/WebMail.java:1695
+msgid "Subject:"
+msgstr "Objet:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1551
+msgid "Bcc to self"
+msgstr "Cci à moi-même"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1554
+msgid "New Attachment:"
+msgstr "Nouvelle pièce jointe:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1554
+msgid "Upload File"
+msgstr "Envoyer le fichier"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1560
+msgid "Attachments:"
+msgstr "Pièces jointes:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1582
+msgid "User"
+msgstr "Utilisateur"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1583
+msgid "Pass"
+msgstr "Mot de passe"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1584
+msgid "Host"
+msgstr "Hôte"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1585
+msgid "POP3-Port"
+msgstr "Port POP3"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1586
+msgid "SMTP-Port"
+msgstr "Port SMTP"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Create Account"
+msgstr "Créer un compte"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1587
+msgid "Reset"
+msgstr "Remise à zéro"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1599
+msgid "Really delete the marked messages?"
+msgstr "voulez-vous vraiment supprimer les messages marqués?"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1599
+msgid "Yes, really delete them!"
+msgstr "Oui, suppression!"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1601
+#: src/src/i2p/susi/webmail/WebMail.java:1680
+msgid "New"
+msgstr "Nouveau message"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1602
+#: src/src/i2p/susi/webmail/WebMail.java:1681
+msgid "Reply"
+msgstr "Répondre"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1603
+#: src/src/i2p/susi/webmail/WebMail.java:1682
+msgid "Reply All"
+msgstr "Répondre à tous"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1604
+#: src/src/i2p/susi/webmail/WebMail.java:1683
+msgid "Forward"
+msgstr "Transférer"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1605
+#: src/src/i2p/susi/webmail/WebMail.java:1684
+msgid "Delete"
+msgstr "Supprimer"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1606
+msgid "Check Mail"
+msgstr "Relever le courrier"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1610
+msgid "Sender"
+msgstr "De"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1611
+msgid "Subject"
+msgstr "Objet"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1612
+msgid "Date"
+msgstr "Date"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1613
+msgid "Size"
+msgstr "Taille"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1639
+#, java-format
+msgid "1 Byte"
+msgid_plural "{0} Bytes"
+msgstr[0] "{0} octet"
+msgstr[1] "{0} octets"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1644
+msgid "Mark All"
+msgstr "Tout cocher"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1645
+msgid "Invert Selection"
+msgstr "Inverser la sélection"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1646
+msgid "Clear"
+msgstr "Effacer"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1649
+#: src/src/i2p/susi/webmail/WebMail.java:1650
+msgid "First"
+msgstr "Premier"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1649
+#: src/src/i2p/susi/webmail/WebMail.java:1650
+#: src/src/i2p/susi/webmail/WebMail.java:1685
+msgid "Previous"
+msgstr "Précédent"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1651
+#, java-format
+msgid "Page {0} of {1}"
+msgstr "Page {0} sur {1}"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1653
+#: src/src/i2p/susi/webmail/WebMail.java:1654
+msgid "Last"
+msgstr "Dernier"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1653
+#: src/src/i2p/susi/webmail/WebMail.java:1654
+#: src/src/i2p/susi/webmail/WebMail.java:1686
+msgid "Next"
+msgstr "Suivant"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1657
+msgid "Pagesize:"
+msgstr "Taille de page:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1658
+msgid "Set"
+msgstr "Définir"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1668
+msgid "Really delete this message?"
+msgstr "Voulez-vous vraiment supprimer ce message?"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1668
+msgid "Yes, really delete it!"
+msgstr "Oui, supprimer!"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1687
+msgid "Back to Folder"
+msgstr "Retour au dossier"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1694
+msgid "Date:"
+msgstr "Date:"
+
+#: src/src/i2p/susi/webmail/WebMail.java:1705
+msgid "Could not fetch mail."
+msgstr "Impossible de ramener le courrier."
+
diff --git a/build.xml b/build.xml
index 26e7f8bdd5b64991a97ae4d61089b30ae1bb4b47..01b0388eacfa2f3ae27918c0d855e7fb52a05907 100644
--- a/build.xml
+++ b/build.xml
@@ -135,6 +135,18 @@
         <copy file="core/java/build/i2p.jar" todir="build/" />
     </target>
 
+    <target name="buildJrobin" depends="buildProperties" >
+        <!-- take only what we need from the jrobin jar -->
+        <jar destfile="build/jrobin.jar" >
+            <zipfileset src="apps/jrobin/jrobin-1.5.9.1.jar"
+                        excludes="org/jrobin/cmd/ org/jrobin/convertor/ org/jrobin/inspector/" />
+            <manifest>
+                <attribute name="Build-Date" value="${build.timestamp}" />
+                <attribute name="Base-Revision" value="${workspace.version}" />
+	    </manifest>
+        </jar>
+    </target>
+
     <target name="buildProperties" >
         <exec executable="mtn" outputproperty="workspace.version" errorproperty="mtn.error1" failifexecutionfails="false" >
             <arg value="automate" />
@@ -194,7 +206,7 @@
         <launch4j configFile="./installer/i2pstandalone.xml" />
 	<!-- thazzit -->
     </target>
-    <target name="compile" />
+
     <target name="jar" depends="jarSmall" >
         <copy file="apps/BOB/dist/BOB.jar" todir="build/" />
         <copy file="apps/sam/java/build/sam.jar" todir="build/" />
@@ -202,8 +214,9 @@
         <copy file="apps/susidns/src/susidns.war" todir="build/" />
         <copy file="apps/i2psnark/i2psnark.war" todir="build/" />
         <copy file="apps/i2psnark/java/build/i2psnark.jar" todir="build/" />
+
     </target>
-    <target name="jarSmall" depends="compile" >
+    <target name="jarSmall" depends="builddepSmall, buildJrobin" >
         <copy file="core/java/build/i2p.jar" todir="build/" />
         <copy file="router/java/build/router.jar" todir="build/" />
         <copy file="apps/ministreaming/java/build/mstreaming.jar" todir="build/" />
@@ -212,9 +225,27 @@
         <copy file="apps/i2ptunnel/java/build/i2ptunnel.war" todir="build/" />
         <copy file="apps/systray/java/build/systray.jar" todir="build/" />
         <copy file="apps/desktopgui/dist/desktopgui.jar" todir="build/" />
-        <copy file="installer/lib/jbigi/jbigi.jar" todir="build" />
         <copy file="apps/addressbook/dist/addressbook.war" todir="build/" />
     </target>
+
+    <target name="jbigi">
+        <jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
+            <fileset dir="installer/lib/jbigi" includes="*.so *.dll *.jnilib" />
+        </jar>
+    </target>
+
+    <target name="jbigi-windows-only" >
+        <jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
+            <fileset dir="installer/lib/jbigi" includes="*windows*.dll" />
+        </jar>
+    </target>
+
+    <target name="jbigi-linux-only">
+        <jar destfile="build/jbigi.jar"  whenmanifestonly="fail" >
+            <fileset dir="installer/lib/jbigi" includes="*linux*.so" />
+        </jar>
+    </target>
+
     <!-- the apps need to compile the jsps to poupdate -->
     <target name="poupdate" depends="buildRouter, buildStreaming, buildSystray, buildJetty, buildDesktopGui" >
         <echo message="Setting environment variable LG2 to a lang code (eg: de,zh,nl etc)" />
@@ -293,7 +324,7 @@
                 <pathelement location="apps/jetty/jettylib/org.mortbay.jetty.jar" />
                 <pathelement location="apps/jetty/jettylib/javax.servlet.jar" />
                 <pathelement location="apps/systray/java/lib/systray4j.jar" />
-                <pathelement location="apps/jrobin/jrobin-1.4.0.jar" />
+                <pathelement location="apps/jrobin/jrobin-1.5.9.1.jar" />
                 <pathelement location="installer/lib/wrapper/win32/wrapper.jar" />
                 <pathelement location="core/lib/junit.jar" />                
             </classpath>
@@ -385,7 +416,7 @@
         </delete>
     </target>
 
-    <target name="preppkg" depends="preppkg-linux, preppkg-windows">
+    <target name="preppkg" depends="preppkg-linux, preppkg-windows, jbigi">
         <copy file="build/jbigi.jar" todir="pkg-temp/lib" />
         <copy todir="pkg-temp/lib/wrapper/freebsd/">
             <fileset dir="installer/lib/wrapper/freebsd/" />
@@ -408,6 +439,7 @@
         <copy file="installer/resources/fixperms.bat" todir="pkg-temp/" />
         <copy file="installer/resources/install_i2p_service_winnt.bat" todir="pkg-temp/" />
         <copy file="installer/resources/postinstall.bat" todir="pkg-temp/" />
+        <copy file="installer/resources/set_config_dir_for_nt_service.bat" todir="pkg-temp/" />
         <copy file="installer/resources/uninstall_i2p_service_winnt.bat" todir="pkg-temp/" />
         <copy todir="pkg-temp/lib/wrapper/win32/">
             <fileset dir="installer/lib/wrapper/win32/" />
@@ -415,14 +447,8 @@
     </target>
 
     <!-- only what is needed for debian, etc. -->
-    <target name="preppkg-linux-only" depends="preppkg-linux">
-        <!-- rip the non-linux stuff out of jbigi.jar -->
-        <mkdir dir="tmpextract" />
-        <unjar src="build/jbigi.jar" dest="tmpextract/" />
-        <jar destfile="pkg-temp/lib/jbigi.jar" >
-            <fileset dir="tmpextract/" includes="*linux*" />
-        </jar>
-        <delete dir="tmpextract/" />
+    <target name="preppkg-linux-only" depends="preppkg-linux, jbigi-linux-only" >
+        <copy file="build/jbigi.jar" todir="pkg-temp/lib" />
     </target>
 
     <target name="preppkg-linux" depends="preppkg-base">
@@ -462,7 +488,7 @@
         <copy file="build/desktopgui.jar" todir="pkg-temp/lib/" />
         <copy file="build/routerconsole.jar" todir="pkg-temp/lib/" />
         <!-- pulled out of routerconsole.jar in 0.7.12; name without version so we can overwrite if we upgrade  -->
-        <copy file="apps/jrobin/jrobin-1.4.0.jar" tofile="pkg-temp/lib/jrobin.jar" />
+        <copy file="build/jrobin.jar" tofile="pkg-temp/lib/jrobin.jar" />
         <copy file="build/sam.jar" todir="pkg-temp/lib/" />
         <copy file="build/BOB.jar" todir="pkg-temp/lib/" />
         <copy file="build/systray.jar" todir="pkg-temp/lib" />
@@ -665,7 +691,7 @@
         <copy file="build/routerconsole.jar" todir="pkg-temp/lib/" />
         <!-- pulled out of routerconsole.jar in 0.7.12, someday we can take out of updater -->
         <!-- name without version so we can overwrite if we upgrade  -->
-        <copy file="apps/jrobin/jrobin-1.4.0.jar" tofile="pkg-temp/lib/jrobin.jar" />
+        <copy file="build/jrobin.jar" tofile="pkg-temp/lib/jrobin.jar" />
         <copy file="build/i2ptunnel.war" todir="pkg-temp/webapps/" />
         <copy file="build/routerconsole.war" todir="pkg-temp/webapps/" />
         <copy file="build/addressbook.war" todir="pkg-temp/webapps/" />
@@ -824,7 +850,7 @@
             <arg value="-output"/>
             <arg value="i2p.fba"/>
             <arg value="-auxclasspath"/>
-            <arg value="build/commons-el.jar:build/commons-logging.jar:build/jasper-compiler.jar:build/jasper-runtime.jar:build/javax.servlet.jar:build/org.mortbay.jetty.jar:apps/jrobin/jrobin-1.4.0.jar:apps/systray/java/lib/systray4j.jar:installer/lib/wrapper/linux/wrapper.jar:apps/susidns/src/WEB-INF/lib/standard.jar:apps/susidns/src/WEB-INF/lib/jstl.jar:apps/jrobin/jrobin-1.4.0.jar"/>
+            <arg value="build/commons-el.jar:build/commons-logging.jar:build/jasper-compiler.jar:build/jasper-runtime.jar:build/javax.servlet.jar:build/org.mortbay.jetty.jar:apps/jrobin/jrobin-1.5.9.1.jar:apps/systray/java/lib/systray4j.jar:installer/lib/wrapper/linux/wrapper.jar:apps/susidns/src/WEB-INF/lib/standard.jar:apps/susidns/src/WEB-INF/lib/jstl.jar:apps/jrobin/jrobin-1.5.9.1.jar"/>
             <arg value="-sourcepath"/>
             <arg value="apps/BOB/src/:apps/addressbook/java/src/:apps/i2psnark/java/src/:apps/i2ptunnel/java/src/:apps/ministreaming/java/src/:apps/routerconsole/java/src/:apps/sam/java/src/:apps/streaming/java/src/:apps/susidns/src/java/src/:apps/susimail/src/src/:apps/systray/java/src/:core/java/src/:router/java/src/"/>
             <!-- start of the files to be analyzed -->
@@ -835,7 +861,6 @@
             <arg value="build/i2psnark.war"/>
             <arg value="build/i2ptunnel.jar"/>
             <arg value="build/i2ptunnel.war"/>
-            <arg value="build/jbigi.jar"/>
             <arg value="build/mstreaming.jar"/>
             <arg value="build/router.jar/"/>
             <arg value="build/desktopgui.jar"/>
@@ -1053,25 +1078,11 @@
 		we need to make sure its small, with NO redundent jars or wars.
 		thus cleaning is required before each build-->
 	<target name="buildSmallOnly" depends="pkg-portable-clean,buildSmall"/>
+
 <!-- *1* preparing the jars by OS dependent de-bloating -->
-	<target name="preppkg-portable-win32-jbigi" depends="buildSmallOnly">
-		<!-- rip the non-windows stuff out of jbigi.jar -->
-		<mkdir dir="tmpextract" />
-		<unjar src="build/jbigi.jar" dest="tmpextract/" />
-		<jar destfile="build/jbigi.jar" >
-			<fileset dir="tmpextract/" includes="*windows*" />
-		</jar>
-		<delete dir="tmpextract/" />
-	</target>
-	<target name="preppkg-portable-linux-jbigi"  depends="buildSmallOnly">
-		<!-- rip the non-linux stuff out of jbigi.jar -->
-		<mkdir dir="tmpextract" />
-		<unjar src="build/jbigi.jar" dest="tmpextract/" />
-		<jar destfile="build/jbigi.jar" >
-			<fileset dir="tmpextract/" includes="*linux*" />
-		</jar>
-		<delete dir="tmpextract/" />
-	</target>
+	<target name="preppkg-portable-win32-jbigi" depends="buildSmallOnly, jbigi-windows-only" />
+
+	<target name="preppkg-portable-linux-jbigi"  depends="buildSmallOnly, jbigi-linux-only" />
 
 <!-- *2* os independent procedure  -->
 	<target name="preppkg-portable-basic" >
@@ -1120,7 +1131,7 @@
 			</copy>
 			<!-- 3rd party jars from apps/  -->
 				<!-- jrobin - without jobin , you lost graph and get a lot error entry in logs -->
-			<copy file="apps/jrobin/jrobin-1.4.0.jar" tofile="pkg-temp/lib/jrobin.jar" />
+			<copy file="build/jrobin.jar" tofile="pkg-temp/lib/jrobin.jar" />
 	</target>
 <!-- *3* os dependent procedure/commands -->
 	<target name = "preppkg-portable-win32" depends="preppkg-portable-win32-jbigi,preppkg-portable-basic">
diff --git a/core/c/jbigi/README b/core/c/jbigi/README
index 56560a94f1065bbe6e852bcd85cf7654bbf445a6..b95ee78fed26b1857144f7836b2c3541c653b6ea 100644
--- a/core/c/jbigi/README
+++ b/core/c/jbigi/README
@@ -9,9 +9,19 @@ TODO: Document generated folder structure
 TODO: Instructions for adding the libraries to a jar
 
 Linux-specific information:
+===========================
 Some linux distributions comes bundled with GMP.
-There is currently no out-of-the-box support for this in the current build-scripts.
+Try 'locate lib/libgmp.so' to see.
+If so, install the the libgmp3-dev debian package to get the libgmp headers.
+Then export I2P=/path/to/your/i2p/install.
+Then do 'build.sh dynamic'. This will do a quick build using your installed libgmp library
+and then test it and the jbigi in your I2P installation to see which is faster.
+
+If the new jbigi is slower, then run 'build.sh' (without the 'dynamic'), which will download
+the 4.3.1 libgmp library, build, and test that.
+
 
 Windows-specific information:
+=============================
 The best way of building the jbigi dll's is to install Mingw {URL} and msys {URL}.
 The combination of these two should be able to run the included build-scripts without modifications.
diff --git a/core/c/jbigi/jbigi/src/jbigi.c b/core/c/jbigi/jbigi/src/jbigi.c
index b0d702310d3d83433a5e7e214e54f2da2c72f578..f605c6a0eae627ed1b5d1e15afa9e0118ebc0421 100644
--- a/core/c/jbigi/jbigi/src/jbigi.c
+++ b/core/c/jbigi/jbigi/src/jbigi.c
@@ -57,33 +57,6 @@ JNIEXPORT jbyteArray JNICALL Java_net_i2p_util_NativeBigInteger_nativeModPow
         return jresult;
 }
 
-/******** nativeDoubleValue() */
-/*
- * Class:     net_i2p_util_NativeBigInteger
- * Method:    nativeDoubleValue
- * Signature: ([B)D
- *
- * From the Javadoc:
- *
- * Converts a BigInteger byte-array to a 'double'
- * @param ba Big endian twos complement representation of the BigInteger to convert to a double
- * @return The plain double-value represented by 'ba'
- */
-JNIEXPORT jdouble JNICALL Java_net_i2p_util_NativeBigInteger_nativeDoubleValue
-(JNIEnv * env, jclass cls, jbyteArray jba){
-	    /* 1) Convert the bytearray BigInteger value into the format libgmp understands
-         * 2) Call libgmp's mpz_get_d.
-         * 3) Convert libgmp's result into a big endian twos complement number.
-         */
-        mpz_t mval;
-		jdouble retval;
-        convert_j2mp(env, jba, &mval);
-
-		retval = mpz_get_d(mval);
-		mpz_clear(mval);
-		return retval;
-}
-
 /******************************
  *****Conversion methods*******
  ******************************/
diff --git a/core/c/jcpuid/src/jcpuid.c b/core/c/jcpuid/src/jcpuid.c
index b5ea800ac786175229e5533820d6d6caed21d0e2..b82fa67751f71af5d46bb151d133dcfdf238dca6 100644
--- a/core/c/jcpuid/src/jcpuid.c
+++ b/core/c/jcpuid/src/jcpuid.c
@@ -1,5 +1,44 @@
 #include "jcpuid.h"
 
+/**
+
+From: http://sam.zoy.org/blog/2007-04-13-shlib-with-non-pic-code-have-inline-assembly-and-pic-mix-well
+
+Perhaps the most accessible documentation on what PIC code is and how an ELF dynamic linker works is
+John Levine's Linkers and Loaders (and it has amazing sketches, too!). The Gentoo documentation also 
+has an Introduction to Position Independent Code. I'd like to give a few hints on how to fix the
+shlib-with-non-pic-code lintian error caused by inline assembly on the i386 and amd64 platforms,
+as well as build errors that may occur due to inline assembly being used.
+
+I'm not going to cover the trivial "all objects were not built using gcc's -fPIC flag" problem.
+It usually requires a fix to the build system, not to the code.
+
+  gcc can't find a register (i386)
+
+  PIC on i386 uses a register to store the GOT (global offset table) address.
+  This register is usually %ebx, making it unavailable for use by inline assembly
+  (and also restricting the compiler's register usage when compiling C or C++ code).
+  So the following perfectly valid code will not build with the -fPIC flag:
+
+     void cpuid(uint32_t op, uint32_t reg[4])
+     {
+        asm volatile("cpuid"
+                     : "=a"(reg[0]), "=b"(reg[1]), "=c"(reg[2]), "=d"(reg[3])
+                     : "a"(op)
+                     : "cc");
+     }
+
+  Using -fPIC, gcc will say something around the lines of error: can't find a register in class 'BREG'
+  while reloading 'asm'. Several things need to be done to fix this:
+
+    * use a register other than %ebx
+    * save %ebx if it risks being clobbered by the assembly code, and don't tell gcc about %ebx at all (it doesn't need to know anyway)
+    * if we saved %ebx by pushing it on the stack, make sure the inline assembly code takes the new stack offset into account
+
+  And here is the PIC-compliant version:
+
+**/
+
 //Executes the indicated subfunction of the CPUID operation
 JNIEXPORT jobject JNICALL Java_freenet_support_CPUInformation_CPUID_doCPUID
   (JNIEnv * env, jclass cls, jint iFunction)
@@ -20,14 +59,15 @@ JNIEXPORT jobject JNICALL Java_freenet_support_CPUInformation_CPUID_doCPUID
 		}
 	#else
 		//Use GCC assembler notation
-		asm 
+		asm volatile
 		(
-			"cpuid"
-			: "=a" (a),
-			  "=b" (b),
-			  "=c"(c),
-			  "=d"(d)
+			"pushl %%ebx      \n\t" /* save %ebx */
+			"cpuid            \n\t"
+			"movl %%ebx, %1   \n\t" /* save what cpuid just put in %ebx */
+			"popl %%ebx       \n\t" /* restore the old %ebx */
+			: "=a" (a), "=r" (b), "=c" (c), "=d" (d)
 			:"a"(iFunction)
+			: "cc"
 		);
 	#endif
 	return (*env)->NewObject(env, clsResult,constructor,a,b,c,d);
diff --git a/core/java/src/gnu/crypto/prng/AsyncFortunaStandalone.java b/core/java/src/gnu/crypto/prng/AsyncFortunaStandalone.java
index 849090f458482eaa788a9e86b2cf83da17d3748b..195b892b1daa64df62d78304587dfa913c7e44a5 100644
--- a/core/java/src/gnu/crypto/prng/AsyncFortunaStandalone.java
+++ b/core/java/src/gnu/crypto/prng/AsyncFortunaStandalone.java
@@ -38,8 +38,8 @@ public class AsyncFortunaStandalone extends FortunaStandalone implements Runnabl
         for (int i = 0; i < _bufferCount; i++)
             status[i] = STATUS_NEED_FILL;
         _context = context;
-        context.statManager().createRateStat("prng.bufferWaitTime", "", "Encryption", new long[] { 60*1000, 10*60*1000, 60*60*1000 } );
-        context.statManager().createRateStat("prng.bufferFillTime", "", "Encryption", new long[] { 60*1000, 10*60*1000, 60*60*1000 } );
+        context.statManager().createRequiredRateStat("prng.bufferWaitTime", "Delay for random number buffer (ms)", "Encryption", new long[] { 60*1000, 10*60*1000, 60*60*1000 } );
+        context.statManager().createRequiredRateStat("prng.bufferFillTime", "Time to fill random number buffer (ms)", "Encryption", new long[] { 60*1000, 10*60*1000, 60*60*1000 } );
         _log = context.logManager().getLog(AsyncFortunaStandalone.class);
     }
     
diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java
index 230f55eaea49402297bd1768d43db8182f4a41ed..6005a73485cad24834c57ce14f7e5d05ac497dee 100644
--- a/core/java/src/net/i2p/CoreVersion.java
+++ b/core/java/src/net/i2p/CoreVersion.java
@@ -16,7 +16,7 @@ package net.i2p;
 public class CoreVersion {
     /** deprecated */
     public final static String ID = "Monotone";
-    public final static String VERSION = "0.8.4";
+    public final static String VERSION = "0.8.6";
 
     public static void main(String args[]) {
         System.out.println("I2P Core version: " + VERSION);
diff --git a/core/java/src/net/i2p/crypto/ElGamalEngine.java b/core/java/src/net/i2p/crypto/ElGamalEngine.java
index b311d3c07915efa516ef6b4ea9040fcef8abc2a9..29f5df35a0eb0bec59f118036eb4aac6e2cad206 100644
--- a/core/java/src/net/i2p/crypto/ElGamalEngine.java
+++ b/core/java/src/net/i2p/crypto/ElGamalEngine.java
@@ -64,11 +64,11 @@ public class ElGamalEngine {
      *
      */
     public ElGamalEngine(I2PAppContext context) {
-        context.statManager().createRateStat("crypto.elGamal.encrypt",
-                                             "how long does it take to do a full ElGamal encryption", "Encryption",
+        context.statManager().createRequiredRateStat("crypto.elGamal.encrypt",
+                                             "Time for ElGamal encryption (ms)", "Encryption",
                                              new long[] { 60 * 60 * 1000});
-        context.statManager().createRateStat("crypto.elGamal.decrypt",
-                                             "how long does it take to do a full ElGamal decryption", "Encryption",
+        context.statManager().createRequiredRateStat("crypto.elGamal.decrypt",
+                                             "Time for ElGamal decryption (ms)", "Encryption",
                                              new long[] { 60 * 60 * 1000});
         _context = context;
         _log = context.logManager().getLog(ElGamalEngine.class);
diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java
index 5222000987f0a571ede238d73392827572383927..c6d7c61b222754ce609944f9dfb4513b8fb7abdb 100644
--- a/core/java/src/net/i2p/data/Certificate.java
+++ b/core/java/src/net/i2p/data/Certificate.java
@@ -44,7 +44,7 @@ public class Certificate extends DataStructureImpl {
     public final static int CERTIFICATE_TYPE_MULTIPLE = 4;
 
     /**
-     * Pull from cache or return new
+     * If null cert, return immutable static instance, else create new
      * @throws AIOOBE if not enough bytes
      * @since 0.8.3
      */
@@ -57,7 +57,7 @@ public class Certificate extends DataStructureImpl {
         if (length == 0)
             return new Certificate(type, null);
         byte[] payload = new byte[length];
-        System.arraycopy(data, off = 3, payload, 0, length);
+        System.arraycopy(data, off + 3, payload, 0, length);
         return new Certificate(type, payload);
     }
 
diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java
index 932913ebd1e8047264b9e6a9d15b2370301846e8..82a1b35e17bedb15966ea442a5499ce91f80b289 100644
--- a/core/java/src/net/i2p/data/DataHelper.java
+++ b/core/java/src/net/i2p/data/DataHelper.java
@@ -823,11 +823,10 @@ public class DataHelper {
      * This treats (null == null) as true, (null == (!null)) as false, 
      * and unequal length arrays as false.
      *
+     * @return Arrays.equals(lhs, rhs)
      */
     public final static boolean eq(byte lhs[], byte rhs[]) {
-        // this appears to be the way Arrays.equals is defined, so all the extra tests are unnecessary?
-        boolean eq = (((lhs == null) && (rhs == null)) || ((lhs != null) && (rhs != null) && (Arrays.equals(lhs, rhs))));
-        return eq;
+        return Arrays.equals(lhs, rhs);
     }
 
     /**
diff --git a/core/java/src/net/i2p/stat/StatManager.java b/core/java/src/net/i2p/stat/StatManager.java
index 868e18402a01ca5737846cb66e292d6841bdb290..55bc234c21d27f4b3fcb73c7e1e0951169dac140 100644
--- a/core/java/src/net/i2p/stat/StatManager.java
+++ b/core/java/src/net/i2p/stat/StatManager.java
@@ -21,8 +21,8 @@ import net.i2p.util.Log;
  * 
  */
 public class StatManager {
-    private Log _log;
-    private I2PAppContext _context;
+    private final Log _log;
+    private final I2PAppContext _context;
 
     /** stat name to FrequencyStat */
     private final ConcurrentHashMap<String, FrequencyStat> _frequencyStats;
@@ -39,28 +39,8 @@ public class StatManager {
     public static final String PROP_STAT_FILTER = "stat.logFilters";
     public static final String PROP_STAT_FILE = "stat.logFile";
     public static final String DEFAULT_STAT_FILE = "stats.log";
-    /** default true */
+    /** default false */
     public static final String PROP_STAT_FULL = "stat.full";
-    public static final String PROP_STAT_REQUIRED = "stat.required";
-    /**
-     * These are all the stats published in netDb, plus those required for the operation of
-     * the router (many in RouterThrottleImpl), plus those that are on graphs.jsp by default,
-     * plus those used on the summary bar (SummaryHelper.java).
-     * Wildcard ('*') allowed at end of stat only.
-     * Ignore all the rest of the stats unless stat.full=true.
-     */
-    public static final String DEFAULT_STAT_REQUIRED =
-        "bw.recvRate,bw.sendBps,bw.sendRate,client.sendAckTime,clock.skew,crypto.elGamal.encrypt," +
-        "jobQueue.jobLag,netDb.successTime,peer.failedLookupRate,router.fastPeers," +
-        "prng.bufferFillTime,prng.bufferWaitTime,router.memoryUsed," +
-        "transport.receiveMessageSize,transport.sendMessageSize,transport.sendProcessingTime," +
-        "tunnel.acceptLoad,tunnel.buildRequestTime,tunnel.rejectOverloaded,tunnel.rejectTimeout," +
-        "tunnel.buildClientExpire,tunnel.buildClientReject,tunnel.buildClientSuccess," +
-        "tunnel.buildExploratoryExpire,tunnel.buildExploratoryReject,tunnel.buildExploratorySuccess," +
-        "tunnel.buildRatio.*,tunnel.corruptMessage,tunnel.dropLoad*," +
-        "tunnel.decryptRequestTime,tunnel.fragmentedDropped,tunnel.participatingMessageCount,"+
-        "tunnel.participatingTunnels,tunnel.testFailedTime,tunnel.testSuccessTime," +
-        "tunnel.participatingBandwidth,udp.sendPacketSize,udp.packetsRetransmitted,udp.sendException" ;
     
     /**
      * The stat manager should only be constructed and accessed through the 
@@ -89,6 +69,7 @@ public class StatManager {
 
     /**
      * Create a new statistic to monitor the frequency of some event.
+     * The stat is ONLY created if the stat.full property is true or we are not in the router context.
      *
      * @param name unique name of the statistic
      * @param description simple description of the statistic
@@ -97,12 +78,27 @@ public class StatManager {
      */
     public void createFrequencyStat(String name, String description, String group, long periods[]) {
         if (ignoreStat(name)) return;
+        createRequiredFrequencyStat(name, description, group, periods);
+    }
+
+    /**
+     * Create a new statistic to monitor the frequency of some event.
+     * The stat is always created, independent of the stat.full setting or context.
+     *
+     * @param name unique name of the statistic
+     * @param description simple description of the statistic
+     * @param group used to group statistics together
+     * @param periods array of period lengths (in milliseconds)
+     * @since 0.8.6
+     */
+    public void createRequiredFrequencyStat(String name, String description, String group, long periods[]) {
         if (_frequencyStats.containsKey(name)) return;
         _frequencyStats.putIfAbsent(name, new FrequencyStat(name, description, group, periods));
     }
 
     /**
      * Create a new statistic to monitor the average value and confidence of some action.
+     * The stat is ONLY created if the stat.full property is true or we are not in the router context.
      *
      * @param name unique name of the statistic
      * @param description simple description of the statistic
@@ -111,6 +107,20 @@ public class StatManager {
      */
     public void createRateStat(String name, String description, String group, long periods[]) {
         if (ignoreStat(name)) return;
+        createRequiredRateStat(name, description, group, periods);
+    }
+
+    /**
+     * Create a new statistic to monitor the average value and confidence of some action.
+     * The stat is always created, independent of the stat.full setting or context.
+     *
+     * @param name unique name of the statistic
+     * @param description simple description of the statistic
+     * @param group used to group statistics together
+     * @param periods array of period lengths (in milliseconds)
+     * @since 0.8.6
+     */
+    public void createRequiredRateStat(String name, String description, String group, long periods[]) {
             if (_rateStats.containsKey(name)) return;
             RateStat rs = new RateStat(name, description, group, periods);
             if (_statLog != null) rs.setStatLog(_statLog);
@@ -202,20 +212,13 @@ public class StatManager {
     public String getStatFile() { return _context.getProperty(PROP_STAT_FILE, DEFAULT_STAT_FILE); }
 
     /**
-     * Save memory by not creating stats unless they are required for router operation
+     * Save memory by not creating stats unless they are required for router operation.
+     * For backward compatibility of any external clients, always returns false if not in router context.
+     *
+     * @param statName ignored
      * @return true if the stat should be ignored.
      */
     public boolean ignoreStat(String statName) {
-        if (_context.getBooleanProperty(PROP_STAT_FULL))
-            return false;
-        String required = _context.getProperty(PROP_STAT_REQUIRED, DEFAULT_STAT_REQUIRED);
-        String req[] = required.split(",");
-        for (int i=0; i<req.length; i++) {
-             if (req[i].equals(statName))
-                 return false;
-             if (req[i].endsWith("*") && statName.startsWith(req[i].substring(0, req[i].length() - 2)))
-                 return false;
-        }
-        return true;
+        return _context.isRouterContext() && !_context.getBooleanProperty(PROP_STAT_FULL);
     }
 }
diff --git a/core/java/src/net/i2p/util/Clock.java b/core/java/src/net/i2p/util/Clock.java
index ee43af44cc32248ab61c706e8c4de95addb6b6d8..26d8ff0e869f55ffc7c30fe46a5228b467f72ef0 100644
--- a/core/java/src/net/i2p/util/Clock.java
+++ b/core/java/src/net/i2p/util/Clock.java
@@ -97,7 +97,7 @@ public class Clock implements Timestamper.UpdateListener {
                 getLog().info("Updating clock offset to " + offsetMs + "ms from " + _offset + "ms");
             
             if (!_statCreated) {
-                _context.statManager().createRateStat("clock.skew", "How far is the already adjusted clock being skewed?", "Clock", new long[] { 10*60*1000, 3*60*60*1000, 24*60*60*60 });
+                _context.statManager().createRequiredRateStat("clock.skew", "Clock step adjustment (ms)", "Clock", new long[] { 10*60*1000, 3*60*60*1000, 24*60*60*60 });
                 _statCreated = true;
             }
             _context.statManager().addRateData("clock.skew", delta, 0);
diff --git a/core/java/src/net/i2p/util/FileUtil.java b/core/java/src/net/i2p/util/FileUtil.java
index 68ce4e4f618099150b563864eb958fd4bc7908ce..de9d354aa42b71c20987a36f28dc69e6d7721455 100644
--- a/core/java/src/net/i2p/util/FileUtil.java
+++ b/core/java/src/net/i2p/util/FileUtil.java
@@ -357,6 +357,9 @@ public class FileUtil {
      * Dump the contents of the given path (relative to the root) to the output 
      * stream.  The path must not go above the root, either - if it does, it will
      * throw a FileNotFoundException
+     *
+     * Closes the OutputStream out on successful completion
+     * but leaves it open when throwing IOE.
      */
     public static void readFile(String path, String root, OutputStream out) throws IOException {
         File rootDir = new File(root);
@@ -376,10 +379,10 @@ public class FileUtil {
             int read = 0;
             while ( (read = in.read(buf)) != -1) 
                 out.write(buf, 0, read);
-            out.close();
+            try { out.close(); } catch (IOException ioe) {}
         } finally {
             if (in != null) 
-                in.close();
+                try { in.close(); } catch (IOException ioe) {}
         }
     }
 
diff --git a/core/java/src/net/i2p/util/NativeBigInteger.java b/core/java/src/net/i2p/util/NativeBigInteger.java
index 9e98c5855f914a613aab20684b03958745b9d756..8c41746f41bd471cab77c1e142592587da7a77b5 100644
--- a/core/java/src/net/i2p/util/NativeBigInteger.java
+++ b/core/java/src/net/i2p/util/NativeBigInteger.java
@@ -28,8 +28,7 @@ import net.i2p.I2PAppContext;
 /**
  * <p>BigInteger that takes advantage of the jbigi library for the modPow operation,
  * which accounts for a massive segment of the processing cost of asymmetric 
- * crypto. It also takes advantage of the jbigi library for converting a BigInteger
- * value to a double. Sun's implementation of the 'doubleValue()' method is _very_ lousy.
+ * crypto.
  * 
  * The jbigi library itself is basically just a JNI wrapper around the 
  * GMP library - a collection of insanely efficient routines for dealing with 
@@ -64,7 +63,7 @@ import net.i2p.I2PAppContext;
  * "net/i2p/util/jbigi-windows-none.dll").</p>
  *
  * <p>Running this class by itself does a basic unit test and benchmarks the
- * NativeBigInteger.modPow/doubleValue vs. the BigInteger.modPow/doubleValue by running a 2Kbit op 100
+ * NativeBigInteger.modPow vs. the BigInteger.modPow by running a 2Kbit op 100
  * times.  At the end of each test, if the native implementation is loaded this will output 
  * something like:</p>
  * <pre>
@@ -194,14 +193,6 @@ public class NativeBigInteger extends BigInteger {
      */
     public native static byte[] nativeModPow(byte base[], byte exponent[], byte modulus[]);
  
-    /**
-     * Converts a BigInteger byte-array to a 'double'
-     * @param ba Big endian twos complement representation of the BigInteger to convert to a double
-     * @return The plain double-value represented by 'ba'
-     * @deprecated unused
-     */
-    public native static double nativeDoubleValue(byte ba[]);
-
     private byte[] cachedBa;
 
     public NativeBigInteger(byte[] val) {
@@ -250,12 +241,9 @@ public class NativeBigInteger extends BigInteger {
         return cachedBa;
     }
     
-    /** @deprecated unused */
+    /** @deprecated unused, does not call native */
     @Override
     public double doubleValue() {
-        if (_nativeOk)
-            return nativeDoubleValue(toByteArray());
-        else
             return super.doubleValue();
     }
     /**
@@ -281,7 +269,7 @@ public class NativeBigInteger extends BigInteger {
     }
  
     /**
-     * <p>Compare the BigInteger.modPow/doubleValue vs the NativeBigInteger.modPow/doubleValue of some 
+     * <p>Compare the BigInteger.modPow vs the NativeBigInteger.modPow of some 
      * really big (2Kbit) numbers 100 different times and benchmark the 
      * performance (or shit a brick if they don't match).  </p>
      *
@@ -289,8 +277,6 @@ public class NativeBigInteger extends BigInteger {
     public static void main(String args[]) {
         _doLog = true;
         runModPowTest(100);
-        // i2p doesn't care about the double values
-        //runDoubleValueTest(100);
     }
 
     /* the sample numbers are elG generator/prime so we can test with reasonable numbers */
@@ -361,64 +347,6 @@ public class NativeBigInteger extends BigInteger {
         }
     }
     
-/********
-    private static void runDoubleValueTest(int numRuns) {
-        System.out.println("DEBUG: Warming up the random number generator...");
-        SecureRandom rand = new SecureRandom();
-        rand.nextBoolean();
-        System.out.println("DEBUG: Random number generator warmed up");
-
-        BigInteger jg = new BigInteger(_sampleGenerator);
-
-        long totalTime = 0;
-        long javaTime = 0;
-
-        int MULTIPLICATOR = 50000; //Run the doubleValue() calls within a loop since they are pretty fast.. 
-        int runsProcessed = 0;
-        for (runsProcessed = 0; runsProcessed < numRuns; runsProcessed++) {
-            NativeBigInteger g = new NativeBigInteger(_sampleGenerator);
-            long beforeDoubleValue = System.currentTimeMillis();
-            double dNative=0;
-            for(int mult=0;mult<MULTIPLICATOR;mult++)
-                dNative = g.doubleValue();
-            long afterDoubleValue = System.currentTimeMillis();
-            double jval=0;
-            for(int mult=0;mult<MULTIPLICATOR;mult++)
-                jval = jg.doubleValue();
-            long afterJavaDoubleValue = System.currentTimeMillis();
-
-            totalTime += (afterDoubleValue - beforeDoubleValue);
-            javaTime += (afterJavaDoubleValue - afterDoubleValue);
-            if (dNative!=jval) {
-                System.err.println("ERROR: [" + runsProcessed + "]\tnative double != java double");
-                System.err.println("ERROR: native double value: " + dNative);
-                System.err.println("ERROR: java double value: " + jval);
-                System.err.println("ERROR: run time: " + totalTime + "ms (" + (totalTime / (runsProcessed + 1)) + "ms each)");
-                break;
-            } else {
-                System.out.println("DEBUG: current run time: " + (afterDoubleValue - beforeDoubleValue) + "ms (total: " 
-                                   + totalTime + "ms, " + (totalTime / (runsProcessed + 1)) + "ms each)");
-            }
-        }
-        System.out.println("INFO: run time: " + totalTime + "ms (" + (totalTime / (runsProcessed + 1)) + "ms each)");
-        if (numRuns == runsProcessed)
-            System.out.println("INFO: " + runsProcessed + " runs complete without any errors");
-        else
-            System.out.println("ERROR: " + runsProcessed + " runs until we got an error");
-
-        if (_nativeOk) {
-            System.out.println("native run time: \t" + totalTime + "ms (" + (totalTime / (runsProcessed + 1))
-                               + "ms each)");
-            System.out.println("java run time:   \t" + javaTime + "ms (" + (javaTime / (runsProcessed + 1)) + "ms each)");
-            System.out.println("native = " + ((totalTime * 100.0d) / (double) javaTime) + "% of pure java time");
-        } else {
-            System.out.println("java run time: \t" + javaTime + "ms (" + (javaTime / (runsProcessed + 1)) + "ms each)");
-            System.out.println("However, we couldn't load the native library, so this doesn't test much");
-        }
-    }
-*********/
-    
- 
     /**
      * <p>Do whatever we can to load up the native library backing this BigInteger's native methods.
      * If it can find a custom built jbigi.dll / libjbigi.so, it'll use that.  Otherwise
diff --git a/history.txt b/history.txt
index 7c3f8e2538ed2d75539cbe177c91bc171e918612..b552cc43e39abeae5f68bdbd891ee6d9413dce40 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,42 @@
+* 2011-05-16  0.8.6 released
+
+2011-05-13 zzz
+    * Increase min floodfills; decrease min routerinfo expiration
+
+2011-05-11 zzz
+    * Use partitions of fast tier for various hops of client tunnels
+
+2011-05-06 zzz
+    * Tunnels and profiles:
+      - Increase max fast and high-cap tier sizes
+      - Slow profile eval cycle after sufficient uptime
+      - Fix bug which started a new build after a successful build
+      - Misc. cleanups
+
+2011-04-28 zzz
+    * Console: Try to prevent cascaded IllegalStateExceptions in .jsp code;
+      add logging for original error
+    * peers.jsp: Tag UPnP strings
+    * UPnP: Strip trailing nulls from incoming XML to prevent
+      "content not allowed in trailing section" exceptions
+
+* 2011-04-18  0.8.5 released
+
+2011-04-11 zzz
+    * Console: Hide iframe on mobile browsers
+    * DataHelper: Speed up eq() (Ticket #437)
+    * HTTPServer: Strip inbound X-Accept-Encoding header
+    * netdb.jsp: HTML fixes
+    * Plugins: Log error when console server not found
+    * Reseed: Log tweak
+
+2011-04-02 m1xxy
+    * routerconsole, i2psnark, ...  I2P ahora también en español: ¡Bienvenidos los hispanohablantes!
+      - routerconsole, i2ptunnel, i2psnark, SusiDNS, Susimail fully translated into Spanish
+        (thx to PunkiBastardo and user)
+    * routerconsole, i2psnark, ...  
+      - French translations completed by magma
+      
 2011-03-22 zzz
     * Handle GNU JRE returning Long.MAX_VALUE for max memory
     * i2ptunnel: HTML fixes
diff --git a/installer/install.xml b/installer/install.xml
index 4adcf1609903feb3bf20eed6015582aeb11c8819..4c0e9057e6facb955a666df0a7dba85cab8fea8c 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -4,7 +4,7 @@
 
     <info>
         <appname>i2p</appname>
-        <appversion>0.8.4</appversion>
+        <appversion>0.8.6</appversion>
         <authors>
             <author name="I2P" email="http://forum.i2p2.de/"/>
         </authors>
@@ -183,8 +183,8 @@
         <pack name="Windows Service" required="no">
             <description>Automatically start I2P in the background</description>
             <os family="windows" />
+            <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="false" />
 <!--
-            <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true" />
 -->
             <executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true">
                 <args>
@@ -198,9 +198,6 @@
                     <arg value="$INSTALL_PATH\wrapper.config" />
                 </args>
             </executable>
-<!--
-            <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall" failure="warn" keep="true" />
--->
             <executable targetfile="$INSTALL_PATH/uninstall_i2p_service_winnt.bat" stage="uninstall" failure="warn" keep="true">
                 <args>
                     <arg value="$INSTALL_PATH\wrapper.config" />
diff --git a/installer/lib/jbigi/jbigi-windows-athlon.dll b/installer/lib/jbigi/jbigi-windows-athlon.dll
new file mode 100644
index 0000000000000000000000000000000000000000..993277816c8056cecf8402faba3a6a2f8eaa1380
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-athlon.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-athlon64.dll b/installer/lib/jbigi/jbigi-windows-athlon64.dll
new file mode 100644
index 0000000000000000000000000000000000000000..993277816c8056cecf8402faba3a6a2f8eaa1380
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-athlon64.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-k6.dll b/installer/lib/jbigi/jbigi-windows-k6.dll
new file mode 100644
index 0000000000000000000000000000000000000000..947bafec5f3ad0860cad1bbb36ca5824b05c2068
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-k6.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-k62.dll b/installer/lib/jbigi/jbigi-windows-k62.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d98c6d1ca0ba73748c70f787257058bcd111fc39
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-k62.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-k63.dll b/installer/lib/jbigi/jbigi-windows-k63.dll
new file mode 100644
index 0000000000000000000000000000000000000000..fd67e8f23196994cafe0ecad4fd0fd3253bb110e
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-k63.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-none.dll b/installer/lib/jbigi/jbigi-windows-none.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0528400b113a7fe052664a561dcc7a225f90fa48
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-none.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-pentium.dll b/installer/lib/jbigi/jbigi-windows-pentium.dll
new file mode 100644
index 0000000000000000000000000000000000000000..f1877792a3410dffa1d8c214741c8302c8a1e43c
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-pentium.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-pentium2.dll b/installer/lib/jbigi/jbigi-windows-pentium2.dll
new file mode 100644
index 0000000000000000000000000000000000000000..0de688555a1f77947b7cbf9a987459eabf396d19
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-pentium2.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-pentium3.dll b/installer/lib/jbigi/jbigi-windows-pentium3.dll
new file mode 100644
index 0000000000000000000000000000000000000000..87551bf002d9ab85b6f357a2efd400a1ee7bd7c0
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-pentium3.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-pentium4.dll b/installer/lib/jbigi/jbigi-windows-pentium4.dll
new file mode 100644
index 0000000000000000000000000000000000000000..2e40144c2f59338b77030fcf4fb450f1fcd9f724
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-pentium4.dll differ
diff --git a/installer/lib/jbigi/jbigi-windows-pentiummmx.dll b/installer/lib/jbigi/jbigi-windows-pentiummmx.dll
new file mode 100644
index 0000000000000000000000000000000000000000..1614f1221174e739fed4b0565795358785b7c79a
Binary files /dev/null and b/installer/lib/jbigi/jbigi-windows-pentiummmx.dll differ
diff --git a/installer/lib/jbigi/jbigi.jar b/installer/lib/jbigi/jbigi.jar
deleted file mode 100644
index 518ea48b5d483b29eb002d5e702ac2b13b8888e3..0000000000000000000000000000000000000000
Binary files a/installer/lib/jbigi/jbigi.jar and /dev/null differ
diff --git a/installer/lib/jbigi/jbigi.jar.sig b/installer/lib/jbigi/jbigi.jar.sig
deleted file mode 100644
index 5ecb780a90ec3735676ea09bbb14ae9942e44ad3..0000000000000000000000000000000000000000
Binary files a/installer/lib/jbigi/jbigi.jar.sig and /dev/null differ
diff --git a/installer/lib/jbigi/jcpuid-x86-windows.dll b/installer/lib/jbigi/jcpuid-x86-windows.dll
new file mode 100644
index 0000000000000000000000000000000000000000..ed77562e82ef4001fa4045e385e350bca22a6050
Binary files /dev/null and b/installer/lib/jbigi/jcpuid-x86-windows.dll differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-athlon.so b/installer/lib/jbigi/libjbigi-freebsd-athlon.so
new file mode 100644
index 0000000000000000000000000000000000000000..c1dfa2f99b8251722803ef2ac5d5239432af4f70
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-athlon.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-k6.so b/installer/lib/jbigi/libjbigi-freebsd-k6.so
new file mode 100644
index 0000000000000000000000000000000000000000..fdc3c55700993a816b8235f6f1615c735cbd5d7c
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-k6.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-k62.so b/installer/lib/jbigi/libjbigi-freebsd-k62.so
new file mode 100644
index 0000000000000000000000000000000000000000..e288feacc38d1862fedd54e529a2e670d11e0503
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-k62.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-k63.so b/installer/lib/jbigi/libjbigi-freebsd-k63.so
new file mode 100644
index 0000000000000000000000000000000000000000..e288feacc38d1862fedd54e529a2e670d11e0503
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-k63.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-none.so b/installer/lib/jbigi/libjbigi-freebsd-none.so
new file mode 100644
index 0000000000000000000000000000000000000000..1011dee73e9bf1b5485580345ed220bf846d78ff
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-none.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-pentium.so b/installer/lib/jbigi/libjbigi-freebsd-pentium.so
new file mode 100644
index 0000000000000000000000000000000000000000..948001d73e8bdd648a7d081a95fc04096c13b518
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-pentium.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-pentium2.so b/installer/lib/jbigi/libjbigi-freebsd-pentium2.so
new file mode 100644
index 0000000000000000000000000000000000000000..fa8b0095d8660ae5686bad2d322022461ac82fa7
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-pentium2.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-pentium3.so b/installer/lib/jbigi/libjbigi-freebsd-pentium3.so
new file mode 100644
index 0000000000000000000000000000000000000000..fa8b0095d8660ae5686bad2d322022461ac82fa7
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-pentium3.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-pentium4.so b/installer/lib/jbigi/libjbigi-freebsd-pentium4.so
new file mode 100644
index 0000000000000000000000000000000000000000..ded68265d9f4b2a7c9afb6cdf2ff22eb3de81261
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-pentium4.so differ
diff --git a/installer/lib/jbigi/libjbigi-freebsd-pentiummmx.so b/installer/lib/jbigi/libjbigi-freebsd-pentiummmx.so
new file mode 100644
index 0000000000000000000000000000000000000000..89a6e4ffd1bf14744b41c98f7b2b0cbad1c750cd
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-freebsd-pentiummmx.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-athlon.so b/installer/lib/jbigi/libjbigi-linux-athlon.so
new file mode 100644
index 0000000000000000000000000000000000000000..2263a3601341ed4353d112b462df473f0d619c78
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-athlon.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-athlon64.so b/installer/lib/jbigi/libjbigi-linux-athlon64.so
new file mode 100644
index 0000000000000000000000000000000000000000..920b3dd6168a12268d2120030bf41791e9bb9568
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-athlon64.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-k6.so b/installer/lib/jbigi/libjbigi-linux-k6.so
new file mode 100644
index 0000000000000000000000000000000000000000..6bdb18eda572c08f01638e4291a57e147460ac2c
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-k6.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-k62.so b/installer/lib/jbigi/libjbigi-linux-k62.so
new file mode 100644
index 0000000000000000000000000000000000000000..1c773b792bd977a89797fca09596765afa9c1038
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-k62.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-k63.so b/installer/lib/jbigi/libjbigi-linux-k63.so
new file mode 100644
index 0000000000000000000000000000000000000000..1c773b792bd977a89797fca09596765afa9c1038
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-k63.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-none.so b/installer/lib/jbigi/libjbigi-linux-none.so
new file mode 100644
index 0000000000000000000000000000000000000000..6943730e29d7e2058f263858905300a134b65217
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-none.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium.so b/installer/lib/jbigi/libjbigi-linux-pentium.so
new file mode 100644
index 0000000000000000000000000000000000000000..5fe57795e9e58a1a40a3a29639315477c3ae5890
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentium.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium2.so b/installer/lib/jbigi/libjbigi-linux-pentium2.so
new file mode 100644
index 0000000000000000000000000000000000000000..152bf9e9a564d4f4f86055d9b58ada360001d509
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentium2.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium3.so b/installer/lib/jbigi/libjbigi-linux-pentium3.so
new file mode 100644
index 0000000000000000000000000000000000000000..152bf9e9a564d4f4f86055d9b58ada360001d509
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentium3.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentium4.so b/installer/lib/jbigi/libjbigi-linux-pentium4.so
new file mode 100644
index 0000000000000000000000000000000000000000..74e2df2285626009980ceaa36e12730f7a5b356d
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentium4.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-pentiummmx.so b/installer/lib/jbigi/libjbigi-linux-pentiummmx.so
new file mode 100644
index 0000000000000000000000000000000000000000..8acc21b4fed645b067c4467fad076f6fca1a3479
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-pentiummmx.so differ
diff --git a/installer/lib/jbigi/libjbigi-linux-viac3.so b/installer/lib/jbigi/libjbigi-linux-viac3.so
new file mode 100644
index 0000000000000000000000000000000000000000..02fdacd69e53e8310007272ad56a955fd24a1f48
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-linux-viac3.so differ
diff --git a/installer/lib/jbigi/libjbigi-osx-none.jnilib b/installer/lib/jbigi/libjbigi-osx-none.jnilib
new file mode 100644
index 0000000000000000000000000000000000000000..ccafcac2e2c49f5fca725839aa65a7826a050154
Binary files /dev/null and b/installer/lib/jbigi/libjbigi-osx-none.jnilib differ
diff --git a/installer/lib/jbigi/libjcpuid-x86-freebsd.so b/installer/lib/jbigi/libjcpuid-x86-freebsd.so
new file mode 100644
index 0000000000000000000000000000000000000000..a2d6d2dc422ee4d5295a0448b9393abe9d820de4
Binary files /dev/null and b/installer/lib/jbigi/libjcpuid-x86-freebsd.so differ
diff --git a/installer/lib/jbigi/libjcpuid-x86-linux.so b/installer/lib/jbigi/libjcpuid-x86-linux.so
new file mode 100644
index 0000000000000000000000000000000000000000..ab90984a2ebf3c6019f862f722442f60faf1da4c
Binary files /dev/null and b/installer/lib/jbigi/libjcpuid-x86-linux.so differ
diff --git a/installer/resources/hosts.txt b/installer/resources/hosts.txt
index 0a152e1b83c3ede7c294e14adef5828f78b5bc03..594d4d8d6f7ba3e64c6e65899223b3104633e4fd 100644
--- a/installer/resources/hosts.txt
+++ b/installer/resources/hosts.txt
@@ -326,3 +326,4 @@ i2pbote.i2p=~taSfBfeiMM5fW~qwUGZr4kAXmSoentWVjlQhTCKWhVj04KV34tLguNQEpHb1cA2eIwl
 planet.i2p=W0omtMApOdlTkgJoct08QnzDkeb~xc60df5Cx3k3qqOFmyEkRB65NdpSdvldI5STmXmXlZe68f8Hu1dfBMmKvfpBFMpP-mRVYuHbEa4N1dRkp3AOswZFO51lSC~MVPMZKGHAv0cfv5WFaJ9nfuaR7iYYWJF11xotoPTMbJdB-I3XPC8rxHI-73ATlOD4cU9oZ6BYcBE0dun9zw4IHBcRpnFRx~s-TkevNfPnBqujB-NNgA8a5s~QUj0h3FwwUWsNB8f1Uwy~DwoQh7pMp6dsZ3umEyBn2HaXZasSmbzB30qkQRs9vrAtIFdIzCQ~8gI2cHdHEPgExUQX~xlM8QZEgnLXSfS93asWPdpitv~KT7bO-35BgTBdCozHTCcvys6bYJ24UnkFVBE0D2L0t98neelWkJSaEU0QzxdRphoCZY8OABQIaS4qw6PEFD1Un1vxNCh~TDFWcYBZ3Rqsc~ISW0wF7oOS6-DPT3q5O8cGLc8iAEdRchrU9XyAHAKVlEZxAAAA
 exotrack.i2p=Ly1vs4plBuGisqlMiQOjhVkXFZPBMy9joSCrus~tuLXBRXDrPYG9WXJMzY4gb3LiW0VVawv0kLgikX8eeeruXmgKwQW5zB9UPSP0CQnXTRelE3Jn7lev~re4woHvgS-EGBwWikxqXF3f7W8-LhieI0JhBZxItiWhJJME07oncW0kgS8UIMl0wqN2Y-p0sryFCN056TfGNTXigfxrSLqKnpi6a2OyEkF62qvRID3qXzRque0vKQjqvavq2mqxjFrSgLUoyKod5h9Px6qK08gtoAyDKMLPk7fPgReYKj6awiOxRSGfsMpZD3~ZuV0Sts2XtCau3S3myYMIDe5oKziPtZRIej4KBDxT0YYIw5v4RoqzqF88gNgHDfkPZ25JKTOt5xGcPTG8kwYrtx39PX6NrJmv-I~LUz6sZZlIW24k1qbO7zBxZ6mazldQY1~FJGXzn5MNzsxp44iOZdMDJJh18N0Psthk2hqlQOS4L0Ss1Odm1czhBxf1Y~j3L-QsMttcAAAA
 outproxyng.h2ik.i2p=1RqMQd58RgA4D~XT34rCjQteJVQwFKQbPK5P03GetL-DyCfKV6Vg61xyxGOZK-K4KTXXf45PG~oDAWIzE7UY5aXN9oAjHXfPrU9hHxv35BaxFqUpsJLgjWu41OwSjl5aN2-freH4gGVSiL62I1y2bcXHc2kVHlbToQOy8bJoS3KSDHEeU0r79f~cY3xf6rBHpHNMJtdYdnWlLq5KFc2cz~8lIut~sSIAwUEfebBkhfl2ctvdEGdSshBWGTxXiahtQX0xraynF-Cex2hxvBAl0g9aoOnrLx~Gses54WPD-m3RArI3fiaxEALRuFa0mfrrEgjOhBtVU8IlTYrTEkR8JSGofsEmuqqM03FIrwOv6lJZi-xemiNUr3OX6VdO4ckIg69BxpCYzP2IxLO5r8lSwyHqGbYPFxBIjbSMsv6tGWWdglV4Y9sQHTarboA-XDih3DzDpomb1~78cSiV3PRidjj4MDggn1abkQbRVd6WLV~eTi54bctS-JwW-I5Xyqq~AAAA
+inr.i2p=GGB99wXYBnX-wOxQ~Xrvo7AvngoYgifvZZL54ksZWzclcirG7AysqfkAKyv906PxfM4y2DcN2K9m4-D99yFj-1BdnUuIEqfi2yuaaVoWuOffT3h9ne~kZnq3C-wrmczD70Gxk4shvSVxMdUEFvEip8QY4K0R-FiKBsFAfWGTE3b9d-QCzP0H9VP5V-CaYjYVQuMRgMluk9gnoLRipvV7483f~rmGgYX8xwygEAQ3v9P4hrAlJrP0lWJLI1K6KQucP3THIxZ4A9Xxnl0I7EZAT8bHwzschFrcDPYM~DtQdkJTz2VphocbNLfIExTrFt88-xC69WE-fSbaMf9jucT4f5kdpfpRu0kM~am40etxPs8uXGF-L9IXCjgUkJHrWdPHeGhnx-ye2xvUTLO2jyga8iY89Ee3IpqivVUg-iAQJzX9NXC29sf0YzNj8d8mdWRNuzbLSx9CVJ3l1NPJr4k7hmCqf8lBGXNIFZQL4Wez1PPcM4gw0o73gqIxkxvVzVcpAAAA
diff --git a/installer/resources/initialNews/initialNews_fr.xml b/installer/resources/initialNews/initialNews_fr.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8f027c270471183f55f8d0607fd5940e6d6dfe07
--- /dev/null
+++ b/installer/resources/initialNews/initialNews_fr.xml
@@ -0,0 +1,20 @@
+<div lang="fr">
+<h3>Merci d'utiliser I2P !</h3>
+<p>
+<b>Bienvenue sur I2P !</b>
+Merci de <b>patienter</b> le temps qu'I2P démarre et trouve des pairs.
+</p>
+<p>
+Pendant ce temps, merci d'<b>adjuster vos réglages de bande passante</b> sur la page de 
+<a href="config.jsp">configuration</a>.
+</p>
+<p>
+Une fois que vous avez une indication "clients partagés&hellip;" listée sur la gauche,
+merci de <b>jeter un œil</b> à la <a href="http://www.i2p2.i2p/faq_fr.html">FAQ</a>.
+</p>
+<p>
+Pointez votre client IRC sur <b>localhost:6668</b> et venez nous faire coucou sur  
+<a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p-fr">#i2p-fr</a> 
+ou <a href="irc://127.0.0.1:6668/i2p">#i2p</a>.
+</p>
+</div>
diff --git a/installer/resources/news.xml b/installer/resources/news.xml
index c8a740085c02fe4ccd1ea93097d06aa3f3823795..e978528c5f5d100b9149fb29824210df1d4b2309 100644
--- a/installer/resources/news.xml
+++ b/installer/resources/news.xml
@@ -1,13 +1,13 @@
 <!--
-<i2p.news date="$Date: 2011-03-02 00:00:00 $">
-<i2p.release version="0.8.4" date="2011/03/02" minVersion="0.6" />
+<i2p.news date="$Date: 2011-05-16 00:00:00 $">
+<i2p.release version="0.8.6" date="2011/05/16" minVersion="0.6" />
 -->
 <div lang="en">
-<h3>2011-03-02: <b>0.8.4 <a href="http://www.i2p2.i2p/release-0.8.4.html">Released</a></b></h3>
+<h3>2011-05-16: <b>0.8.6 <a href="http://www.i2p2.i2p/release-0.8.6.html">Released</a></b></h3>
 <p>
-The 0.8.4 release contains some performance improvements and important bug fixes.
-Also, i2psnark now supports magnet links.
-As usual, upgrading is recommended.
+The 0.8.6 release contains more peer selection defenses to resist powerful attackers, and
+tweaks to adjust to the recent rapid growth in the network.
+Upgrading is recommended.
 </p><p>
 Please help grow the network.
 Say hello to the volunteers on the <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help IRC channel</a>.
diff --git a/installer/resources/news_fr.xml b/installer/resources/news_fr.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ab045e4bfaf6a2b7c022a29607250c85476c864d
--- /dev/null
+++ b/installer/resources/news_fr.xml
@@ -0,0 +1,21 @@
+<!--
+<i2p.news date="$Date: 2011-03-02 00:00:00 $">
+<i2p.release version="0.8.4" date="2011/03/02" minVersion="0.6" />
+-->
+<div lang="fr">
+<h3>2011-03-02: <b>La version 0.8.4 <a href="http://www.i2p2.i2p/release-0.8.4_fr.html">est sortie</a></b></h3>
+<p>
+Cette version 0.8.4 contient quelques améliorations de performances et des corrections de bogues importantes. 
+i2psnark prend désormais en charge les liens magnet.
+Comme d'habitude, la mise à jour est recommmandée.
+</p><p>
+Merci de participer à la croissance du réseau.
+Venez nous encourager sur le <a href="irc://127.0.0.1:6668/i2p-help">canal IRC #i2p-help</a>.
+<a href="http://www.i2p2.i2p/getinvolved.html">Impliquez-vous</a>, 
+passez le mot,
+et <a href="http://www.i2p2.i2p/donate.html">un petit don</a>!
+Si vous trouvez un bogue, merci d'entrer un rapport sur <a href="http://trac.i2p2.i2p/report/1">trac</a>.
+Nous cherchons toujours des volontaires pour travailler sur les traductions existantes et des nouvelles.
+Merci de vous manifester sur l'<a href="irc://127.0.0.1:6668/i2p">IRC #i2p-dev</a>.
+</p>
+</div>
diff --git a/installer/resources/proxy/ahelper-conflict-header_fr.ht b/installer/resources/proxy/ahelper-conflict-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..071bf7ab8918ace32896949c0f2d5c799c3715b4
--- /dev/null
+++ b/installer/resources/proxy/ahelper-conflict-header_fr.ht
@@ -0,0 +1,24 @@
+HTTP/1.1 409 Conflict
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: conflit de clef de destination</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/">Carnet d'adresses</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement: conflit de clef de destination</h3>
+Le lien d'adresse que vous avez suivi indique une clef de destination différente de celle de votre carnet d'adresses.
+Quelqu'un est peut-être en train d'usurper un autre site eep, ou des gens ont donné le même nom à des sites eep différents.
+<p>
+Vous pouvez résoudre le conflit en décidant à quelle clé accorder votre confiance,
+et soit écarter le lien d'adresse, supprimer l'entrée de votre carnet d'adresses, ou renommer un des deux.
+<p>
diff --git a/installer/resources/proxy/auth-header_fr.ht b/installer/resources/proxy/auth-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..cace47865e6ff44197922632489b337838f9708a
--- /dev/null
+++ b/installer/resources/proxy/auth-header_fr.ht
@@ -0,0 +1,23 @@
+HTTP/1.1 407 Proxy Authorization Required
+Content-Type: text/html; charset=UTF-8
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.5
+Proxy-Authenticate: Basic realm="I2P HTTP Proxy"
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Autorisation Proxy requise</title>
+<!-- we cannot have links to CSS or images here, but we could put in some simple inline style -->
+</head>
+<body>
+<div class=warning id=warning>
+<h3>Autorisation I2P HTTP Proxy requise</h3>
+Ce mandataire est configuré pour demander un nom d'utilisateur et un mot de passe pour les accès.
+Merci d'entrer votre identifiant / mot de passe, ou vérifier la 
+<a href="http://127.0.0.1:7657/advancedconfig.jsp">configuration</a> de votre routeur, 
+ou du 
+<a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">I2PTunnel</a>.
+Pour désactiver le contrôle d'accès, supprimez la configuration
+<code>i2ptunnel.proxy.auth=basic</code>, puis redémarrez le tunnel proxy HTTP.
+</div>
diff --git a/installer/resources/proxy/denied-header_fr.ht b/installer/resources/proxy/denied-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..0f05e5a618584c19b3cf5b074882b97b301a2d8c
--- /dev/null
+++ b/installer/resources/proxy/denied-header_fr.ht
@@ -0,0 +1,20 @@
+HTTP/1.1 403 Requête refusée
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: Requête refusée</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/index.jsp">Carnet d'adresse</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: Requête refusée</h3>
+Vous avez tenté de vous connecter a un site ou emplacement non-I2P.
+</div>
diff --git a/installer/resources/proxy/dnf-header_fr.ht b/installer/resources/proxy/dnf-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..e0dea27996fa2b8f78aafc596e7605c55eb084fc
--- /dev/null
+++ b/installer/resources/proxy/dnf-header_fr.ht
@@ -0,0 +1,23 @@
+HTTP/1.1 504 Gateway Timeout
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: site eep non joignable</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/index.jsp">Carnet d'adresse</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: site eep non joignable</h3>
+Le site eep n'a pas pu être atteint. Il est hors service, 
+le réseau est surchargé, ou votre routeur n'est pas bien intégré aux pairs.
+Vous pouvez  
+<a href="javascript: window.location.reload()">réessayer</a>. 
+<hr><b>Destination injoignable:</b><BR><BR>
diff --git a/installer/resources/proxy/dnfb-header_fr.ht b/installer/resources/proxy/dnfb-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..c7ed858f459fd9f526b9725745519db3cf75d038
--- /dev/null
+++ b/installer/resources/proxy/dnfb-header_fr.ht
@@ -0,0 +1,23 @@
+HTTP/1.1 400 Destination non trouvée
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: destination eep site incorrecte</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/index.jsp">Carnet d'adresse</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: destination eep site incorrecte</h3>
+La destination du site eep indiquée est incorrecte, ou injoignable. 
+Vous avez peut-être collé une chaîne BASE64 incorrecte le lien que vous suivez est incorrect. 
+L'hôte I2P est peut-être aussi hors-servicehost.
+Vous pouvez <a href="javascript: window.location.reload()">réessayer</a>. 
+<hr><b>Destination non trouvée:</b><BR><BR>
diff --git a/installer/resources/proxy/dnfh-header_fr.ht b/installer/resources/proxy/dnfh-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..157173973fbe1c7050e2fa502b5a02afe171598d
--- /dev/null
+++ b/installer/resources/proxy/dnfh-header_fr.ht
@@ -0,0 +1,27 @@
+HTTP/1.1 404 Domaine non trouvé
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: site eep inconnu</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/index.jsp">Carnet d'adresse</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: site eep non trouvé dans le carnet d'adresses</h3>
+Le site eep n'était pas dans le carnet d'adresses de votre routeur.
+Vérifiez le lien ou trouvez l'adresse BASE64.
+Si vous avez l'adresse BASE64,  reportez-la dans votre fichier userhosts.txt en passant par 
+<a href="http://127.0.0.1:7657/susidns/addressbook.jsp?book=master">SusiDNS</a>,
+utilisez un lien d'adresse BASE64, ou un service de saut (jump) en  lien ci-dessous.<br><br>
+Si vous voyez cette page souvent: lisez la <a href="http://www.i2p2.i2p/faq_fr.html#subscriptions">faq</a> pour obtenir 
+de l'aide sur <a href="http://127.0.0.1:7657/susidns/config.jsp">l'ajout de quelques souscrptions</a> à votre carnet 
+d'adresses.<hr>
+<b>Destination introuvable:</b><BR><BR>
diff --git a/installer/resources/proxy/dnfp-header_fr.ht b/installer/resources/proxy/dnfp-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..40e9ad82f06a1800f332407584905f8a29df985b
--- /dev/null
+++ b/installer/resources/proxy/dnfp-header_fr.ht
@@ -0,0 +1,29 @@
+HTTP/1.1 504 Délai d'attente de passerelle dépassé
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: Proxy sortant non trouvé</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/">Carnet d'adresses</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: Proxy sortant non trouvé</h3>
+Le serveur mandataire sortant est introuvable. 
+Il est hors service, le réseau est surchargé,
+ou votre routeur n'est pas encore bien intégré avec des pairs.
+Vous pouvez essayer de 
+<a href="javascript: parent.window.location.reload()">retenter</a> 
+car il se produira une sélection aléatoire de mandataire dans le groupe que vous avez défini 
+<a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">ici</a> 
+(si vous en avez plus d'un de défini). 
+Si vous avez toujours des problèmes vous pouvez modifier votre liste de 
+mandataires <a href="http://127.0.0.1:7657/i2ptunnel/edit.jsp?tunnel=0">ici</a>. 
+<hr><b>Destination suivante introuvable:</b><BR><BR>
diff --git a/installer/resources/proxy/localhost-header_fr.ht b/installer/resources/proxy/localhost-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..c38f220b8ac20ef5eebf0a54bd199eebc7febb4e
--- /dev/null
+++ b/installer/resources/proxy/localhost-header_fr.ht
@@ -0,0 +1,24 @@
+HTTP/1.1 403 Accès refusé
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Erreur I2P: Requête refusée</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<!-----------------------------
+  Let's not infinite loop here....
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="I2P Router Console" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Help</a> <a href="http://127.0.0.1:7657/susidns/">Addressbook</a>
+</div>
+------------------------------>
+<div class=warning id=warning>
+<h3>Erreur: Accès local</h3>
+Votre navigateur est mal configuré. N'utilisez pas de mandataire pour accéder à la console du routeur I2P,
+à l'hôte local (localhost), ou des destinations LAN: définissez une exception.
+</div>
diff --git a/installer/resources/proxy/noproxy-header_fr.ht b/installer/resources/proxy/noproxy-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..96e9f3e78261ec00f0290d639c7ffa28a59d8a73
--- /dev/null
+++ b/installer/resources/proxy/noproxy-header_fr.ht
@@ -0,0 +1,21 @@
+HTTP/1.1 503 Service indisponible
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: Mandataire non configuré</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console Routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console Routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/">Carnet d'adresses</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: Mandataire non configuré</h3>
+Votre requête était pour un site hors du réseau I2P, mais vous n'avez pas de mandataire 
+configuré.  Merci de configurer un mandataire dans I2PTunnel.
+</div>
diff --git a/installer/resources/proxy/protocol-header_fr.ht b/installer/resources/proxy/protocol-header_fr.ht
new file mode 100644
index 0000000000000000000000000000000000000000..47fdc9fa9f2adc4672e2c5dd26edd0b75266e7fd
--- /dev/null
+++ b/installer/resources/proxy/protocol-header_fr.ht
@@ -0,0 +1,21 @@
+HTTP/1.1 403 Protocole incorrect
+Content-Type: text/html; charset=UTF-8
+Cache-control: no-cache
+Connection: close
+Proxy-Connection: close
+
+<html><head>
+<title>Avertissement I2P: Protocole Non-HTTP</title>
+<link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
+<link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
+</head>
+<body>
+<div class=logo>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Console Routeur I2P"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="Console Routeur I2P" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Configuration</a> <a href="http://127.0.0.1:7657/help.jsp">Aide</a> <a href="http://127.0.0.1:7657/susidns/">Carnet d'adresses</a>
+</div>
+<div class=warning id=warning>
+<h3>Avertissement I2P: Protocole Non-HTTP</h3>
+La requête a utilisé un protocole inadpté.
+Le mandataire HTTP I2P prend en charge les requêtes http:// seulement. Les autre protocoles tels que https:// and ftp:// ne sont pas permis.
+</div>
diff --git a/installer/resources/readme/readme_fr.html b/installer/resources/readme/readme_fr.html
index 4fa9ec2a0117fa13177d52c2cb6542f98ca2f826..9f2122dd9433efbe5cf1086525a2d32a67a0bbc2 100644
--- a/installer/resources/readme/readme_fr.html
+++ b/installer/resources/readme/readme_fr.html
@@ -1,42 +1,277 @@
 <div lang="fr">
+(traduction de mars 2011 - cliquez sur le drapeau ci-dessus pour l'original en anglais)
+<ul class="links"><li class="tidylist"><b>Démarrage&hellip;</b><br>Si vous venez juste de lancer I2P, le nombre de 
+<i>pairs actifs</i> indiqués dans la section <i>Pairs</i> du "Panneau de surveillance" sur la  gauche devrait 
+commencer à augmenter dans les prochaines minutes et vous verrez alors en bas du panneau une <i>destination locale</i> 
+intitulée <i>Clients partagés</i>, avec d'éventuels autres clients et serveurs suivant la configuration initiale d'I2P
+(sinon, voir plus bas la <a href=#trouble>section dépannage</a>). Ces <i>destinations locales</i> fournissent des 
+connexions sur différent ports (et parfois des protocoles) au réseau I2P, pour permettre le fonctionnement de votre 
+client BitTorrent, de votre messagerie, du mandataire Internet et autres services. Votre 
+<a href="/netdb">base de données réseau</a> indique tous les pairs que connaît votre routeur. Vous pouvez surveiller 
+les <a href="/peers">connexions de pairs</a> en cours et voir les <a href="/tunnels">tunnels</a> existants et leur 
+état. D'autres informations sont disponibles sur la page d'<a href="/help">aide</a>.</li>
 
-<p>Si vous venez juste de lancer I2P, les chiffres sur la gauche &agrave; cot&eacute; de Active devraient commencer &agrave; augmenter dans les prochaines minutes et vous verrez un "Shared client" en destination locale list&eacute;s sur la gauche (si non, <a href=#trouble>voir plus bas</a>). Une fois qu'ils apparaissent, vous pouvez:</p>
-<ul>
-  <li><b>Parcourir les "eepsites"</b> - sur I2P il y a des sites web anonymes h&eacute;berg&eacute;s - dites &agrave; votre navigateur d'utiliser <b>le HTTP proxy a l'adresse 127.0.0.1 port 4444</b>, ensuite vous pouvez naviguer sur les eepsites:<br>
-     <ul class="links">
-          <li><a href="http://forum.i2p/">forum.i2p</a>: une connection s&eacute;curis&eacute;e et anonyme vers <a href="http://forum.i2p2.de/">forum.i2p2.de</a></li>
-          <li><a href="http://www.i2p2.i2p/index_fr.html">www.i2p2.i2p</a> et le miroir <a href="http://i2p-projekt.i2p/index_fr.html">i2p-projekt.i2p</a>:
-              connections s&eacute;curis&eacute;es et anonyme vers <a href="http://www.i2p2.de/index_fr.html">www.i2p2.de</a></li>
-          <li><a href="http://eepsites.i2p/">eepsites.i2p</a>: un moteur de recherche d'eepsites</li>
-          <li><a href="http://ugha.i2p/">ugha.i2p</a>: l'eepsite d'ugha, un wiki que chaucun peut &eacute;diter ainsi que</li>
-          <li><a href="http://fproxy.tino.i2p">fproxy.tino.i2p</a>: un proxy Freenet 0.5</li>
-	  <li><a href="http://echelon.i2p">echelon.i2p</a>: archive de software (I2PFox, iMule, I2P-Messenger, ...) et informations &agrave; propos de I2P<br></li>
-	  <li><a href="http://paste.i2p2.i2p">paste.i2p2.i2p</a>: Pastebin anonyme</li>
-     </ul>
-     Il y a bien plus d'eepsites - suivez juste les liens au d&eacute;part de ceux sur lesquels vous &ecirc;tes, mettez-les dans vos favoris et visitez-les souvent!</li>
-  <li class="tidylist"><b>Parcourir le web</b> - Il y a pour l'instant un outproxy HTTP sur I2P attach&eacute; &agrave; votre propre proxy HTTP sur le port 4444 - vous devez simplement configurer le proxy de votre navigateur pour l'utiliser (comme expliqu&eacute; ci-dessus) et aller sur n'importe quel URL normale - vos requ&ecirc;tes seront relay&eacute;es par le r&eacute;seau i2p.</li>
-  <li class="tidylist"><b>Transfer de fichiers</b> - Il y a un <a href="i2psnark/">port</a> int&eacute;gr&eacute; de <a href="http://www.klomp.org/snark/">Snark</a> le client <a href="http://www.bittorrent.com/">BitTorrent</a>.</li>
-  <li class="tidylist"><b>Utiliser le service de mail anonyme</b> - Postman a cr&eacute;&eacute; un syt&egrave;me de mails compatible avec un client de messagerie normal (POP3 / SMTP) qui permet d'envoyer des emails autant au sein d'i2p que vers et &agrave; partir de l'internet normal! Cr&eacute;ez-vous un compte &agrave;  <a href="http://hq.postman.i2p/">hq.postman.i2p</a>.
-     Nous fournissons dans la version de base de i2p <a href="/susimail/susimail">susimail</a>,
-     un client web pop3/smtp orient&eacute; sur l'anonymat qui est configur&eacute; pour acc&eacute;der aux services email de postman. 
-     <br>Alternativement, vous pouvez essayer le nouveau syst&egrave;me de courrier sans serveur et crypt&eacute; de bout-en-bout 
-     <a href="http://tjgidoycrw6s3guetge3kvrvynppqjmvqsosmtbmgqasa6vmsf6a.b32.i2p/">I2P-Bote</a> (avec une interface web), installable comme un plugin.<br></li>
-  <li class="tidylist"><b>Chatter de mani&egrave;re anonyme</b> - Activez votre client IRC et connectez-le sur le serveur <b>127.0.0.1 port 6668</b>. Ceci pointe vers l'un des deux serveur IRC anonyme, mais ni vous ni eux ne savent qui est l'autre</li>
-  <li class="tidylist"><b>Cr&eacute;ez-vous un blog anonyme</b> - Renseignez-vous chez <a href="http://syndie.i2p2.de/">Syndie</a></li>
-  <li class="tidylist">Et bien d'autres</li>
+<li class="tidylist"><b>Intégration au réseau</b><br>La première fois que vous lancez I2P l'intégration au réseau peut 
+prendre quelques minutes, le temps que votre routeur soit connu et trouve d'autres pairs qui amélioreront alors son 
+intégration: soyez patient. Quand I2P démarre, et en fonctionnement établi, I2P affiche un indicateur d'état, (juste au 
+dessus de la section <i>destinations locales</i> dans le panneau de surveillance), qui peut vous signaler l'information 
+"Refus de tunnels"; ce comportement est normal et ne doit pas vous inquiéter! Une fois que les étoiles vertes 
+s'affichent en face des <i>destinations locales</i>, le monde d'I2P vous est ouvert. En voici un aperçu:
+</li></ul>
+
+<h3>Les services sur I2P</h3>
+<ul class="links">
+
+<li class="tidylist"><b>Internet invisible &amp; exploration anonyme du web public</b><br>Sur I2P vous pouvez accéder 
+à des sites anonymes (les sites eep) et à d'autres services (par exemple SSH sur I2P, IRC, Jabber, etc&hellip;), et 
+vous pouvez aussi héberger vos propres services anonyme. Vous avez également un accès anonyme au web normal via le 
+serveur mandataire sortant ("outproxy") I2P intégré. Pour ceci, 
+<a href="http://www.i2p2.de/htproxyports_fr.html" target="_blank">configurez votre navigateur</a> pour qu'il utilise le 
+mandataire <code>127.0.0.1 sur le port 4444</code>, puis promenez-vous sur les sites eep ou non cryptés normaux 
+(adresses <code>http://</code>. Vous trouverez sûrement un intérêt à utiliser un navigateur préconfiguré: essayez 
+<a href="http://echelon.i2p/i2pfox/">I2PFox</a>, une version de Firefox renforcée en termes de sécurité et spécialement 
+adaptée à i2P. Si vous voulez désactiver ou modifier l'accès mandaté à l'Internet normal, enlevez ou modifiez l'entrée 
+<code>false.i2p</code> dans les options de <i>mandataires</i> du <i>gestionnaire de tunnels</i> pour le 
+<a href="/i2ptunnel/edit?tunnel=0" target="_blank">mandataire HTTP I2P</a>. Dans la section "Sites intéressants" 
+<a href="#eepsites">ci-dessous</a>, vous trouverez notre petite sélection de sites hébergés sur I2P.</li>
+
+<li class="tidylist"><b>Messagerie anonyme</b><br>Le système de messagerie basé sur I2P de Postman est utilisable soit 
+par le <a href="/susimail/susimail">client de messagerie I2P intégré</a> dans la console du routeur (susimail), soit en 
+configurant n'importe quel logiciel client de messagerie compatible SMTP et POP3. Les comptes peuvent recevoir et 
+envoyer du courrier de/vers l'Internet normal. Créez au moins votre compte sur 
+<a href="http://hq.postman.i2p/" target="_blank">hq.postman.i2p</a>. En complément, 
+<a href="http://i2pbote.i2p/" target="_blank">I2P-Bote</a> est le nouveau système intra-I2P décentralisé, sécurisé 
+(crypté de bout en bout) et équipé d'un système de relayage anonymo-pseudonymique, ainsi que d'une interface web et d'un 
+carnet d'adresses intégré. Développé par HungryHobo, il s'installe en tant que <a href="#plugins">greffon</a>.</li>
+
+
+<li class="tidylist"><b>Transfert de fichiers anonyme</b><br><a href="/i2psnark/" target="_blank">I2PSnark</a> est 
+intégré dans le router I2P. Il permet les transferts anonymes et cryptés 
+<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/BitTorrent_%28protocole%29" target="_blank">BitTorrent</a>. 
+Sponge a développé en Python un autre client bittorrent appelé <a href="http://bob.i2p/Robert.html">Robert</a>.
+Il y a aussi un portage d'<a href="http://www.emule-project.net/" target="_blank">eMule/aMule</a> sur I2P:&hellip; 
+<a href="http://echelon.i2p/imule/">iMule</a> [Cherche développeurs!], une implémentation anonyme et sécurisée d'un 
+<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Gnutella" target="_blank">réseau Gnutella</a> accessible par  
+<a href="http://echelon.i2p/i2phex/" target="_blank">I2Phex</a> [maintenu par Complication, mais on cherche de nouveaux 
+développeurs!], ainsi que d'autres utilitaires dont un hébergement de fichiers basé sur le navigateur.</li>
+<li class="tidylist"><b>Claviotage anonyme (non ça n'est pas le nom de mon chat)</b><br>Lancez votre client IRC (p.e. 
+Chatzilla, Pidgin, XChat, etc&hellip;) et connectez-vous au <a href="irc://127.0.0.1:6668/i2p-help">serveur</a> sur 
+<code>127.0.0.1 port 6668</code>. Vous n'avez pas besoin de configurer un proxy dans votre client IRC: I2P vous fournit 
+un tunnel IRC local (configuré dans votre client IRC en tant qu'hôte serveur IRC distant). Votre tunnel IRC local 
+sur <code>localhost:6668</code> vous emmènera sur un des deux serveurs hébergés sur I2P par Postman and Badger, mais 
+ni vous ni eux ne sauront où se trouve l'autre, et ni ta maman ni ton gouvernement ne sera capable d'intercepter ta  
+conversation!&hellip; (sauf,&hellip; heu&hellip; regarde quand même dans ton dos!&hellip;ET dans le faux plafond ET dis 
+à ton correspondant d'en faire autant&hellip; ET coulez vos PC dans du béton). Une fois là, /join 
+<code>#i2p-help</code>, <code>#i2p-chat</code>, <code>#i2p</code>, <code>#i2p-chat</code> ou <code>#i2p-dev</code> 
+ne sont que quelques unes des possibilités pour mettre la tête dehors, même si ça va pas améliorer le bronzage de ta 
+couenne d'endive.&LT;/délire&GT; Il y a aussi une 
+<a href="http://echelon.i2p/qti2pmessenger/">messagerie instantanée</a> à la sauce I2P pour le claviotage anonyme 
+(tiens, le rev'là) non surveillable et non censurable, ainsi que d'autres serveurs IRC, Jabber, website-based chat, 
+and more. Et bien sûr vous avez l'entière liberté de faire tourner vos propres serveurs sur I2P, dans la version qui 
+vous émoustille les papilles, et si vous êtes un développeur, d'écrire vos propres 
+<a href="http://www.i2p2.i2p/applications.html" target="_blank">applications I2P</a> (les protocoles 
+<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/User_Datagram_Protocol" target="_blank">UDP</a> et 
+<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Transmission_Control_Protocol" target="_blank">TCP</a> 
+sont tous deux <a href="http://www.i2p2.i2p/techintro_fr.html#op.transport" target="_blank">compatibles</a>), et 
+<a href="http://www.i2p2.i2p/streaming.html" target="_bla_nk">les flux en temps réel</a> sont aussi au menu. 
+Nous fournissons aussi un accès complet à l'<a href="http://docs.i2p2.de/javadoc/" target="_blank">API Java</a>.</li>
+<li class="tidylist"><b>Forums &amp; Blogs</b><br>Si vous cherchez à faire votre propre blog ou forum , vous pourriez 
+être intéressé par <a href="http://syndie.i2p2.de/" target="_blank">Syndie</a>, une plateforme décentralisée de 
+forum et blog pour I2P [Nids de développeurs! (prononcez à l'anglaise)].
+On trouve également en greffon I2P, un portage réalisé par zzz de la plateforme de blog Java 
+<a href="http://pebble.sourceforge.net/" target="_blank">pebble</a>. Il est disponible sur 
+<a href="http://i2plugins.i2p/" target="_blank">i2plugins.i2p</a>. Bien entendu, tous les logiciels de blog, forum et 
+cms fonctionnent sur I2P, bien qu'il vous soit conseillé de faire très attention à la sécurité quand vous les 
+configurez et de tenir tous les logiciels associés (p.e. Php, MySql, Python, Apache) bien à jour et verrouillés! 
+Vous trouverez aussi un petit nombre de forums I2P dans diverses langues: voir <a href="#eepsites">plus bas</a> 
+d'autres suggestions.</li>
+  <li class="tidylist"><a name="plugins"></a><b>Greffons pour I2P</b><br>Étendez l'usage et la portée d'I2P en 
+installant des greffons&hellip; blog, chat, partage de fichiers et autres sont déjà écrits ou portés, et n'attendent 
+autre chose que vous les <a href="http://i2plugins.i2p/plugins/" target="_blank">installiez</a>! 
+Consultez la carte (et les secrets du chef) sur <a href="http://i2plugins.i2p/" target="_blank">i2plugins.i2p</a>. 
+Si vous êtes <a href="http://i2plugins.i2p/developers/" target="_blank">développeur</a>, vous disposez d'un 
+environnement d'écriture de greffons indépendant de tout langage dans la  
+<a href="http://www.i2p2.i2p/plugins_fr.html" target="_blank">documentation</a>; les greffons I2P peuvent être codés dans 
+n'importe quel langage.</li>
 </ul>
 
-<h2>Vous voulez votre propre eepsite?</h2>
+<h3>Hébergement crypté anonyme sur I2P</h3>
+<ul class="links">
+
+<li class="tidylist"><b>Prêt à servir!</b><br>I2P arrive avec un serveur intégré, prêt à servir votre propre site web 
+anonyme (eepsite) sur le réseau I2P: une instance <a href="http://jetty.mortbay.org/" target="_blank">Jetty</a> qui 
+écoute sur <a href="http://127.0.0.1:7658/" target="_blank">http://127.0.0.1:7658/</a>. Pour héberger votre propre 
+contenu, placez tout bêtement vos fichiers dans le répertoire <code>eepsite/docroot/</code> (ou déposez n'importe quel 
+fichier JSP/Servlet standard .war dans <code>eepsite/webapps</code>, ou des scripts CGI standards dans 
+<code>eepsite/cgi-bin</code>) et ils s'afficheront. Vous gardez tout loisir de choisir le serveur web qui vous convient 
+pour fonctionner sur I2P et remplacer le serveur intégré, ou exécuter celui-ci sur un autre tunnel.</li>
+<li class="tidylist"><b>Démarrez votre tunnel</b><br>  
+  Après le démarrage de votre <a href="/i2ptunnel/" target="_blank">Tunnel serveurWeb I2P</a>, votre eepsite sera 
+visible (mais pas encore découvrable) par les I2P'nautes. Les instructions détaillées de démarrage de votre eepsite, 
+d'enregistrement d'un domaine .i2p et de promotion de votre site sont accessibles via votre propre serveur à 
+l'adresse <a href="http://127.0.0.1:7658/help/" target="_blank">http://127.0.0.1:7658/help/</a>.</li></ul>
+    
+<a name="eepsites"></a>    
+    <h3>Sites I2P intéressants</h3>
+    <ul class="links">
+      <li class="tidylist"><b>Le site officiel de l'Invisible Internet Project (I2P)</b><br>
+<a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a> et son miroir 
+<a href="http://i2p-projekt.i2p/" target="_blank">i2p-projekt.i2p</a> sont les adresses de connexions sécurisées et 
+anonymes des sites classiques <a href="http://www.i2p2.de/" target="_blank">www.i2p2.de</a> et 
+<a href="http://geti2p.net/" target="_blank">geti2p.net</a>. Si vous êtes curieux du fonctionnement d'I2P et de la 
+façon d'y contribuer, vous venez de trouver la porte d'entrée.</li>
+      <li class="tidylist"><b>Les fora de la communauté</b><br>
+<a href="http://forum.i2p/" target="_blank">forum.i2p</a>: la version anonyme et sécurisée de 
+<a href="http://forum.i2p2.de/" target="_blank">forum.i2p2.de</a>, le forum sur lequel les développeurs et les 
+utilisateurs aiment discuter de problèmes et d'idées relatifs à I2P et aux sujets apparentés, et le 
+<a href="http://zzz.i2p/" target="_blank">forum des développeurs de zzz</a> également ouvert aux utilisateurs.</li>
+      <li class="tidylist"><b>Pastebin anonyme I2P</b><br>
+<a href="http://paste.i2p2.i2p/" target="_blank">paste.i2p2.i2p</a>: service de collage sécurisé et anonyme pour le 
+partage de texte et de code au format textuel sur I2P.</li>
+      <li class="tidylist"><b>Les ressources i2P d'Echelon</b>
+<br><a href="http://echelon.i2p/" target="_blank">echelon.i2p</a>: dépôt de logiciels I2P (I2PFox, iMule, 
+I2P-Messenger&hellip;) avec leurs code sources (quand c'est permis), informations sur I2P, dont le  
+<a href="http://echelon.i2p/I2Pguide/index.html" target="_blank">guide du débutant</a> et pour les plus téméraires, 
+les pré-versions d'I2P à essayer.</li>
+        <li class="tidylist"><b>Le Wiki d'Ugha</b><br><a href="http://ugha.i2p/" target="_blank">ugha.i2p</a>: un wiki 
+ouvert et anonyme sur lequel chacun peut modifier toute sorte d'informations sur I2P, l'aide pour les débutants, 
+des liens supplémentaires dans le réseau, etc&hellip;</li>
+      <li class="tidylist"><b>Proxy I2P-vers-Freenet</b><br>
+<a href="http://fproxy.tino.i2p/" target="_blank">fproxy.tino.i2p</a>: une fenêtre sur le monde du réseau 
+<a href="http://freenetproject.org/" target="_blank">Freenet</a> grâce au mandataire I2P-vers-Freenet de Tino.</li>
+     <li class="tidylist"><b>The Planet (sur I2P)</b><br><a href="http://planet.i2p/" target="_blank">planet.i2p</a>: 
+un site agrégateur RSS qui collecte les nouvelles et évènements concernant I2P et les publie toutes regroupée en un 
+seul endroit. Un bon aperçu de la communauté au travail!</li>
+        <li class="tidylist"><b>Moteur de recherches eepsites</b><br>
+<a href="http://eepsites.i2p/" target="_blank">eepsites.i2p</a>: moteur de recherches sur les contenus I2P hébergé 
+anonymement.</li>
+      <li class="tidylist"><b>Météo du réseau I2P</b><br>
+<a href="http://stats.i2p/cgi-bin/dashboard.cgi" target="_blank">stats.i2p</a>: vérifiez divers aspects des 
+performances du réseau I2P avec ce site superviseur maintenu par zzz.</li> 
+      <li class="tidylist"><b>Découvrez I2P</b><br>Il y a plein d'autres eepsites: suivez simplement les liens que vous 
+rencontrez, marquez-les en favoris, et retournez-y souvent!<br></li>     
+    </ul>
+
+
+<h2><a name="trouble"></a>Résolution de problèmes &amp; assistance supplémentaire</h2>
+
+<ul class="links">
 
-<p>Nous fournissons de base quelques logiciels pour vous permettre de cr&eacute;er votre propre eepsite - une instance 
-<a href="http://jetty.mortbay.org/">Jetty</a>, qui &eacute;coute sur
-<a href="http://127.0.0.1:7658/">http://127.0.0.1:7658/</a>.  Placer simplement vos fichiers dans le r&eacute;pertoire <code>eepsite/docroot/</code> (ou placez n'importe quel fichier JSP/Servlet standard <code>.war</code>) dans eepsite/webapps, ou script CGI standard dans <code>eepsite/cgi-bin</code>) et ils apparaitront. Apr&egrave;s avoir d&eacute;marr&eacute; un <a href="/i2ptunnel/">tunnel pour votre eepsite</a> (le tunnel doit pointer sur l'adresse locale du eepsite), votre eepsite sera visible pour les autes. Des instructions plus d&eacute;taill&eacute;es pour cr&eacute;er un eepsite se trouvent sur <a href="http://127.0.0.1:7658/">Votre eepsite temporaire</a>.
-</p>
+<li class="tidylist"><b>Soyez patient!</b><br>I2P peut être long à s'intégrer au réseau la première fois que vous le 
+lancez car il s'amorce en découvrant des pairs supplémentaires. Plus il tourne longtemps, mieux il fonctionnera, donc 
+essayez de le laisser marcher le plus longtemps que vous pouvez, 24h/24 7j/7 si possible! Si après 30mn le nombre 
+<i>Actifs: [connectés/récents]</i> montre moins de 10 pairs, ou que le nombre de pairs <i>bien intégrés</i> est 
+inférieur à 5, voici ce que vous pouvez faire pour trouver l'origine du problème: 
+  </li>
 
-<h2><a name="trouble">D&eacute;pannage</a></h2>
+<li class="tidylist"><b>Vérifiez votre configuration &amp; allocation de bande passante</b><br>I2P fonctionne au mieux 
+quand vous reflétez correctement la vitesse de votre connexion Internet dans la section  
+<a href="/config">Gestionnaire de bande passante</a>. 
+I2P est configuré par défaut avec des valeurs volontairement faibles qui ne conviennent généralement pas. Merci de 
+prendre le temps d'adapter ces valeurs à votre cas particulier. Plus vous allouez de bande passante, <i>en particulier 
+la bande passante sortante</i>, plus vous obtiendrez de bonnes performances.</li>
+
+<li class="tidylist"><b>Pare-feux, Modems &amp; Routeurs</b><br>Si possible, assurez-vous que I2P/Java dispose d'un 
+accès bidirectionnel à un port accessible depuis Internet en configurant votre modem-routeur(box x-DSL) et le pare-feu 
+logiciel de votre PC en conséquence. Si vous êtes derrière un pare-feu hors de votre contrôle mais avec un accès 
+sortant non restrictif, I2P peut quand même fonctionner: vous pouvez désactiver les accès entrants et vous reposer sur 
+la <a href="http://www.i2p2.i2p/udp.html" target="_blank">détection d'adresse IP par SSU</a> 
+(<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Hole_punching" target="_blank">firewall hole punching</a>) 
+pour vous connecter au réseau, et le panneau de surveillance indiquera alors l'état "Réseau: Bloqué par un pare-feu". 
+Pour obtenir des performances optimales, préférez si possible de donnez accès à I2P l'accès à un 
+<b><a href="/config">port externe</a> visible depuis Internet</b>.<br />
+Pendant l'installation, I2P choisit aléatoirement ce port <a href="http://127.0.0.1:7657/config">modifiable ici</a>. 
+Vous pouvez laisser ce port ou en choisir un autre, et quel que soit votre choix régler vos pare-feux en conséquence.
+<br />
+Voir plus bas pour d'autres solutions.
+   </li>
+  
+<li class="tidylist"><b>Vérifiez vos réglages de mandataire</b><br>Si vous n'avez accès à aucun site eep (même pas 
+à <a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a>), assurez-vous que le mandataire de votre navigateur 
+est réglé pour le trafic HTTP (<i>pas</i> https, <i>ni</i> socks) via <code>127.0.0.1 port 4444</code>. Si vous avez 
+besoin d'aide, voici le  
+<a href="http://www.i2p2.i2p/htproxyports_fr.html" target="_blank">guide</a> de configuration du navigateur pour 
+l'utilisation avec I2P, également 
+<a href="http://www.i2p2.de/htproxyports_fr.html" target="_blank">disponible sur le web normal</a>. 
+  </li>
+
+<li class="tidylist"><b>Vérifiez vos historiques</b><br>Les <a href="/logs">historiques</a> peuvent aider à 
+diagnostiquer un problème. Vous pouvez en coller un extrait sur un 
+<a href="http://forum.i2p/viewforum.php?f=10" target="_blank">forum</a> pour obtenir de l'aide, ou plutôt le 
+<a href="http://paste.i2p2.i2p/" target="_blank">coller ici</a> et faire référence au lien sur le canal IRC #i2p-fr 
+(Freenode).
+  </li> 
+
+<li class="tidylist"><b>Vérifiez que Java est à jour</b><br>Assurez-vous que vous avez la dernière version de Java 
+[vers. 1.6 ou plus récente recommandée, et impérative pour certaines fonctionnalités]. Vérifez la version de votre JRE 
+ (<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Environnement_d%27ex%C3%A9cution_Java" target="_blank">
+Java Runtime Environment</a>) en haut de page de vos <a href="/logs">historiques</a>. Si vous êtes un développeur, 
+un <a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Java_Development_Kit" target="_blank">SDK Java</a> et  
+<a href="http://ant.apache.org/" target="_blank">Apache Ant</a> sont nécessaires à la compilation des sources.
+  </li>
+ 
+<li class="tidylist"><b>Problèmes avec des matériels anciens</b><br>[Linux/Unix/Solaris] Si vous ne pouvez pas 
+démarrer le routeur avec <code>i2p/i2prouter start</code> essayez le script <code>runplain.sh</code> dans le même 
+répertoire. L'accès root n'est normalement pas requis pour exécuter I2P. Si vous devez compiler la  
+<a href="http://www.i2p2.i2p/jbigi.html" target="_blank">bibliothèque jBigi</a> (ce est nécessaire dans de rares cas), 
+consultez la documentation appropriée, visitez les forums, ou venez faire un tour sur notre 
+<a href="irc://127.0.0.1:6668/i2p-dev">canal des développeur</a>.
+  </li>
+
+<li class="tidylist"><b>Activez Universal Plug and Play (UPnP)</b><br>Votre modem-routeur est peut-être compatible avec 
+<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Universal_Plug_and_Play" target="_blank">Universal Plug 
+&amp; Play</a> (UPnP) qui permet le transfert de ports automatique. Vérifiez que le support UPnP pour I2P est activé 
+dans la page de <a href="/config">configuration</a>, puis essayez d'activer UPnP dans votre modem-routeur et 
+éventuellement dans votre ordinateur. Maintenant, <a href="/">redémarrez le routeur I2P</a>. Si ça marche, le panneau 
+de surveillance devrait alors indiquer "Réseau: OK" une fois que le routeur I2P aura terminé ses tests de connectivité. 
+</li>
+ 
+<li class="tidylist"><b>Redirection de ports</b><br>Ouvrez le <a href="/config">port d'I2P</a> sur votre modem, routeur 
+et/ou pare-feu(x) logiciels pour améliorer la connectivité (idéalement, pour UDP et TCP). Plus d'informations sur la 
+façon de s'y prendre pour divers matériels est accessible sur 
+<a href="http://portforward.com/" target="_blank">portforward.com</a>, avec nos forums et canaux IRC listés ci-dessous. 
+Notez qu'I2P ne prend pas en charge la connexion à Internet via des mandataires (proxies) http ou socks [correctifs 
+bienvenus!], bien qui vous puissiez vous connecter à des mandataires via I2P lui-même quand il connecté au réseau</li>
+
+<li class="tidylist"><b>Aide en ligne</b><br>Vous pouvez trouver de l'information à parcourir sur le 
+<a href="http://www.i2p2.i2p/" target="_blank">site web I2P</a>, poster des messages sur le 
+<a href="http://forum.i2p/" target="_blank">forum de discussion I2P</a> 
+(accessible <a href="http://forum.i2p2.de/" target="_blank">ici</a> sur l'Internet classique), ou louvoyer sur les 
+canaux IRC 
+<a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> ou encore 
+<a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> dans le réseau interne I2P (<code>irc.postman.i2p</code> ou 
+<code>irc.freshcoffee.i2p</code>). Ces canaux sont aussi accessibles de façon non cryptée en dehors du réseau anonyme 
+via le serveur IRC <a href="irc://irc.freenode.net/i2p">Freenode</a>.
+  </li> 
+  
+<li class="tidylist"><b>Rapports de bogues</b><br>Si vous voulez rapporter un bogue, merci d'enregistrer un ticket sur 
+<a href="http://trac.i2p2.i2p/" target="_blank">trac.i2p2.i2p</a>. Les développeurs discutent sur les 
+<a href="http://zzz.i2p/" target="_blank">fora de développeurs de zzz</a> ou sur le 
+<a href="irc://127.0.0.1:6668/i2p-dev">canal des développeurs</a>. Les développeurs peuvent consulter les sources sur 
+<a href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">l'explorateur du dépôt de zzz</a>, 
+<a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p" target="_blank">l'instance de Sponge</a>, ou par  
+<a href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. Nous utilisons 
+<a href="http://www.i2p2.i2p/monotone.html" target="_blank">monotone</a> pour gérer les sources du code.
+  </li>
+
+<li class="tidylist"><b>Impliquez-vous!</b><br>I2P est principalement développé et maintenu bénévolement par les 
+membres dévoués d'une équipe de développeurs. Nous acceptons les 
+<a href="http://www.i2p2.i2p/donate_fr.html" target="_blank">dons</a>. Ils sont essentiellement affectés aux coûts 
+administratifs et d'hébergements. Nous avons un système de 
+<a href="http://www.i2p2.i2p/bounties.html" target="_blank">primes</a> pour certains aspects d'I2P à l'intention de 
+développeurs qui rechercheraient des incitations, et nous sommes en recherche permanente de plus de  
+<a href="http://www.i2p2.i2p/newdevelopers_fr.html" target="_blank">codeurs Java</a>, de
+<a href="http://www.i2p2.i2p/newtranslators_fr.html" target="_blank">traducteurs</a>, de prescripteurs et 
+d'utilisateurs pour accélérer la diffusion d'I2P. Plus grand sera le réseau I2P, plus tout le monde en profitera, 
+alors en parler simplement à l'apéro avec vos amis au lieu de vous étriper pour savoir si le PSG est plus tafiole 
+que l'OM n'est tarlouze, (et tendre la main à votre pire ennemi pour l'installation et les réglages chaque fois que 
+le besoin s'en fait sentir) sera une belle participation! Pour en savoir plus sur les façons de participer, venez 
+visiter le zoo sur la page "<a href="http://www.i2p2.i2p/getinvolved_fr.html" target="_blank">Engagez-vous!</a>" du 
+site web.
+  </li>
+
+</ul>
 
-<p>Soyez patient - i2p peut s'av&eacute;rer lent &agrave; d&eacute;marrer la premi&egrave;re fois car il recherche des pairs. Si, apr&egrave;s 30 minutes, votre Actives: connect&eacute;/r&eacute;cent compte moins de 10 pairs connect&eacute;s, vous devez ouvrir le port 8887 sur votre pare-feu pour avoir une meilleure connection. Si vous ne pouvez acc&eacute;der &agrave; aucun eepsite (m&ecirc;me <a href="http://www.i2p2.i2p/index_fr.html">www.i2p2.i2p</a>), soyez s&ucirc;r que votre navigateur utilise bien le proxy 127.0.0.1 sur le port 4444. Vous pouvez aussi faire part de votre d&eacute;marche sur le <a href="http://www.i2p2.i2p/index_fr.html">site web I2P</a>, poster des message sur le <a href="http://forum.i2p/">forum de discussion</a>,
- ou passer par
- <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p-fr">#i2p-fr</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> ou <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a>
- sur IRC sur le serveur <a href="irc://irc.freenode.net/#i2p">irc.freenode.net</a>, irc.postman.i2p ou irc.freshcoffee.i2p (ils sont li&eacute;s).</p>
+<div class="topness"><a href="#top">[Haut de page]</a></div>
+<div class="footnote"><hr>Document mis à jour en février 2011</div>
 </div>
diff --git a/installer/resources/set_config_dir_for_nt_service.bat b/installer/resources/set_config_dir_for_nt_service.bat
new file mode 100644
index 0000000000000000000000000000000000000000..adbabdad7d87f53bb4328271b0f477bd6879c09f
--- /dev/null
+++ b/installer/resources/set_config_dir_for_nt_service.bat
@@ -0,0 +1,4 @@
+@echo off
+cd /d %~dp0
+echo.
+echo wrapper.java.additional.5=-Di2p.dir.config="%APPDATA%\i2p">>wrapper.config
diff --git a/router/java/src/net/i2p/router/JobQueueRunner.java b/router/java/src/net/i2p/router/JobQueueRunner.java
index e9b0d08fb99d921a166be0c944e7d20be9d28eb0..7048e068968ee249a6e28749fb8a107f430bb723 100644
--- a/router/java/src/net/i2p/router/JobQueueRunner.java
+++ b/router/java/src/net/i2p/router/JobQueueRunner.java
@@ -22,7 +22,7 @@ class JobQueueRunner implements Runnable {
         _log = _context.logManager().getLog(JobQueueRunner.class);
         _context.statManager().createRateStat("jobQueue.jobRun", "How long jobs take", "JobQueue", new long[] { 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("jobQueue.jobRunSlow", "How long jobs that take over a second take", "JobQueue", new long[] { 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("jobQueue.jobLag", "How long jobs have to wait before running", "JobQueue", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("jobQueue.jobLag", "Job run delay (ms)", "JobQueue", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("jobQueue.jobWait", "How long does a job sit on the job queue?", "JobQueue", new long[] { 60*60*1000l, 24*60*60*1000l });
         //_context.statManager().createRateStat("jobQueue.jobRunnerInactive", "How long are runners inactive?", "JobQueue", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
         //_state = 1;
diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java
index f21d5f6a18f10e046990174871e6d77042f77b43..f9275bada05932564a0fd36b6bd1946f3aa953a1 100644
--- a/router/java/src/net/i2p/router/Router.java
+++ b/router/java/src/net/i2p/router/Router.java
@@ -539,16 +539,14 @@ public class Router {
             return true;
         return Boolean.valueOf(_context.getProperty(PROP_HIDDEN_HIDDEN)).booleanValue();
     }
+
+    /**
+     *  @return the certificate for a new RouterInfo - probably a null cert.
+     */
     public Certificate createCertificate() {
-        Certificate cert = new Certificate();
-        if (isHidden()) {
-            cert.setCertificateType(Certificate.CERTIFICATE_TYPE_HIDDEN);
-            cert.setPayload(null);
-        } else {
-            cert.setCertificateType(Certificate.CERTIFICATE_TYPE_NULL);
-            cert.setPayload(null);
-        }
-        return cert;
+        if (isHidden())
+            return new Certificate(Certificate.CERTIFICATE_TYPE_HIDDEN, null);
+        return Certificate.NULL_CERT;
     }
     
     /**
@@ -1424,19 +1422,20 @@ private static class CoalesceStatsEvent implements SimpleTimer.TimedEvent {
 
     public CoalesceStatsEvent(RouterContext ctx) { 
         _ctx = ctx; 
-        ctx.statManager().createRateStat("bw.receiveBps", "How fast we receive data (in KBps)", "Bandwidth", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
-        ctx.statManager().createRateStat("bw.sendBps", "How fast we send data (in KBps)", "Bandwidth", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
-        ctx.statManager().createRateStat("bw.sendRate", "Low level bandwidth send rate", "Bandwidth", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
-        ctx.statManager().createRateStat("bw.recvRate", "Low level bandwidth receive rate", "Bandwidth", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
-        ctx.statManager().createRateStat("router.activePeers", "How many peers we are actively talking with", "Throttle", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
+        ctx.statManager().createRequiredRateStat("bw.receiveBps", "Message receive rate (Bytes/sec)", "Bandwidth", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
+        // used in the router watchdog
+        ctx.statManager().createRequiredRateStat("bw.sendBps", "Message send rate (Bytes/sec)", "Bandwidth", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
+        ctx.statManager().createRequiredRateStat("bw.sendRate", "Low-level send rate (Bytes/sec)", "Bandwidth", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
+        ctx.statManager().createRequiredRateStat("bw.recvRate", "Low-level receive rate (Bytes/sec)", "Bandwidth", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
+        ctx.statManager().createRequiredRateStat("router.activePeers", "How many peers we are actively talking with", "Throttle", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
         ctx.statManager().createRateStat("router.activeSendPeers", "How many peers we've sent to this minute", "Throttle", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
         ctx.statManager().createRateStat("router.highCapacityPeers", "How many high capacity peers we know", "Throttle", new long[] { 5*60*1000, 60*60*1000 });
-        ctx.statManager().createRateStat("router.fastPeers", "How many fast peers we know", "Throttle", new long[] { 5*60*1000, 60*60*1000 });
+        ctx.statManager().createRequiredRateStat("router.fastPeers", "Known fast peers", "Throttle", new long[] { 5*60*1000, 60*60*1000 });
         _maxMemory = Runtime.getRuntime().maxMemory();
         String legend = "(Bytes)";
         if (_maxMemory < Long.MAX_VALUE)
             legend += " Max is " + DataHelper.formatSize(_maxMemory) + 'B';
-        ctx.statManager().createRateStat("router.memoryUsed", legend, "Router", new long[] { 60*1000 });
+        ctx.statManager().createRequiredRateStat("router.memoryUsed", legend, "Router", new long[] { 60*1000 });
     }
     private RouterContext getContext() { return _ctx; }
     public void timeReached() {
@@ -1469,8 +1468,8 @@ private static class CoalesceStatsEvent implements SimpleTimer.TimedEvent {
             Rate rate = receiveRate.getRate(60*1000);
             if (rate != null) { 
                 double bytes = rate.getLastTotalValue();
-                double KBps = (bytes*1000.0d)/(rate.getPeriod()*1024.0d); 
-                getContext().statManager().addRateData("bw.receiveBps", (long)KBps, 60*1000);
+                double bps = (bytes*1000.0d)/rate.getPeriod(); 
+                getContext().statManager().addRateData("bw.receiveBps", (long)bps, 60*1000);
             }
         }
 
@@ -1479,8 +1478,8 @@ private static class CoalesceStatsEvent implements SimpleTimer.TimedEvent {
             Rate rate = sendRate.getRate(60*1000);
             if (rate != null) {
                 double bytes = rate.getLastTotalValue();
-                double KBps = (bytes*1000.0d)/(rate.getPeriod()*1024.0d); 
-                getContext().statManager().addRateData("bw.sendBps", (long)KBps, 60*1000);
+                double bps = (bytes*1000.0d)/rate.getPeriod(); 
+                getContext().statManager().addRateData("bw.sendBps", (long)bps, 60*1000);
             }
         }
     }
diff --git a/router/java/src/net/i2p/router/RouterClock.java b/router/java/src/net/i2p/router/RouterClock.java
index 3f7b629606838d51c7e8e0e7acee74af0fb9020f..4fdcd5933b3dbdf394bdad98a65526501bc21eb0 100644
--- a/router/java/src/net/i2p/router/RouterClock.java
+++ b/router/java/src/net/i2p/router/RouterClock.java
@@ -131,7 +131,7 @@ public class RouterClock extends Clock {
                 getLog().info("Updating target clock offset to " + offsetMs + "ms from " + _offset + "ms, Stratum " + stratum);
             
             if (!_statCreated) {
-                _contextRC.statManager().createRateStat("clock.skew", "How far is the already adjusted clock being skewed?", "Clock", new long[] { 10*60*1000, 3*60*60*1000, 24*60*60*60 });
+                _contextRC.statManager().createRequiredRateStat("clock.skew", "Clock step adjustment (ms)", "Clock", new long[] { 10*60*1000, 3*60*60*1000, 24*60*60*60 });
                 _statCreated = true;
             }
             _contextRC.statManager().addRateData("clock.skew", delta, 0);
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index a6204817e3d9e640632604f1432a96320e1992ce..a411b009986dc5f1f6384384ad98aeea42885422 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 = 8;
+    public final static long BUILD = 0;
 
     /** for example "-test" */
     public final static String EXTRA = "";
diff --git a/router/java/src/net/i2p/router/RouterWatchdog.java b/router/java/src/net/i2p/router/RouterWatchdog.java
index 482f3b3edd7d95a308828568adfe803da4130f5d..a06a3c1c5c8b1ee66f83e11df7e4c1cd6ac2c1ec 100644
--- a/router/java/src/net/i2p/router/RouterWatchdog.java
+++ b/router/java/src/net/i2p/router/RouterWatchdog.java
@@ -88,8 +88,8 @@ class RouterWatchdog implements Runnable {
             r = null;
             if (rs != null)
                 r = rs.getRate(60*1000);
-            double kbps = (r != null ? r.getAverageValue() : 0);
-            _log.error("Outbound send rate: " + kbps + "KBps");
+            double bps = (r != null ? r.getAverageValue() : 0);
+            _log.error("Outbound send rate: " + bps + " Bps");
             long max = Runtime.getRuntime().maxMemory();
             long used = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
             _log.error("Memory: " + DataHelper.formatSize(used) + '/' + DataHelper.formatSize(max));
diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java
index ae894cf14f694e1c960d24bfe3ccb075a874c0ef..64fa30d0d663b60bc50810254ad1d9671d8e2115 100644
--- a/router/java/src/net/i2p/router/TunnelPoolSettings.java
+++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java
@@ -16,7 +16,7 @@ public class TunnelPoolSettings {
     private int _quantity;
     private int _backupQuantity;
     // private int _rebuildPeriod;
-    private int _duration;
+    //private int _duration;
     private int _length;
     private int _lengthVariance;
     private int _lengthOverride;
@@ -24,8 +24,8 @@ public class TunnelPoolSettings {
     private boolean _isExploratory;
     private boolean _allowZeroHop;
     private int _IPRestriction;
-    private Properties _unknownOptions;
-    private Hash _randomKey;
+    private final Properties _unknownOptions;
+    private final Hash _randomKey;
     
     /** prefix used to override the router's defaults for clients */
     public static final String  PREFIX_DEFAULT = "router.defaultPool.";
@@ -57,7 +57,7 @@ public class TunnelPoolSettings {
         _quantity = DEFAULT_QUANTITY;
         _backupQuantity = DEFAULT_BACKUP_QUANTITY;
         // _rebuildPeriod = DEFAULT_REBUILD_PERIOD;
-        _duration = DEFAULT_DURATION;
+        //_duration = DEFAULT_DURATION;
         _length = DEFAULT_LENGTH;
         _lengthVariance = DEFAULT_LENGTH_VARIANCE;
         _allowZeroHop = DEFAULT_ALLOW_ZERO_HOP;
@@ -107,8 +107,9 @@ public class TunnelPoolSettings {
     public boolean isExploratory() { return _isExploratory; }
     public void setIsExploratory(boolean isExploratory) { _isExploratory = isExploratory; }
     
-    public int getDuration() { return _duration; }
-    public void setDuration(int ms) { _duration = ms; }
+    // Duration is hardcoded
+    //public int getDuration() { return _duration; }
+    //public void setDuration(int ms) { _duration = ms; }
     
     /** what destination is this a tunnel for (or null if none) */
     public Hash getDestination() { return _destination; }
@@ -141,8 +142,8 @@ public class TunnelPoolSettings {
                     _allowZeroHop = getBoolean(value, DEFAULT_ALLOW_ZERO_HOP);
                 else if (name.equalsIgnoreCase(prefix + PROP_BACKUP_QUANTITY))
                     _backupQuantity = getInt(value, DEFAULT_BACKUP_QUANTITY);
-                else if (name.equalsIgnoreCase(prefix + PROP_DURATION))
-                    _duration = getInt(value, DEFAULT_DURATION);
+                //else if (name.equalsIgnoreCase(prefix + PROP_DURATION))
+                //    _duration = getInt(value, DEFAULT_DURATION);
                 else if (name.equalsIgnoreCase(prefix + PROP_LENGTH))
                     _length = getInt(value, DEFAULT_LENGTH);
                 else if (name.equalsIgnoreCase(prefix + PROP_LENGTH_VARIANCE))
@@ -165,7 +166,7 @@ public class TunnelPoolSettings {
         if (props == null) return;
         props.setProperty(prefix + PROP_ALLOW_ZERO_HOP, ""+_allowZeroHop);
         props.setProperty(prefix + PROP_BACKUP_QUANTITY, ""+_backupQuantity);
-        props.setProperty(prefix + PROP_DURATION, ""+_duration);
+        //props.setProperty(prefix + PROP_DURATION, ""+_duration);
         props.setProperty(prefix + PROP_LENGTH, ""+_length);
         props.setProperty(prefix + PROP_LENGTH_VARIANCE, ""+_lengthVariance);
         if (_destinationNickname != null)
diff --git a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
index a73dcde83c363be8facf71c560466fd4a84b7350..88c1a8ededdbbfe199253993639f1f5f3ed4cc16 100644
--- a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
+++ b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
@@ -51,11 +51,11 @@ import net.i2p.util.SimpleTimer;
  * @author jrandom
  */
 class ClientConnectionRunner {
-    private Log _log;
+    private final Log _log;
     protected final RouterContext _context;
-    private ClientManager _manager;
+    private final ClientManager _manager;
     /** socket for this particular peer connection */
-    private Socket _socket;
+    private final Socket _socket;
     /** output stream of the socket that I2CP messages bound to the client should be written to */
     private OutputStream _out;
     /** session ID of the current client */
@@ -63,13 +63,13 @@ class ClientConnectionRunner {
     /** user's config */
     private SessionConfig _config;
     /** static mapping of MessageId to Payload, storing messages for retrieval */
-    private Map<MessageId, Payload> _messages; 
+    private final Map<MessageId, Payload> _messages; 
     /** lease set request state, or null if there is no request pending on at the moment */
     private LeaseRequestState _leaseRequest;
     /** currently allocated leaseSet, or null if none is allocated */
     private LeaseSet _currentLeaseSet;
     /** set of messageIds created but not yet ACCEPTED */
-    private Set<MessageId> _acceptedPending;
+    private final Set<MessageId> _acceptedPending;
     /** thingy that does stuff */
     protected I2CPMessageReader _reader;
     /** just for this destination */
@@ -137,15 +137,14 @@ class ClientConnectionRunner {
         _messages.clear();
         if (_sessionKeyManager != null)
             _sessionKeyManager.shutdown();
-        if (_manager != null)
-            _manager.unregisterConnection(this);
+        _manager.unregisterConnection(this);
         if (_currentLeaseSet != null)
             _context.netDb().unpublish(_currentLeaseSet);
         _leaseRequest = null;
         synchronized (_alreadyProcessed) {
             _alreadyProcessed.clear();
         }
-        _config = null;
+        //_config = null;
         //_manager = null;
     }
     
diff --git a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
index fc22cadfacabc3d2d517c4571c696f0494d67fdc..1fb4e31b33a4598c223b38234443ca0964f6f78d 100644
--- a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
+++ b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
@@ -163,7 +163,7 @@ public class OutboundClientMessageOneShotJob extends JobImpl {
         SimpleScheduler.getInstance().addPeriodicEvent(new OCMOSJCacheCleaner(ctx), CLEAN_INTERVAL, CLEAN_INTERVAL);
         ctx.statManager().createFrequencyStat("client.sendMessageFailFrequency", "How often does a client fail to send a message?", "ClientMessages", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
         ctx.statManager().createRateStat("client.sendMessageSize", "How large are messages sent by the client?", "ClientMessages", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
-        ctx.statManager().createRateStat("client.sendAckTime", "Message round trip time", "ClientMessages", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        ctx.statManager().createRequiredRateStat("client.sendAckTime", "Message round trip time (ms)", "ClientMessages", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         ctx.statManager().createRateStat("client.timeoutCongestionTunnel", "How lagged our tunnels are when a send times out?", "ClientMessages", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         ctx.statManager().createRateStat("client.timeoutCongestionMessage", "How fast we process messages locally when a send times out?", "ClientMessages", new long[] { 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         ctx.statManager().createRateStat("client.timeoutCongestionInbound", "How much faster we are receiving data than our average bps when a send times out?", "ClientMessages", new long[] { 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
index 3964b3a1ea49246f856362ed52a7c05662335e39..04683309a6c3b9145fdde066c46354357691409a 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
@@ -26,8 +26,8 @@ class FloodfillMonitorJob extends JobImpl {
     private static final int REQUEUE_DELAY = 60*60*1000;
     private static final long MIN_UPTIME = 2*60*60*1000;
     private static final long MIN_CHANGE_DELAY = 6*60*60*1000;
-    private static final int MIN_FF = 60;
-    private static final int MAX_FF = 100;
+    private static final int MIN_FF = 75;
+    private static final int MAX_FF = 150;
     private static final String PROP_FLOODFILL_PARTICIPANT = "router.floodfillParticipant";
     
     public FloodfillMonitorJob(RouterContext context, FloodfillNetworkDatabaseFacade facade) {
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
index 5ba6701353326c768197adec60af97b8d0890d82..8268ace7bdefc29f96ea8cee5bd26832a281c0e4 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
@@ -48,7 +48,7 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
          _verifiesInProgress = new ConcurrentHashSet(8);
         _alwaysQuery = _context.getProperty("netDb.alwaysQuery");
 
-        _context.statManager().createRateStat("netDb.successTime", "How long a successful search takes", "NetworkDatabase", new long[] { 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("netDb.successTime", "Time for successful lookup (ms)", "NetworkDatabase", new long[] { 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("netDb.failedTime", "How long a failed search takes", "NetworkDatabase", new long[] { 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("netDb.failedAttemptedPeers", "How many peers we sent a search to when the search fails", "NetworkDatabase", new long[] { 60*1000l, 10*60*1000l });
         _context.statManager().createRateStat("netDb.successPeers", "How many peers are contacted in a successful search", "NetworkDatabase", new long[] { 60*60*1000l, 24*60*60*1000l });
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
index 7409c8e76de638909a6efbf11b783e69b3837bfc..7a3b7741a93f2b29c858fbdda91259c0b63083dd 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
@@ -120,7 +120,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade {
      * know anyone or just started up) -- see validate() below
      */
     private final static long ROUTER_INFO_EXPIRATION = 3*24*60*60*1000l;
-    private final static long ROUTER_INFO_EXPIRATION_MIN = 150*60*1000l;
+    private final static long ROUTER_INFO_EXPIRATION_MIN = 120*60*1000l;
     private final static long ROUTER_INFO_EXPIRATION_SHORT = 90*60*1000l;
     private final static long ROUTER_INFO_EXPIRATION_FLOODFILL = 60*60*1000l;
     
diff --git a/router/java/src/net/i2p/router/networkdb/reseed/ReseedChecker.java b/router/java/src/net/i2p/router/networkdb/reseed/ReseedChecker.java
index dd11c4ae2145178c5fc1fbc75cd5d1f86c12c5db..6bb816985da20e829434de112d4e815c3b47fc43 100644
--- a/router/java/src/net/i2p/router/networkdb/reseed/ReseedChecker.java
+++ b/router/java/src/net/i2p/router/networkdb/reseed/ReseedChecker.java
@@ -35,9 +35,9 @@ public class ReseedChecker {
         if (!noReseedFile.exists() && !noReseedFileAlt1.exists() && !noReseedFileAlt2.exists() && !noReseedFileAlt3.exists()) {
             Log _log = context.logManager().getLog(ReseedChecker.class);
             if (count <= 1)
-                _log.error("Downloading peer router information for a new I2P installation");
+                _log.logAlways(Log.INFO, "Downloading peer router information for a new I2P installation");
             else
-                _log.error("Very few routerInfo files remaining - reseeding now");
+                _log.logAlways(Log.WARN, "Very few known peers remaining - reseeding now");
             Reseeder reseeder = new Reseeder(context);
             reseeder.requestReseed();
         }
diff --git a/router/java/src/net/i2p/router/peermanager/DBHistory.java b/router/java/src/net/i2p/router/peermanager/DBHistory.java
index 36b9bc9a3015d08fa1e1f3689a2292fd7d726571..3c5eb077efe8c8149d2c34e961a7e1a78c865579 100644
--- a/router/java/src/net/i2p/router/peermanager/DBHistory.java
+++ b/router/java/src/net/i2p/router/peermanager/DBHistory.java
@@ -13,8 +13,8 @@ import net.i2p.util.Log;
  *
  */
 public class DBHistory {
-    private Log _log;
-    private RouterContext _context;
+    private final Log _log;
+    private final RouterContext _context;
     private long _successfulLookups;
     private long _failedLookups;
     private RateStat _failedLookupRate;
@@ -32,25 +32,13 @@ public class DBHistory {
     private long _lastStoreFailed;
     private long _unpromptedDbStoreNew;
     private long _unpromptedDbStoreOld;
-    private String _statGroup;
+    private final String _statGroup;
     
     public DBHistory(RouterContext context, String statGroup) {
         _context = context;
         _log = context.logManager().getLog(DBHistory.class);
         _statGroup = statGroup;
-        _successfulLookups = 0;
-        _failedLookups = 0;
-        _failedLookupRate = null;
-        _invalidReplyRate = null;
-        _lookupReplyNew = 0;
-        _lookupReplyOld = 0;
-        _lookupReplyDuplicate = 0;
-        _lookupReplyInvalid = 0;
-        _lookupsReceived = 0;
-        _avgDelayBetweenLookupsReceived = 0;
         _lastLookupReceived = -1;
-        _unpromptedDbStoreNew = 0;
-        _unpromptedDbStoreOld = 0;
         createRates(statGroup);
     }
     
diff --git a/router/java/src/net/i2p/router/peermanager/PeerManager.java b/router/java/src/net/i2p/router/peermanager/PeerManager.java
index a2c4327631698fd9bec5ce4b9fdf6e71b55da385..8a7ea723d131d02e889619055715409937533e46 100644
--- a/router/java/src/net/i2p/router/peermanager/PeerManager.java
+++ b/router/java/src/net/i2p/router/peermanager/PeerManager.java
@@ -23,10 +23,9 @@ import net.i2p.data.RouterInfo;
 import net.i2p.router.PeerSelectionCriteria;
 import net.i2p.router.RouterContext;
 import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
-import net.i2p.util.Log;
-import net.i2p.util.SimpleScheduler;
-import net.i2p.util.SimpleTimer;
 import net.i2p.util.ConcurrentHashSet;
+import net.i2p.util.Log;
+import net.i2p.util.SimpleTimer2;
 
 /**
  * Manage the current state of the statistics
@@ -43,12 +42,15 @@ import net.i2p.util.ConcurrentHashSet;
  *
  */
 class PeerManager {
-    private Log _log;
-    private RouterContext _context;
-    private ProfileOrganizer _organizer;
-    private ProfilePersistenceHelper _persistenceHelper;
-    private Set<Hash> _peersByCapability[];
+    private final Log _log;
+    private final RouterContext _context;
+    private final ProfileOrganizer _organizer;
+    private final ProfilePersistenceHelper _persistenceHelper;
+    private final Set<Hash> _peersByCapability[];
     private final Map<Hash, String> _capabilitiesByPeer;
+    private static final long REORGANIZE_TIME = 45*1000;
+    private static final long REORGANIZE_TIME_MEDIUM = 123*1000;
+    private static final long REORGANIZE_TIME_LONG = 551*1000;
     
     public PeerManager(RouterContext context) {
         _context = context;
@@ -62,17 +64,30 @@ class PeerManager {
             _peersByCapability[i] = new ConcurrentHashSet();
         loadProfiles();
         ////_context.jobQueue().addJob(new EvaluateProfilesJob(_context));
-        SimpleScheduler.getInstance().addPeriodicEvent(new Reorg(), 0, 45*1000);
+        //SimpleScheduler.getInstance().addPeriodicEvent(new Reorg(), 0, REORGANIZE_TIME);
+        new Reorg();
         //_context.jobQueue().addJob(new PersistProfilesJob(_context, this));
     }
     
-    private class Reorg implements SimpleTimer.TimedEvent {
+    private class Reorg extends SimpleTimer2.TimedEvent {
+        public Reorg() {
+            super(SimpleTimer2.getInstance(), REORGANIZE_TIME);
+        }
         public void timeReached() {
             try {
                 _organizer.reorganize(true);
             } catch (Throwable t) {
                 _log.log(Log.CRIT, "Error evaluating profiles", t);
             }
+            long uptime = _context.router().getUptime();
+            long delay;
+            if (uptime > 2*60*60*1000)
+                delay = REORGANIZE_TIME_LONG;
+            else if (uptime > 10*60*1000)
+                delay = REORGANIZE_TIME_MEDIUM;
+            else
+                delay = REORGANIZE_TIME;
+            schedule(delay);
         }
     }
     
diff --git a/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java b/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java
index 3904101ceadd2bf26347e30933bbea703536b9a5..e208daefe541a08502e53dde0467881a12069517 100644
--- a/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java
+++ b/router/java/src/net/i2p/router/peermanager/PeerManagerFacadeImpl.java
@@ -24,11 +24,11 @@ import net.i2p.util.Log;
  *
  */
 public class PeerManagerFacadeImpl implements PeerManagerFacade {
-    private Log _log;
+    private final Log _log;
     private PeerManager _manager;
-    private RouterContext _context;
-    private ProfilePersistenceHelper _persistenceHelper;
-    private PeerTestJob _testJob;
+    private final RouterContext _context;
+    private final ProfilePersistenceHelper _persistenceHelper;
+    private final PeerTestJob _testJob;
     
     public PeerManagerFacadeImpl(RouterContext ctx) {
         _context = ctx;
diff --git a/router/java/src/net/i2p/router/peermanager/PeerTestJob.java b/router/java/src/net/i2p/router/peermanager/PeerTestJob.java
index 1d5fe3a849ac1dc098c434dc07ffe83ff316cc3f..ab3f2542e60a16f8170a57b1b1000dca0f261391 100644
--- a/router/java/src/net/i2p/router/peermanager/PeerTestJob.java
+++ b/router/java/src/net/i2p/router/peermanager/PeerTestJob.java
@@ -27,7 +27,7 @@ import net.i2p.util.Log;
  *
  */
 public class PeerTestJob extends JobImpl {
-    private Log _log;
+    private final Log _log;
     private PeerManager _manager;
     private boolean _keepTesting;
     private static final long DEFAULT_PEER_TEST_DELAY = 5*60*1000;
diff --git a/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java b/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java
index 5a0a69f0be2e5cc1d2e1a00e53824b22d35f90f3..dbdd9836b79e5a13335b14de09bde10840411b2a 100644
--- a/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java
+++ b/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java
@@ -22,8 +22,8 @@ import net.i2p.router.RouterContext;
 import net.i2p.util.Log;
 
 public class ProfileManagerImpl implements ProfileManager {
-    private Log _log;
-    private RouterContext _context;
+    private final Log _log;
+    private final RouterContext _context;
     
     public ProfileManagerImpl(RouterContext context) {
         _context = context;
diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
index 31fd6c37421dedeccdb394630f5e54d084b8703d..43080246d5ba9c516dbcaf304149a2c7867cd9fc 100644
--- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
+++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
@@ -2,7 +2,6 @@ package net.i2p.router.peermanager;
 
 import java.io.IOException;
 import java.io.OutputStream;
-import java.io.Writer;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.text.DecimalFormat;
@@ -22,6 +21,7 @@ import java.util.TreeSet;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+import net.i2p.crypto.SHA256Generator;
 import net.i2p.data.Hash;
 import net.i2p.data.RouterAddress;
 import net.i2p.data.RouterInfo;
@@ -40,23 +40,23 @@ import net.i2p.util.Log;
  * should be used to add new profiles (placing them into the appropriate groupings).
  */
 public class ProfileOrganizer {
-    private Log _log;
-    private RouterContext _context;
+    private final Log _log;
+    private final RouterContext _context;
     /** H(routerIdentity) to PeerProfile for all peers that are fast and high capacity*/
-    private Map<Hash, PeerProfile> _fastPeers;
+    private final Map<Hash, PeerProfile> _fastPeers;
     /** H(routerIdentity) to PeerProfile for all peers that have high capacities */
-    private Map<Hash, PeerProfile> _highCapacityPeers;
+    private final Map<Hash, PeerProfile> _highCapacityPeers;
     /** H(routerIdentity) to PeerProfile for all peers that well integrated into the network and not failing horribly */
-    private Map<Hash, PeerProfile> _wellIntegratedPeers;
+    private final Map<Hash, PeerProfile> _wellIntegratedPeers;
     /** H(routerIdentity) to PeerProfile for all peers that are not failing horribly */
-    private Map<Hash, PeerProfile> _notFailingPeers;
+    private final Map<Hash, PeerProfile> _notFailingPeers;
     /** H(routerIdnetity), containing elements in _notFailingPeers */
-    private List<Hash> _notFailingPeersList;
+    private final List<Hash> _notFailingPeersList;
     /** H(routerIdentity) to PeerProfile for all peers that ARE failing horribly (but that we haven't dropped reference to yet) */
-    private Map<Hash, PeerProfile> _failingPeers;
+    private final Map<Hash, PeerProfile> _failingPeers;
     /** who are we? */
     private Hash _us;
-    private ProfilePersistenceHelper _persistenceHelper;
+    private final ProfilePersistenceHelper _persistenceHelper;
     
     /** PeerProfile objects for all peers profiled, orderd by the ones with the highest capacity first */
     private Set<PeerProfile> _strictCapacityOrder;
@@ -68,7 +68,7 @@ public class ProfileOrganizer {
     /** integration value, seperating well integrated from not well integrated */
     private double _thresholdIntegrationValue;
     
-    private InverseCapacityComparator _comp;
+    private final InverseCapacityComparator _comp;
 
     /**
      * Defines the minimum number of 'fast' peers that the organizer should select.  See
@@ -78,7 +78,9 @@ public class ProfileOrganizer {
     public static final String PROP_MINIMUM_FAST_PEERS = "profileOrganizer.minFastPeers";
     public static final int DEFAULT_MINIMUM_FAST_PEERS = 8;
     /** this is misnamed, it is really the max minimum number. */
-    private static final int DEFAULT_MAXIMUM_FAST_PEERS = 16;
+    private static final int DEFAULT_MAXIMUM_FAST_PEERS = 18;
+    private static final int ABSOLUTE_MAX_FAST_PEERS = 60;
+
     /**
      * Defines the minimum number of 'high capacity' peers that the organizer should 
      * select when using the mean - if less than this many are available, select the 
@@ -87,13 +89,11 @@ public class ProfileOrganizer {
      */
     public static final String PROP_MINIMUM_HIGH_CAPACITY_PEERS = "profileOrganizer.minHighCapacityPeers";
     public static final int DEFAULT_MINIMUM_HIGH_CAPACITY_PEERS = 10;
+    private static final int ABSOLUTE_MAX_HIGHCAP_PEERS = 150;
     
     /** synchronized against this lock when updating the tier that peers are located in (and when fetching them from a peer) */
     private final ReentrantReadWriteLock _reorganizeLock = new ReentrantReadWriteLock(true);
     
-    /** incredibly weak PRNG, just used for shuffling peers.  no need to waste the real PRNG on this */
-    private Random _random = new Random();
-    
     public ProfileOrganizer(RouterContext context) {
         _context = context;
         _log = context.logManager().getLog(ProfileOrganizer.class);
@@ -105,9 +105,6 @@ public class ProfileOrganizer {
         _notFailingPeersList = new ArrayList(256);
         _failingPeers = new HashMap(16);
         _strictCapacityOrder = new TreeSet(_comp);
-        _thresholdSpeedValue = 0.0d;
-        _thresholdCapacityValue = 0.0d;
-        _thresholdIntegrationValue = 0.0d;
         _persistenceHelper = new ProfilePersistenceHelper(_context);
         
         _context.statManager().createRateStat("peer.profileSortTime", "How long the reorg takes sorting peers", "Peers", new long[] { 10*60*1000 });
@@ -116,7 +113,7 @@ public class ProfileOrganizer {
         _context.statManager().createRateStat("peer.profilePlaceTime", "How long the reorg takes placing peers in the tiers", "Peers", new long[] { 10*60*1000 });
         _context.statManager().createRateStat("peer.profileReorgTime", "How long the reorg takes overall", "Peers", new long[] { 10*60*1000 });
         // used in DBHistory
-        _context.statManager().createRateStat("peer.failedLookupRate", "DB Lookup fail rate", "Peers", new long[] { 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("peer.failedLookupRate", "Net DB Lookup fail rate", "Peers", new long[] { 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
     }
     
     private void getReadLock() {
@@ -281,6 +278,20 @@ public class ProfileOrganizer {
     public void selectFastPeers(int howMany, Set<Hash> exclude, Set<Hash> matches) {
         selectFastPeers(howMany, exclude, matches, 0);
     }
+
+    /**
+     * Return a set of Hashes for peers that are both fast and reliable.  If an insufficient
+     * number of peers are both fast and reliable, fall back onto high capacity peers, and if that
+     * doesn't contain sufficient peers, fall back onto not failing peers, and even THAT doesn't
+     * have sufficient peers, fall back onto failing peers.
+     *
+     * @param howMany how many peers are desired
+     * @param exclude set of Hashes for routers that we don't want selected
+     * @param matches set to store the return value in
+     * @param mask 0-4 Number of bytes to match to determine if peers in the same IP range should
+     *             not be in the same tunnel. 0 = disable check; 1 = /8; 2 = /16; 3 = /24; 4 = exact IP match
+     *
+     */
     public void selectFastPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, int mask) {
         getReadLock();
         try {
@@ -297,6 +308,51 @@ public class ProfileOrganizer {
         return;
     }
     
+    /**
+     * Return a set of Hashes for peers that are both fast and reliable.  If an insufficient
+     * number of peers are both fast and reliable, fall back onto high capacity peers, and if that
+     * doesn't contain sufficient peers, fall back onto not failing peers, and even THAT doesn't
+     * have sufficient peers, fall back onto failing peers.
+     *
+     * @param howMany how many peers are desired
+     * @param exclude set of Hashes for routers that we don't want selected
+     * @param matches set to store the return value in
+     * @param randomKey used for deterministic random partitioning into subtiers
+     * @param subTierMode 0 or 2-7:
+     *<pre>
+     *    0: no partitioning, use entire tier
+     *    2: return only from group 0 or 1
+     *    3: return only from group 2 or 3
+     *    4: return only from group 0
+     *    5: return only from group 1
+     *    6: return only from group 2
+     *    7: return only from group 3
+     *</pre>
+     */
+    public void selectFastPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, Hash randomKey, int subTierMode) {
+        getReadLock();
+        try {
+            if (subTierMode > 0) {
+                int sz = _fastPeers.size();
+                if (sz < 6 || (subTierMode >= 4 && sz < 12))
+                    subTierMode = 0;
+            }
+            if (subTierMode > 0)
+                locked_selectPeers(_fastPeers, howMany, exclude, matches, randomKey, subTierMode);
+            else
+                locked_selectPeers(_fastPeers, howMany, exclude, matches, 2);
+        } finally { releaseReadLock(); }
+        if (matches.size() < howMany) {
+            if (_log.shouldLog(Log.INFO))
+                _log.info("selectFastPeers("+howMany+"), not enough fast (" + matches.size() + ") going on to highCap");
+            selectHighCapacityPeers(howMany, exclude, matches, 2);
+        } else {
+            if (_log.shouldLog(Log.INFO))
+                _log.info("selectFastPeers("+howMany+"), found enough fast (" + matches.size() + ")");
+        }
+        return;
+    }
+    
     /**
      * Return a set of Hashes for peers that have a high capacity
      *
@@ -304,6 +360,11 @@ public class ProfileOrganizer {
     public void selectHighCapacityPeers(int howMany, Set<Hash> exclude, Set<Hash> matches) {
         selectHighCapacityPeers(howMany, exclude, matches, 0);
     }
+
+    /**
+     * @param mask 0-4 Number of bytes to match to determine if peers in the same IP range should
+     *             not be in the same tunnel. 0 = disable check; 1 = /8; 2 = /16; 3 = /24; 4 = exact IP match
+     */
     public void selectHighCapacityPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, int mask) {
         getReadLock();
         try {
@@ -328,6 +389,7 @@ public class ProfileOrganizer {
         }
         return;
     }
+
     /**
      * Return a set of Hashes for peers that are well integrated into the network.
      *
@@ -335,6 +397,13 @@ public class ProfileOrganizer {
     public void selectWellIntegratedPeers(int howMany, Set<Hash> exclude, Set<Hash> matches) {
         selectWellIntegratedPeers(howMany, exclude, matches, 0);
     }
+
+    /**
+     * Return a set of Hashes for peers that are well integrated into the network.
+     *
+     * @param mask 0-4 Number of bytes to match to determine if peers in the same IP range should
+     *             not be in the same tunnel. 0 = disable check; 1 = /8; 2 = /16; 3 = /24; 4 = exact IP match
+     */
     public void selectWellIntegratedPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, int mask) {
         getReadLock();
         try {
@@ -351,6 +420,7 @@ public class ProfileOrganizer {
         
         return;
     }
+
     /**
      * Return a set of Hashes for peers that are not failing, preferring ones that
      * we are already talking with
@@ -359,12 +429,18 @@ public class ProfileOrganizer {
     public void selectNotFailingPeers(int howMany, Set<Hash> exclude, Set<Hash> matches) {
         selectNotFailingPeers(howMany, exclude, matches, false, 0);
     }
+
+    /**
+     * @param mask ignored, should call locked_selectPeers, to be fixed
+     */
     public void selectNotFailingPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, int mask) {
         selectNotFailingPeers(howMany, exclude, matches, false, mask);
     }
+
     public void selectNotFailingPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, boolean onlyNotFailing) {
         selectNotFailingPeers(howMany, exclude, matches, onlyNotFailing, 0);
     }
+
     /**
      * Return a set of Hashes for peers that are not failing, preferring ones that
      * we are already talking with
@@ -373,6 +449,7 @@ public class ProfileOrganizer {
      * @param exclude what peers to skip (may be null)
      * @param matches set to store the matches in
      * @param onlyNotFailing if true, don't include any high capacity peers
+     * @param mask ignored, should call locked_selectPeers, to be fixed
      */
     public void selectNotFailingPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, boolean onlyNotFailing, int mask) {
         if (matches.size() < howMany)
@@ -417,6 +494,9 @@ public class ProfileOrganizer {
      * and we're using this to try and limit connections.
      *
      * This DOES cascade further to non-connected peers.
+     *
+     * @param mask 0-4 Number of bytes to match to determine if peers in the same IP range should
+     *             not be in the same tunnel. 0 = disable check; 1 = /8; 2 = /16; 3 = /24; 4 = exact IP match
      */
     private void selectActiveNotFailingPeers2(int howMany, Set<Hash> exclude, Set<Hash> matches, int mask) {
         if (matches.size() < howMany) {
@@ -448,6 +528,7 @@ public class ProfileOrganizer {
     public void selectAllNotFailingPeers(int howMany, Set<Hash> exclude, Set<Hash> matches, boolean onlyNotFailing) {
         selectAllNotFailingPeers(howMany, exclude, matches, onlyNotFailing, 0);
     }
+
     /**
      * @param mask ignored, should call locked_selectPeers, to be fixed
      *
@@ -497,6 +578,7 @@ public class ProfileOrganizer {
         }
         return;
     }
+
     /**
      * I'm not quite sure why you'd want this... (other than for failover from the better results)
      *
@@ -614,6 +696,7 @@ public class ProfileOrganizer {
      *
      */
     public void reorganize() { reorganize(false); }
+
     public void reorganize(boolean shouldCoalesce) {
         long sortTime = 0;
         int coalesceTime = 0;
@@ -1034,10 +1117,10 @@ public class ProfileOrganizer {
     
     /** called after locking the reorganizeLock */
     private PeerProfile locked_getProfile(Hash peer) {
-        PeerProfile cur = (PeerProfile)_notFailingPeers.get(peer);
+        PeerProfile cur = _notFailingPeers.get(peer);
         if (cur != null) 
             return cur;
-        cur = (PeerProfile)_failingPeers.get(peer);
+        cur = _failingPeers.get(peer);
         return cur;
     }
     
@@ -1050,6 +1133,10 @@ public class ProfileOrganizer {
         locked_selectPeers(peers, howMany, toExclude, matches, 0);
     }
 
+    /**
+     * @param mask 0-4 Number of bytes to match to determine if peers in the same IP range should
+     *             not be in the same tunnel. 0 = disable check; 1 = /8; 2 = /16; 3 = /24; 4 = exact IP match
+     */
     private void locked_selectPeers(Map<Hash, PeerProfile> peers, int howMany, Set<Hash> toExclude, Set<Hash> matches, int mask) {
         List<Hash> all = new ArrayList(peers.keySet());
         Set<Integer> IPSet = new HashSet(8);
@@ -1125,7 +1212,7 @@ public class ProfileOrganizer {
     }
 
     /** generate an arbitrary unique value for this ip/mask (mask = 1-4) */
-    private Integer maskedIP(byte[] ip, int mask) {
+    private static Integer maskedIP(byte[] ip, int mask) {
         int rv = 0;
         for (int i = 0; i < mask; i++)
              rv = (rv << 8) | (ip[i] & 0xff);
@@ -1133,7 +1220,7 @@ public class ProfileOrganizer {
     }
 
     /** does a contain any of the elements in b? */
-    private boolean containsAny(Set a, Set b) {
+    private static boolean containsAny(Set a, Set b) {
         for (Object o : b) {
             if (a.contains(o))
                 return true;
@@ -1141,6 +1228,58 @@ public class ProfileOrganizer {
         return false;
     }
 
+    /**
+     * @param randomKey used for deterministic random partitioning into subtiers
+     * @param subTierMode 2-7:
+     *<pre>
+     *    2: return only from group 0 or 1
+     *    3: return only from group 2 or 3
+     *    4: return only from group 0
+     *    5: return only from group 1
+     *    6: return only from group 2
+     *    7: return only from group 3
+     *</pre>
+     */
+    private void locked_selectPeers(Map<Hash, PeerProfile> peers, int howMany, Set<Hash> toExclude, Set<Hash> matches, Hash randomKey, int subTierMode) {
+        List<Hash> all = new ArrayList(peers.keySet());
+        // use RandomIterator to avoid shuffling the whole thing
+        for (Iterator<Hash> iter = new RandomIterator(all); (matches.size() < howMany) && iter.hasNext(); ) {
+            Hash peer = iter.next();
+            if (toExclude != null && toExclude.contains(peer))
+                continue;
+            if (matches.contains(peer))
+                continue;
+            if (_us.equals(peer))
+                continue;
+            int subTier = getSubTier(peer, randomKey);
+            if (subTierMode >= 4) {
+                if (subTier != (subTierMode & 0x03))
+                    continue;
+            } else {
+                if ((subTier >> 1) != (subTierMode & 0x01))
+                    continue;
+            }
+            boolean ok = isSelectable(peer);
+            if (ok)
+                matches.add(peer);
+            else
+                matches.remove(peer);
+        }
+    }
+    
+    /**
+     *  Implement a random, deterministic split into 4 groups that cannot be predicted by
+     *  others.
+     *  @return 0-3
+     */
+    private static int getSubTier(Hash peer, Hash randomKey) {
+        byte[] data = new byte[Hash.HASH_LENGTH + 4];
+        System.arraycopy(peer.getData(), 0, data, 0, Hash.HASH_LENGTH);
+        System.arraycopy(randomKey.getData(), 0, data, Hash.HASH_LENGTH, 4);
+        Hash rh = SHA256Generator.getInstance().calculateHash(data);
+        return rh.getData()[0] & 0x03;
+    }
+
     public boolean isSelectable(Hash peer) {
         NetworkDatabaseFacade netDb = _context.netDb();
         // the CLI shouldn't depend upon the netDb
@@ -1255,18 +1394,18 @@ public class ProfileOrganizer {
      */
     protected int getMinimumFastPeers() {
         int def = Math.min(DEFAULT_MAXIMUM_FAST_PEERS,
-                           (2 *_context.clientManager().listClients().size()) + DEFAULT_MINIMUM_FAST_PEERS - 2);
+                           (6 *_context.clientManager().listClients().size()) + DEFAULT_MINIMUM_FAST_PEERS - 2);
         return _context.getProperty(PROP_MINIMUM_FAST_PEERS, def);
     }
     
     /** fixme add config  @since 0.7.10 */
     protected int getMaximumFastPeers() {
-        return 30;
+        return ABSOLUTE_MAX_FAST_PEERS;
     }
     
     /** fixme add config  @since 0.7.11 */
     protected int getMaximumHighCapPeers() {
-        return 75;
+        return ABSOLUTE_MAX_HIGHCAP_PEERS;
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java b/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java
index e278063aa5249eeb553ca705b88e50d03f4424b7..af0167f20ab447359dbcf19aeaaf3ee38a9c0a47 100644
--- a/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java
+++ b/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java
@@ -28,9 +28,9 @@ import net.i2p.util.SecureFileOutputStream;
 /**
  *  Write profiles to disk at shutdown,
  *  read at startup.
- *  The files are gzip compressed, however we unfortunately store them
- *  with a ".dat" extension instead of ".txt.gz", so it isn't apparent.
- *  TODO: Migrate to new extension.
+ *  The files are gzip compressed, we previously stored them
+ *  with a ".dat" extension instead of ".txt.gz", so it wasn't apparent.
+ *  Now migrated to a ".txt.gz" extension.
  */
 class ProfilePersistenceHelper {
     private final Log _log;
diff --git a/router/java/src/net/i2p/router/peermanager/TunnelHistory.java b/router/java/src/net/i2p/router/peermanager/TunnelHistory.java
index bc6109bcad44c2f82455af55a4ac6d5bb1702563..63f3741d481f6b08c63c4e439ee24239cbc3a656 100644
--- a/router/java/src/net/i2p/router/peermanager/TunnelHistory.java
+++ b/router/java/src/net/i2p/router/peermanager/TunnelHistory.java
@@ -14,8 +14,8 @@ import net.i2p.util.Log;
  *
  */
 public class TunnelHistory {
-    private RouterContext _context;
-    private Log _log;
+    private final RouterContext _context;
+    private final Log _log;
     private volatile long _lifetimeAgreedTo;
     private volatile long _lifetimeRejected;
     private volatile long _lastAgreedTo;
@@ -27,7 +27,7 @@ public class TunnelHistory {
     private volatile long _lastFailed;
     private RateStat _rejectRate;
     private RateStat _failRate;
-    private String _statGroup;
+    private final String _statGroup;
     
     /** probabalistic tunnel rejection due to a flood of requests - essentially unused */
     public static final int TUNNEL_REJECT_PROBABALISTIC_REJECT = 10;
@@ -111,6 +111,7 @@ public class TunnelHistory {
         _lastFailed = _context.clock().now();
     }
     
+/*****  all unused
     public void setLifetimeAgreedTo(long num) { _lifetimeAgreedTo = num; }
     public void setLifetimeRejected(long num) { _lifetimeRejected = num; }
     public void setLifetimeFailed(long num) { _lifetimeFailed = num; }
@@ -120,6 +121,7 @@ public class TunnelHistory {
     public void setLastRejectedTransient(long when) { _lastRejectedTransient = when; }
     public void setLastRejectedProbabalistic(long when) { _lastRejectedProbabalistic = when; }
     public void setLastFailed(long when) { _lastFailed = when; }
+******/
     
     public RateStat getRejectionRate() { return _rejectRate; }
     public RateStat getFailedRate() { return _failRate; }
diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java
index 1a8249798a8d338312192a305abd480ece53f2ed..a1f414ac29869470e3c41dfcad2250a779dddc0e 100644
--- a/router/java/src/net/i2p/router/startup/WorkingDir.java
+++ b/router/java/src/net/i2p/router/startup/WorkingDir.java
@@ -164,14 +164,22 @@ public class WorkingDir {
         }
     }
 
-    /** Returns <code>false</code> if a directory is empty, or contains nothing besides a subdirectory named plugins */
+    /**
+     * Tests if <code>dir</code> has been set up as a I2P working directory.<br/>
+     * Returns <code>false</code> if a directory is empty, or contains nothing besides
+     * subdirectories named <code>plugins</code> and/or <code>logs</code>.<br/>
+     * Returns <code>true</code> if the directory contains something not named
+     * <code>plugins</code> or <code>logs</code>.</br>
+     * This allows to pre-install plugins before the first router start.
+     */
     private static boolean isSetup(File dir) {
         if (dir.isDirectory()) {
             String[] files = dir.list();
-            if (files.length == 0)
+            if (files == null)
                 return false;
-            if (files.length>1 || !"plugins".equals(files[0]))
-                return true;
+            for (String file: files)
+                if (!"plugins".equals(file) && !"logs".equals(file))
+                    return true;
         }
         return false;
     }
diff --git a/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java b/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java
index c0245478314bde43ae73920ef5f8e91545b265a3..bea77fcf475dae4b7527b9f0bfe7d0b62907b477 100644
--- a/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java
+++ b/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java
@@ -85,13 +85,6 @@ public class FIFOBandwidthLimiter {
         _context.statManager().createRateStat("bwLimiter.pendingInboundRequests", "How many inbound requests are ahead of the current one (ignoring ones with 0)?", "BandwidthLimiter", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
         _context.statManager().createRateStat("bwLimiter.outboundDelayedTime", "How long it takes to honor an outbound request (ignoring ones with that go instantly)?", "BandwidthLimiter", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
         _context.statManager().createRateStat("bwLimiter.inboundDelayedTime", "How long it takes to honor an inbound request (ignoring ones with that go instantly)?", "BandwidthLimiter", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l });
-        if (_log.shouldLog(Log.WARN)) {
-            // If you want to see these you better have the logging set at startup!
-            _context.statManager().createRateStat("bw.sendBps1s", "How fast we are transmitting for the 1s quantization (period is the number of bytes transmitted)?", "Bandwidth", new long[] { 60*1000l, 10*60*1000l });
-            _context.statManager().createRateStat("bw.recvBps1s", "How fast we are receiving for the 1s quantization (period is the number of bytes transmitted)?", "Bandwidth", new long[] { 60*1000l, 10*60*1000l });
-            _context.statManager().createRateStat("bw.sendBps15s", "How fast we are transmitting for the 15s quantization (period is the number of bytes transmitted)?", "Bandwidth", new long[] { 60*1000l, 10*60*1000l });
-            _context.statManager().createRateStat("bw.recvBps15s", "How fast we are receiving for the 15s quantization (period is the number of bytes transmitted)?", "Bandwidth", new long[] { 60*1000l, 10*60*1000l });
-        }
         _pendingInboundRequests = new ArrayList(16);
         _pendingOutboundRequests = new ArrayList(16);
         _lastTotalSent = _totalAllocatedOutboundBytes.get();
diff --git a/router/java/src/net/i2p/router/transport/TransportImpl.java b/router/java/src/net/i2p/router/transport/TransportImpl.java
index fef5850227f52736d06eebeb5c9217669ec8c149..9aef0126435f7f70bc71d1324f21fac436b8bcc1 100644
--- a/router/java/src/net/i2p/router/transport/TransportImpl.java
+++ b/router/java/src/net/i2p/router/transport/TransportImpl.java
@@ -64,11 +64,11 @@ public abstract class TransportImpl implements Transport {
         _log = _context.logManager().getLog(TransportImpl.class);
 
         _context.statManager().createRateStat("transport.sendMessageFailureLifetime", "How long the lifetime of messages that fail are?", "Transport", new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.sendMessageSize", "How large are the messages sent?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.receiveMessageSize", "How large are the messages received?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.sendMessageSize", "Size of sent messages (bytes)", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.receiveMessageSize", "Size of received messages (bytes)", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.receiveMessageTime", "How long it takes to read a message?", "Transport", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.receiveMessageTimeSlow", "How long it takes to read a message (when it takes more than a second)?", "Transport", new long[] { 60*1000l, 5*60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.sendProcessingTime", "How long does it take from noticing that we want to send the message to having it completely sent (successfully or failed)?", "Transport", new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.sendProcessingTime", "Time to process and send a message (ms)", "Transport", new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.expiredOnQueueLifetime", "How long a message that expires on our outbound queue is processed", "Transport", new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l } );
         _sendPool = new ArrayList(16);
         _unreachableEntries = new HashMap(16);
diff --git a/router/java/src/net/i2p/router/transport/UPnP.java b/router/java/src/net/i2p/router/transport/UPnP.java
index 05529935da87fdf654faef91b46ef284aae88786..fe3ad037766eae862544fb9da5c88a31a73367a1 100644
--- a/router/java/src/net/i2p/router/transport/UPnP.java
+++ b/router/java/src/net/i2p/router/transport/UPnP.java
@@ -10,8 +10,10 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
-import net.i2p.util.Log;
 import net.i2p.I2PAppContext;
+import net.i2p.data.DataHelper;
+import net.i2p.util.Log;
+import net.i2p.util.Translate;
 
 import org.cybergarage.upnp.Action;
 import org.cybergarage.upnp.ArgumentList;
@@ -53,8 +55,8 @@ import org.freenetproject.ForwardPortStatus;
  * TODO: Implement EventListener and react on ip-change
  */ 
 class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
-	private Log _log;
-	private I2PAppContext _context;
+	private final Log _log;
+	private final I2PAppContext _context;
 	
 	/** some schemas */
 	private static final String ROUTER_DEVICE = "urn:schemas-upnp-org:device:InternetGatewayDevice:1";
@@ -73,7 +75,7 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
 	/** List of ports we want to forward */
 	private Set<ForwardPort> portsToForward;
 	/** List of ports we have actually forwarded */
-	private Set<ForwardPort> portsForwarded;
+	private final Set<ForwardPort> portsForwarded;
 	/** Callback to call when a forward fails or succeeds */
 	private ForwardPortCallback forwardCallback;
 	
@@ -397,31 +399,31 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
 		for(int i=0; i<sl.size(); i++) {
 			Service serv = sl.getService(i);
 			if(serv == null) continue;
-			sb.append("<li>Service: ");
+			sb.append("<li>").append(_("Service")).append(": ");
 			if("urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1".equals(serv.getServiceType())){
-				sb.append("WAN Common Interface Config<ul>");
-				sb.append("<li>Status: " + toString("GetCommonLinkProperties", "NewPhysicalLinkStatus", serv));
-				sb.append("<li>Type: " + toString("GetCommonLinkProperties", "NewWANAccessType", serv));
-				sb.append("<li>Upstream: " + toString("GetCommonLinkProperties", "NewLayer1UpstreamMaxBitRate", serv));
-				sb.append("<li>Downstream: " + toString("GetCommonLinkProperties", "NewLayer1DownstreamMaxBitRate", serv) + "<br>");
+				sb.append(_("WAN Common Interface Configuration"));
+				sb.append("<ul><li>").append(_("Status")).append(": " + toString("GetCommonLinkProperties", "NewPhysicalLinkStatus", serv));
+				sb.append("<li>").append(_("Type")).append(": " + toString("GetCommonLinkProperties", "NewWANAccessType", serv));
+				sb.append("<li>").append(_("Upstream")).append(": " + toString("GetCommonLinkProperties", "NewLayer1UpstreamMaxBitRate", serv));
+				sb.append("<li>").append(_("Downstream")).append(": " + toString("GetCommonLinkProperties", "NewLayer1DownstreamMaxBitRate", serv) + "<br>");
 			}else if("urn:schemas-upnp-org:service:WANPPPConnection:1".equals(serv.getServiceType())){
-				sb.append("WAN PPP Connection<ul>");
-				sb.append("<li>Status: " + toString("GetStatusInfo", "NewConnectionStatus", serv));
-				sb.append("<li>Type: " + toString("GetConnectionTypeInfo", "NewConnectionType", serv));
-				sb.append("<li>Upstream: " + toString("GetLinkLayerMaxBitRates", "NewUpstreamMaxBitRate", serv));
-				sb.append("<li>Downstream: " + toString("GetLinkLayerMaxBitRates", "NewDownstreamMaxBitRate", serv) + "<br>");
-				sb.append("<li>External IP: " + toString("GetExternalIPAddress", "NewExternalIPAddress", serv) + "<br>");
+				sb.append(_("WAN PPP Connection"));
+				sb.append("<ul><li>").append(_("Status")).append(": " + toString("GetStatusInfo", "NewConnectionStatus", serv));
+				sb.append("<li>").append(_("Type")).append(": " + toString("GetConnectionTypeInfo", "NewConnectionType", serv));
+				sb.append("<li>").append(_("Upstream")).append(": " + toString("GetLinkLayerMaxBitRates", "NewUpstreamMaxBitRate", serv));
+				sb.append("<li>").append(_("Downstream")).append(": " + toString("GetLinkLayerMaxBitRates", "NewDownstreamMaxBitRate", serv) + "<br>");
+				sb.append("<li>").append(_("External IP")).append(": " + toString("GetExternalIPAddress", "NewExternalIPAddress", serv) + "<br>");
 			}else if("urn:schemas-upnp-org:service:Layer3Forwarding:1".equals(serv.getServiceType())){
-				sb.append("Layer 3 Forwarding<ul>");
-				sb.append("<li>Default Connection Service: " + toString("GetDefaultConnectionService", "NewDefaultConnectionService", serv));
+				sb.append(_("Layer 3 Forwarding"));
+				sb.append("<ul><li>").append(_("Default Connection Service")).append(": " + toString("GetDefaultConnectionService", "NewDefaultConnectionService", serv));
 			}else if(WAN_IP_CONNECTION.equals(serv.getServiceType())){
-				sb.append("WAN IP Connection<ul>");
-				sb.append("<li>Status: " + toString("GetStatusInfo", "NewConnectionStatus", serv));
-				sb.append("<li>Type: " + toString("GetConnectionTypeInfo", "NewConnectionType", serv));
-				sb.append("<li>External IP: " + toString("GetExternalIPAddress", "NewExternalIPAddress", serv) + "<br>");
+				sb.append(_("WAN IP Connection"));
+				sb.append("<ul><li>").append(_("Status")).append(": " + toString("GetStatusInfo", "NewConnectionStatus", serv));
+				sb.append("<li>").append(_("Type")).append(": " + toString("GetConnectionTypeInfo", "NewConnectionType", serv));
+				sb.append("<li>").append(_("External IP")).append(": " + toString("GetExternalIPAddress", "NewExternalIPAddress", serv) + "<br>");
 			}else if("urn:schemas-upnp-org:service:WANEthernetLinkConfig:1".equals(serv.getServiceType())){
-				sb.append("WAN Ethernet Link Config<ol>");
-				sb.append("<li>Status: " + toString("GetEthernetLinkStatus", "NewEthernetLinkStatus", serv) + "<br>");
+				sb.append(_("WAN Ethernet Link Configuration"));
+				sb.append("<ul><li>").append(_("Status")).append(": " + toString("GetEthernetLinkStatus", "NewEthernetLinkStatus", serv) + "<br>");
 			}else
 				sb.append("~~~~~~~ "+serv.getServiceType() + "<ul>");
 			//listActions(serv, sb);
@@ -433,10 +435,12 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
 	
 	private void listSubDev(String prefix, Device dev, StringBuilder sb){
                 if (prefix == null)
-			sb.append("Device: ");
+			sb.append("<p>").append(_("Found Device")).append(": ");
 		else
-			sb.append("<li>Subdevice: ");
+			sb.append("<li>").append(_("Subdevice")).append(": ");
 		sb.append(dev.getFriendlyName());
+                if (prefix == null)
+			sb.append("</p>");
 		listSubServices(dev, sb);
 		
 		DeviceList dl = dev.getDeviceList();
@@ -454,38 +458,40 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
 	/** warning - slow */
 	public String renderStatusHTML() {
 		final StringBuilder sb = new StringBuilder();
-		sb.append("<h3><a name=\"upnp\"></a>UPnP Status</h3>");
+		sb.append("<h3><a name=\"upnp\"></a>").append(_("UPnP Status")).append("</h3>");
 		
 		if(isDisabled) {
-			sb.append("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?");
+			sb.append(_("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?"));
 			return sb.toString();
 		} else if(!isNATPresent()) {
-			sb.append("UPnP has not found any UPnP-aware, compatible device on your LAN.");
+			sb.append(_("UPnP has not found any UPnP-aware, compatible device on your LAN."));
 			return sb.toString();
 		}
 		
-		// FIXME L10n!
-		sb.append("<p>Found ");
 		listSubDev(null, _router, sb);
 		String addr = getNATAddress();
+		sb.append("<p>");
 		if (addr != null)
-		    sb.append("<br>The current external IP address reported by UPnP is " + addr);
+		    sb.append(_("The current external IP address reported by UPnP is {0}", addr));
 		else
-		    sb.append("<br>The current external IP address is not available.");
+		    sb.append(_("The current external IP address is not available."));
 		int downstreamMaxBitRate = getDownstreamMaxBitRate();
 		int upstreamMaxBitRate = getUpstreamMaxBitRate();
 		if(downstreamMaxBitRate > 0)
-			sb.append("<br>UPnP reports the max downstream bit rate is : " + downstreamMaxBitRate+ " bits/sec\n");
+			sb.append("<br>").append(_("UPnP reports the maximum downstream bit rate is {0}bits/sec", DataHelper.formatSize2(downstreamMaxBitRate)));
 		if(upstreamMaxBitRate > 0)
-			sb.append("<br>UPnP reports the max upstream bit rate is : " + upstreamMaxBitRate+ " bits/sec\n");
+			sb.append("<br>").append(_("UPnP reports the maximum upstream bit rate is {0}bits/sec", DataHelper.formatSize2(upstreamMaxBitRate)));
 		synchronized(lock) {
 			if(portsToForward != null) {
 				for(ForwardPort port : portsToForward) {
-					sb.append("<br>" + protoToString(port.protocol) + " port " + port.portNumber + " for " + port.name);
+					sb.append("<br>");
 					if(portsForwarded.contains(port))
-						sb.append(" has been forwarded successfully by UPnP.\n");
+						// {0} is TCP or UDP
+						// {1,number,#####} prevents 12345 from being output as 12,345 in the English locale.
+						// If you want the digit separator in your locale, translate as {1}.
+						sb.append(_("{0} port {1,number,#####} was successfully forwarded by UPnP.", protoToString(port.protocol), port.portNumber));
 					else
-						sb.append(" has not been forwarded by UPnP.\n");
+						sb.append(_("{0} port {1,number,#####} was not forwarded by UPnP.", protoToString(port.protocol), port.portNumber));
 				}
 			}
 		}
@@ -711,4 +717,27 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
 			Thread.sleep(2000);
 		}
 	}
+
+    private static final String BUNDLE_NAME = "net.i2p.router.web.messages";
+
+    /**
+     *  Translate
+     */
+    private final String _(String s) {
+        return Translate.getString(s, _context, BUNDLE_NAME);
+    }
+
+    /**
+     *  Translate
+     */
+    private final String _(String s, Object o) {
+        return Translate.getString(s, o, _context, BUNDLE_NAME);
+    }
+
+    /**
+     *  Translate
+     */
+    private final String _(String s, Object o, Object o2) {
+        return Translate.getString(s, o, o2, _context, BUNDLE_NAME);
+    }
 }
diff --git a/router/java/src/net/i2p/router/transport/UPnPManager.java b/router/java/src/net/i2p/router/transport/UPnPManager.java
index ee8b60072323afa10a19eae5de3de72934c582d5..40829c1e5be95cde1c400577d8f9bd8214e2ae16 100644
--- a/router/java/src/net/i2p/router/transport/UPnPManager.java
+++ b/router/java/src/net/i2p/router/transport/UPnPManager.java
@@ -11,6 +11,7 @@ import java.util.Set;
 
 import net.i2p.router.RouterContext;
 import net.i2p.util.Log;
+import net.i2p.util.Translate;
 
 import org.cybergarage.util.Debug;
 import org.freenetproject.DetectedIP;
@@ -25,13 +26,13 @@ import org.freenetproject.ForwardPortStatus;
  * @author zzz
  */
 class UPnPManager {
-    private Log _log;
-    private RouterContext _context;
-    private UPnP _upnp;
-    private UPnPCallback _upnpCallback;
+    private final Log _log;
+    private final RouterContext _context;
+    private final UPnP _upnp;
+    private final UPnPCallback _upnpCallback;
     private volatile boolean _isRunning;
     private InetAddress _detectedAddress;
-    private TransportManager _manager;
+    private final TransportManager _manager;
     /**
      *  This is the TCP HTTP Event listener
      *  We move these so we don't conflict with other users of the same upnp library
@@ -56,7 +57,6 @@ class UPnPManager {
         _upnp.setHTTPPort(_context.getProperty(PROP_HTTP_PORT, DEFAULT_HTTP_PORT));
         _upnp.setSSDPPort(_context.getProperty(PROP_SSDP_PORT, DEFAULT_SSDP_PORT));
         _upnpCallback = new UPnPCallback();
-        _isRunning = false;
     }
     
     public synchronized void start() {
@@ -158,7 +158,17 @@ class UPnPManager {
 
     public String renderStatusHTML() {
         if (!_isRunning)
-            return "<h3><a name=\"upnp\"></a>UPnP is not enabled</h3>\n";
+            return "<h3><a name=\"upnp\"></a>" + _("UPnP is not enabled") + "</h3>\n";
         return _upnp.renderStatusHTML();
     }
+
+    private static final String BUNDLE_NAME = "net.i2p.router.web.messages";
+
+    /**
+     *  Translate
+     */
+    private final String _(String s) {
+        return Translate.getString(s, _context, BUNDLE_NAME);
+    }
+
 }
diff --git a/router/java/src/net/i2p/router/transport/VMCommSystem.java b/router/java/src/net/i2p/router/transport/VMCommSystem.java
index bbaefc3c3bd3f89859950e76e461fd3b001aa942..11e7bc1efc4380ebf12c871c1fd3ebab20a8fbce 100644
--- a/router/java/src/net/i2p/router/transport/VMCommSystem.java
+++ b/router/java/src/net/i2p/router/transport/VMCommSystem.java
@@ -23,10 +23,11 @@ import net.i2p.util.Log;
  * Currently, the comm system doesn't even inject any lag, though it could (later).
  * It does honor the standard transport stats though, but not the TCP specific ones.
  *
+ * FOR DEBUGGING AND LOCAL TESTING ONLY.
  */
 public class VMCommSystem extends CommSystemFacade {
-    private Log _log;
-    private RouterContext _context;
+    private final Log _log;
+    private final RouterContext _context;
     /**
      * Mapping from Hash to VMCommSystem for all routers hooked together
      */
@@ -36,15 +37,15 @@ public class VMCommSystem extends CommSystemFacade {
         _context = context;
         _log = context.logManager().getLog(VMCommSystem.class);
         _context.statManager().createFrequencyStat("transport.sendMessageFailureFrequency", "How often do we fail to send messages?", "Transport", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.sendMessageSize", "How large are the messages sent?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.receiveMessageSize", "How large are the messages received?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.sendMessageSize", "Size of sent messages (bytes)", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.receiveMessageSize", "Size of received messages (bytes)", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.sendMessageSmall", "How many messages under 1KB are sent?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.receiveMessageSmall", "How many messages under 1KB are received?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.sendMessageMedium", "How many messages between 1KB and 4KB are sent?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.receiveMessageMedium", "How many messages between 1KB and 4KB are received?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.sendMessageLarge", "How many messages over 4KB are sent?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
         _context.statManager().createRateStat("transport.receiveMessageLarge", "How many messages over 4KB are received?", "Transport", new long[] { 60*1000l, 5*60*1000l, 60*60*1000l, 24*60*60*1000l });
-        _context.statManager().createRateStat("transport.sendProcessingTime", "How long does it take from noticing that we want to send the message to having it completely sent (successfully or failed)?", "Transport", new long[] { 60*1000l, 60*60*1000l, 24*60*60*1000l });
+        _context.statManager().createRequiredRateStat("transport.sendProcessingTime", "Time to process and send a message (ms)", "Transport", new long[] { 60*1000l, 10*60*1000l, 60*60*1000l, 24*60*60*1000l });
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundMessageFragments.java b/router/java/src/net/i2p/router/transport/udp/OutboundMessageFragments.java
index 81a787abf2e29cc174e4f5139cbe1db3849ffcb4..3af1adc2cc581205dc0531ec2a4907c976cddcac 100644
--- a/router/java/src/net/i2p/router/transport/udp/OutboundMessageFragments.java
+++ b/router/java/src/net/i2p/router/transport/udp/OutboundMessageFragments.java
@@ -64,7 +64,7 @@ class OutboundMessageFragments {
         _context.statManager().createRateStat("udp.sendSparse", "How many fragments were partially ACKed and hence not resent (time == message lifetime)", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendPiggyback", "How many acks were piggybacked on a data packet (time == message lifetime)", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendPiggybackPartial", "How many partial acks were piggybacked on a data packet (time == message lifetime)", "udp", UDPTransport.RATES);
-        _context.statManager().createRateStat("udp.packetsRetransmitted", "Lifetime of packets during their retransmission (period == packets transmitted, lifetime)", "udp", UDPTransport.RATES);
+        _context.statManager().createRequiredRateStat("udp.packetsRetransmitted", "Lifetime of packets during retransmission (ms)", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.peerPacketsRetransmitted", "How many packets have been retransmitted to the peer (lifetime) when a burst of packets are retransmitted (period == packets transmitted, lifetime)", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.blockedRetransmissions", "How packets have been transmitted to the peer when we blocked a retransmission to them?", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendCycleTime", "How long it takes to cycle through all of the active messages?", "udp", UDPTransport.RATES);
diff --git a/router/java/src/net/i2p/router/transport/udp/UDPSender.java b/router/java/src/net/i2p/router/transport/udp/UDPSender.java
index 01d10ed1c5c17e4b6019fcc358a6c9c6f70219c5..4c7b97bcaf7675b6b0d05326c918ac23e47610bf 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPSender.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPSender.java
@@ -38,12 +38,12 @@ class UDPSender {
         _context.statManager().createRateStat("udp.sendQueueSize", "How many packets are queued on the UDP sender", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendQueueFailed", "How often it was unable to add a new packet to the queue", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendQueueTrimmed", "How many packets were removed from the queue for being too old (duration == remaining)", "udp", UDPTransport.RATES);
-        _context.statManager().createRateStat("udp.sendPacketSize", "How large packets sent are", "udp", UDPTransport.RATES);
+        _context.statManager().createRequiredRateStat("udp.sendPacketSize", "Size of sent packets (bytes)", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.socketSendTime", "How long the actual socket.send took", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendBWThrottleTime", "How long the send is blocked by the bandwidth throttle", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendACKTime", "How long an ACK packet is blocked for (duration == lifetime)", "udp", UDPTransport.RATES);
         // used in RouterWatchdog
-        _context.statManager().createRateStat("udp.sendException", "How frequently we fail to send a packet (likely due to a windows exception)", "udp", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("udp.sendException", "Send fails (Windows exception?)", "udp", new long[] { 60*1000, 10*60*1000 });
 
         _context.statManager().createRateStat("udp.sendPacketSize." + PacketBuilder.TYPE_ACK, "ack-only packet size", "udp", UDPTransport.RATES);
         _context.statManager().createRateStat("udp.sendPacketSize." + PacketBuilder.TYPE_PUNCH, "hole punch packet size", "udp", UDPTransport.RATES);
diff --git a/router/java/src/net/i2p/router/tunnel/FragmentHandler.java b/router/java/src/net/i2p/router/tunnel/FragmentHandler.java
index a0a2f2edacdf2fe8d93cf450001547614215c987..caaa69fd90512cc3c66f6a1b419276eeaf060d8c 100644
--- a/router/java/src/net/i2p/router/tunnel/FragmentHandler.java
+++ b/router/java/src/net/i2p/router/tunnel/FragmentHandler.java
@@ -114,9 +114,9 @@ public class FragmentHandler {
                                               "Tunnels", RATES);
         _context.statManager().createRateStat("tunnel.fragmentedComplete", "How many fragments were in a completely received message?", 
                                               "Tunnels", RATES);
-        _context.statManager().createRateStat("tunnel.fragmentedDropped", "How many fragments were in a partially received yet failed message?", 
+        _context.statManager().createRequiredRateStat("tunnel.fragmentedDropped", "Number of dropped fragments", 
                                               "Tunnels", RATES);
-        _context.statManager().createRateStat("tunnel.corruptMessage", "How many corrupted messages arrived?", 
+        _context.statManager().createRequiredRateStat("tunnel.corruptMessage", "Corrupt messages received", 
                                               "Tunnels", RATES);
     }
     
diff --git a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java
index 99b612dd271770bb6a668a3f1ce45888ece70395..497e8ddcdfc1234e9c584c59a87ccc23dc750c6d 100644
--- a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java
+++ b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java
@@ -18,17 +18,17 @@ import net.i2p.router.TunnelInfo;
  *
  */
 public class TunnelCreatorConfig implements TunnelInfo {
-    protected RouterContext _context;
+    protected final RouterContext _context;
     /** only necessary for client tunnels */
-    private Hash _destination;
+    private final Hash _destination;
     /** gateway first */
-    private HopConfig _config[];
+    private final HopConfig _config[];
     /** gateway first */
-    private Hash _peers[];
+    private final Hash _peers[];
     private long _expiration;
     private List<Integer> _order;
     private long _replyMessageId;
-    private boolean _isInbound;
+    private final boolean _isInbound;
     private long _messagesProcessed;
     private volatile long _verifiedBytesTransferred;
     private boolean _failed;
@@ -48,10 +48,6 @@ public class TunnelCreatorConfig implements TunnelInfo {
         }
         _isInbound = isInbound;
         _destination = destination;
-        _messagesProcessed = 0;
-        _verifiedBytesTransferred = 0;
-        _failed = false;
-        _failures = 0;
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/tunnel/TunnelDispatcher.java b/router/java/src/net/i2p/router/tunnel/TunnelDispatcher.java
index 8669f8cb53c532a1d8ca1e2d86f8c70826b8b4a5..33f5b7ae7575da3b3c16a4e82361173cfe46e0e5 100644
--- a/router/java/src/net/i2p/router/tunnel/TunnelDispatcher.java
+++ b/router/java/src/net/i2p/router/tunnel/TunnelDispatcher.java
@@ -57,9 +57,9 @@ public class TunnelDispatcher implements Service {
         _validator = null;
         _pumper = new TunnelGatewayPumper(ctx);
         _leaveJob = new LeaveTunnel(ctx);
-        ctx.statManager().createRateStat("tunnel.participatingTunnels", 
-                                         "How many tunnels are we participating in?", "Tunnels", 
-                                         new long[] { 60*1000, 10*60*1000l, 60*60*1000l });
+        ctx.statManager().createRequiredRateStat("tunnel.participatingTunnels", 
+                                         "Tunnels routed for others", "Tunnels", 
+                                         new long[] { 60*1000, 10*60*1000l, 60*60*1000l, 3*60*60*1000l, 24*60*60*1000l });
         ctx.statManager().createRateStat("tunnel.dispatchOutboundPeer", 
                                          "How many messages we send out a tunnel targetting a peer?", "Tunnels", 
                                          new long[] { 10*60*1000l, 60*60*1000l });
@@ -108,17 +108,17 @@ public class TunnelDispatcher implements Service {
         ctx.statManager().createRateStat("tunnel.dispatchOutboundZeroHopTime", 
                                          "How long it takes to dispatch an outbound message through a zero hop tunnel", "Tunnels", 
                                          new long[] { 60*1000l, 60*60*1000l });
-        ctx.statManager().createRateStat("tunnel.participatingBandwidth", 
-                                         "Participating traffic", "Tunnels", 
+        ctx.statManager().createRequiredRateStat("tunnel.participatingBandwidth", 
+                                         "Participating traffic received (Bytes/sec)", "Tunnels", 
                                          new long[] { 60*1000l, 60*10*1000l });
-        ctx.statManager().createRateStat("tunnel.participatingBandwidthOut", 
-                                         "Participating traffic", "Tunnels", 
+        ctx.statManager().createRequiredRateStat("tunnel.participatingBandwidthOut", 
+                                         "Participating traffic sent (Bytes/sec)", "Tunnels", 
                                          new long[] { 60*1000l, 60*10*1000l });
         ctx.statManager().createRateStat("tunnel.participatingMessageDropped", 
                                          "Dropped for exceeding share limit", "Tunnels", 
                                          new long[] { 60*1000l, 60*10*1000l });
-        ctx.statManager().createRateStat("tunnel.participatingMessageCount", 
-                                         "How many messages are sent through a participating tunnel?", "Tunnels", 
+        ctx.statManager().createRequiredRateStat("tunnel.participatingMessageCount", 
+                                         "Number of 1KB participating messages", "Tunnels", 
                                          new long[] { 60*1000l, 60*10*1000l, 60*60*1000l });
         ctx.statManager().createRateStat("tunnel.ownedMessageCount", 
                                          "How many messages are sent through a tunnel we created (period == failures)?", "Tunnels", 
diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java b/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java
index b6394dc5c5ca7072cdbe1ba69fffd8b337af1696..71bd157a7b3c03d6af32baa3d8b96b8028705b4a 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java
@@ -52,13 +52,13 @@ class BuildExecutor implements Runnable {
         _recentlyBuildingMap = new ConcurrentHashMap(4 * MAX_CONCURRENT_BUILDS);
         _context.statManager().createRateStat("tunnel.concurrentBuilds", "How many builds are going at once", "Tunnels", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
         _context.statManager().createRateStat("tunnel.concurrentBuildsLagged", "How many builds are going at once when we reject further builds, due to job lag (period is lag)", "Tunnels", new long[] { 60*1000, 5*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildExploratoryExpire", "How often an exploratory tunnel times out during creation", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildClientExpire", "How often a client tunnel times out during creation", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildExploratorySuccess", "Response time for success", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildClientSuccess", "Response time for success", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildExploratoryReject", "Response time for rejection", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildClientReject", "Response time for rejection", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
-        _context.statManager().createRateStat("tunnel.buildRequestTime", "How long it takes to build a tunnel request", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildExploratoryExpire", "No response to our build request", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildClientExpire", "No response to our build request", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildExploratorySuccess", "Response time for success (ms)", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildClientSuccess", "Response time for success (ms)", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildExploratoryReject", "Response time for rejection (ms)", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildClientReject", "Response time for rejection (ms)", "Tunnels", new long[] { 10*60*1000, 60*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.buildRequestTime", "Time to build a tunnel request (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.buildRequestZeroHopTime", "How long it takes to build a zero hop tunnel", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.pendingRemaining", "How many inbound requests are pending after a pass (period is how long the pass takes)?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.buildFailFirstHop", "How often we fail to build a OB tunnel because we can't contact the first hop", "Tunnels", new long[] { 60*1000, 10*60*1000 });
@@ -455,6 +455,10 @@ class BuildExecutor implements Runnable {
         }
     }
     
+    /**
+     *  This wakes up the executor, so call this after TunnelPool.addTunnel()
+     *  so we don't build too many.
+     */
     public void buildComplete(PooledTunnelCreatorConfig cfg, TunnelPool pool) {
         if (_log.shouldLog(Log.DEBUG))
             _log.debug("Build complete for " + cfg);
diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
index d604c1bf30042623e7868dc12d69735e8ed7f065..eae162a1e0df71eea608832c6f0458eb80cb3bce 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
@@ -69,18 +69,18 @@ class BuildHandler {
         _context.statManager().createRateStat("tunnel.reject.30", "How often we reject a tunnel because of bandwidth overload", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.reject.50", "How often we reject a tunnel because of a critical issue (shutdown, etc)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
 
-        _context.statManager().createRateStat("tunnel.decryptRequestTime", "How long it takes to decrypt a new tunnel build request", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.rejectTimeout", "How often we reject a tunnel because we can't find the next hop", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.rejectTimeout2", "How often we fail a tunnel because we can't contact the next hop", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.decryptRequestTime", "Time to decrypt a build request (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.rejectTimeout", "Reject tunnel count (unknown next hop)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.rejectTimeout2", "Reject tunnel count (can't contact next hop)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
 
-        _context.statManager().createRateStat("tunnel.rejectOverloaded", "How long we had to wait before processing the request (when it was rejected)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.acceptLoad", "Delay before processing the accepted request", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.rejectOverloaded", "Delay to process rejected request (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.acceptLoad", "Delay to process accepted request (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.dropConnLimits", "Drop instead of reject due to conn limits", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.dropLoad", "How long we had to wait before finally giving up on an inbound request (period is queue count)?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.dropLoadDelay", "How long we had to wait before finally giving up on an inbound request?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.dropLoadBacklog", "How many requests were pending when they were so lagged that we had to drop a new inbound request??", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.dropLoadProactive", "What the estimated queue time was when we dropped an inbound request (period is num pending)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
-        _context.statManager().createRateStat("tunnel.dropLoadProactiveAbort", "How often we would have proactively dropped a request, but allowed it through?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.dropLoad", "Delay before dropping request (ms)?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.dropLoadDelay", "Delay before abandoning request (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.dropLoadBacklog", "Pending request count when dropped", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.dropLoadProactive", "Delay estimate when dropped (ms)", "Tunnels", new long[] { 60*1000, 10*60*1000 });
+        _context.statManager().createRequiredRateStat("tunnel.dropLoadProactiveAbort", "Allowed requests during load", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.handleRemaining", "How many pending inbound requests were left on the queue after one pass?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         _context.statManager().createRateStat("tunnel.buildReplyTooSlow", "How often a tunnel build reply came back after we had given up waiting for it?", "Tunnels", new long[] { 60*1000, 10*60*1000 });
         
@@ -223,7 +223,7 @@ class BuildHandler {
                     _context.messageHistory().tunnelParticipantRejected(peer, "peer rejected after " + rtt + " with " + howBad + ": " + cfg.toString());
                 }
             }
-            _exec.buildComplete(cfg, cfg.getTunnelPool());
+
             if (allAgree) {
                 // wikked, completely build
                 if (cfg.isInbound())
@@ -231,6 +231,8 @@ class BuildHandler {
                 else
                     _context.tunnelDispatcher().joinOutbound(cfg);
                 cfg.getTunnelPool().addTunnel(cfg); // self.self.self.foo!
+                // call buildComplete() after addTunnel() so we don't try another build.
+                _exec.buildComplete(cfg, cfg.getTunnelPool());
                 _exec.buildSuccessful(cfg);
                 
                 ExpireJob expireJob = new ExpireJob(_context, cfg, cfg.getTunnelPool());
@@ -242,6 +244,7 @@ class BuildHandler {
                     _context.statManager().addRateData("tunnel.buildClientSuccess", rtt, rtt);
             } else {
                 // someone is no fun
+                _exec.buildComplete(cfg, cfg.getTunnelPool());
                 if (cfg.getDestination() == null)
                     _context.statManager().addRateData("tunnel.buildExploratoryReject", rtt, rtt);
                 else
diff --git a/router/java/src/net/i2p/router/tunnel/pool/ClientPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/ClientPeerSelector.java
index f4042feee9f30014416dc1f96aa1f1f47e432ba2..24e6966a12841eb368e10072bee474dbecb0cff6 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/ClientPeerSelector.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/ClientPeerSelector.java
@@ -21,20 +21,57 @@ class ClientPeerSelector extends TunnelPeerSelector {
             return null;
         if ( (length == 0) && (settings.getLength()+settings.getLengthVariance() > 0) )
             return null;
-        HashSet matches = new HashSet(length);
+
+        List<Hash> rv;
     
         if (length > 0) {
             if (shouldSelectExplicit(settings))
                 return selectExplicit(ctx, settings, length);
-        }
         
-        Set exclude = getExclude(ctx, settings.isInbound(), settings.isExploratory());
-        ctx.profileOrganizer().selectFastPeers(length, exclude, matches, settings.getIPRestriction());
+            Set<Hash> exclude = getExclude(ctx, settings.isInbound(), settings.isExploratory());
+            Set<Hash> matches = new HashSet(length);
+            if (length == 1) {
+                ctx.profileOrganizer().selectFastPeers(length, exclude, matches, 0);
+                matches.remove(ctx.routerHash());
+                rv = new ArrayList(matches);
+            } else {
+                // build a tunnel using 4 subtiers.
+                // For a 2-hop tunnel, the first hop comes from subtiers 0-1 and the last from subtiers 2-3.
+                // For a longer tunnels, the first hop comes from subtier 0, the middle from subtiers 2-3, and the last from subtier 1.
+                rv = new ArrayList(length + 1);
+                // OBEP or IB last hop
+                // group 0 or 1 if two hops, otherwise group 0
+                ctx.profileOrganizer().selectFastPeers(1, exclude, matches, settings.getRandomKey(), length == 2 ? 2 : 4);
+                matches.remove(ctx.routerHash());
+                exclude.addAll(matches);
+                rv.addAll(matches);
+                matches.clear();
+                if (length > 2) {
+                    // middle hop(s)
+                    // group 2 or 3
+                    ctx.profileOrganizer().selectFastPeers(length - 2, exclude, matches, settings.getRandomKey(), 3);
+                    matches.remove(ctx.routerHash());
+                    if (matches.size() > 1) {
+                        // order the middle peers for tunnels >= 4 hops
+                        List<Hash> ordered = new ArrayList(matches);
+                        orderPeers(ordered, settings.getRandomKey());
+                        rv.addAll(ordered);
+                    } else {
+                        rv.addAll(matches);
+                    }
+                    exclude.addAll(matches);
+                    matches.clear();
+                }
+                // IBGW or OB first hop
+                // group 2 or 3 if two hops, otherwise group 1
+                ctx.profileOrganizer().selectFastPeers(1, exclude, matches, settings.getRandomKey(), length == 2 ? 3 : 5);
+                matches.remove(ctx.routerHash());
+                rv.addAll(matches);
+            }
+        } else {
+            rv = new ArrayList(1);
+        }
         
-        matches.remove(ctx.routerHash());
-        ArrayList<Hash> rv = new ArrayList(matches);
-        if (rv.size() > 1)
-            orderPeers(rv, settings.getRandomKey());
         if (settings.isInbound())
             rv.add(0, ctx.routerHash());
         else
diff --git a/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java b/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
index cbe7948150a8897b3b5b26c891ac95504f5d096d..d66bf6f6c6ce7866f57ecca0e0c4bfa7b078cd01 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
@@ -26,8 +26,6 @@ class PooledTunnelCreatorConfig extends TunnelCreatorConfig {
     }
     public PooledTunnelCreatorConfig(RouterContext ctx, int length, boolean isInbound, Hash destination) {
         super(ctx, length, isInbound, destination);
-        _pool = null;
-        _live = false;
     }
     
     // calls TestJob
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java
index e63e681b37cbd83b7eae3cec4eee2b3358e252be..a1588776dbe8fa852f3f9b5e408391c04bcc3a25 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java
@@ -34,7 +34,6 @@ class TestJob extends JobImpl {
     
     /** base to randomize the test delay on */
     private static final int TEST_DELAY = 30*1000;
-    private static final long[] RATES = { 60*1000, 10*60*1000l, 60*60*1000l };
     
     public TestJob(RouterContext ctx, PooledTunnelCreatorConfig cfg, TunnelPool pool) {
         super(ctx);
@@ -47,20 +46,7 @@ class TestJob extends JobImpl {
         if ( (_pool == null) && (_log.shouldLog(Log.ERROR)) )
             _log.error("Invalid tunnel test configuration: no pool for " + cfg, new Exception("origin"));
         getTiming().setStartAfter(getDelay() + ctx.clock().now());
-        ctx.statManager().createRateStat("tunnel.testFailedTime", "How long did the failure take (max of 60s for full timeout)?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testExploratoryFailedTime", "How long did the failure of an exploratory tunnel take (max of 60s for full timeout)?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testFailedCompletelyTime", "How long did the complete failure take (max of 60s for full timeout)?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testExploratoryFailedCompletelyTime", "How long did the complete failure of an exploratory tunnel take (max of 60s for full timeout)?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testSuccessLength", "How long were the tunnels that passed the test?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testSuccessTime", "How long did tunnel testing take?", "Tunnels", 
-                                         RATES);
-        ctx.statManager().createRateStat("tunnel.testAborted", "Tunnel test could not occur, since there weren't any tunnels to test with", "Tunnels", 
-                                         RATES);
+        // stats are created in TunnelPoolManager
     }
 
     public String getName() { return "Test tunnel"; }
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
index 083e2501ae05f75dd087e6da942d1f4298be1f91..25b6ed9332bec05f3155ff7ecfa2c7b9c74d8be1 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
@@ -34,13 +34,16 @@ public abstract class TunnelPeerSelector {
      * Which peers should go into the next tunnel for the given settings?  
      * 
      * @return ordered list of Hash objects (one per peer) specifying what order
-     *         they should appear in a tunnel (endpoint first).  This includes
+     *         they should appear in a tunnel (ENDPOINT FIRST).  This includes
      *         the local router in the list.  If there are no tunnels or peers
      *         to build through, and the settings reject 0 hop tunnels, this will
      *         return null.
      */
     public abstract List<Hash> selectPeers(RouterContext ctx, TunnelPoolSettings settings);
     
+    /**
+     *  @return randomized number of hops 0-7, not including ourselves
+     */
     protected int getLength(RouterContext ctx, TunnelPoolSettings settings) {
         int length = settings.getLength();
         int override = settings.getLengthOverride();
@@ -61,8 +64,8 @@ public abstract class TunnelPeerSelector {
         }
         if (length < 0)
             length = 0;
-        if (length > 8) // as documented in tunnel.html
-            length = 8;
+        else if (length > 7) // as documented in tunnel.html
+            length = 7;
         /*
         if ( (ctx.tunnelManager().getOutboundTunnelCount() <= 0) || 
              (ctx.tunnelManager().getFreeTunnelCount() <= 0) ) {
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
index c432bfe9e07ff9b6425715115f0a830f171aad3f..86c6e1ecb06f139d7a0be1834675bbf43a1c8857 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
@@ -25,11 +25,11 @@ import net.i2p.util.Log;
  *  A group of tunnels for the router or a particular client, in a single direction.
  */
 public class TunnelPool {
-    private final List _inProgress = new ArrayList();
+    private final List<PooledTunnelCreatorConfig> _inProgress = new ArrayList();
     private final RouterContext _context;
     private final Log _log;
     private TunnelPoolSettings _settings;
-    private final ArrayList<TunnelInfo> _tunnels;
+    private final List<TunnelInfo> _tunnels;
     private final TunnelPeerSelector _peerSelector;
     private final TunnelPoolManager _manager;
     private boolean _alive;
@@ -80,7 +80,7 @@ public class TunnelPool {
                 _context.clientManager().requestLeaseSet(_settings.getDestination(), ls);
         }
         _context.statManager().createRateStat(_rateName,
-                               "Tunnel Bandwidth", "Tunnels", 
+                               "Tunnel Bandwidth (Bytes/sec)", "Tunnels", 
                                new long[] { 5*60*1000l });
     }
     
@@ -276,9 +276,12 @@ public class TunnelPool {
         }
     }
     
-    public void addTunnel(TunnelInfo info) {
+    /**
+     *  Add to the pool.
+     */
+    void addTunnel(TunnelInfo info) {
         if (_log.shouldLog(Log.DEBUG))
-            _log.debug(toString() + ": Adding tunnel " + info, new Exception("Creator"));
+            _log.debug(toString() + ": Adding tunnel " + info /* , new Exception("Creator") */ );
         LeaseSet ls = null;
         synchronized (_tunnels) {
             _tunnels.add(info);
@@ -290,7 +293,10 @@ public class TunnelPool {
             _context.clientManager().requestLeaseSet(_settings.getDestination(), ls);
     }
     
-    public void removeTunnel(TunnelInfo info) {
+    /**
+     *  Remove from the pool.
+     */
+    void removeTunnel(TunnelInfo info) {
         if (_log.shouldLog(Log.DEBUG))
             _log.debug(toString() + ": Removing tunnel " + info);
         int remaining = 0;
@@ -467,8 +473,10 @@ public class TunnelPool {
     }
 
     /**
-     * Build a leaseSet with the required tunnels that aren't about to expire
+     * Build a leaseSet with the required tunnels that aren't about to expire.
+     * Caller must synchronize on _tunnels.
      *
+     * @return null on failure
      */
     private LeaseSet locked_buildNewLeaseSet() {
         if (!_alive)
@@ -599,7 +607,7 @@ public class TunnelPool {
         if (rs == null) {
             // Create the RateStat here rather than at the top because
             // the user could change the length settings while running
-            _context.statManager().createRateStat(buildRateName(),
+            _context.statManager().createRequiredRateStat(buildRateName(),
                                    "Tunnel Build Frequency", "Tunnels",
                                    new long[] { TUNNEL_LIFETIME });
             rs = _context.statManager().getRate(buildRateName());
@@ -724,8 +732,8 @@ public class TunnelPool {
         int inProgress = 0;
         synchronized (_inProgress) {
             inProgress = _inProgress.size();
-            for (int i = 0; i < _inProgress.size(); i++) {
-                PooledTunnelCreatorConfig cfg = (PooledTunnelCreatorConfig)_inProgress.get(i);
+            for (int i = 0; i < inProgress; i++) {
+                PooledTunnelCreatorConfig cfg = _inProgress.get(i);
                 if (cfg.getLength() <= 1)
                     fallback++;
             }
@@ -846,17 +854,25 @@ public class TunnelPool {
         return rv;
     }
     
+    /**
+     *  @return null on failure
+     */
     PooledTunnelCreatorConfig configureNewTunnel() { return configureNewTunnel(false); }
 
+    /**
+     *  @return null on failure
+     */
     private PooledTunnelCreatorConfig configureNewTunnel(boolean forceZeroHop) {
         TunnelPoolSettings settings = getSettings();
-        List peers = null;
-        long expiration = _context.clock().now() + settings.getDuration();
+        // peers for new tunnel, including us, ENDPOINT FIRST
+        List<Hash> peers = null;
+        long expiration = _context.clock().now() + TunnelPoolSettings.DEFAULT_DURATION;
 
         if (!forceZeroHop) {
             peers = _peerSelector.selectPeers(_context, settings);
+
             if ( (peers == null) || (peers.isEmpty()) ) {
-                // no inbound or outbound tunnels to send the request through, and 
+                // no peers to build the tunnel with, and 
                 // the pool is refusing 0 hop tunnels
                 if (peers == null) {
                     if (_log.shouldLog(Log.WARN))
@@ -871,12 +887,13 @@ public class TunnelPool {
             peers = new ArrayList(1);
             peers.add(_context.routerHash());
         }
+
         PooledTunnelCreatorConfig cfg = new PooledTunnelCreatorConfig(_context, peers.size(), settings.isInbound(), settings.getDestination());
         cfg.setTunnelPool(this);
-        // peers[] is ordered endpoint first, but cfg.getPeer() is ordered gateway first
+        // peers list is ordered endpoint first, but cfg.getPeer() is ordered gateway first
         for (int i = 0; i < peers.size(); i++) {
             int j = peers.size() - 1 - i;
-            cfg.setPeer(j, (Hash)peers.get(i));
+            cfg.setPeer(j, peers.get(i));
             HopConfig hop = cfg.getConfig(j);
             hop.setCreation(_context.clock().now());
             hop.setExpiration(expiration);
@@ -895,6 +912,9 @@ public class TunnelPool {
         return cfg;
     }
     
+    /**
+     *  Remove from the _inprogress list
+     */
     void buildComplete(PooledTunnelCreatorConfig cfg) {
         synchronized (_inProgress) { _inProgress.remove(cfg); }
         cfg.setTunnelPool(this);
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java
index 59eec7d81e73d069a089f0c183e6d0c5db0d063f..dc82955729b945cd4077e2d36869c2da557e7b77 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java
@@ -47,6 +47,7 @@ public class TunnelPoolManager implements TunnelManagerFacade {
     private TunnelPool _outboundExploratory;
     private final BuildExecutor _executor;
     private boolean _isShutdown;
+    private static final long[] RATES = { 60*1000, 10*60*1000l, 60*60*1000l };
     
     public TunnelPoolManager(RouterContext ctx) {
         _context = ctx;
@@ -66,12 +67,21 @@ public class TunnelPoolManager implements TunnelManagerFacade {
         execThread.setDaemon(true);
         execThread.start();
         
-        ctx.statManager().createRateStat("tunnel.testSuccessTime", 
-                                         "How long do successful tunnel tests take?", "Tunnels", 
-                                         new long[] { 60*1000, 10*60*1000l, 60*60*1000l, 3*60*60*1000l, 24*60*60*1000l });
-        ctx.statManager().createRateStat("tunnel.participatingTunnels", 
-                                         "How many tunnels are we participating in?", "Tunnels", 
-                                         new long[] { 60*1000, 10*60*1000l, 60*60*1000l, 3*60*60*1000l, 24*60*60*1000l });
+        // The following are for TestJob
+        ctx.statManager().createRequiredRateStat("tunnel.testFailedTime", "Time for tunnel test failure (ms)", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRateStat("tunnel.testExploratoryFailedTime", "How long did the failure of an exploratory tunnel take (max of 60s for full timeout)?", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRateStat("tunnel.testFailedCompletelyTime", "How long did the complete failure take (max of 60s for full timeout)?", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRateStat("tunnel.testExploratoryFailedCompletelyTime", "How long did the complete failure of an exploratory tunnel take (max of 60s for full timeout)?", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRateStat("tunnel.testSuccessLength", "How long were the tunnels that passed the test?", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRequiredRateStat("tunnel.testSuccessTime", "Time for tunnel test success (ms)", "Tunnels", 
+                                         RATES);
+        ctx.statManager().createRateStat("tunnel.testAborted", "Tunnel test could not occur, since there weren't any tunnels to test with", "Tunnels", 
+                                         RATES);
     }
     
     /** pick an inbound tunnel not bound to a particular destination */
@@ -329,7 +339,6 @@ public class TunnelPoolManager implements TunnelManagerFacade {
     
     /** queue a recurring test job if appropriate */
     void buildComplete(PooledTunnelCreatorConfig cfg) {
-        //buildComplete();
         if (cfg.getLength() > 1 &&
             (!_context.router().gracefulShutdownInProgress()) &&
             !Boolean.valueOf(_context.getProperty("router.disableTunnelTesting")).booleanValue()) {
@@ -357,9 +366,6 @@ public class TunnelPoolManager implements TunnelManagerFacade {
         }
     }
 
-    /** ?? */
-    void buildComplete() {}
-    
     public void startup() { 
         _isShutdown = false;
         if (!_executor.isRunning()) {
diff --git a/router/java/src/org/cybergarage/xml/parser/JaxpParser.java b/router/java/src/org/cybergarage/xml/parser/JaxpParser.java
index 8de6b06b89869a47ebda8d4bd68800cdafea753e..7b220ef0c43ad5bf5c5cf7c9aa54572adb8ebc81 100644
--- a/router/java/src/org/cybergarage/xml/parser/JaxpParser.java
+++ b/router/java/src/org/cybergarage/xml/parser/JaxpParser.java
@@ -17,6 +17,8 @@
 
 package org.cybergarage.xml.parser;
 
+import java.io.FilterInputStream;
+import java.io.IOException;
 import java.io.InputStream;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -102,7 +104,7 @@ public class JaxpParser extends Parser
 		try {
 			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 			DocumentBuilder builder = factory.newDocumentBuilder();
-			InputSource inSrc = new InputSource(inStream);
+			InputSource inSrc = new InputSource(new NullFilterInputStream(inStream));
 			Document doc = builder.parse(inSrc);
 
 			org.w3c.dom.Element docElem = doc.getDocumentElement();
@@ -124,4 +126,27 @@ public class JaxpParser extends Parser
 		return root;
 	}
 
+	/**
+	 *  I2P -
+	 *  Filter out nulls, hopefully to avoid
+	 *  SAXParserException "Content not allowed in trailing section",
+	 *  which is apparently caused by nulls.
+	 *  Alternative is to remove all stuff between '>' and '<',
+         *  which isn't so hard if we assume no CDATA.
+	 */
+	private static class NullFilterInputStream extends FilterInputStream {
+
+		public NullFilterInputStream(InputStream is) {
+			super(is);
+		}
+
+		@Override
+		public int read() throws IOException {
+			int rv;
+			while ((rv = super.read()) == 0) {
+				// try again
+			}
+			return rv;
+		}
+	}
 }