diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index c71c06cdf..51bb548bb 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -107,6 +107,17 @@ public class I2PSnarkServlet extends Default { return _resourceBase.addPath(pathInContext); } + /** + * Tell the browser to cache the icons + * @since 0.8.3 + */ + @Override + public void handleGet(HttpServletRequest request, HttpServletResponse response, String pathInContext, Resource resource, boolean endsWithSlash) throws ServletException, IOException { + if (resource.getName().startsWith("jar:file:")) + response.setHeader("Cache-Control", "max-age=86400"); // cache for a day + super.handleGet(request, response, pathInContext, resource, endsWithSlash); + } + /** * Some parts modified from: *
diff --git a/apps/i2psnark/locale/messages_es.po b/apps/i2psnark/locale/messages_es.po
index 5aa6f8d17..c56c95c06 100644
--- a/apps/i2psnark/locale/messages_es.po
+++ b/apps/i2psnark/locale/messages_es.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-12-19 03:16+0000\n"
-"PO-Revision-Date: 2010-12-28 00:36+0100\n"
+"PO-Revision-Date: 2010-12-31 01:09+0100\n"
 "Last-Translator: mixxy \n"
 "Language-Team: foo \n"
 "MIME-Version: 1.0\n"
@@ -453,7 +453,7 @@ msgstr "completo"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
 msgid "OK"
-msgstr "Bien"
+msgstr "bien"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
diff --git a/apps/i2psnark/locale/messages_fr.po b/apps/i2psnark/locale/messages_fr.po
index 2831fb0cf..e7981f282 100644
--- a/apps/i2psnark/locale/messages_fr.po
+++ b/apps/i2psnark/locale/messages_fr.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-13 08:01+0000\n"
-"PO-Revision-Date: 2010-11-22 17:49+0100\n"
+"POT-Creation-Date: 2010-12-28 00:08+0000\n"
+"PO-Revision-Date: 2010-12-31 02:22+0100\n"
 "Last-Translator: mixxy \n"
 "Language-Team: foo \n"
 "MIME-Version: 1.0\n"
@@ -17,808 +17,814 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: French\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:90
+#: ../java/src/org/klomp/snark/SnarkManager.java:94
 #, java-format
 msgid "Adding torrents in {0} minutes"
 msgstr "Ajouter des torrents dans {0} minutes"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:261
+#: ../java/src/org/klomp/snark/SnarkManager.java:296
 #, java-format
 msgid "Total uploaders limit changed to {0}"
 msgstr "Limite agrégée des uploaders modifiée : {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:263
+#: ../java/src/org/klomp/snark/SnarkManager.java:298
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
 msgstr "La limite minimale agrégée des uploaders est : {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:275
+#: ../java/src/org/klomp/snark/SnarkManager.java:310
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "La limite d'upload modifiée : {0} Ko/s"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:277
+#: ../java/src/org/klomp/snark/SnarkManager.java:312
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "La limite minimale d'upload est {0} Ko/s"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:289
+#: ../java/src/org/klomp/snark/SnarkManager.java:324
 #, java-format
 msgid "Startup delay limit changed to {0} minutes"
 msgstr "Delais de démarrage modifié : {0] minutes"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:336
+#: ../java/src/org/klomp/snark/SnarkManager.java:371
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
 msgstr "Les modifications I2CP et des tunnels seront prise en compte après avoir arrêté tous les torrents"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:343
+#: ../java/src/org/klomp/snark/SnarkManager.java:378
 msgid "Disconnecting old I2CP destination"
 msgstr "Déconnexion des anciennes destination I2CP"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:347
+#: ../java/src/org/klomp/snark/SnarkManager.java:382
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "Les paramètres I2CP ont été changés : {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:351
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
 msgstr "Impossible de se connecter avec les nouveaux paramètres, retour à l'ancienne configuration I2CP"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:355
+#: ../java/src/org/klomp/snark/SnarkManager.java:390
 msgid "Unable to reconnect with the old settings!"
 msgstr "Impossible de se reconnecter avec les anciens paramètres!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:357
+#: ../java/src/org/klomp/snark/SnarkManager.java:392
 msgid "Reconnected on the new I2CP destination"
 msgstr "Reconnexion sur la nouvelle destination I2CP"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:368
+#: ../java/src/org/klomp/snark/SnarkManager.java:403
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "Listener I2CP redémarré pour \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:379
+#: ../java/src/org/klomp/snark/SnarkManager.java:414
 msgid "Enabled autostart"
 msgstr "Le démarrage automatique est activé"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:381
+#: ../java/src/org/klomp/snark/SnarkManager.java:416
 msgid "Disabled autostart"
 msgstr "Le démarrage automatique est désactivé"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:387
+#: ../java/src/org/klomp/snark/SnarkManager.java:422
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "Les open trackers sont activés - ceci a nécessité un redémarrage des torrents pour être pris en compte."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:389
+#: ../java/src/org/klomp/snark/SnarkManager.java:424
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "Les open trackers sont désactivés - ceci a nécessité un redémarrage des torrents pour être pris en compte."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:396
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "Liste des Open trackers modifiée - ceci nécessite un redémarrage des torrents pour être pris en compte"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:403
+#: ../java/src/org/klomp/snark/SnarkManager.java:438
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr ""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:445
 msgid "Configuration unchanged."
 msgstr "La configuration n'a pas été modifiée"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:413
+#: ../java/src/org/klomp/snark/SnarkManager.java:455
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "Impossible de sauvegarder la configuration vers {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:452
+#: ../java/src/org/klomp/snark/SnarkManager.java:494
 msgid "Connecting to I2P"
 msgstr "Connexion à I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:455
+#: ../java/src/org/klomp/snark/SnarkManager.java:497
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "Erreur de connexion à I2P - Vérifiez vos paramètres I2CP!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:464
+#: ../java/src/org/klomp/snark/SnarkManager.java:506
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "Erreur : Impossible d'ajouter le torrent : {0}"
 
 #. catch this here so we don't try do delete it below
-#: ../java/src/org/klomp/snark/SnarkManager.java:486
+#: ../java/src/org/klomp/snark/SnarkManager.java:528
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "Impossible d'ouvrir: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:499
+#: ../java/src/org/klomp/snark/SnarkManager.java:541
 #, java-format
 msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only"
 msgstr "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:501
+#: ../java/src/org/klomp/snark/SnarkManager.java:543
 #, java-format
 msgid "Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are disabled, you must enable open trackers before starting the torrent!"
 msgstr "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:521
+#: ../java/src/org/klomp/snark/SnarkManager.java:563
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "Le torrent dans \"{0}\" est invalide"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:536
+#: ../java/src/org/klomp/snark/SnarkManager.java:578
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "Torrent ajouté et démarré: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:538
+#: ../java/src/org/klomp/snark/SnarkManager.java:580
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "Torrent ajouté: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:692
+#: ../java/src/org/klomp/snark/SnarkManager.java:734
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "Trop de fichiers dans \"{0}\" ({1}), suppression! "
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:694
+#: ../java/src/org/klomp/snark/SnarkManager.java:736
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
 msgstr "Le fichier torrent \"{0}\" ne peut pas se terminer par \".torrent\", suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:696
+#: ../java/src/org/klomp/snark/SnarkManager.java:738
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "Pas de morceaux dans \"{0}\", suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:698
+#: ../java/src/org/klomp/snark/SnarkManager.java:740
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "Trop de morceaux dans \"{0}\" , la limite est {1}, suppression!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:700
+#: ../java/src/org/klomp/snark/SnarkManager.java:742
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "Les morceaux sont trop larges dans \"{0}\" ({1}B), suppresion."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:701
+#: ../java/src/org/klomp/snark/SnarkManager.java:743
 #, java-format
 msgid "Limit is {0}B"
 msgstr "La limite est de \"{0}\"Octets"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:709
+#: ../java/src/org/klomp/snark/SnarkManager.java:751
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
 msgstr "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:725
+#: ../java/src/org/klomp/snark/SnarkManager.java:767
 #, 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:746
+#: ../java/src/org/klomp/snark/SnarkManager.java:794
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "Torrent arrêté:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:761
+#: ../java/src/org/klomp/snark/SnarkManager.java:814
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "Torrent supprimé:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:799
+#: ../java/src/org/klomp/snark/SnarkManager.java:852
 #, java-format
 msgid "Download finished: {0}"
 msgstr "Téléchargement terminé:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:799
-#, java-format
-msgid "size: {0}B"
-msgstr "Taille: {0}Octets"
-
-#: ../java/src/org/klomp/snark/SnarkManager.java:827
+#: ../java/src/org/klomp/snark/SnarkManager.java:880
 msgid "Unable to connect to I2P!"
 msgstr "Impossible de se connecter à I2P!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:833
+#: ../java/src/org/klomp/snark/SnarkManager.java:886
 #, java-format
 msgid "Unable to add {0}"
 msgstr "Impossible d'ajouter {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:176
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark - Client BitTorrent anonyme"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:198
 msgid "Torrents"
 msgstr "Torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:190
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:197
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:901
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:201
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977
 msgid "I2PSnark"
 msgstr "I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:194
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
 msgid "Refresh page"
 msgstr "Rafraîchir la page"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:199
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:210
 msgid "Forum"
 msgstr "Forum"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:248
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1377
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
 msgid "Status"
 msgstr "État"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:255
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:257
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
 msgid "Hide Peers"
 msgstr "Cacher les pairs"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:262
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:277
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:279
 msgid "Show Peers"
 msgstr "Afficher les pairs"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:271
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464
 msgid "Torrent"
 msgstr "Torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:276
-msgid "Estimated Download Time"
-msgstr "Temps estimé de téléchargement"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+#, fuzzy
+msgid "Estimated time remaining"
+msgstr "Octets restants"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:278
 # NOTE: purposely left blank to leave more room in the table header
-#msgstr "Temps restant"
+# msgstr "Temps restant"
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
 msgid "ETA"
-msgstr " "
+msgstr " Temps"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:281
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
 msgid "Downloaded"
 msgstr "Téléchargé"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:283
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:300
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:314
 msgid "RX"
 msgstr "Reçu"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
 msgid "Uploaded"
 msgstr "Envoyé"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:288
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
 msgid "TX"
 msgstr "Envoyé"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:291
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:312
 msgid "Down Rate"
 msgstr "Taux de téléchargement"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:298
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
 msgid "Rate"
 msgstr "Vitesse"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:296
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
 msgid "Up Rate"
 msgstr "Taux d'envoi"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "Arrêter tous les torrents et le tunnel I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:309
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
 msgid "Stop All"
 msgstr "Arrêter tout"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:315
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:318
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:351
 msgid "Start all torrents and the I2P tunnel"
 msgstr "Démarrer tous les torrents et le tunnel I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:336
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353
+msgid "Start All"
+msgstr "Démarrer tout"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:372
 msgid "No torrents loaded."
 msgstr "Aucun torrent chargé."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:341
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
 msgid "Totals"
 msgstr "Totaux"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:343
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
 msgstr[0] "1 torrent"
 msgstr[1] "{0} torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:382
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
 msgstr[0] "1 pair connecté"
 msgstr[1] "{0} pairs connectés"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375
-#, java-format
-msgid "Torrent file {0} does not exist"
-msgstr "Le fichier torrent {0} n'existe pas"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:385
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1629
-#, java-format
-msgid "Torrent already running: {0}"
-msgstr "Torrent déjà actif: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:387
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1631
-#, java-format
-msgid "Torrent already in the queue: {0}"
-msgstr "Torrent déjà dans la queue: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:391
-#, java-format
-msgid "Copying torrent to {0}"
-msgstr "Copie du torrent vers {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394
-#, java-format
-msgid "Unable to copy the torrent to {0}"
-msgstr "Impossible de copier le torrent vers {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394
-#, java-format
-msgid "from {0}"
-msgstr "depuis {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:402
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:454
 #, java-format
 msgid "Fetching {0}"
 msgstr "Envoi {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:458
 msgid "Invalid URL - must start with http://"
 msgstr "URL invalide - elle doit débuter par http://"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:436
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
 #, java-format
 msgid "Starting up torrent {0}"
 msgstr "Démarrage du torrent {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:456
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:474
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:527
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "Fichier torrent effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:480
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "Fichier de données effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:482
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "Le fichier de données ne peut être effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:501
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:554
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "Répertoire des données effacé: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587
 msgid "Error creating torrent - you must select a tracker"
 msgstr "Erreur lors de la création du torrent - vous devez sélectionner un tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:548
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "Torrent créé pour \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
 #, java-format
 msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
 msgstr "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:553
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "Erreur de création du torrent pour \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:556
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:610
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "Impossible de créer un torrent pour des données inexistantes: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:559
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
 msgid "Error creating torrent - you must enter a file or directory"
 msgstr "Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:562
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "Arrêt de tous les torrents et fermeture du tunnel I2P."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:573
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627
 msgid "I2P tunnel closed."
 msgstr "Tunnel I2P fermé."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "Ouverture du tunnel I2P and démarrage de tous les torrents."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:698
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:915
-msgid "Unknown"
-msgstr "Inconnu"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:701
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:706
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:712
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:770
 msgid "Tracker Error"
 msgstr "Erreur du tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:704
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:708
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:720
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:724
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:732
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:736
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:741
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:745
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:749
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:799
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:803
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
 msgstr[0] "1 Pair"
 msgstr[1] "{0} Pairs"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:717
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:722
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
 msgid "Seeding"
 msgstr "Seed en cours"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:726
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1427
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:784
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533
 msgid "Complete"
 msgstr "Complet"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:729
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:734
-msgid "Downloading"
-msgstr "Téléchargement en cours"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
+msgid "OK"
+msgstr "OK"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:738
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:743
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
 msgid "Stalled"
 msgstr "Figé"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:747
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
 msgid "No Peers"
 msgstr "Pas de pair"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:751
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810
 msgid "Stopped"
 msgstr "Arrêté"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#, fuzzy, java-format
+msgid "Details at {0} tracker"
+msgstr "Sélectionner un tracker"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+#, fuzzy
+msgid "Info"
+msgstr "Ignore"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
 msgid "View files"
 msgstr "Voir les fichiers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:768
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:855
 msgid "Open file"
 msgstr "Ouvrir fichier"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:798
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049
-msgid "Tracker"
-msgstr "Tracker"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569
+#, fuzzy
+msgid "Open"
+msgstr "Ouvrir fichier"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:836
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:909
 msgid "Stop the torrent"
 msgstr "Arrêter le torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:911
 msgid "Stop"
 msgstr "Arrêter"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:845
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
 msgid "Start the torrent"
 msgstr "Arrêter le torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:850
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923
 msgid "Start"
 msgstr "Démarrer"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:856
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr "Enlever le torrent de la liste active, suprression du fichier .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:861
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:938
 #, java-format
 msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?"
 msgstr "Etes-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:866
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
 msgid "Remove"
 msgstr "Enlever"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:871
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "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:876
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955
 #, java-format
 msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?"
 msgstr "Etes-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:881
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
 msgid "Delete"
 msgstr "Supprimer"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:925
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:991
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
 msgid "Seed"
 msgstr "Seed"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:943
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "aucun intérêt (le pair n'a aucun morceau utile)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:945
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "bridé (le pair ne nous permet pas de demander un morceau)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:959
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "aucun intérêt (nous n'avons aucun morceau utile au pair)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "bridage (nous ne permettons pas au pair de demander un morceau)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1005
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
 msgid "Add Torrent"
 msgstr "Ajouter torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
 msgid "From URL"
 msgstr "Depuis l'url"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1010
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097
 msgid "Torrent file must originate from an I2P-based tracker"
 msgstr "Le fichier torrent doit provenir d'un tracker I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1015
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102
 msgid "Add torrent"
 msgstr "Ajouter torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105
 #, java-format
 msgid "You can also copy .torrent files to: {0}."
 msgstr "Vous pouvez aussi copier les fichiers .torrent vers {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1020
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
 msgid "Removing a .torrent will cause it to stop."
 msgstr "La suppression d'un fichier .torrent entraine l'arrêt du torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1040
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131
 msgid "Create Torrent"
 msgstr "Créer torrent"
 
 #. out.write("From file: 
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134 msgid "Data to seed" msgstr "Données à seeder" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1047 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138 msgid "File or directory to seed (must be within the specified path)" msgstr "Fichier ou répertoire à seeder (doit être dans le chemin spécifié)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1051 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1140 +msgid "Tracker" +msgstr "Tracker" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 msgid "Select a tracker" msgstr "Sélectionner un tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1064 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 msgid "or" msgstr "ou" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1067 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1158 msgid "Specify custom tracker announce URL" msgstr "Spécifier une URL personnalisée d'annonce de tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161 msgid "Create torrent" msgstr "Créer torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1089 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317 msgid "Configuration" msgstr "Configuration" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184 msgid "Data directory" msgstr "Répertoire de données" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186 msgid "Edit i2psnark.config and restart to change" msgstr "Editez i2psnark.config et redémarrez pour prendre en compte les modifications" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1098 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190 msgid "Auto start" msgstr "Démarrage automatique" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 msgid "If checked, automatically start torrents that are added" msgstr "Si coché, les torrents démarrerons automatiquement lors de l'ajout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1106 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198 +msgid "Theme" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1211 msgid "Startup delay" msgstr "Délais de démarrage" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1108 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213 msgid "minutes" msgstr "minutes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1132 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 msgid "Total uploader limit" msgstr "Limite totale d'envoi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1135 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 msgid "peers" msgstr "pairs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 msgid "Up bandwidth limit" msgstr "Limite de bande passante en envoi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1247 msgid "Half available bandwidth recommended." msgstr "La moitié de la bande passante est recommandée." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249 msgid "View or change router bandwidth" msgstr "Consulter ou modifier la bande passante du routeur" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Use open trackers also" msgstr "Utiliser les open trackers aussi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257 msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file" msgstr "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:1156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1261 msgid "Open tracker announce URLs" msgstr "URL d'annonce open tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273 msgid "Inbound Settings" msgstr "Paramètres entrants" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279 msgid "Outbound Settings" msgstr "Paramètres sortants" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286 msgid "I2CP host" msgstr "Hôte I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291 msgid "I2CP port" msgstr "Port I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303 msgid "I2CP options" msgstr "Options I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308 msgid "Save configuration" msgstr "Sauvegarder la configuration" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 saut" msgstr[1] "{0} sauts" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1222 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 tunnel" msgstr[1] "{0} tunnels" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1371 -msgid "File" -msgstr "Fichier" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374 -msgid "FileSize" -msgstr "Taille du fichier" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480 msgid "Size" msgstr "Taille" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1377 -msgid "Download Status" -msgstr "État du téléchargement" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1381 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487 msgid "Priority" msgstr "Priorité" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1386 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 msgid "Up to higher level directory" msgstr "Vers le répertoire parent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1411 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 msgid "Directory" msgstr "Répertoire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1416 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 msgid "Torrent not found?" msgstr "Torrent non trouvé?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1424 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 msgid "File not found in torrent?" msgstr "Fichier non trouvé dans le torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1431 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 msgid "complete" msgstr "complet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1432 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 msgid "bytes remaining" msgstr "Octets restants" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595 msgid "High" msgstr "Haut" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1488 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1600 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1493 -msgid "Ignore" -msgstr "Ignore" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1605 +msgid "Skip" +msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1614 msgid "Save priorities" msgstr "Sauvegarder les priorités" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1609 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 #, java-format msgid "Torrent fetched from {0}" msgstr "Torrent envoyé de {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1637 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746 +#, java-format +msgid "Torrent already running: {0}" +msgstr "Torrent déjà actif: {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1748 +#, java-format +msgid "Torrent already in the queue: {0}" +msgstr "Torrent déjà dans la queue: {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755 +#, fuzzy, java-format +msgid "Failed to copy torrent file to {0}" +msgstr "Impossible de copier le torrent vers {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759 #, java-format msgid "Torrent at {0} was not valid" msgstr "Le torrent {0} n'est pas valide" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764 #, java-format msgid "Torrent was not retrieved from {0}" msgstr "Le torrent n'a pas été reçu par {0}" -#~ msgid "Start All" -#~ msgstr "Démarrer tout" -#~ msgid "OK" -#~ msgstr "OK" +#~ msgid "size: {0}B" +#~ msgstr "Taille: {0}Octets" +#~ msgid "Estimated Download Time" +#~ msgstr "Temps estimé de téléchargement" +#~ msgid "Torrent file {0} does not exist" +#~ msgstr "Le fichier torrent {0} n'existe pas" +#~ msgid "Copying torrent to {0}" +#~ msgstr "Copie du torrent vers {0}" +#~ msgid "from {0}" +#~ msgstr "depuis {0}" +#~ msgid "Downloading" +#~ msgstr "Téléchargement en cours" +#~ msgid "File" +#~ msgstr "Fichier" +#~ msgid "FileSize" +#~ msgstr "Taille du fichier" +#~ msgid "Download Status" +#~ msgstr "État du téléchargement" #~ msgid "Details" #~ msgstr "Détails" #~ msgid "Depuis l'URL" @@ -826,9 +832,12 @@ msgstr "Le torrent n'a pas été reçu par {0}" #~ msgid "Directory to store torrents and data" #~ msgstr "Répertoire de stockage des torrents et des données" #~ msgid "Cannot change the I2CP settings while torrents are active" -#~ msgstr "On ne peut changer les paramètres I2CP pendant que des torrents sont actifs" +#~ msgstr "" +#~ "On ne peut changer les paramètres I2CP pendant que des torrents sont " +#~ "actifs" #~ msgid "Non-i2p tracker in \"{0}\", deleting it from our list of trackers!" -#~ msgstr "Tracker non-i2p dans \"{0}\", suppression de notre liste de trackers!" +#~ msgstr "" +#~ "Tracker non-i2p dans \"{0}\", suppression de notre liste de trackers!" #~ msgid "{0} torrents" #~ msgstr "{0} Torrents" #~ msgid "Uninteresting" diff --git a/apps/i2psnark/locale/messages_pt.po b/apps/i2psnark/locale/messages_pt.po index a2a859e42..4c9547c31 100644 --- a/apps/i2psnark/locale/messages_pt.po +++ b/apps/i2psnark/locale/messages_pt.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: I2P i2psnark\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-19 03:16+0000\n" -"PO-Revision-Date: 2010-12-29 16:29+0100\n" +"PO-Revision-Date: 2010-12-31 01:09+0100\n" "Last-Translator: mixxy \n" "Language-Team: foo \n" "MIME-Version: 1.0\n" @@ -453,7 +453,7 @@ msgstr "completo" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792 msgid "OK" -msgstr "Bem" +msgstr "bem" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801 diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java index f2acafdff..d3b6ecc29 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -22,6 +22,7 @@ import net.i2p.util.ShellCommand; import org.mortbay.http.DigestAuthenticator; import org.mortbay.http.HashUserRealm; +import org.mortbay.http.NCSARequestLog; import org.mortbay.http.SecurityConstraint; import org.mortbay.http.SslListener; import org.mortbay.http.handler.SecurityHandler; @@ -141,6 +142,18 @@ public class RouterConsoleRunner { // so Jetty can find WebAppConfiguration System.setProperty("jetty.class.path", I2PAppContext.getGlobalContext().getBaseDir() + "/lib/routerconsole.jar"); _server = new Server(); + + String log = I2PAppContext.getGlobalContext().getProperty("routerconsole.log"); + if (log != null) { + File logFile = new File(log); + if (!logFile.isAbsolute()) + logFile = new File(I2PAppContext.getGlobalContext().getLogDir(), "logs/" + log); + try { + _server.setRequestLog(new NCSARequestLog(logFile.getAbsolutePath())); + } catch (IOException ioe) { + System.err.println("ERROR: Unable to create Jetty log: " + ioe); + } + } boolean rewrite = false; Properties props = webAppProperties(); if (props.isEmpty()) { diff --git a/apps/routerconsole/jsp/help.jsp b/apps/routerconsole/jsp/help.jsp index 6a23198db..636e8800d 100644 --- a/apps/routerconsole/jsp/help.jsp +++ b/apps/routerconsole/jsp/help.jsp @@ -174,7 +174,7 @@ details on other applications available, as well as their licenses, please see t client applications can be found on our download page. .

-

Release history

+

Change Log

<% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "history.txt"); %> @@ -182,6 +182,5 @@ client applications can be found on our d -

A more complete list of changes can be found - in the history.txt file in your i2p directory. +

View the full change log


diff --git a/apps/routerconsole/jsp/viewhistory.jsp b/apps/routerconsole/jsp/viewhistory.jsp index 6268abd5a..14ee0bbff 100644 --- a/apps/routerconsole/jsp/viewhistory.jsp +++ b/apps/routerconsole/jsp/viewhistory.jsp @@ -8,5 +8,9 @@ */ response.setContentType("text/plain"); String base = net.i2p.I2PAppContext.getGlobalContext().getBaseDir().getAbsolutePath(); -net.i2p.util.FileUtil.readFile("history.txt", base, response.getOutputStream()); +try { + net.i2p.util.FileUtil.readFile("history.txt", base, response.getOutputStream()); +} catch (java.io.IOException ioe) { + response.sendError(403, ioe.toString()); +} %> \ No newline at end of file diff --git a/apps/routerconsole/jsp/viewtheme.jsp b/apps/routerconsole/jsp/viewtheme.jsp index c095cc54e..723b0ec32 100644 --- a/apps/routerconsole/jsp/viewtheme.jsp +++ b/apps/routerconsole/jsp/viewtheme.jsp @@ -44,5 +44,9 @@ if (themePath != null) else base = net.i2p.I2PAppContext.getGlobalContext().getBaseDir().getAbsolutePath() + java.io.File.separatorChar + "docs"; -net.i2p.util.FileUtil.readFile(uri, base, response.getOutputStream()); +try { + net.i2p.util.FileUtil.readFile(uri, base, response.getOutputStream()); +} catch (java.io.IOException ioe) { + response.sendError(403, ioe.toString()); +} %> \ No newline at end of file diff --git a/apps/routerconsole/locale/messages_de.po b/apps/routerconsole/locale/messages_de.po index f2f79e6b6..ddd4c2393 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: 2010-12-12 23:29+0000\n" -"PO-Revision-Date: 2010-12-19 04:36+0100\n" +"POT-Creation-Date: 2010-12-28 00:08+0000\n" +"PO-Revision-Date: 2010-12-31 02:47+0100\n" "Last-Translator: mixxy \n" "Language-Team: echelon , Sperreingang \n" "MIME-Version: 1.0\n" @@ -26,7 +26,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:1092 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1103 #, java-format msgid "1 ms" msgid_plural "{0,number,####} ms" @@ -36,8 +36,7 @@ msgstr[1] "{0,number,####} ms" #. seconds #. Note to translators: quantity will always be greater than one. #. alternates: secs, sec. 'seconds' is probably too long. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1097 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:354 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1108 #, java-format msgid "1 sec" msgid_plural "{0} sec" @@ -47,7 +46,7 @@ msgstr[1] "{0} s" #. minutes #. Note to translators: quantity will always be greater than one. #. alternates: mins, min. 'minutes' is probably too long. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1102 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113 #, java-format msgid "1 min" msgid_plural "{0} min" @@ -57,21 +56,21 @@ msgstr[1] "{0} Minuten" #. hours #. Note to translators: quantity will always be greater than one. #. alternates: hrs, hr., hrs. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1107 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1118 #, java-format msgid "1 hour" msgid_plural "{0} hours" msgstr[0] "1 Stunde" msgstr[1] "{0} Stunden" -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1109 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1120 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313 msgid "n/a" msgstr "k.A." #. days #. Note to translators: quantity will always be greater than one. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1124 #, java-format msgid "1 day" msgid_plural "{0} days" @@ -146,35 +145,35 @@ msgstr "Akzeptiere Tunnelanfragen" msgid "Rejecting tunnels" msgstr "Weise Tunnelanfragen zurück" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:67 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:68 msgid "Ensure that nothing blocks outbound HTTP, check logs and if nothing helps, read the FAQ about reseeding manually." msgstr "Stellen Sie bitte sicher, dass nichts ausgehenden HTTP-Transfer blockiert, überprüfen Sie die Berichte, und wenn gar nichts hilft, lesen Sie die FAQ über das manuelle Reseeden." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:100 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:101 msgid "Reseeding" msgstr "Reseeden" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:123 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:124 #, java-format msgid "Reseed fetched only 1 router." msgid_plural "Reseed fetched only {0} routers." msgstr[0] "Nur Daten eines Routers per Ressed erhalten" msgstr[1] "Nur {0} Routerinformationen per Reseed erhalten" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:131 msgid "Reseed failed." msgstr "Reseed fehlgeschlagen" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:232 msgid "Reseeding: fetching seed URL." msgstr "Reseed: Hole die Seed-URL" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:273 #, java-format msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)." msgstr "Reseed: Holen der Router-Informationen von Seed-URL ({0} erfolgreich, {1} Fehler)." -#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510 +#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:513 msgid "NetDb entry" msgstr "NetzDB-Eintrag" @@ -183,39 +182,39 @@ msgstr "NetzDB-Eintrag" msgid "No transports (hidden or starting up?)" msgstr "Keine Transporte (Versteckter Modus oder Start?)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:451 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:452 msgid "Unreachable on any transport" msgstr "Unerreichbar auf allen Transporten" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:500 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:501 msgid "Router Transport Addresses" msgstr "Router-Transport-Adresse" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:505 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:506 #, java-format 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:519 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520 msgid "Help" msgstr "Hilfe" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521 msgid "Your transport connection limits are automatically set based on your configured bandwidth." msgstr "Ihre Verbindungseinstellungen werden, basierend auf der von Ihnen zur Verfügung gestellten Bandbreite, automatisch vorgenommen." -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523 msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page." msgstr "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:524 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257 msgid "Definitions" msgstr "Definitionen" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 #: ../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 @@ -225,149 +224,149 @@ msgstr "Definitionen" msgid "Peer" msgstr "Teilnehmer" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 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:526 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 msgid "Dir" msgstr "Richtung" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528 msgid "Inbound connection" msgstr "Eingehende Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530 msgid "Outbound connection" msgstr "Ausgehende Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532 msgid "They offered to introduce us (help other peers traverse our firewall)" msgstr "Sie boten an, uns bekannt zu machen (anderen Teilnehmern helfen, unsere Firewall zu überwinden)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 msgid "We offered to introduce them (help other peers traverse their firewall)" msgstr "Wir bieten an, sie bekannt zu machen (anderen Teilnehmern helfen, ihre Firewall zu überwinden)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 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:534 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896 msgid "Idle" msgstr "Untätig" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156 msgid "In/Out" msgstr "Ein-/Ausgehend" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)" msgstr "Die geglättete ein-/ausgehende Transferrate (KBytes pro Sekunde)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 msgid "How long ago this connection was established" msgstr "Wie lange die Verbindung schon besteht" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906 msgid "Up" msgstr "Verbunden" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908 msgid "Skew" msgstr "Differenz" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 msgid "The difference between the peer's clock and your own" msgstr "Der Unterschied zwischen Ihrer und der Uhr des Teilnehmers" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 msgid "The congestion window, which is how many bytes can be sent without an acknowledgement" msgstr "Der Pufferspeicher, der angibt, wieviele Bytes Sie ohne Bestätigung senden können" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 msgid "The number of sent messages awaiting acknowledgement" msgstr "Die Anzahl der gesendeten Nachrichten, die auf Bestätigung warten" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 msgid "The maximum number of concurrent messages to send" msgstr "Die maximale Anzahl von gleichzeitig sendbaren Nachrichten" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 msgid "The number of pending sends which exceed congestion window" msgstr "Die Anzahl der ausstehenden Sendeanforderungen, die den Pufferspeicher überschreiten." -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 msgid "The slow start threshold" msgstr "Der Grenzwert zum verzögertem Starten" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 msgid "The round trip time in milliseconds" msgstr "Die Rundenzeit zum Server und zurück in Millisekunden" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918 msgid "Dev" msgstr "Abweichung" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 msgid "The standard deviation of the round trip time in milliseconds" msgstr "Standardabweichung der Rundenzeit (in Millisekunden)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 msgid "The retransmit timeout in milliseconds" msgstr "Der Timeout beim erneuten Senden (in Millisekunden)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)" 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:547 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925 msgid "TX" msgstr "Gesendet" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 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:548 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927 msgid "RX" msgstr "Empfangen" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 msgid "The total number of packets received from the peer" msgstr "Gesamtanzahl der vom Teilnehmer empfangenen Pakete" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930 msgid "Dup TX" msgstr "Mehrfach gesendet" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 msgid "The total number of packets retransmitted to the peer" msgstr "Gesamtanzahl der an den Teilnehmer erneut gesendeten Pakete" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932 msgid "Dup RX" msgstr "Mehrfach empfangen" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 msgid "The total number of duplicate packets received from the peer" msgstr "Gesamtanzahl der vom Teilnehmer erneut empfangenen Pakete" @@ -377,149 +376,149 @@ 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:710 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730 msgid "NTCP connections" msgstr "NTCP-Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 msgid "Limit" msgstr "Obere Grenze" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1888 msgid "Timeout" msgstr "Timeout" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:723 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743 msgid "Out Queue" msgstr "Ausgehende Warteschlange" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:724 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744 msgid "Backlogged?" msgstr "Rückstau" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Inbound" msgstr "ankommend" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Outbound" msgstr "abgehend" #. buf.append("
\n"); -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:787 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807 msgid "peers" msgstr "Teilnehmer" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886 msgid "UDP connections" msgstr "UDP-Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 msgid "Sort by peer hash" msgstr "Nach Router Prüfsumme sortieren" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 msgid "Direction/Introduction" msgstr "Richtung/Bekanntmachung" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897 msgid "Sort by idle inbound" msgstr "Sortieren nach untätigen eingehenden Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1899 msgid "Sort by idle outbound" msgstr "Sortieren nach untätigen ausgehenden Verbindungen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902 msgid "Sort by inbound rate" msgstr "Sortieren nach eingehender Transferrate" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904 msgid "Sort by outbound rate" msgstr "Sortieren nach ausgehender Transferrate" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907 msgid "Sort by connection uptime" msgstr "Sortieren nach Lebensdauer der Verbindung" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1909 msgid "Sort by clock skew" msgstr "Sortieren nach Zeitunterschied" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1912 msgid "Sort by congestion window" msgstr "Sortieren nach Größe des Pufferspeichers" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914 msgid "Sort by slow start threshold" msgstr "Sortieren nach Grenzwert des verzögerten Startens" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 msgid "Sort by round trip time" msgstr "Sortieren nach Rundenzeit" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919 msgid "Sort by round trip time deviation" msgstr "Sortieren nach Abweichung der Rundenzeit" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921 msgid "Sort by retransmission timeout" msgstr "Sortieren nach Timeout beim erneuten Senden" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 msgid "Sort by outbound maximum transmit unit" msgstr "Sortieren nach maximaler ausgehender Transferpaketgröße" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 msgid "Sort by packets sent" msgstr "Sortieren nach Anzahl gesendeter Pakete" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928 msgid "Sort by packets received" msgstr "Sortieren nach Anzahl empfangener Pakete" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931 msgid "Sort by packets retransmitted" msgstr "Sortieren nach Anzahl erneut gesendeter Pakete" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1933 msgid "Sort by packets received more than once" msgstr "Sortieren nach Anzahl mehrfach empfangener Pakete" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1954 msgid "We offered to introduce them" msgstr "Wir bieten an, diese bekannt zu machen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956 msgid "They offered to introduce us" msgstr "Diese boten an, uns bekannt zu machen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1960 msgid "Choked" msgstr "gedrosselt" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1968 msgid "1 fail" msgstr "1 Fehler" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1966 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1970 #, java-format msgid "{0} fails" msgstr "{0} fehlgeschlagen" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1972 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1976 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162 msgid "Banned" msgstr "Gesperrt" #. buf.append("
\n"); -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2103 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2107 msgid "SUMMARY" msgstr "ZUSAMMENFASSUNG" @@ -1497,235 +1496,246 @@ msgstr "Einstellungen erfolgreich gespeichert" msgid "Error saving the configuration (applied but not saved) - please see the error logs" msgstr "Fehler beim Speichern der Einstellungen (angewendet aber nicht gespeichert) - Bitte schau in die Fehlerberichte!" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335 msgid "Save Client Configuration" +msgstr "Speichere Klienteneinstellungen" + +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405 +#, fuzzy +msgid "Save Interface Configuration" msgstr "Speichere Klient-Einstellungen" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417 msgid "Save WebApp Configuration" msgstr "Speichere WebApplikations-Einstellungen" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427 msgid "Save Plugin Configuration" msgstr "Speichere Einstellungen des Zusatzprogrammes" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433 msgid "Install Plugin" msgstr "Zusatzprogramm installieren" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87 #, java-format msgid "Deleted plugin {0}" msgstr "Zusatzprogramm {0} gelöscht" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:84 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89 #, java-format msgid "Error deleting plugin {0}" msgstr "Fehler beim Löschen des Zusatzprogramms {0}" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:96 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101 #, java-format msgid "Stopped plugin {0}" msgstr "Zusatzprogramm {0} angehalten" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:98 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103 #, java-format msgid "Error stopping plugin {0}" msgstr "Fehler beim Stoppen des Zusatzprogramms {0}" #. label (IE) -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:253 msgid "Start" msgstr "Starten" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:138 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:143 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61 msgid "Unsupported" msgstr "Nicht unterstützt" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:184 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189 msgid "New client added" msgstr "Neuer Klient hinzugefügt" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:188 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193 msgid "Client configuration saved successfully - restart required to take effect." -msgstr "Klient-Einstellungen erfolgreich gespeichert - Neustart zum Übernehmen erforderlich" +msgstr "Klienteninstellungen erfolgreich gespeichert - Neustart zum Übernehmen erforderlich" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:202 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:213 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 msgid "Bad client index." msgstr "Falscher Index für den Klienten" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:379 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:384 msgid "Client" msgstr "Klient" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271 msgid "started" msgstr "gestartet" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223 msgid "deleted" msgstr "gelöscht" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240 msgid "WebApp configuration saved." msgstr "WebApp Einstellungen gespeichert." -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:251 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256 msgid "Plugin configuration saved." msgstr "Einstellungen des Zusatzprogramms gespeichert." -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 msgid "WebApp" msgstr "WebApplikation" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:268 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273 msgid "Failed to start" msgstr "Fehler beim Starten" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278 msgid "Failed to find server." msgstr "Konnte keinen Server finden" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284 msgid "No plugin URL specified." msgstr "Keine URL des Zusatzprogramms angegeben" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:289 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294 #, java-format msgid "No update URL specified for {0}" msgstr "Keine Update-URL angegeben für {0}" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:297 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:302 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:315 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:307 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:325 msgid "Plugin or update download already in progress." msgstr "Zusatzprogramm oder Aktualisierung wird bereits heruntergeladen." -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306 +#: ../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 "Lade Zusatzprogramm herunter von {0}" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:324 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329 #, java-format msgid "Checking plugin {0} for updates" msgstr "Zusatzprogramm {0} auf Aktualisierungen prüfen" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339 #, java-format msgid "Started plugin {0}" msgstr "Zusatzprogramm {0} gestartet" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:336 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341 #, java-format msgid "Error starting plugin {0}" msgstr "Fehler beim Starten des Zusatzprogramms {0}" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:21 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:192 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376 +#, fuzzy +msgid "Interface configuration saved successfully - restart required to take effect." +msgstr "Klient-Einstellungen erfolgreich gespeichert - Neustart zum Übernehmen erforderlich" + +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:256 msgid "Edit" msgstr "Bearbeiten" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331 msgid "Add Client" -msgstr "Klient hinzufügen" +msgstr "Klienten hinzufügen" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 msgid "Class and arguments" msgstr "Klasse und Argumente" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Control" msgstr "Kontrolle" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Run at Startup?" msgstr "Beim Starten des Systems mitstarten?" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:131 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:195 msgid "Description" msgstr "Beschreibung" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Plugin" msgstr "Zusatzprogramm" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:159 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:271 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185 msgid "Version" msgstr "Version" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:97 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161 msgid "Signed by" msgstr "unterschrieben von" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:114 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:178 msgid "Date" msgstr "Datum" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:120 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:184 msgid "Author" msgstr "Autor" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:136 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:200 msgid "License" msgstr "Lizenz" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:141 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:205 msgid "Website" msgstr "Webseite" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:210 msgid "Update link" msgstr "Adresse des Updates" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258 msgid "Stop" msgstr "Stopp" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196 -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:78 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313 msgid "Check for updates" msgstr "Auf Aktualisierungen prüfen" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:261 #: ../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" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:266 #, java-format msgid "Are you sure you want to delete {0}?" msgstr "Sind Sie sicher, dass Sie {0} löschen wollen?" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:204 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268 msgid "Delete" msgstr "löschen" @@ -1965,19 +1975,19 @@ msgstr "Aktualisiere den Anteil der zur Verfügung gestellten Bandbreite" msgid "Updated bandwidth limits" msgstr "Aktualisiere die Bandbreitenlimits" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:39 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:47 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:50 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:57 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:60 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:41 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:49 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:52 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:59 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:62 msgid "unknown" msgstr "unbekannt" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:169 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:172 msgid "bits per second" msgstr "Bits pro Sekunde" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:170 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173 #, java-format msgid "or {0} bytes per month maximum" msgstr "oder maximal {0} Bytes im Monat" @@ -2353,52 +2363,52 @@ msgstr "Chinesisch" msgid "Swedish" msgstr "Schwedisch" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:88 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:85 msgid "Update available, attempting to download now" msgstr "Aktualisierung verfügbar; versuche, diese herunterzuladen" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:90 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87 msgid "Update available, click button on left to download" msgstr "Aktualisierung verfügbar. Klick auf den Knopf links, um sie herunterzuladen!" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:96 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93 msgid "No update available" msgstr "Keine Aktualisierung verfügbar" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:104 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101 msgid "Updating news URL to" msgstr "Aktualisiere die Adresse für die Nachrichten auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:112 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109 msgid "Updating proxy host to" msgstr "Aktualisiere den Proxyhost auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:120 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117 msgid "Updating proxy port to" msgstr "Aktualisiere den Port des Proxys auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:133 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130 msgid "Updating refresh frequency to" msgstr "Aktualisiere die Häufigkeit des Neuladens auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:140 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137 msgid "Updating update policy to" msgstr "Aktualisiere die Aktualisierungsrichtlinien auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:149 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146 msgid "Updating update URLs." msgstr "Aktualisiere die Aktualisierungsadressen auf" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:158 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155 msgid "Updating trusted keys." msgstr "Aktualisiere die vertrauten Schlüssel" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:166 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163 msgid "Updating unsigned update URL to" msgstr "Aktualisiere die Adresse der nicht vertrauten Aktualisierungsdatei auf" #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88 -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 +#: ../java/src/net/i2p/router/web/GraphHelper.java:167 msgid "Never" msgstr "Nie" @@ -2422,80 +2432,68 @@ msgstr "Herunterladen, überprüfen und neustarten" 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." -#: ../java/src/net/i2p/router/web/GraphHelper.java:87 +#: ../java/src/net/i2p/router/web/GraphHelper.java:93 msgid "Combined bandwidth graph" msgstr "Graph der kombinierten Bandbreite" #. e.g. "statname for 60m" -#: ../java/src/net/i2p/router/web/GraphHelper.java:101 +#: ../java/src/net/i2p/router/web/GraphHelper.java:107 #, java-format msgid "{0} for {1}" msgstr "{0} für {1}" -#: ../java/src/net/i2p/router/web/GraphHelper.java:138 +#: ../java/src/net/i2p/router/web/GraphHelper.java:146 msgid "Configure Graph Display" msgstr "Graphenanzeige einstellen" -#: ../java/src/net/i2p/router/web/GraphHelper.java:138 +#: ../java/src/net/i2p/router/web/GraphHelper.java:146 msgid "Select Stats" msgstr "Wähle die Statistiken" -#: ../java/src/net/i2p/router/web/GraphHelper.java:142 +#: ../java/src/net/i2p/router/web/GraphHelper.java:150 msgid "Periods" msgstr "Zeitraum" -#: ../java/src/net/i2p/router/web/GraphHelper.java:143 +#: ../java/src/net/i2p/router/web/GraphHelper.java:151 msgid "Plot averages" msgstr "Zeichne Mittelwerte" -#: ../java/src/net/i2p/router/web/GraphHelper.java:144 +#: ../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 msgid "or" msgstr "oder" -#: ../java/src/net/i2p/router/web/GraphHelper.java:144 +#: ../java/src/net/i2p/router/web/GraphHelper.java:152 msgid "plot events" msgstr "zeichne konkrete Daten" -#: ../java/src/net/i2p/router/web/GraphHelper.java:145 +#: ../java/src/net/i2p/router/web/GraphHelper.java:153 msgid "Image sizes" msgstr "Bildgröße" -#: ../java/src/net/i2p/router/web/GraphHelper.java:145 +#: ../java/src/net/i2p/router/web/GraphHelper.java:153 msgid "width" msgstr "Breite" -#: ../java/src/net/i2p/router/web/GraphHelper.java:146 +#: ../java/src/net/i2p/router/web/GraphHelper.java:154 msgid "height" msgstr "Höhe" -#: ../java/src/net/i2p/router/web/GraphHelper.java:146 -#: ../java/src/net/i2p/router/web/GraphHelper.java:147 +#: ../java/src/net/i2p/router/web/GraphHelper.java:154 +#: ../java/src/net/i2p/router/web/GraphHelper.java:155 msgid "pixels" msgstr "Pixel" -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 +#: ../java/src/net/i2p/router/web/GraphHelper.java:156 msgid "Refresh delay" msgstr "Aktualisierungsintervall" -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "hour" -msgstr "Stunde" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "minute" -msgstr "Minute" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "minutes" -msgstr "Minuten" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:149 +#: ../java/src/net/i2p/router/web/GraphHelper.java:171 msgid "Redraw" msgstr "neuzeichnen" -#: ../java/src/net/i2p/router/web/GraphHelper.java:181 +#: ../java/src/net/i2p/router/web/GraphHelper.java:203 msgid "Graph settings saved" msgstr "Einstellungen zu Grafiken gespeichert" @@ -2629,7 +2627,7 @@ msgid "Full entry" msgstr "Ganzer Eintrag" #: ../java/src/net/i2p/router/web/NetDbRenderer.java:354 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:110 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:115 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601 msgid "Hidden" msgstr "Versteckt" @@ -2722,7 +2720,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:185 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:244 #, java-format msgid "{0}B transferred" msgstr "{0}Bytes übertragen" @@ -2738,7 +2736,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:166 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:226 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:298 #, java-format msgid "from {0}" msgstr "von {0}" @@ -3308,7 +3306,7 @@ msgid "Textual router performance statistics" msgstr "Statistiken über die Leistung des Routers in Textform" #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:370 msgid "Local Destinations" msgstr "lokale Ziele" @@ -3443,107 +3441,107 @@ msgstr "Tunnelverzug" msgid "Backlog" msgstr "Anfragenrückstau" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:101 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:106 msgid "ERR-Client Manager I2CP Error - check logs" msgstr "FEHLER: Fehler des Klienten-Managers von I2CP - Sieh in die Berichte!" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:108 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:113 #, java-format msgid "ERR-Clock Skew of {0}" msgstr "FEHLER: Uhrzeitdifferenz von {0}" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:117 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:122 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577 msgid "OK" msgstr "OK" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:118 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:123 msgid "ERR-Private TCP Address" msgstr "FEHLER: Private TCP-Adresse" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:120 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:125 msgid "ERR-SymmetricNAT" msgstr "FEHLER: Symmetrisches NAT" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:123 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:128 msgid "WARN-Firewalled with Inbound TCP Enabled" msgstr "WARNUNG: Eingehendes TCP aktiviert aber Firewall aktiv" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:125 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:130 msgid "WARN-Firewalled and Floodfill" msgstr "WARNUNG: Firewall aktiv und Floodfill aktiviert" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:127 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:132 msgid "WARN-Firewalled and Fast" msgstr "WARNUNG: Firewall aktiv und Schnell" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:128 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:133 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581 msgid "Firewalled" msgstr "Firewall aktiv" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:130 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:135 msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart" msgstr "FEHLER: UDP Port ist belegt. Setze i2np.udp.internalPort=xxxx in der Konfiguration für Profis und starte I2P neu!" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:136 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:141 msgid "ERR-No Active Peers, Check Network Connection and Firewall" msgstr "FEHLER: Keine aktiven Teilnehmer. Überprüfen Sie Firewall und Netzwekrverbindung!" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:139 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:144 msgid "ERR-UDP Disabled and Inbound TCP host/port not set" msgstr "FEHLER: UDP deaktiviert und eingehender TCP/IP-Port nicht gesetzt" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:141 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:146 msgid "WARN-Firewalled with UDP Disabled" msgstr "WARNUNG: Firewall aktiv und UDP deaktiviert" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:143 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:148 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597 msgid "Testing" msgstr "Teste" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:370 msgid "Add/remove/edit & control your client and server tunnels" msgstr "Klienten- und Servertunnel hinzufügen, löschen oder bearbeiten" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:377 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:382 msgid "Server" msgstr "Server" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:381 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:386 msgid "Show tunnels" msgstr "Zeige Tunnel" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:397 msgid "Leases expired" msgstr "Leases abgelaufen" #. red or yellow light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:397 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:398 msgid "Rebuilding" msgstr "Baue wieder auf" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:398 msgid "ago" msgstr "vor" #. green light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:396 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:401 msgid "Ready" msgstr "Bereit" #. yellow light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 msgid "Building" msgstr "Baue auf" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 msgid "Building tunnels" msgstr "Baue Tunnel auf" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:410 msgid "none" msgstr "keine" @@ -3551,7 +3549,7 @@ msgstr "keine" #. nicely under 'local destinations' in the summary bar #. note that if the wording changes in i2ptunnel.config, we have to #. keep the old string here as well for existing installs -#: ../java/src/net/i2p/router/web/SummaryHelper.java:416 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:421 #: ../java/strings/Strings.java:36 msgid "shared clients" msgstr "versch. Klienten" @@ -3710,17 +3708,17 @@ msgid "Totals" msgstr "Gesamt" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:132 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:145 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:178 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:142 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:237 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:189 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:214 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:261 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:286 msgid "Update downloaded" msgstr "Aktualisierung heruntergeladen" @@ -3730,22 +3728,22 @@ 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:209 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:281 msgid "Restarting" msgstr "Starte neu" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:216 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:288 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:218 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:290 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:220 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:292 #, java-format msgid "Version {0}" msgstr "Version {0}" @@ -3755,12 +3753,23 @@ msgstr "Version {0}" msgid "Failed copy to {0}" msgstr "Kopieren nach {0} fehlgeschlagen" -#: ../java/src/net/i2p/router/web/UpdateHandler.java:209 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:184 +#, fuzzy, java-format +msgid "Updating from {0}" +msgstr "Aktualisiere UDP-Port von" + +#: ../java/src/net/i2p/router/web/UpdateHandler.java:253 +#, fuzzy, java-format +msgid "No new version found at {0}" +msgstr "Keine neue Version des Zusatzprogrammes {0} verfügbar" + +#: ../java/src/net/i2p/router/web/UpdateHandler.java:281 msgid "Update verified" msgstr "Aktualisierung verifiziert" -#: ../java/src/net/i2p/router/web/UpdateHandler.java:234 -msgid "Transfer failed" +#: ../java/src/net/i2p/router/web/UpdateHandler.java:307 +#, fuzzy, java-format +msgid "Transfer failed from {0}" msgstr "Übertragung fehlgeschlagen" #. wars for ConfigClientsHelper @@ -4146,6 +4155,7 @@ msgstr "" #: ../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/configstats_jsp.java:375 @@ -4160,6 +4170,7 @@ 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 msgid "The default settings will work for most people." msgstr "Die Standardeinstellungen funktionieren für die meisten Anwender." @@ -4632,12 +4643,12 @@ msgstr "Konfiguration der I2P-Klienten" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312 msgid "Client Configuration" -msgstr "Klient-Konfiguration" +msgstr "Klienten-Konfiguration" #: ../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 "" -"Die Java-Klients unten werden durch den Router gestartet und laufen in der \n" +"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 @@ -4645,35 +4656,92 @@ 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:345 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:415 msgid "All changes require restart to take effect." msgstr "Alle Änderungen erfordern einen Neustart, um aktiv zu werden." #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337 +#, fuzzy +msgid "Advanced Client Interface Configuration" +msgstr "Erweiterte I2P-Einstellungen" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339 +msgid "External I2CP (I2P Client Protocol) Interface Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345 +msgid "Enabled without SSL" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351 +msgid "Enabled with SSL required" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +msgid "Disabled - Clients outside this Java process may not connect" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359 +msgid "I2CP Port" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +#, fuzzy +msgid "I2CP Interface" +msgstr "Einstellungen" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379 +#, fuzzy +msgid "Authorization" +msgstr "Autor" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385 +msgid "Requre username and password" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387 +#, fuzzy +msgid "Username" +msgstr "Surinam" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391 +msgid "Password" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397 +msgid "Any changes made here must also be configured in the external client." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399 +msgid "Many clients do not support SSL or authorization." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407 msgid "WebApp Configuration" msgstr "WebApp-Einstellungen" -#: ../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: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 "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:341 +#: ../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 "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:351 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421 msgid "Plugin Configuration" msgstr "Konfiguration der Zusatzprogramme" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423 msgid "The plugins listed below are started by the webConsole client." msgstr "Die unten aufgelisteten Zusatzprogramme werden vom WebKonsolen-Klienten gestartet." -#: ../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:429 msgid "Plugin Installation" msgstr "Installation von Zusatzprogrammen" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431 msgid "To install a plugin, enter the download URL:" msgstr "Für die Installation eines Zusatzprogramms bitte die Download-URL eingeben:" @@ -4844,7 +4912,7 @@ msgstr "Falls Sie den Router nach dem Herunterfahren automatisch wieder starten #: ../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 "Dies ist in manchen Situationen hilfreich - zum Beispiel wenn Sie einige Optionen geändert haben, die die Klient-Anwendung nur beim Starten einliest (Routerkonsolen-Passwort oder das Interface auf dem es arbeitet)." +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 msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately." @@ -5232,7 +5300,7 @@ msgstr "I2P-Router-Statistiken" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248 #, java-format msgid "Disable {0} Refresh" -msgstr "alle {0} Auffrischen ausschalten" +msgstr "Alle-{0}-Auffrischen
ausschalten" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105 msgid "tunnel summary" @@ -5242,6 +5310,12 @@ msgstr "Tunnel Zusammenfassung" msgid "I2P Tunnel Summary" msgstr "I2P-Tunnel Zusammenfassung" +#~ msgid "hour" +#~ msgstr "Stunde" +#~ msgid "minute" +#~ msgstr "Minute" +#~ msgid "minutes" +#~ msgstr "Minuten" #~ msgid "Last reseed failed fully (failed reading seed URL)." #~ msgstr "" #~ "Letztes Reseed komplett gescheitert (konnte die Seed-URL nicht lesen)." diff --git a/apps/routerconsole/locale/messages_es.po b/apps/routerconsole/locale/messages_es.po index 9badde11b..33a6aecb1 100644 --- a/apps/routerconsole/locale/messages_es.po +++ b/apps/routerconsole/locale/messages_es.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P routerconsole\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-19 03:15+0000\n" -"PO-Revision-Date: 2010-12-28 00:46+0100\n" +"POT-Creation-Date: 2010-12-28 00:08+0000\n" +"PO-Revision-Date: 2010-12-31 03:12+0100\n" "Last-Translator: mixxy \n" "Language-Team: foo \n" "MIME-Version: 1.0\n" @@ -26,7 +26,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:1092 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1103 #, java-format msgid "1 ms" msgid_plural "{0,number,####} ms" @@ -36,8 +36,7 @@ msgstr[1] "{0,number,####} ms" #. seconds #. Note to translators: quantity will always be greater than one. #. alternates: secs, sec. 'seconds' is probably too long. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1097 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:354 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1108 #, java-format msgid "1 sec" msgid_plural "{0} sec" @@ -47,7 +46,7 @@ msgstr[1] "{0} s" #. minutes #. Note to translators: quantity will always be greater than one. #. alternates: mins, min. 'minutes' is probably too long. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1102 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113 #, java-format msgid "1 min" msgid_plural "{0} min" @@ -57,21 +56,21 @@ msgstr[1] "{0} min" #. hours #. Note to translators: quantity will always be greater than one. #. alternates: hrs, hr., hrs. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1107 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1118 #, java-format msgid "1 hour" msgid_plural "{0} hours" msgstr[0] "1 hora" msgstr[1] "{0} horas" -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1109 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1120 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313 msgid "n/a" msgstr "" #. days #. Note to translators: quantity will always be greater than one. -#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113 +#: ../../../core/java/src/net/i2p/data/DataHelper.java:1124 #, java-format msgid "1 day" msgid_plural "{0} days" @@ -146,35 +145,35 @@ msgstr "acceptando túneles" msgid "Rejecting tunnels" msgstr "Rechazando túneles" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:67 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:68 msgid "Ensure that nothing blocks outbound HTTP, check logs and if nothing helps, read the FAQ about reseeding manually." msgstr "" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:100 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:101 msgid "Reseeding" msgstr "" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:123 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:124 #, java-format msgid "Reseed fetched only 1 router." msgid_plural "Reseed fetched only {0} routers." msgstr[0] "" msgstr[1] "" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:131 msgid "Reseed failed." msgstr "" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:232 msgid "Reseeding: fetching seed URL." msgstr "" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:273 #, java-format msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)." msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510 +#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:513 msgid "NetDb entry" msgstr "" @@ -183,39 +182,39 @@ msgstr "" msgid "No transports (hidden or starting up?)" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:451 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:452 msgid "Unreachable on any transport" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:500 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:501 msgid "Router Transport Addresses" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:505 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:506 #, java-format msgid "{0} is used for outbound connections only" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520 msgid "Help" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521 msgid "Your transport connection limits are automatically set based on your configured bandwidth." msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523 msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page." msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257 msgid "Definitions" msgstr "Definiciones" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 #: ../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 @@ -225,149 +224,149 @@ msgstr "Definiciones" msgid "Peer" msgstr "Par" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 msgid "The remote peer, identified by router hash" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 msgid "Dir" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528 msgid "Inbound connection" msgstr "Conexión entrante" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530 msgid "Outbound connection" msgstr "Conexión saliente" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532 msgid "They offered to introduce us (help other peers traverse our firewall)" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 msgid "We offered to introduce them (help other peers traverse their firewall)" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 msgid "How long since a packet has been received / sent" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896 msgid "Idle" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156 msgid "In/Out" msgstr "Entrante/Saliente" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 msgid "How long ago this connection was established" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906 msgid "Up" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908 msgid "Skew" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 msgid "The difference between the peer's clock and your own" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 msgid "The congestion window, which is how many bytes can be sent without an acknowledgement" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 msgid "The number of sent messages awaiting acknowledgement" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 msgid "The maximum number of concurrent messages to send" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 msgid "The number of pending sends which exceed congestion window" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 msgid "The slow start threshold" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 msgid "The round trip time in milliseconds" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918 msgid "Dev" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 msgid "The standard deviation of the round trip time in milliseconds" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 msgid "The retransmit timeout in milliseconds" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925 msgid "TX" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 msgid "The total number of packets sent to the peer" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927 msgid "RX" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 msgid "The total number of packets received from the peer" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930 msgid "Dup TX" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 msgid "The total number of packets retransmitted to the peer" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1932 msgid "Dup RX" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 msgid "The total number of duplicate packets received from the peer" msgstr "" @@ -377,149 +376,149 @@ msgstr "" msgid "Excessive clock skew: {0}" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:710 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:730 msgid "NTCP connections" msgstr "conexiones NTCP" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:731 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 msgid "Limit" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:732 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1888 msgid "Timeout" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:723 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:743 msgid "Out Queue" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:724 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:744 msgid "Backlogged?" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Inbound" msgstr "Entrante" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Outbound" msgstr "Saliente" #. buf.append("
\n"); -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:787 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:807 msgid "peers" msgstr "Pares" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1886 msgid "UDP connections" msgstr "conexiones UDP" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 msgid "Sort by peer hash" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 msgid "Direction/Introduction" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897 msgid "Sort by idle inbound" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1899 msgid "Sort by idle outbound" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902 msgid "Sort by inbound rate" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904 msgid "Sort by outbound rate" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907 msgid "Sort by connection uptime" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1909 msgid "Sort by clock skew" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1912 msgid "Sort by congestion window" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914 msgid "Sort by slow start threshold" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 msgid "Sort by round trip time" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919 msgid "Sort by round trip time deviation" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921 msgid "Sort by retransmission timeout" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 msgid "Sort by outbound maximum transmit unit" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 msgid "Sort by packets sent" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928 msgid "Sort by packets received" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931 msgid "Sort by packets retransmitted" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1933 msgid "Sort by packets received more than once" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1954 msgid "We offered to introduce them" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956 msgid "They offered to introduce us" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1960 msgid "Choked" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1968 msgid "1 fail" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1966 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1970 #, java-format msgid "{0} fails" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1972 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1976 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162 msgid "Banned" msgstr "" #. buf.append("
\n"); -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2103 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2107 msgid "SUMMARY" msgstr "" @@ -1497,235 +1496,245 @@ msgstr "Configuración guardada con éxito" msgid "Error saving the configuration (applied but not saved) - please see the error logs" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335 msgid "Save Client Configuration" msgstr "Guardar la configuración de clientes" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:405 +#, fuzzy +msgid "Save Interface Configuration" +msgstr "Guardar la configuración de clientes" + +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:417 msgid "Save WebApp Configuration" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:47 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:427 msgid "Save Plugin Configuration" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:51 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:433 msgid "Install Plugin" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:87 #, java-format msgid "Deleted plugin {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:84 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89 #, java-format msgid "Error deleting plugin {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:96 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101 #, java-format msgid "Stopped plugin {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:98 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103 #, java-format msgid "Error stopping plugin {0}" msgstr "" #. label (IE) -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:253 msgid "Start" msgstr "Lanzar" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:138 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:143 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61 msgid "Unsupported" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:184 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189 msgid "New client added" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:188 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193 msgid "Client configuration saved successfully - restart required to take effect." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:202 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:213 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 msgid "Bad client index." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:379 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:384 msgid "Client" msgstr "Cliente" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271 msgid "started" msgstr "lanzado" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223 msgid "deleted" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240 msgid "WebApp configuration saved." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:251 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256 msgid "Plugin configuration saved." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 msgid "WebApp" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:268 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273 msgid "Failed to start" msgstr "Fallido el lanzamiento" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278 msgid "Failed to find server." msgstr "No se encontró el servidor" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284 msgid "No plugin URL specified." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:289 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294 #, java-format msgid "No update URL specified for {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:297 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:302 -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:315 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:307 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:325 msgid "Plugin or update download already in progress." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:311 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118 #, java-format msgid "Downloading plugin from {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:324 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329 #, java-format msgid "Checking plugin {0} for updates" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339 #, java-format msgid "Started plugin {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:336 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341 #, java-format msgid "Error starting plugin {0}" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:21 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:192 +#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376 +msgid "Interface configuration saved successfully - restart required to take effect." +msgstr "" + +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:256 msgid "Edit" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331 msgid "Add Client" msgstr "Añadir cliente" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 msgid "Class and arguments" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Control" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Run at Startup?" msgstr "Lanzar al iniciarse?" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:131 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:122 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:195 msgid "Description" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 msgid "Plugin" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:159 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:271 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185 msgid "Version" msgstr "Versión" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:97 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161 msgid "Signed by" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:114 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:178 msgid "Date" msgstr "Fecha" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:120 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:184 msgid "Author" msgstr "Autor" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:136 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:200 msgid "License" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:141 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:205 msgid "Website" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:210 msgid "Update link" msgstr "Enlace para actualizaciones" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258 msgid "Stop" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196 -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:78 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313 msgid "Check for updates" msgstr "Buscar actualizaciones" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:261 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242 msgid "Update" msgstr "Actualizar" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:266 #, java-format msgid "Are you sure you want to delete {0}?" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:204 +#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268 msgid "Delete" msgstr "Borrar" @@ -1965,19 +1974,19 @@ msgstr "Actualización del porcentaje de compartición del ancho de banda" msgid "Updated bandwidth limits" msgstr "Límites del ancho de banda actualizados" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:39 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:47 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:50 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:57 -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:60 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:41 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:49 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:52 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:59 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:62 msgid "unknown" msgstr "desconocido" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:169 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:172 msgid "bits per second" msgstr "bits por segundo" -#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:170 +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:173 #, java-format msgid "or {0} bytes per month maximum" msgstr "" @@ -2352,52 +2361,52 @@ msgstr "Chino" msgid "Swedish" msgstr "Sueco" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:88 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:85 msgid "Update available, attempting to download now" msgstr "Actualización disponible; tratando de descargarla" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:90 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:87 msgid "Update available, click button on left to download" msgstr "Actualización disponible; ¡presiona el botón al lado izquierdo para descargarla!" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:96 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:93 msgid "No update available" msgstr "No está disponible ninguna actualización" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:104 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:101 msgid "Updating news URL to" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:112 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:109 msgid "Updating proxy host to" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:120 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117 msgid "Updating proxy port to" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:133 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:130 msgid "Updating refresh frequency to" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:140 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:137 msgid "Updating update policy to" msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:149 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:146 msgid "Updating update URLs." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:158 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:155 msgid "Updating trusted keys." msgstr "" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:166 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163 msgid "Updating unsigned update URL to" msgstr "" #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88 -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 +#: ../java/src/net/i2p/router/web/GraphHelper.java:167 msgid "Never" msgstr "Nunca" @@ -2421,80 +2430,68 @@ msgstr "Descargar, verificar y reiniciar" msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit." msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:87 +#: ../java/src/net/i2p/router/web/GraphHelper.java:93 msgid "Combined bandwidth graph" msgstr "" #. e.g. "statname for 60m" -#: ../java/src/net/i2p/router/web/GraphHelper.java:101 +#: ../java/src/net/i2p/router/web/GraphHelper.java:107 #, java-format msgid "{0} for {1}" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:138 +#: ../java/src/net/i2p/router/web/GraphHelper.java:146 msgid "Configure Graph Display" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:138 +#: ../java/src/net/i2p/router/web/GraphHelper.java:146 msgid "Select Stats" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:142 +#: ../java/src/net/i2p/router/web/GraphHelper.java:150 msgid "Periods" msgstr "Períodos" -#: ../java/src/net/i2p/router/web/GraphHelper.java:143 +#: ../java/src/net/i2p/router/web/GraphHelper.java:151 msgid "Plot averages" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:144 +#: ../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 msgid "or" msgstr "o" -#: ../java/src/net/i2p/router/web/GraphHelper.java:144 +#: ../java/src/net/i2p/router/web/GraphHelper.java:152 msgid "plot events" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:145 +#: ../java/src/net/i2p/router/web/GraphHelper.java:153 msgid "Image sizes" msgstr "Tamanño de las imágenes" -#: ../java/src/net/i2p/router/web/GraphHelper.java:145 +#: ../java/src/net/i2p/router/web/GraphHelper.java:153 msgid "width" msgstr "ancho" -#: ../java/src/net/i2p/router/web/GraphHelper.java:146 +#: ../java/src/net/i2p/router/web/GraphHelper.java:154 msgid "height" msgstr "altura" -#: ../java/src/net/i2p/router/web/GraphHelper.java:146 -#: ../java/src/net/i2p/router/web/GraphHelper.java:147 +#: ../java/src/net/i2p/router/web/GraphHelper.java:154 +#: ../java/src/net/i2p/router/web/GraphHelper.java:155 msgid "pixels" msgstr "píxeles" -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 +#: ../java/src/net/i2p/router/web/GraphHelper.java:156 msgid "Refresh delay" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "hour" -msgstr "hora" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "minute" -msgstr "" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:148 -msgid "minutes" -msgstr "minutos" - -#: ../java/src/net/i2p/router/web/GraphHelper.java:149 +#: ../java/src/net/i2p/router/web/GraphHelper.java:171 msgid "Redraw" msgstr "" -#: ../java/src/net/i2p/router/web/GraphHelper.java:181 +#: ../java/src/net/i2p/router/web/GraphHelper.java:203 msgid "Graph settings saved" msgstr "" @@ -2628,7 +2625,7 @@ msgid "Full entry" msgstr "" #: ../java/src/net/i2p/router/web/NetDbRenderer.java:354 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:110 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:115 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601 msgid "Hidden" msgstr "Oculto" @@ -2721,7 +2718,7 @@ msgid "Downloading plugin" msgstr "" #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:185 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:244 #, java-format msgid "{0}B transferred" msgstr "" @@ -2737,7 +2734,7 @@ msgid "Cannot create plugin directory {0}" msgstr "" #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:226 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:298 #, java-format msgid "from {0}" msgstr "" @@ -3307,7 +3304,7 @@ msgid "Textual router performance statistics" msgstr "Estadísticas textuales del rendimiento del enrutador" #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:370 msgid "Local Destinations" msgstr "Destinos locales" @@ -3440,107 +3437,107 @@ msgstr "Demora - túnel" msgid "Backlog" msgstr "tareas" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:101 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:106 msgid "ERR-Client Manager I2CP Error - check logs" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:108 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:113 #, java-format msgid "ERR-Clock Skew of {0}" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:117 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:122 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577 msgid "OK" msgstr "BIEN" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:118 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:123 msgid "ERR-Private TCP Address" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:120 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:125 msgid "ERR-SymmetricNAT" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:123 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:128 msgid "WARN-Firewalled with Inbound TCP Enabled" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:125 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:130 msgid "WARN-Firewalled and Floodfill" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:127 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:132 msgid "WARN-Firewalled and Fast" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:128 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:133 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581 msgid "Firewalled" msgstr "Bloqueado por un corta-fuegos" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:130 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:135 msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:136 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:141 msgid "ERR-No Active Peers, Check Network Connection and Firewall" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:139 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:144 msgid "ERR-UDP Disabled and Inbound TCP host/port not set" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:141 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:146 msgid "WARN-Firewalled with UDP Disabled" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:143 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:148 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597 msgid "Testing" msgstr "Comprobando" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:370 msgid "Add/remove/edit & control your client and server tunnels" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:377 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:382 msgid "Server" msgstr "Servidor" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:381 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:386 msgid "Show tunnels" msgstr "Mostrar los túneles" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:397 msgid "Leases expired" msgstr "" #. red or yellow light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:397 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:398 msgid "Rebuilding" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:398 msgid "ago" msgstr "hace" #. green light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:396 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:401 msgid "Ready" msgstr "Listo" #. yellow light -#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 msgid "Building" msgstr "" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 msgid "Building tunnels" msgstr "Creando túneles" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:410 msgid "none" msgstr "ninguno" @@ -3548,7 +3545,7 @@ msgstr "ninguno" #. nicely under 'local destinations' in the summary bar #. note that if the wording changes in i2ptunnel.config, we have to #. keep the old string here as well for existing installs -#: ../java/src/net/i2p/router/web/SummaryHelper.java:416 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:421 #: ../java/strings/Strings.java:36 msgid "shared clients" msgstr "clientes diferentes" @@ -3707,19 +3704,19 @@ msgid "Totals" msgstr "Total" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:132 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:145 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:178 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:142 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:237 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:189 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:214 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:261 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:286 msgid "Update downloaded" -msgstr "actualización descargado" +msgstr "actualización descargada" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91 #, java-format @@ -3727,22 +3724,22 @@ msgid "Unsigned update file from {0} is corrupt" msgstr "" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:209 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:281 msgid "Restarting" msgstr "Reiniciando" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:216 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:288 msgid "Click Restart to install" -msgstr "" +msgstr "¡Pincha en \"Reiniciar\" para instalar!" #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120 -#: ../java/src/net/i2p/router/web/UpdateHandler.java:218 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:290 msgid "Click Shutdown and restart to install" -msgstr "" +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:220 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:292 #, java-format msgid "Version {0}" msgstr "Versión {0}" @@ -3752,12 +3749,23 @@ msgstr "Versión {0}" msgid "Failed copy to {0}" msgstr "Fallido copiar a {0}" -#: ../java/src/net/i2p/router/web/UpdateHandler.java:209 +#: ../java/src/net/i2p/router/web/UpdateHandler.java:184 +#, fuzzy, java-format +msgid "Updating from {0}" +msgstr "Actualizando" + +#: ../java/src/net/i2p/router/web/UpdateHandler.java:253 +#, java-format +msgid "No new version found at {0}" +msgstr "" + +#: ../java/src/net/i2p/router/web/UpdateHandler.java:281 msgid "Update verified" msgstr "Actualización actualizada" -#: ../java/src/net/i2p/router/web/UpdateHandler.java:234 -msgid "Transfer failed" +#: ../java/src/net/i2p/router/web/UpdateHandler.java:307 +#, java-format +msgid "Transfer failed from {0}" msgstr "" #. wars for ConfigClientsHelper @@ -4135,6 +4143,7 @@ msgstr "" #: ../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/configstats_jsp.java:375 @@ -4149,6 +4158,7 @@ msgid "IP and Transport Configuration" msgstr "" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:395 msgid "The default settings will work for most people." msgstr "" @@ -4599,35 +4609,91 @@ msgid "To change other client options, edit the file" msgstr "" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:401 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:415 msgid "All changes require restart to take effect." msgstr "" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337 -msgid "WebApp Configuration" -msgstr "Configuración de las Applicaciones Web" +#, fuzzy +msgid "Advanced Client Interface Configuration" +msgstr "Guardar la configuración de clientes" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339 -msgid "The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark),front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook)." +msgid "External I2CP (I2P Client Protocol) Interface Configuration" msgstr "" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:341 -msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method." +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345 +msgid "Enabled without SSL" msgstr "" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351 -msgid "Plugin Configuration" -msgstr "Configuración de Complementos" +msgid "Enabled with SSL required" +msgstr "" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353 -msgid "The plugins listed below are started by the webConsole client." +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +msgid "Disabled - Clients outside this Java process may not connect" msgstr "" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359 +msgid "I2CP Port" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +#, fuzzy +msgid "I2CP Interface" +msgstr "Configuración" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:379 +#, fuzzy +msgid "Authorization" +msgstr "Autor" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:385 +msgid "Requre username and password" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:387 +msgid "Username" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:391 +msgid "Password" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:397 +msgid "Any changes made here must also be configured in the external client." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:399 +msgid "Many clients do not support SSL or authorization." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:407 +msgid "WebApp Configuration" +msgstr "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:411 +msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:421 +msgid "Plugin Configuration" +msgstr "Configuración de Complementos" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:423 +msgid "The plugins listed below are started by the webConsole client." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:429 msgid "Plugin Installation" msgstr "" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:431 msgid "To install a plugin, enter the download URL:" msgstr "" @@ -5192,6 +5258,10 @@ msgstr "" 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" #~ msgid "Start Now" diff --git a/core/java/src/net/i2p/client/I2PSessionMuxedImpl.java b/core/java/src/net/i2p/client/I2PSessionMuxedImpl.java index 837bc2dbc..342b05d26 100644 --- a/core/java/src/net/i2p/client/I2PSessionMuxedImpl.java +++ b/core/java/src/net/i2p/client/I2PSessionMuxedImpl.java @@ -274,7 +274,7 @@ class I2PSessionMuxedImpl extends I2PSessionImpl2 implements I2PSession { _demultiplexer.messageAvailable(I2PSessionMuxedImpl.this, msg.id, msg.size, msg.proto, msg.fromPort, msg.toPort); } catch (Exception e) { - _log.error("Error notifying app of message availability"); + _log.error("Error notifying app of message availability", e); } } } diff --git a/core/java/src/net/i2p/client/datagram/I2PDatagramDissector.java b/core/java/src/net/i2p/client/datagram/I2PDatagramDissector.java index cb16f2ab4..4748e7495 100644 --- a/core/java/src/net/i2p/client/datagram/I2PDatagramDissector.java +++ b/core/java/src/net/i2p/client/datagram/I2PDatagramDissector.java @@ -37,9 +37,9 @@ public final class I2PDatagramDissector { private Hash rxHash = null; - private Signature rxSign = new Signature(); + private Signature rxSign; - private Destination rxDest = new Destination(); + private Destination rxDest; private byte[] rxPayload = new byte[DGRAM_BUFSIZE]; @@ -68,6 +68,9 @@ public final class I2PDatagramDissector { this.valid = false; try { + rxDest = new Destination(); + rxSign = new Signature(); + // read destination rxDest.readBytes(dgStream); @@ -153,6 +156,8 @@ public final class I2PDatagramDissector { * @return The Destination of the I2P repliable datagram sender */ public Destination extractSender() { + if (this.rxDest == null) + return null; Destination retDest = new Destination(); try { retDest.fromByteArray(this.rxDest.toByteArray()); @@ -184,6 +189,10 @@ public final class I2PDatagramDissector { if(this.valid) return; + if (rxSign == null || rxSign.getData() == null || + rxDest == null || rxDest.getSigningPublicKey() == null) + throw new I2PInvalidDatagramException("Datagram not yet read"); + // now validate if (!this.dsaEng.verifySignature(rxSign, rxHash.getData(), rxDest.getSigningPublicKey())) throw new I2PInvalidDatagramException("Incorrect I2P repliable datagram signature"); diff --git a/core/java/src/net/i2p/client/naming/LookupDest.java b/core/java/src/net/i2p/client/naming/LookupDest.java index d131efade..e412f20ed 100644 --- a/core/java/src/net/i2p/client/naming/LookupDest.java +++ b/core/java/src/net/i2p/client/naming/LookupDest.java @@ -54,7 +54,7 @@ class LookupDest { /** @param h 32 byte hash */ static Destination lookupHash(I2PAppContext ctx, byte[] h) { - Hash key = new Hash(h); + Hash key = Hash.create(h); Destination rv = null; try { I2PClient client = new I2PSimpleClient(); diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java index d7ceabaeb..522200098 100644 --- a/core/java/src/net/i2p/data/Certificate.java +++ b/core/java/src/net/i2p/data/Certificate.java @@ -43,6 +43,24 @@ public class Certificate extends DataStructureImpl { /** Contains multiple certs */ public final static int CERTIFICATE_TYPE_MULTIPLE = 4; + /** + * Pull from cache or return new + * @throws AIOOBE if not enough bytes + * @since 0.8.3 + */ + public static Certificate create(byte[] data, int off) { + int type = data[off] & 0xff; + int length = (int) DataHelper.fromLong(data, off + 1, 2); + if (type == 0 && length == 0) + return NULL_CERT; + // from here down roughly the same as readBytes() below + if (length == 0) + return new Certificate(type, null); + byte[] payload = new byte[length]; + System.arraycopy(data, off = 3, payload, 0, length); + return new Certificate(type, payload); + } + /** * If null cert, return immutable static instance, else create new * @since 0.8.3 diff --git a/core/java/src/net/i2p/data/Destination.java b/core/java/src/net/i2p/data/Destination.java index a8c176df6..3c823a52b 100644 --- a/core/java/src/net/i2p/data/Destination.java +++ b/core/java/src/net/i2p/data/Destination.java @@ -49,20 +49,14 @@ public class Destination extends KeysAndCert { throw new DataFormatException("Not enough data (len=" + source.length + " off=" + offset + ")"); int cur = offset; - _publicKey = new PublicKey(); - byte buf[] = new byte[PublicKey.KEYSIZE_BYTES]; - System.arraycopy(source, cur, buf, 0, PublicKey.KEYSIZE_BYTES); - _publicKey.setData(buf); + _publicKey = PublicKey.create(source, cur); cur += PublicKey.KEYSIZE_BYTES; - _signingKey = new SigningPublicKey(); - buf = new byte[SigningPublicKey.KEYSIZE_BYTES]; - System.arraycopy(source, cur, buf, 0, SigningPublicKey.KEYSIZE_BYTES); - _signingKey.setData(buf); + _signingKey = SigningPublicKey.create(source, cur); cur += SigningPublicKey.KEYSIZE_BYTES; - _certificate = new Certificate(); - cur += _certificate.readBytes(source, cur); + _certificate = Certificate.create(source, cur); + cur += _certificate.size(); return cur - offset; } diff --git a/core/java/src/net/i2p/data/PublicKey.java b/core/java/src/net/i2p/data/PublicKey.java index 13b0217f5..a52f6a50b 100644 --- a/core/java/src/net/i2p/data/PublicKey.java +++ b/core/java/src/net/i2p/data/PublicKey.java @@ -25,6 +25,15 @@ public class PublicKey extends SimpleDataStructure { private static final SDSCache _cache = new SDSCache(PublicKey.class, KEYSIZE_BYTES, CACHE_SIZE); + /** + * Pull from cache or return new + * @throws AIOOBE if not enough bytes + * @since 0.8.3 + */ + public static PublicKey create(byte[] data, int off) { + return _cache.get(data, off); + } + /** * Pull from cache or return new * @since 0.8.3 diff --git a/core/java/src/net/i2p/data/SigningPublicKey.java b/core/java/src/net/i2p/data/SigningPublicKey.java index 8187b1c18..e2e0cf367 100644 --- a/core/java/src/net/i2p/data/SigningPublicKey.java +++ b/core/java/src/net/i2p/data/SigningPublicKey.java @@ -26,6 +26,15 @@ public class SigningPublicKey extends SimpleDataStructure { private static final SDSCache _cache = new SDSCache(SigningPublicKey.class, KEYSIZE_BYTES, CACHE_SIZE); + /** + * Pull from cache or return new + * @throws AIOOBE if not enough bytes + * @since 0.8.3 + */ + public static SigningPublicKey create(byte[] data, int off) { + return _cache.get(data, off); + } + /** * Pull from cache or return new * @since 0.8.3 diff --git a/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java b/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java index 7aaba9c89..788fb36a0 100644 --- a/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java +++ b/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java @@ -60,9 +60,7 @@ public class DestReplyMessage extends I2CPMessageImpl { } else { try { if (size == Hash.HASH_LENGTH) { - Hash h = new Hash(); - h.readBytes(in); - _hash = h; + _hash = Hash.create(in); } else { Destination d = new Destination(); d.readBytes(in); diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java index a9c8e6804..60662e937 100644 --- a/core/java/src/net/i2p/util/Addresses.java +++ b/core/java/src/net/i2p/util/Addresses.java @@ -50,7 +50,8 @@ public abstract class Addresses { /** * @return a sorted array of all addresses - * @param whether to exclude IPV6 and local + * @param includeLocal whether to include local + * @param includeIPv6 whether to include IPV6 * @return an array of all addresses * @since 0.8.3 */ diff --git a/history.txt b/history.txt index 63449fd25..2796a8d01 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,17 @@ +2010-12-31 zzz + * Console: + - Make themes and history.txt return 403 on error, + not 500, to avoid the new error page + - Add logging, enable with routerconsole.log=filename + - Link to full history.txt on help page + * Data Structures: Caching cleanups + * Datagram Dissector: Fix RuntimeException caused by reuse, + preventing iMule from connecting on UDP + (thanks devzero) + * i2psnark: + - Send cache directive for in-war icons + * OCMOSJ: Refactor cache keys for efficiency + 2010-12-30 zzz * Data Structures: - New SDSCache for SimpleDataStructures diff --git a/installer/resources/readme/readme_de.html b/installer/resources/readme/readme_de.html index c2e94cb20..02f35947e 100644 --- a/installer/resources/readme/readme_de.html +++ b/installer/resources/readme/readme_de.html @@ -53,7 +53,7 @@

Willst Du Deine eigene Eepseite?

-

Das I2P-Paket beinhaltet Software, die es Dir ermöglicht, Deine eigene Eepseite zu betreiben +

Das I2P-Paket beinhaltet Software, die es Dir ermöglicht, Deine eigene Eepseite zu betreiben : Eine Jetty-Instanz horcht auf http://127.0.0.1:7658/. Platziere einfach diff --git a/installer/resources/themes/snark/vanilla/snark.css b/installer/resources/themes/snark/vanilla/snark.css index da428ef9d..50049164b 100644 --- a/installer/resources/themes/snark/vanilla/snark.css +++ b/installer/resources/themes/snark/vanilla/snark.css @@ -59,7 +59,7 @@ body { font-weight: bold; font-size: 11pt; color: #fb0; - background: #eeb url('images/snarknav_lowlight.png') repeat-x scroll center center; + background: #eeb; } .snarkRefresh:last-child { diff --git a/router/java/src/net/i2p/router/Blocklist.java b/router/java/src/net/i2p/router/Blocklist.java index 0f68355db..d401f1532 100644 --- a/router/java/src/net/i2p/router/Blocklist.java +++ b/router/java/src/net/i2p/router/Blocklist.java @@ -305,7 +305,7 @@ public class Blocklist { if (end1 - start1 == 44 && buf.substring(start1).indexOf(".") < 0) { byte b[] = Base64.decode(buf.substring(start1)); if (b != null) - return new Entry(comment, new Hash(b), null, null); + return new Entry(comment, Hash.create(b), null, null); } index = buf.indexOf("-", start1); if (index >= 0) { diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 4e28a2c8d..c10128fe6 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 = 5; + public final static long BUILD = 6; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/client/ClientManagerFacadeImpl.java b/router/java/src/net/i2p/router/client/ClientManagerFacadeImpl.java index 5fd0bbc28..e4b6b2a36 100644 --- a/router/java/src/net/i2p/router/client/ClientManagerFacadeImpl.java +++ b/router/java/src/net/i2p/router/client/ClientManagerFacadeImpl.java @@ -39,8 +39,10 @@ public class ClientManagerFacadeImpl extends ClientManagerFacade implements Inte private final static Log _log = new Log(ClientManagerFacadeImpl.class); private ClientManager _manager; private RouterContext _context; + /** note that this is different than the property the client side uses, i2cp.tcp.port */ public final static String PROP_CLIENT_PORT = "i2cp.port"; public final static int DEFAULT_PORT = 7654; + /** note that this is different than the property the client side uses, i2cp.tcp.host */ public final static String PROP_CLIENT_HOST = "i2cp.hostname"; public final static String DEFAULT_HOST = "127.0.0.1"; diff --git a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java index ce1f36159..5adadaae2 100644 --- a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java +++ b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java @@ -216,7 +216,8 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * * Key the cache on the source+dest pair. */ - private final static HashMap _leaseSetCache = new HashMap(); + private final static HashMap _leaseSetCache = new HashMap(); + private LeaseSet getReplyLeaseSet(boolean force) { LeaseSet newLS = getContext().netDb().lookupLeaseSetLocally(_from.calculateHash()); if (newLS == null) @@ -316,7 +317,8 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * lease). * */ - private final static HashMap _leaseCache = new HashMap(); + private final static HashMap _leaseCache = new HashMap(); + private boolean getNextLease() { _leaseSet = getContext().netDb().lookupLeaseSetLocally(_to.calculateHash()); if (_leaseSet == null) { @@ -456,7 +458,7 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * before upper layers like streaming lib fail, even for low-bandwidth * connections like IRC. */ - private final static HashMap _lastReplyRequestCache = new HashMap(); + private final static HashMap _lastReplyRequestCache = new HashMap(); /** * Send the message to the specified tunnel by creating a new garlic message containing @@ -628,23 +630,46 @@ public class OutboundClientMessageOneShotJob extends JobImpl { */ /** - * String used to cache things with based on source + dest - * Put the dest first to make string matching faster + * Key used to cache things with based on source + dest */ - private String _hashPair; - private String hashPair() { + private HashPair _hashPair; + private HashPair hashPair() { if (_hashPair == null) - _hashPair = _to.calculateHash().toBase64() + _from.calculateHash().toBase64(); + _hashPair = new HashPair(_from.calculateHash(), _to.calculateHash()); return _hashPair; } + /** + * Key used to cache things with based on source + dest + * @since 0.8.3 + */ + private static class HashPair { + private final Hash sh, dh; + + public HashPair(Hash s, Hash d) { + sh = s; + dh = d; + } + + public int hashCode() { + return sh.hashCode() + dh.hashCode(); + } + + public boolean equals(Object o) { + if (o == null || !(o instanceof HashPair)) + return false; + HashPair hp = (HashPair) o; + return sh.equals(hp.sh) && dh.equals(hp.dh); + } + } + + /** * This is a little sneaky, but get the _from back out of the "opaque" hash key * (needed for cleanTunnelCache) - * 44 = 32 * 4 / 3 */ - private static Hash sourceFromHashPair(String s) { - return new Hash(Base64.decode(s.substring(44, 88))); + private static Hash sourceFromHashPair(HashPair s) { + return s.sh; } /** @@ -655,7 +680,7 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * But it's a start. */ private void clearCaches() { - String key = hashPair(); + HashPair key = hashPair(); if (_inTunnel != null) { // if we wanted an ack, we sent our lease too synchronized(_leaseSetCache) { _leaseSetCache.remove(key); @@ -681,42 +706,38 @@ public class OutboundClientMessageOneShotJob extends JobImpl { } /** - * Clean out old leaseSets from a set. + * Clean out old leaseSets * Caller must synchronize on tc. */ - private static void cleanLeaseSetCache(RouterContext ctx, HashMap tc) { + private static void cleanLeaseSetCache(RouterContext ctx, Map tc) { long now = ctx.clock().now(); - for (Iterator iter = tc.entrySet().iterator(); iter.hasNext(); ) { - Map.Entry entry = (Map.Entry)iter.next(); - String k = (String) entry.getKey(); - LeaseSet l = (LeaseSet) entry.getValue(); + for (Iterator iter = tc.values().iterator(); iter.hasNext(); ) { + LeaseSet l = iter.next(); if (l.getEarliestLeaseDate() < now) iter.remove(); } } /** - * Clean out old leases from a set. + * Clean out old leases * Caller must synchronize on tc. */ - private static void cleanLeaseCache(HashMap tc) { - for (Iterator iter = tc.entrySet().iterator(); iter.hasNext(); ) { - Map.Entry entry = (Map.Entry)iter.next(); - String k = (String) entry.getKey(); - Lease l = (Lease) entry.getValue(); + private static void cleanLeaseCache(Map tc) { + for (Iterator iter = tc.values().iterator(); iter.hasNext(); ) { + Lease l = iter.next(); if (l.isExpired(Router.CLOCK_FUDGE_FACTOR)) iter.remove(); } } /** - * Clean out old tunnels from a set. + * Clean out old tunnels * Caller must synchronize on tc. */ - private static void cleanTunnelCache(RouterContext ctx, HashMap tc) { + private static void cleanTunnelCache(RouterContext ctx, Map tc) { for (Iterator iter = tc.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry)iter.next(); - String k = (String) entry.getKey(); + HashPair k = (HashPair) entry.getKey(); TunnelInfo tunnel = (TunnelInfo) entry.getValue(); if (!ctx.tunnelManager().isValidTunnel(sourceFromHashPair(k), tunnel)) iter.remove(); @@ -727,7 +748,7 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * Clean out old reply times * Caller must synchronize on tc. */ - private static void cleanReplyCache(RouterContext ctx, HashMap tc) { + private static void cleanReplyCache(RouterContext ctx, Map tc) { long now = ctx.clock().now(); for (Iterator iter = tc.values().iterator(); iter.hasNext(); ) { Long l = (Long) iter.next(); @@ -766,8 +787,10 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * Key the caches on the source+dest pair. * */ - private static final HashMap _tunnelCache = new HashMap(); - private static HashMap _backloggedTunnelCache = new HashMap(); + private static final HashMap _tunnelCache = new HashMap(); + + private static HashMap _backloggedTunnelCache = new HashMap(); + private TunnelInfo selectOutboundTunnel(Destination to) { TunnelInfo tunnel; long now = getContext().clock().now(); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/LocalHash.java b/router/java/src/net/i2p/router/networkdb/kademlia/LocalHash.java index 890d4300f..641f8da54 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/LocalHash.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/LocalHash.java @@ -28,7 +28,7 @@ import net.i2p.util.Log; */ class LocalHash extends Hash { private final static Log _log = new Log(LocalHash.class); - private /* FIXME final FIXME */ Map _xorCache; + private /* FIXME final FIXME */ Map _xorCache; private static final int MAX_CACHED_XOR = 1024; @@ -65,7 +65,7 @@ class LocalHash extends Hash { public byte[] cachedXor(Hash key) throws IllegalStateException { if (_xorCache == null) throw new IllegalStateException("To use the cache, you must first prepare it"); - byte[] distance = (byte[])_xorCache.get(key); + byte[] distance = _xorCache.get(key); if (distance == null) { // not cached, lets cache it @@ -83,7 +83,7 @@ class LocalHash extends Hash { _xorCache.remove(iter.next()); } distance = DataHelper.xor(key.getData(), getData()); - _xorCache.put(key, (Object) distance); + _xorCache.put(key, distance); cached = _xorCache.size(); } if (_log.shouldLog(Log.DEBUG)) { diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java b/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java index 0172dfcc6..429489cf0 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java @@ -18,6 +18,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.concurrent.ConcurrentHashMap; +import net.i2p.data.Base64; import net.i2p.data.DataFormatException; import net.i2p.data.DataStructure; import net.i2p.data.Hash; @@ -481,8 +482,12 @@ class PersistentDataStore extends TransientDataStore { try { String key = filename.substring(prefix.length()); key = key.substring(0, key.length() - suffix.length()); - Hash h = new Hash(); - h.fromBase64(key); + //Hash h = new Hash(); + //h.fromBase64(key); + byte[] b = Base64.decode(key); + if (b == null) + return null; + Hash h = Hash.create(b); return h; } catch (Exception e) { // static diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index a43d830ce..b55d845ad 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -937,11 +937,9 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority RouterAddress addr = _externalAddress; UDPAddress ua = new UDPAddress(addr); int valid = 0; - Hash peerHash = new Hash(); for (int i = 0; i < ua.getIntroducerCount(); i++) { // warning: this is only valid as long as we use the ident hash as their key. - peerHash.setData(ua.getIntroducerKey(i)); - PeerState peer = getPeerState(peerHash); + PeerState peer = getPeerState(Hash.create(ua.getIntroducerKey(i))); if (peer != null) valid++; }