diff --git a/.tx/config b/.tx/config index befa61f59d..795d3959ff 100644 --- a/.tx/config +++ b/.tx/config @@ -270,6 +270,8 @@ source_lang = en ;;trans.ca = installer/resources/locale/po/messages_ca.po trans.de = installer/resources/locale/po/messages_de.po trans.es = installer/resources/locale/po/messages_es.po +;; currently fails check +;;trans.fi = installer/resources/locale/po/messages_fi.po trans.fr = installer/resources/locale/po/messages_fr.po trans.id = installer/resources/locale/po/messages_id.po trans.it = installer/resources/locale/po/messages_it.po @@ -297,6 +299,7 @@ type = PROPERTIES trans.cs = core/java/src/gnu/getopt/MessagesBundle_cs.properties trans.de = core/java/src/gnu/getopt/MessagesBundle_de.properties trans.es = core/java/src/gnu/getopt/MessagesBundle_es.properties +trans.fi = core/java/src/gnu/getopt/MessagesBundle_fi.properties trans.fr = core/java/src/gnu/getopt/MessagesBundle_fr.properties trans.hu = core/java/src/gnu/getopt/MessagesBundle_hu.properties ;; Java converts id to in @@ -322,6 +325,7 @@ trans.zh_CN = core/java/src/gnu/getopt/MessagesBundle_zh.properties [I2P.streaming] source_file = apps/ministreaming/locale/messages_en.po source_lang = en +trans.ca = apps/ministreaming/locale/messages_ca.po trans.de = apps/ministreaming/locale/messages_de.po trans.es = apps/ministreaming/locale/messages_es.po trans.fr = apps/ministreaming/locale/messages_fr.po @@ -332,6 +336,7 @@ trans.nb = apps/ministreaming/locale/messages_nb.po trans.pl = apps/ministreaming/locale/messages_pl.po trans.ro = apps/ministreaming/locale/messages_ro.po trans.ru_RU = apps/ministreaming/locale/messages_ru.po +trans.sv_SE = apps/ministreaming/locale/messages_sv.po trans.uk_UA = apps/ministreaming/locale/messages_uk.po trans.zh_CN = apps/ministreaming/locale/messages_zh.po diff --git a/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java b/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java index 40eeff5901..fea030774a 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/AddressBook.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.regex.Pattern; import net.i2p.I2PAppContext; import net.i2p.util.EepGet; @@ -49,6 +50,26 @@ class AddressBook { private boolean modified; private static final boolean DEBUG = false; + private static final int MIN_DEST_LENGTH = 516; + private static final int MAX_DEST_LENGTH = MIN_DEST_LENGTH + 100; // longer than any known cert type for now + + /** + * 5-67 chars lower/upper case + */ + private static final Pattern HOST_PATTERN = + Pattern.compile("^[0-9a-zA-Z\\.-]{5,67}$"); + + /** + * 52 chars lower/upper case + * Always ends in 'a' or 'q' + */ + private static final Pattern B32_PATTERN = + Pattern.compile("^[2-7a-zA-Z]{51}[aAqQ]$"); + + /** not a complete qualification, just a quick check */ + private static final Pattern B64_PATTERN = + Pattern.compile("^[0-9a-zA-Z~-]{" + MIN_DEST_LENGTH + ',' + MAX_DEST_LENGTH + "}={0,2}$"); + /** * Construct an AddressBook from the contents of the Map addresses. * @@ -206,9 +227,6 @@ class AddressBook { return "Map containing " + this.addresses.size() + " entries"; } - private static final int MIN_DEST_LENGTH = 516; - private static final int MAX_DEST_LENGTH = MIN_DEST_LENGTH + 100; // longer than any known cert type for now - /** * Do basic validation of the hostname * hostname was already converted to lower case by ConfigParser.parse() @@ -225,9 +243,10 @@ class AddressBook { host.indexOf("..") < 0 && // IDN - basic check, not complete validation (host.indexOf("--") < 0 || host.startsWith("xn--") || host.indexOf(".xn--") > 0) && - host.replaceAll("[a-z0-9.-]", "").length() == 0 && + HOST_PATTERN.matcher(host).matches() && // Base32 spoofing (52chars.i2p) - (! (host.length() == 56 && host.substring(0,52).replaceAll("[a-z2-7]", "").length() == 0)) && + // We didn't do it this way, we use a .b32.i2p suffix, but let's prohibit it anyway + (! (host.length() == 56 && B32_PATTERN.matcher(host.substring(0,52)).matches())) && // ... or maybe we do Base32 this way ... (! host.equals("b32.i2p")) && (! host.endsWith(".b32.i2p")) && @@ -251,7 +270,7 @@ class AddressBook { (dest.length() > MIN_DEST_LENGTH && dest.length() <= MAX_DEST_LENGTH)) && // B64 comes in groups of 2, 3, or 4 chars, but never 1 ((dest.length() % 4) != 1) && - dest.replaceAll("[a-zA-Z0-9~-]", "").length() == 0 + B64_PATTERN.matcher(dest).matches() ; } @@ -337,4 +356,27 @@ class AddressBook { protected void finalize() { delete(); } + +/**** + public static void main(String[] args) { + String[] tests = { "foo.i2p", + "3bnipzzu67cdq2rcygyxz52xhvy6ylokn4zfrk36ywn6pixmaoza.b32.i2p", + "9rhEy4dT9fMlcSOhDzfWRxCV2aen4Zp4eSthOf5f9gVKMa4PtQJ-wEzm2KEYeDXkbM6wEDvMQ6ou4LIniSE6bSAwy7fokiXk5oabels-sJmftnQWRbZyyXEAsLc3gpJJvp9km7kDyZ0z0YGL5tf3S~OaWdptB5tSBOAOjm6ramcYZMWhyUqm~xSL1JyXUqWEHRYwhoDJNL6-L516VpDYVigMBpIwskjeFGcqK8BqWAe0bRwxIiFTPN6Ck8SDzQvS1l1Yj-zfzg3X3gOknzwR8nrHUkjsWtEB6nhbOr8AR21C9Hs0a7MUJvSe2NOuBoNTrtxT76jDruI78JcG5r~WKl6M12yM-SqeBNE9hQn2QCHeHAKju7FdRCbqaZ99IwyjfwvZbkiYYQVN1xlUuGaXrj98XDzK7GORYdH-PrVGfEbMXQ40KLHUWHz8w4tQXAOQrCHEichod0RIzuuxo3XltCWKrf1xGZhkAo9bk2qXi6digCijvYNaKmQdXZYWW~RtAAAA", + "6IZTYacjlXjSAxu-uXEO5oGsj-f4tfePHEvGjs5pu-AMXMwD7-xFdi8kdobDMJp9yRAl96U7yLl~0t9zHeqqYmNeZnDSkTmAcSC2PT45ZJDXBobKi1~a77zuqfPwnzEatYfW3GL1JQAEkAmiwNJoG7ThTZ3zT7W9ekVJpHi9mivpTbaI~rALLfuAg~Mvr60nntZHjqhEZuiU4dTXrmc5nykl~UaMnBdwHL4jKmoN5CotqHyLYZfp74fdD-Oq4SkhuBhU8wkBIM3lz3Ul1o6-s0lNUMdYJq1CyxnyP7jeekdfAlSx4P4sU4M0dPaYvPdOFWPWwBuEh0pCs5Mj01B2xeEBhpV~xSLn6ru5Vq98TrmaR33KHxd76OYYFsWwzVbBuMVSd800XpBghGFucGw01YHYsPh3Afb01sXbf8Nb1bkxCy~DsrmoH4Ww3bpx66JhRTWvg5al3oWlCX51CnJUqaaK~dPL-pBvAyLKIA5aYvl8ca66jtA7AFDxsOb2texBBQAEAAcAAA==", + "te9Ky7XvVcLLr5vQqvfmOasg915P3-ddP3iDqpMMk7v5ufFKobLAX~1k-E4WVsJVlkYvkHVOjxix-uT1IdewKmLd81s5wZtz0GQ3ZC6p0C3S2cOxz7kQqf7QYSR0BrhZC~2du3-GdQO9TqNmsnHrah5lOZf0LN2JFEFPqg8ZB5JNm3JjJeSqePBRk3zAUogNaNK3voB1MVI0ZROKopXAJM4XMERNqI8tIH4ngGtV41SEJJ5pUFrrTx~EiUPqmSEaEA6UDYZiqd23ZlewZ31ExXQj97zvkuhKCoS9A9MNkzZejJhP-TEXWF8~KHur9f51H--EhwZ42Aj69-3GuNjsMdTwglG5zyIfhd2OspxJrXzCPqIV2sXn80IbPgwxHu0CKIJ6X43B5vTyVu87QDI13MIRNGWNZY5KmM5pilGP7jPkOs4xQDo4NHzpuJR5igjWgJIBPU6fI9Pzq~BMzjLiZOMp8xNWey1zKC96L0eX4of1MG~oUvq0qmIHGNa1TlUwBQAEAAEAAA==", + "(*&(*&(*&(*", + "9rhEy4dT9fMlcSOhDzfWRxCV2aen4Zp4eSthOf5f9gVKMa4PtQJ-wEzm2KEYeDXkbM6wEDvMQ6ou4LIniSE6bSAwy7fokiXk5oabels-sJmftnQWRbZyyXEAsLc3gpJJvp9km7kDyZ0z0YGL5tf3S~OaWdptB5tSBOAOjm6ramcYZMWhyUqm~xSL1JyXUqWEHRYwhoDJNL6-L516VpDYVigMBpIwskjeFGcqK8BqWAe0bRwxIiFTPN6Ck8SDzQvS1l1Yj-zfzg3X3gOknzwR8nrHUkjsWtEB6nhbOr8AR21C9Hs0a7MUJvSe2NOuBoNTrtxT76jDruI78JcG5r~WKl6M12yM-SqeBNE9hQn2QCHeHAKju7FdRCbqaZ99IwyjfwvZbkiYYQVN1xlUuGaXrj98XDzK7GORYdH-PrVGfEbMXQ40KLHUWHz8w4tQXAOQrCHEichod0RIzuuxo3XltCWKrf1xGZhkAo9bk2qXi6digCijvYNaKmQdXZYWW~RtAAA", + "6IZTYacjlXjSAxu-uXEO5oGsj-f4tfePHEvGjs5pu-AMXMwD7-xFdi8kdobDMJp9yRAl96U7yLl~0t9zHeqqYmNeZnDSkTmAcSC2PT45ZJDXBobKi1~a77zuqfPwnzEatYfW3GL1JQAEkAmiwNJoG7ThTZ3zT7W9ekVJpHi9mivpTbaI~rALLfuAg~Mvr60nntZHjqhEZuiU4dTXrmc5nykl~UaMnBdwHL4jKmoN5CotqHyLYZfp74fdD-Oq4SkhuBhU8wkBIM3lz3Ul1o6-s0lNUMdYJq1CyxnyP7jeekdfAlSx4P4sU4M0dPaYvPdOFWPWwBuEh0pCs5Mj01B2xeEBhpV~xSLn6ru5Vq98TrmaR33KHxd76OYYFsWwzVbBuMVSd800XpBghGFucGw01YHYsPh3Afb01sXbf8Nb1bkxCy~DsrmoH4Ww3bpx66JhRTWvg5al3oWlCX51CnJUqaaK~dPL-pBvAyLKIA5aYvl8ca66jtA7AFDxsOb2texBBQAEAAcAAA===", + "!e9Ky7XvVcLLr5vQqvfmOasg915P3-ddP3iDqpMMk7v5ufFKobLAX~1k-E4WVsJVlkYvkHVOjxix-uT1IdewKmLd81s5wZtz0GQ3ZC6p0C3S2cOxz7kQqf7QYSR0BrhZC~2du3-GdQO9TqNmsnHrah5lOZf0LN2JFEFPqg8ZB5JNm3JjJeSqePBRk3zAUogNaNK3voB1MVI0ZROKopXAJM4XMERNqI8tIH4ngGtV41SEJJ5pUFrrTx~EiUPqmSEaEA6UDYZiqd23ZlewZ31ExXQj97zvkuhKCoS9A9MNkzZejJhP-TEXWF8~KHur9f51H--EhwZ42Aj69-3GuNjsMdTwglG5zyIfhd2OspxJrXzCPqIV2sXn80IbPgwxHu0CKIJ6X43B5vTyVu87QDI13MIRNGWNZY5KmM5pilGP7jPkOs4xQDo4NHzpuJR5igjWgJIBPU6fI9Pzq~BMzjLiZOMp8xNWey1zKC96L0eX4of1MG~oUvq0qmIHGNa1TlUwBQAEAAEAAA==", + "x" + }; + for (String s : tests) { + test(s); + } + } + + public static void test(String s) { + System.out.println(s + " valid host? " + isValidKey(s) + " valid dest? " + isValidDest(s)); + } +****/ } diff --git a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java index 8b01fb854b..30c21d19bf 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java @@ -22,6 +22,7 @@ package net.i2p.addressbook; import java.io.BufferedReader; +import java.io.Closeable; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -41,7 +42,7 @@ import java.util.NoSuchElementException; * * @since 0.8.7 */ -class ConfigIterator implements Iterator> { +class ConfigIterator implements Iterator>, Closeable { private BufferedReader input; private ConfigEntry next; diff --git a/apps/addressbook/java/src/net/i2p/addressbook/SubscriptionIterator.java b/apps/addressbook/java/src/net/i2p/addressbook/SubscriptionIterator.java index b8b1df28b1..74e946f953 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/SubscriptionIterator.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/SubscriptionIterator.java @@ -76,7 +76,8 @@ class SubscriptionIterator implements Iterator { public AddressBook next() { Subscription sub = this.subIterator.next(); if (sub.getLastFetched() + this.delay < I2PAppContext.getGlobalContext().clock().now() && - I2PAppContext.getGlobalContext().portMapper().getPort(PortMapper.SVC_HTTP_PROXY) >= 0) { + I2PAppContext.getGlobalContext().portMapper().getPort(PortMapper.SVC_HTTP_PROXY) >= 0 && + !I2PAppContext.getGlobalContext().getBooleanProperty("i2p.vmCommSystem")) { //System.err.println("Fetching addressbook from " + sub.getLocation()); return new AddressBook(sub, this.proxyHost, this.proxyPort); } else { diff --git a/apps/desktopgui/bundle-messages.sh b/apps/desktopgui/bundle-messages.sh index 957199923c..6823dde03e 100644 --- a/apps/desktopgui/bundle-messages.sh +++ b/apps/desktopgui/bundle-messages.sh @@ -31,7 +31,7 @@ if which find|grep -q -i windows ; then export PATH=.:/bin:/usr/local/bin:$PATH fi # Fast mode - update ondemond -# set LG2 to the language you need in envrionment varibales to enable this +# set LG2 to the language you need in environment variables to enable this # add ../java/ so the refs will work in the po file JPATHS="src" @@ -64,19 +64,19 @@ do echo "Updating the $i file from the tags..." # extract strings from java and jsp files, and update messages.po files # translate calls must be one of the forms: - # _("foo") + # _t("foo") # _x("foo") - # intl._("foo") + # intl._t("foo") # intl.title("foo") - # handler._("foo") - # formhandler._("foo") + # handler._t("foo") + # formhandler._t("foo") # net.i2p.router.web.Messages.getString("foo") # In a jsp, you must use a helper or handler that has the context set. # To start a new translation, copy the header from an old translation to the new .po file, # then ant distclean updater. find $JPATHS -name *.java > $TMPFILE xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\ - --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \ + --keyword=_t --keyword=_x --keyword=intl._ --keyword=intl.title \ --keyword=handler._ --keyword=formhandler._ \ --keyword=net.i2p.router.web.Messages.getString \ -o ${i}t diff --git a/apps/desktopgui/locale/messages_uk.po b/apps/desktopgui/locale/messages_uk.po index c45356c201..3084ecab54 100644 --- a/apps/desktopgui/locale/messages_uk.po +++ b/apps/desktopgui/locale/messages_uk.po @@ -4,7 +4,7 @@ # To contribute translations, see http://www.i2p2.de/newdevelopers # # Translators: -# Denis Blank , 2011 +# Denis Lysenko , 2011 # LinuxChata, 2014 # madjong , 2014 msgid "" @@ -12,9 +12,9 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-09 19:27+0000\n" -"PO-Revision-Date: 2014-12-17 17:00+0000\n" -"Last-Translator: madjong \n" -"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/I2P/language/uk_UA/)\n" +"PO-Revision-Date: 2015-08-07 16:31+0000\n" +"Last-Translator: Denis Lysenko \n" +"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/otf/I2P/language/uk_UA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/apps/desktopgui/src/net/i2p/desktopgui/ExternalTrayManager.java b/apps/desktopgui/src/net/i2p/desktopgui/ExternalTrayManager.java index 6fea46fef5..2a3a16b63e 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/ExternalTrayManager.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/ExternalTrayManager.java @@ -20,7 +20,7 @@ public class ExternalTrayManager extends TrayManager { @Override public PopupMenu getMainMenu() { PopupMenu popup = new PopupMenu(); - MenuItem startItem = new MenuItem(_("Start I2P")); + MenuItem startItem = new MenuItem(_t("Start I2P")); startItem.addActionListener(new ActionListener() { @Override @@ -35,7 +35,7 @@ public class ExternalTrayManager extends TrayManager { @Override protected void done() { - trayIcon.displayMessage(_("Starting"), _("I2P is starting!"), TrayIcon.MessageType.INFO); + trayIcon.displayMessage(_t("Starting"), _t("I2P is starting!"), TrayIcon.MessageType.INFO); //Hide the tray icon. //We cannot stop the desktopgui program entirely, //since that risks killing the I2P process as well. diff --git a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java index e1247dde6c..1cb464308c 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java @@ -23,7 +23,7 @@ public class InternalTrayManager extends TrayManager { public PopupMenu getMainMenu() { PopupMenu popup = new PopupMenu(); - MenuItem browserLauncher = new MenuItem(_("Launch I2P Browser")); + MenuItem browserLauncher = new MenuItem(_t("Launch I2P Browser")); browserLauncher.addActionListener(new ActionListener() { @Override @@ -47,7 +47,7 @@ public class InternalTrayManager extends TrayManager { }.execute(); } }); - MenuItem desktopguiConfigurationLauncher = new MenuItem(_("Configure desktopgui")); + MenuItem desktopguiConfigurationLauncher = new MenuItem(_t("Configure desktopgui")); desktopguiConfigurationLauncher.addActionListener(new ActionListener() { @Override @@ -64,7 +64,7 @@ public class InternalTrayManager extends TrayManager { } }); - MenuItem restartItem = new MenuItem(_("Restart I2P")); + MenuItem restartItem = new MenuItem(_t("Restart I2P")); restartItem.addActionListener(new ActionListener() { @Override @@ -82,7 +82,7 @@ public class InternalTrayManager extends TrayManager { } }); - MenuItem stopItem = new MenuItem(_("Stop I2P")); + MenuItem stopItem = new MenuItem(_t("Stop I2P")); stopItem.addActionListener(new ActionListener() { @Override diff --git a/apps/desktopgui/src/net/i2p/desktopgui/TrayManager.java b/apps/desktopgui/src/net/i2p/desktopgui/TrayManager.java index f124ee3f62..227050735c 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/TrayManager.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/TrayManager.java @@ -78,7 +78,7 @@ public abstract class TrayManager { return image; } - protected static String _(String s) { - return DesktopguiTranslator._(s); + protected static String _t(String s) { + return DesktopguiTranslator._t(s); } } diff --git a/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java index 1e49f66093..a697c5779f 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java @@ -40,10 +40,10 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame { cancelButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); - setTitle(_("Tray icon configuration")); + setTitle(_t("Tray icon configuration")); desktopguiEnabled.setSelected(true); - desktopguiEnabled.setText(_("Should tray icon be enabled?")); + desktopguiEnabled.setText(_t("Should tray icon be enabled?")); desktopguiEnabled.setActionCommand("shouldDesktopguiBeEnabled"); okButton.setText("OK"); @@ -98,8 +98,8 @@ public class DesktopguiConfigurationFrame extends javax.swing.JFrame { configureDesktopgui(); }//GEN-LAST:event_okButtonMouseReleased - protected static String _(String s) { - return DesktopguiTranslator._(s); + protected static String _t(String s) { + return DesktopguiTranslator._t(s); } private void configureDesktopgui() { diff --git a/apps/desktopgui/src/net/i2p/desktopgui/i18n/DesktopguiTranslator.java b/apps/desktopgui/src/net/i2p/desktopgui/i18n/DesktopguiTranslator.java index e95cbc01f2..3778c4ad93 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/i18n/DesktopguiTranslator.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/i18n/DesktopguiTranslator.java @@ -16,11 +16,11 @@ public class DesktopguiTranslator { return ctx; } - public static String _(String s) { + public static String _t(String s) { return Translate.getString(s, getRouterContext(), BUNDLE_NAME); } - public static String _(String s, Object o) { + public static String _t(String s, Object o) { return Translate.getString(s, o, getRouterContext(), BUNDLE_NAME); } } diff --git a/apps/i2psnark/java/bundle-messages.sh b/apps/i2psnark/java/bundle-messages.sh index 033e1195b7..7ef207a6d3 100755 --- a/apps/i2psnark/java/bundle-messages.sh +++ b/apps/i2psnark/java/bundle-messages.sh @@ -30,7 +30,7 @@ if which find|grep -q -i windows ; then export PATH=.:/bin:/usr/local/bin:$PATH fi # Fast mode - update ondemond -# set LG2 to the language you need in envrionment varibales to enable this +# set LG2 to the language you need in environment variables to enable this # add ../java/ so the refs will work in the po file JPATHS="../java/src" @@ -63,13 +63,13 @@ do echo "Updating the $i file from the tags..." # extract strings from java and jsp files, and update messages.po files # translate calls must be one of the forms: - # _("foo") + # _t("foo") # _x("foo") # To start a new translation, copy the header from an old translation to the new .po file, # then ant distclean poupdate. find $JPATHS -name *.java > $TMPFILE xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\ - --keyword=_ --keyword=_x \ + --keyword=_t --keyword=_x \ -o ${i}t if [ $? -ne 0 ] then diff --git a/apps/i2psnark/java/src/org/klomp/snark/BitField.java b/apps/i2psnark/java/src/org/klomp/snark/BitField.java index cb147fb268..f724f71d73 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/BitField.java +++ b/apps/i2psnark/java/src/org/klomp/snark/BitField.java @@ -107,6 +107,27 @@ public class BitField } } + /** + * Sets the given bit to false. + * + * @exception IndexOutOfBoundsException if bit is smaller then zero + * bigger then size (inclusive). + * @since 0.9.22 + */ + public void clear(int bit) + { + if (bit < 0 || bit >= size) + throw new IndexOutOfBoundsException(Integer.toString(bit)); + int index = bit/8; + int mask = 128 >> (bit % 8); + synchronized(this) { + if ((bitfield[index] & mask) != 0) { + count--; + bitfield[index] &= ~mask; + } + } + } + /** * Sets all bits to true. * diff --git a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java index 1835ffe90c..53247a6991 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java @@ -207,30 +207,31 @@ abstract class ExtensionHandler { if (log.shouldLog(Log.DEBUG)) log.debug("Got request for " + piece + " from: " + peer); byte[] pc; + int totalSize; synchronized(state) { pc = state.getChunk(piece); + totalSize = state.getSize(); } - sendPiece(peer, piece, pc); + sendPiece(peer, piece, pc, totalSize); // Do this here because PeerConnectionOut only reports for PIECE messages peer.uploaded(pc.length); listener.uploaded(peer, pc.length); } else if (type == TYPE_DATA) { - int size = map.get("total_size").getInt(); - if (log.shouldLog(Log.DEBUG)) - log.debug("Got data for " + piece + " length " + size + " from: " + peer); + // On close reading of BEP 9, this is the total metadata size. + // Prior to 0.9.21, we sent the piece size, so we can't count on it. + // just ignore it. The actual length will be verified in saveChunk() + //int size = map.get("total_size").getInt(); + //if (log.shouldLog(Log.DEBUG)) + // log.debug("Got data for " + piece + " length " + size + " from: " + peer); boolean done; int chk = -1; synchronized(state) { if (state.isComplete()) return; int len = is.available(); - if (len != size) { - // probably fatal - if (log.shouldLog(Log.WARN)) - log.warn("total_size " + size + " but avail data " + len); - } peer.downloaded(len); listener.downloaded(peer, len); + // this checks the size done = state.saveChunk(piece, bs, bs.length - len, len); if (log.shouldLog(Log.INFO)) log.info("Got chunk " + piece + " from " + peer); @@ -293,11 +294,15 @@ abstract class ExtensionHandler { } } - private static void sendPiece(Peer peer, int piece, byte[] data) { + private static void sendPiece(Peer peer, int piece, byte[] data, int totalSize) { Map map = new HashMap(); map.put("msg_type", Integer.valueOf(TYPE_DATA)); map.put("piece", Integer.valueOf(piece)); - map.put("total_size", Integer.valueOf(data.length)); + // BEP 9 + // "This key has the same semantics as the 'metadata_size' in the extension header" + // which apparently means the same value. Fixed in 0.9.21. + //map.put("total_size", Integer.valueOf(data.length)); + map.put("total_size", Integer.valueOf(totalSize)); byte[] dict = BEncoder.bencode(map); byte[] payload = new byte[dict.length + data.length]; System.arraycopy(dict, 0, payload, 0, dict.length); diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 85bb97c4d8..e75ef301e4 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -14,6 +14,7 @@ import java.util.Set; import net.i2p.I2PAppContext; import net.i2p.I2PException; +import net.i2p.client.I2PClient; import net.i2p.client.I2PSession; import net.i2p.client.I2PSessionException; import net.i2p.client.streaming.I2PServerSocket; @@ -255,6 +256,8 @@ public class I2PSnarkUtil { opts.setProperty("i2p.streaming.disableRejectLogging", "true"); if (opts.getProperty("i2p.streaming.answerPings") == null) opts.setProperty("i2p.streaming.answerPings", "false"); + if (opts.getProperty(I2PClient.PROP_SIGTYPE) == null) + opts.setProperty(I2PClient.PROP_SIGTYPE, "EdDSA_SHA512_Ed25519"); _manager = I2PSocketManagerFactory.createManager(_i2cpHost, _i2cpPort, opts); _connecting = false; } @@ -657,7 +660,7 @@ public class I2PSnarkUtil { * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java index 543753331b..a40a68f8da 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java @@ -74,10 +74,11 @@ public class MetaInfo * @param files null for single-file torrent * @param lengths null for single-file torrent * @param announce_list may be null + * @param created_by may be null */ MetaInfo(String announce, String name, String name_utf8, List> files, List lengths, int piece_length, byte[] piece_hashes, long length, boolean privateTorrent, - List> announce_list) + List> announce_list, String created_by) { this.announce = announce; this.name = name; @@ -91,7 +92,7 @@ public class MetaInfo this.privateTorrent = privateTorrent; this.announce_list = announce_list; this.comment = null; - this.created_by = null; + this.created_by = created_by; this.creation_date = I2PAppContext.getGlobalContext().clock().now(); // TODO if we add a parameter for other keys diff --git a/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java b/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java index bcf0aefd0b..6cf35836db 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java @@ -108,7 +108,8 @@ class PartialPiece implements Comparable { /** * Convert this PartialPiece to a request for the next chunk. - * Used by PeerState only. + * Used by PeerState only. This depends on the downloaded value + * as set by setDownloaded() or read(). */ public Request getRequest() { @@ -128,14 +129,16 @@ class PartialPiece implements Comparable { } /** - * How many bytes are good - only valid by setDownloaded() + * How many bytes are good - as set by setDownloaded() or read() */ public int getDownloaded() { return this.off; } /** - * Call this before returning a PartialPiece to the PeerCoordinator + * Call this if necessary before returning a PartialPiece to the PeerCoordinator. + * We do not use a bitmap to track individual chunks received. + * Any chunks after a 'hole' will be lost. * @since 0.9.1 */ public void setDownloaded(int offset) { @@ -191,11 +194,20 @@ class PartialPiece implements Comparable { /** * Blocking. + * If offset matches the previous downloaded amount + * (as set by a previous call to read() or setDownlaoded()), + * the downloaded amount will be incremented by len. + * * @since 0.9.1 */ - public void read(DataInputStream din, int off, int len) throws IOException { + public void read(DataInputStream din, int offset, int len) throws IOException { if (bs != null) { - din.readFully(bs, off, len); + din.readFully(bs, offset, len); + synchronized (this) { + // only works for in-order chunks + if (this.off == offset) + this.off += len; + } } else { // read in fully before synching on raf ByteArray ba; @@ -211,8 +223,11 @@ class PartialPiece implements Comparable { synchronized (this) { if (raf == null) createTemp(); - raf.seek(off); + raf.seek(offset); raf.write(tmp); + // only works for in-order chunks + if (this.off == offset) + this.off += len; } if (ba != null) _cache.release(ba, false); diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java index 51272e8a67..314b534bce 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java @@ -170,6 +170,8 @@ class PeerConnectionOut implements Runnable lastSent = System.currentTimeMillis(); // Remove all piece messages after sending a choke message. + // FiXME this causes REJECT messages to be sent before sending the CHOKE; + // BEP 6 recommends sending them after. if (m.type == Message.CHOKE) removeMessage(Message.PIECE); diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index 7f5e8a4f03..b347b54488 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -920,6 +920,7 @@ class PeerCoordinator implements PeerListener * Returns a byte array containing the requested piece or null of * the piece is unknown. * + * @return bytes or null for errors such as not having the piece yet * @throws RuntimeException on IOE getting the data */ public ByteArray gotRequest(Peer peer, int piece, int off, int len) @@ -1010,9 +1011,21 @@ class PeerCoordinator implements PeerListener } else { + // so we will try again + markUnrequested(peer, piece); + // just in case + removePartialPiece(piece); // Oops. We didn't actually download this then... :( downloaded.addAndGet(0 - metainfo.getPieceLength(piece)); - _log.warn("Got BAD piece " + piece + "/" + metainfo.getPieces() + " from " + peer + " for " + metainfo.getName()); + // Mark this peer as not having the piece. PeerState will update its bitfield. + for (Piece pc : wantedPieces) { + if (pc.getId() == piece) { + pc.removePeer(peer); + break; + } + } + if (_log.shouldWarn()) + _log.warn("Got BAD piece " + piece + "/" + metainfo.getPieces() + " from " + peer + " for " + metainfo.getName()); return false; // No need to announce BAD piece to peers. } } @@ -1141,8 +1154,9 @@ class PeerCoordinator implements PeerListener * * Also mark the piece unrequested if this peer was the only one. * - * @param peer partials, must include the zero-offset (empty) ones too - * No dup pieces, piece.setDownloaded() must be set + * @param peer partials, must include the zero-offset (empty) ones too. + * No dup pieces, piece.setDownloaded() must be set. + * len field in Requests is ignored. * @since 0.8.2 */ public void savePartialPieces(Peer peer, List partials) diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java index cf29c415fb..23cbe56907 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java @@ -21,6 +21,7 @@ package org.klomp.snark; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -238,6 +239,8 @@ class PeerState implements DataLoader } // Sanity check + // There is no check here that we actually have the piece; + // this will be caught in loadData() below if (piece < 0 || piece >= metainfo.getPieces() || begin < 0 @@ -251,6 +254,8 @@ class PeerState implements DataLoader + ", " + begin + ", " + length + "' message from " + peer); + if (peer.supportsFast()) + out.sendReject(piece, begin, length); return; } @@ -281,7 +286,8 @@ class PeerState implements DataLoader /** * This is the callback that PeerConnectionOut calls * - * @return bytes or null for errors + * @return bytes or null for errors such as not having the piece yet + * @throws RuntimeException on IOE getting the data * @since 0.8.2 */ public ByteArray loadData(int piece, int begin, int length) { @@ -291,6 +297,8 @@ class PeerState implements DataLoader // XXX - Protocol error-> diconnect? if (_log.shouldLog(Log.WARN)) _log.warn("Got request for unknown piece: " + piece); + if (peer.supportsFast()) + out.sendReject(piece, begin, length); return null; } @@ -303,6 +311,8 @@ class PeerState implements DataLoader + ", " + begin + ", " + length + "' message from " + peer); + if (peer.supportsFast()) + out.sendReject(piece, begin, length); return null; } @@ -360,6 +370,11 @@ class PeerState implements DataLoader { if (_log.shouldLog(Log.WARN)) _log.warn("Got BAD " + req.getPiece() + " from " + peer); + synchronized(this) { + // so we don't ask again + if (bitfield != null) + bitfield.clear(req.getPiece()); + } } } @@ -493,7 +508,12 @@ class PeerState implements DataLoader for (Integer p : pcs) { Request req = getLowestOutstandingRequest(p.intValue()); if (req != null) { - req.getPartialPiece().setDownloaded(req.off); + PartialPiece pp = req.getPartialPiece(); + synchronized(pp) { + int dl = pp.getDownloaded(); + if (req.off != dl) + req = new Request(pp, dl, 1); + } rv.add(req); } } @@ -598,6 +618,13 @@ class PeerState implements DataLoader /** * BEP 6 + * If the peer rejects lower chunks but not higher ones, thus creating holes, + * we won't figure it out and the piece will fail, since we don't currently + * keep a chunk bitmap in PartialPiece. + * As long as the peer rejects all the chunks, or rejects only the last chunks, + * no holes are created and we will be fine. The reject messages may be in any order, + * just don't make a hole when it's over. + * * @since 0.9.21 */ void rejectMessage(int piece, int begin, int length) { @@ -605,10 +632,34 @@ class PeerState implements DataLoader _log.info("Got reject(" + piece + ',' + begin + ',' + length + ") from " + peer); out.cancelRequest(piece, begin, length); synchronized(this) { + Request deletedRequest = null; + // for this piece only + boolean haveMoreRequests = false; for (Iterator iter = outstandingRequests.iterator(); iter.hasNext(); ) { Request req = iter.next(); - if (req.getPiece() == piece && req.off == begin && req.len == length) - iter.remove(); + if (req.getPiece() == piece) { + if (req.off == begin && req.len == length) { + iter.remove(); + deletedRequest = req; + } else { + haveMoreRequests = true; + } + } + } + if (deletedRequest != null && !haveMoreRequests) { + // We must return the piece to the coordinator + // Create a new fake request so we can set the offset correctly + PartialPiece pp = deletedRequest.getPartialPiece(); + int downloaded = pp.getDownloaded(); + Request req; + if (deletedRequest.off == downloaded) + req = deletedRequest; + else + req = new Request(pp, downloaded, 1); + List pcs = Collections.singletonList(req); + listener.savePartialPieces(this.peer, pcs); + if (_log.shouldWarn()) + _log.warn("Returned to coord. w/ offset " + pp.getDownloaded() + " due to reject(" + piece + ',' + begin + ',' + length + ") from " + peer); } if (lastRequest != null && lastRequest.getPiece() == piece && lastRequest.off == begin && lastRequest.len == length) diff --git a/apps/i2psnark/java/src/org/klomp/snark/Request.java b/apps/i2psnark/java/src/org/klomp/snark/Request.java index d6a621b1f2..fddbb2b536 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Request.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Request.java @@ -43,13 +43,13 @@ class Request */ Request(PartialPiece piece, int off, int len) { - // Sanity check - if (off < 0 || len <= 0 || off + len > piece.getLength()) - throw new IndexOutOfBoundsException("Illegal Request " + toString()); - this.piece = piece; this.off = off; this.len = len; + + // Sanity check + if (off < 0 || len <= 0 || off + len > piece.getLength()) + throw new IndexOutOfBoundsException("Illegal Request " + toString()); } /** diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java index 60e8f6189a..f8dadb627f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java @@ -745,6 +745,18 @@ public class Snark return storage != null && storage.isChecking(); } + /** + * If checking is in progress, return completion 0.0 ... 1.0, + * else return 1.0. + * @since 0.9.23 + */ + public double getCheckingProgress() { + if (storage != null && storage.isChecking()) + return storage.getCheckingProgress(); + else + return 1.0d; + } + /** * Disk allocation (ballooning) in progress. * @since 0.9.3 @@ -1264,7 +1276,8 @@ public class Snark public void setWantedPieces(Storage storage) { - coordinator.setWantedPieces(); + if (coordinator != null) + coordinator.setWantedPieces(); } ///////////// End StorageListener methods @@ -1273,7 +1286,7 @@ public class Snark /** SnarkSnutdown callback unused */ public void shutdown() { - // Should not be necessary since all non-deamon threads should + // Should not be necessary since all non-daemon threads should // have died. But in reality this does not always happen. //System.exit(0); } diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 7718218270..bcb4fa34c2 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -8,6 +8,7 @@ import java.io.FilenameFilter; import java.io.IOException; import java.io.OutputStream; import java.io.Serializable; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -96,6 +97,12 @@ public class SnarkManager implements CompleteListener { private static final String PROP_META_PRIORITY = "priority"; private static final String PROP_META_PRESERVE_NAMES = "preserveFileNames"; private static final String PROP_META_UPLOADED = "uploaded"; + private static final String PROP_META_ADDED = "added"; + private static final String PROP_META_COMPLETED = "completed"; + private static final String PROP_META_MAGNET = "magnet"; + private static final String PROP_META_MAGNET_DN = "magnet_dn"; + private static final String PROP_META_MAGNET_TR = "magnet_tr"; + private static final String PROP_META_MAGNET_DIR = "magnet_dir"; //private static final String PROP_META_BITFIELD_SUFFIX = ".bitfield"; //private static final String PROP_META_PRIORITY_SUFFIX = ".priority"; private static final String PROP_META_MAGNET_PREFIX = "i2psnark.magnet."; @@ -769,9 +776,9 @@ public class SnarkManager implements CompleteListener { _util.setMaxUploaders(limit); changed = true; _config.setProperty(PROP_UPLOADERS_TOTAL, Integer.toString(limit)); - addMessage(_("Total uploaders limit changed to {0}", limit)); + addMessage(_t("Total uploaders limit changed to {0}", limit)); } else { - addMessage(_("Minimum total uploaders limit is {0}", Snark.MIN_TOTAL_UPLOADERS)); + addMessage(_t("Minimum total uploaders limit is {0}", Snark.MIN_TOTAL_UPLOADERS)); } } } @@ -783,9 +790,9 @@ public class SnarkManager implements CompleteListener { _util.setMaxUpBW(limit); changed = true; _config.setProperty(PROP_UPBW_MAX, Integer.toString(limit)); - addMessage(_("Up BW limit changed to {0}KBps", limit)); + addMessage(_t("Up BW limit changed to {0}KBps", limit)); } else { - addMessage(_("Minimum up bandwidth limit is {0}KBps", MIN_UP_BW)); + addMessage(_t("Minimum up bandwidth limit is {0}KBps", MIN_UP_BW)); } } } @@ -797,7 +804,7 @@ public class SnarkManager implements CompleteListener { _util.setStartupDelay(minutes); changed = true; _config.setProperty(PROP_STARTUP_DELAY, Integer.toString(minutes)); - addMessage(_("Startup delay changed to {0}", DataHelper.formatDuration2(minutes * (60L * 1000)))); + addMessage(_t("Startup delay changed to {0}", DataHelper.formatDuration2(minutes * (60L * 1000)))); } } @@ -808,9 +815,9 @@ public class SnarkManager implements CompleteListener { changed = true; _config.setProperty(PROP_REFRESH_DELAY, Integer.toString(secs)); if (secs >= 0) - addMessage(_("Refresh time changed to {0}", DataHelper.formatDuration2(secs * 1000))); + addMessage(_t("Refresh time changed to {0}", DataHelper.formatDuration2(secs * 1000))); else - addMessage(_("Refresh disabled")); + addMessage(_t("Refresh disabled")); } } catch (NumberFormatException nfe) {} } @@ -826,7 +833,7 @@ public class SnarkManager implements CompleteListener { changed = true; pageSize = Integer.toString(size); _config.setProperty(PROP_PAGE_SIZE, pageSize); - addMessage(_("Page size changed to {0}", pageSize)); + addMessage(_t("Page size changed to {0}", pageSize)); } } catch (NumberFormatException nfe) {} } @@ -835,18 +842,18 @@ public class SnarkManager implements CompleteListener { dataDir = DataHelper.stripHTML(dataDir.trim()); File dd = new File(dataDir); if (!dd.isAbsolute()) { - addMessage(_("Data directory must be an absolute path") + ": " + dataDir); + addMessage(_t("Data directory must be an absolute path") + ": " + dataDir); } else if (!dd.exists()) { - addMessage(_("Data directory does not exist") + ": " + dataDir); + addMessage(_t("Data directory does not exist") + ": " + dataDir); } else if (!dd.isDirectory()) { - addMessage(_("Not a directory") + ": " + dataDir); + addMessage(_t("Not a directory") + ": " + dataDir); } else if (!dd.canRead()) { - addMessage(_("Unreadable") + ": " + dataDir); + addMessage(_t("Unreadable") + ": " + dataDir); } else { changed = true; interruptMonitor = true; _config.setProperty(PROP_DIR, dataDir); - addMessage(_("Data directory changed to {0}", dataDir)); + addMessage(_t("Data directory changed to {0}", dataDir)); } } @@ -901,37 +908,37 @@ public class SnarkManager implements CompleteListener { p.putAll(opts); _util.setI2CPConfig(i2cpHost, port, p); _util.setMaxUpBW(getInt(PROP_UPBW_MAX, DEFAULT_MAX_UP_BW)); - addMessage(_("I2CP and tunnel changes will take effect after stopping all torrents")); + addMessage(_t("I2CP and tunnel changes will take effect after stopping all torrents")); } else if (!reconnect) { // The usual case, the other two are if not in router context _config.setProperty(PROP_I2CP_OPTS, i2cpOpts.trim()); - addMessage(_("I2CP options changed to {0}", i2cpOpts)); + addMessage(_t("I2CP options changed to {0}", i2cpOpts)); _util.setI2CPConfig(oldI2CPHost, oldI2CPPort, opts); } else { // Won't happen, I2CP host/port, are hidden in the GUI if in router context if (_util.connected()) { _util.disconnect(); - addMessage(_("Disconnecting old I2CP destination")); + addMessage(_t("Disconnecting old I2CP destination")); } - addMessage(_("I2CP settings changed to {0}", i2cpHost + ':' + port + ' ' + i2cpOpts)); + addMessage(_t("I2CP settings changed to {0}", i2cpHost + ':' + port + ' ' + i2cpOpts)); _util.setI2CPConfig(i2cpHost, port, opts); _util.setMaxUpBW(getInt(PROP_UPBW_MAX, DEFAULT_MAX_UP_BW)); boolean ok = _util.connect(); if (!ok) { - addMessage(_("Unable to connect with the new settings, reverting to the old I2CP settings")); + addMessage(_t("Unable to connect with the new settings, reverting to the old I2CP settings")); _util.setI2CPConfig(oldI2CPHost, oldI2CPPort, oldOpts); ok = _util.connect(); if (!ok) - addMessage(_("Unable to reconnect with the old settings!")); + addMessage(_t("Unable to reconnect with the old settings!")); } else { - addMessage(_("Reconnected on the new I2CP destination")); + addMessage(_t("Reconnected on the new I2CP destination")); _config.setProperty(PROP_I2CP_HOST, i2cpHost.trim()); _config.setProperty(PROP_I2CP_PORT, "" + port); _config.setProperty(PROP_I2CP_OPTS, i2cpOpts.trim()); // no PeerAcceptors/I2PServerSockets to deal with, since all snarks are inactive for (Snark snark : _snarks.values()) { if (snark.restartAcceptor()) { - addMessage(_("I2CP listener restarted for \"{0}\"", snark.getBaseName())); + addMessage(_t("I2CP listener restarted for \"{0}\"", snark.getBaseName())); // this is the common ConnectionAcceptor, so we only need to do it once break; } @@ -945,44 +952,44 @@ public class SnarkManager implements CompleteListener { _config.setProperty(PROP_FILES_PUBLIC, Boolean.toString(filesPublic)); _util.setFilesPublic(filesPublic); if (filesPublic) - addMessage(_("New files will be publicly readable")); + addMessage(_t("New files will be publicly readable")); else - addMessage(_("New files will not be publicly readable")); + addMessage(_t("New files will not be publicly readable")); changed = true; } if (shouldAutoStart() != autoStart) { _config.setProperty(PROP_AUTO_START, Boolean.toString(autoStart)); if (autoStart) - addMessage(_("Enabled autostart")); + addMessage(_t("Enabled autostart")); else - addMessage(_("Disabled autostart")); + addMessage(_t("Disabled autostart")); changed = true; } if (_util.shouldUseOpenTrackers() != useOpenTrackers) { _config.setProperty(PROP_USE_OPENTRACKERS, useOpenTrackers + ""); if (useOpenTrackers) - addMessage(_("Enabled open trackers - torrent restart required to take effect.")); + addMessage(_t("Enabled open trackers - torrent restart required to take effect.")); else - addMessage(_("Disabled open trackers - torrent restart required to take effect.")); + addMessage(_t("Disabled open trackers - torrent restart required to take effect.")); _util.setUseOpenTrackers(useOpenTrackers); changed = true; } if (_util.shouldUseDHT() != useDHT) { _config.setProperty(PROP_USE_DHT, Boolean.toString(useDHT)); if (useDHT) - addMessage(_("Enabled DHT.")); + addMessage(_t("Enabled DHT.")); else - addMessage(_("Disabled DHT.")); + addMessage(_t("Disabled DHT.")); if (_util.connected()) - addMessage(_("DHT change requires tunnel shutdown and reopen")); + addMessage(_t("DHT change requires tunnel shutdown and reopen")); _util.setUseDHT(useDHT); changed = true; } if (theme != null) { if(!theme.equals(_config.getProperty(PROP_THEME))) { _config.setProperty(PROP_THEME, theme); - addMessage(_("{0} theme loaded, return to main i2psnark page to view.", theme)); + addMessage(_t("{0} theme loaded, return to main i2psnark page to view.", theme)); changed = true; } } @@ -992,7 +999,7 @@ public class SnarkManager implements CompleteListener { // Data dir changed. this will stop and remove all old torrents, and add the new ones _monitor.interrupt(); } else { - addMessage(_("Configuration unchanged.")); + addMessage(_t("Configuration unchanged.")); } } @@ -1024,7 +1031,7 @@ public class SnarkManager implements CompleteListener { if (ot == null) ot = getListConfig(PROP_OPENTRACKERS, DEFAULT_OPENTRACKERS); _util.setOpenTrackers(ot); - addMessage(_("Open Tracker list changed - torrent restart required to take effect.")); + addMessage(_t("Open Tracker list changed - torrent restart required to take effect.")); saveConfig(); } @@ -1034,7 +1041,7 @@ public class SnarkManager implements CompleteListener { */ public void savePrivateTrackers(List pt) { setListConfig(PROP_PRIVATETRACKERS, pt); - addMessage(_("Private tracker list changed - affects newly created torrents only.")); + addMessage(_t("Private tracker list changed - affects newly created torrents only.")); saveConfig(); } @@ -1080,7 +1087,7 @@ public class SnarkManager implements CompleteListener { DataHelper.storeProps(_config, _configFile); } } catch (IOException ioe) { - addMessage(_("Unable to save the config to {0}", _configFile.getAbsolutePath())); + addMessage(_t("Unable to save the config to {0}", _configFile.getAbsolutePath())); } } @@ -1161,10 +1168,10 @@ public class SnarkManager implements CompleteListener { */ private void addTorrent(String filename, File baseFile, boolean dontAutoStart, File dataDir) { if ((!dontAutoStart) && !_util.connected()) { - addMessage(_("Connecting to I2P")); + addMessage(_t("Connecting to I2P")); boolean ok = _util.connect(); if (!ok) { - addMessage(_("Error connecting to I2P - check your I2CP settings!")); + addMessage(_t("Error connecting to I2P - check your I2CP settings!")); return; } } @@ -1173,7 +1180,7 @@ public class SnarkManager implements CompleteListener { filename = sfile.getCanonicalPath(); } catch (IOException ioe) { _log.error("Unable to add the torrent " + filename, ioe); - addMessage(_("Error: Could not add the torrent {0}", filename) + ": " + ioe); + addMessage(_t("Error: Could not add the torrent {0}", filename) + ": " + ioe); return; } if (dataDir == null) @@ -1196,7 +1203,7 @@ public class SnarkManager implements CompleteListener { fis = new FileInputStream(sfile); } catch (IOException ioe) { // catch this here so we don't try do delete it below - addMessage(_("Cannot open \"{0}\"", sfile.getName()) + ": " + ioe.getMessage()); + addMessage(_t("Cannot open \"{0}\"", sfile.getName()) + ": " + ioe.getMessage()); return; } @@ -1215,53 +1222,59 @@ public class SnarkManager implements CompleteListener { Snark snark = getTorrentByInfoHash(info.getInfoHash()); if (snark != null) { // TODO - if the existing one is a magnet, delete it and add the metainfo instead? - addMessage(_("Torrent with this info hash is already running: {0}", snark.getBaseName())); + addMessage(_t("Torrent with this info hash is already running: {0}", snark.getBaseName())); return; } if (!TrackerClient.isValidAnnounce(info.getAnnounce())) { if (info.isPrivate()) { - addMessage(_("ERROR - No I2P trackers in private torrent \"{0}\"", info.getName())); + addMessage(_t("ERROR - No I2P trackers in private torrent \"{0}\"", info.getName())); } else if (!_util.getOpenTrackers().isEmpty()) { - addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName())); - //addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only.", info.getName())); + addMessage(_t("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName())); + //addMessage(_t("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only.", info.getName())); } else if (_util.shouldUseDHT()) { - addMessage(_("Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will announce to DHT only.", info.getName())); + addMessage(_t("Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will announce to DHT only.", info.getName())); } else { - addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName())); - //addMessage(_("Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent.", info.getName())); + addMessage(_t("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName())); + //addMessage(_t("Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent.", info.getName())); dontAutoStart = true; } } String rejectMessage = validateTorrent(info); if (rejectMessage != null) { - sfile.delete(); - addMessage(rejectMessage); - return; - } else { - // TODO load saved closest DHT nodes and pass to the Snark ? - // This may take a LONG time - if (baseFile == null) - baseFile = getSavedBaseFile(info.getInfoHash()); - if (_log.shouldLog(Log.INFO)) - _log.info("New Snark, torrent: " + filename + " base: " + baseFile); - torrent = new Snark(_util, filename, null, -1, null, null, this, - _peerCoordinatorSet, _connectionAcceptor, - false, dataDir.getPath(), baseFile); - loadSavedFilePriorities(torrent); - synchronized (_snarks) { - _snarks.put(filename, torrent); - } + throw new IOException(rejectMessage); + } + + // TODO load saved closest DHT nodes and pass to the Snark ? + // This may take a LONG time + if (baseFile == null) + baseFile = getSavedBaseFile(info.getInfoHash()); + if (_log.shouldLog(Log.INFO)) + _log.info("New Snark, torrent: " + filename + " base: " + baseFile); + torrent = new Snark(_util, filename, null, -1, null, null, this, + _peerCoordinatorSet, _connectionAcceptor, + shouldAutoStart(), dataDir.getPath(), baseFile); + loadSavedFilePriorities(torrent); + synchronized (_snarks) { + _snarks.put(filename, torrent); } } catch (IOException ioe) { - String err = _("Torrent in \"{0}\" is invalid", sfile.getName()) + ": " + ioe.getMessage(); + // close before rename/delete for windows + if (fis != null) try { fis.close(); fis = null; } catch (IOException ioe2) {} + String err = _t("Torrent in \"{0}\" is invalid", sfile.toString()) + ": " + ioe.getMessage(); addMessage(err); _log.error(err, ioe); - if (sfile.exists()) - sfile.delete(); + File rename = new File(filename + ".BAD"); + if (rename.exists()) { + if (sfile.delete()) + addMessage(_t("Torrent file deleted: {0}", sfile.toString())); + } else { + if (FileUtil.rename(sfile, rename)) + addMessage(_t("Torrent file moved from {0} to {1}", sfile.toString(), rename.toString())); + } return; } catch (OutOfMemoryError oom) { - addMessage(_("ERROR - Out of memory, cannot create torrent from {0}", sfile.getName()) + ": " + oom.getMessage()); + addMessage(_t("ERROR - Out of memory, cannot create torrent from {0}", sfile.getName()) + ": " + oom.getMessage()); return; } finally { if (fis != null) try { fis.close(); } catch (IOException ioe) {} @@ -1278,13 +1291,13 @@ public class SnarkManager implements CompleteListener { running = true; } else { running = false; - } + } // Were we running last time? if (!dontAutoStart && shouldAutoStart() && running) { torrent.startTorrent(); - addMessage(_("Torrent added and started: \"{0}\"", torrent.getBaseName())); + addMessage(_t("Torrent added and started: \"{0}\"", torrent.getBaseName())); } else { - addMessage(_("Torrent added: \"{0}\"", torrent.getBaseName())); + addMessage(_t("Torrent added: \"{0}\"", torrent.getBaseName())); } } @@ -1349,28 +1362,28 @@ public class SnarkManager implements CompleteListener { synchronized (_snarks) { Snark snark = getTorrentByInfoHash(ih); if (snark != null) { - addMessage(_("Torrent with this info hash is already running: {0}", snark.getBaseName())); + addMessage(_t("Torrent with this info hash is already running: {0}", snark.getBaseName())); return null; } // Tell the dir monitor not to delete us _magnets.add(name); if (updateStatus) - saveMagnetStatus(ih); + saveMagnetStatus(ih, dirPath, trackerURL, name); _snarks.put(name, torrent); } if (autoStart) { startTorrent(ih); - addMessage(_("Fetching {0}", name)); + addMessage(_t("Fetching {0}", name)); DHT dht = _util.getDHT(); boolean shouldWarn = _util.connected() && _util.getOpenTrackers().isEmpty() && ((!_util.shouldUseDHT()) || dht == null || dht.size() <= 0); if (shouldWarn) { - addMessage(_("Open trackers are disabled and we have no DHT peers. " + + addMessage(_t("Open trackers are disabled and we have no DHT peers. " + "Fetch of {0} may not succeed until you start another torrent, enable open trackers, or enable DHT.", name)); } } else { - addMessage(_("Adding {0}", name)); + addMessage(_t("Adding {0}", name)); } return torrent; } @@ -1403,7 +1416,7 @@ public class SnarkManager implements CompleteListener { synchronized (_snarks) { Snark snark = getTorrentByInfoHash(torrent.getInfoHash()); if (snark != null) { - addMessage(_("Download already running: {0}", snark.getBaseName())); + addMessage(_t("Download already running: {0}", snark.getBaseName())); return; } String name = torrent.getName(); @@ -1437,7 +1450,7 @@ public class SnarkManager implements CompleteListener { synchronized (_snarks) { Snark snark = getTorrentByInfoHash(metainfo.getInfoHash()); if (snark != null) { - addMessage(_("Torrent with this info hash is already running: {0}", snark.getBaseName())); + addMessage(_t("Torrent with this info hash is already running: {0}", snark.getBaseName())); return false; } else { saveTorrentStatus(metainfo, bitfield, null, baseFile, true, 0, true); // no file priorities @@ -1448,7 +1461,7 @@ public class SnarkManager implements CompleteListener { // hold the lock for a long time addTorrent(filename, baseFile, dontAutoStart); } catch (IOException ioe) { - addMessage(_("Failed to copy torrent file to {0}", filename)); + addMessage(_t("Failed to copy torrent file to {0}", filename)); _log.error("Failed to write torrent file", ioe); return false; } @@ -1474,7 +1487,7 @@ public class SnarkManager implements CompleteListener { synchronized (_snarks) { boolean success = FileUtil.copy(fromfile.getAbsolutePath(), filename, false); if (!success) { - addMessage(_("Failed to copy torrent file to {0}", filename)); + addMessage(_t("Failed to copy torrent file to {0}", filename)); _log.error("Failed to write torrent file to " + filename); return; } @@ -1623,6 +1636,25 @@ public class SnarkManager implements CompleteListener { } return 0; } + + /** + * Get setting for a torrent from the config file. + * @return non-null, rv[0] is added time or 0; rv[1] is completed time or 0 + * @since 0.9.23 + */ + public long[] getSavedAddedAndCompleted(Snark snark) { + long[] rv = new long[2]; + Properties config = getConfig(snark); + if (config != null) { + try { + rv[0] = Long.parseLong(config.getProperty(PROP_META_ADDED)); + } catch (NumberFormatException nfe) {} + try { + rv[1] = Long.parseLong(config.getProperty(PROP_META_COMPLETED)); + } catch (NumberFormatException nfe) {} + } + return rv; + } /** * Save the completion status of a torrent and other data in the config file @@ -1647,6 +1679,7 @@ public class SnarkManager implements CompleteListener { * The status is either a bitfield converted to Base64 or "." for a completed * torrent to save space in the config file and in memory. * + * @param metainfo non-null * @param bitfield non-null * @param priorities may be null * @param base may be null @@ -1661,19 +1694,25 @@ public class SnarkManager implements CompleteListener { private void locked_saveTorrentStatus(MetaInfo metainfo, BitField bitfield, int[] priorities, File base, boolean preserveNames, long uploaded, boolean stopped) { byte[] ih = metainfo.getInfoHash(); + Properties config = getConfig(ih); + String now = Long.toString(System.currentTimeMillis()); + config.setProperty(PROP_META_STAMP, now); + if (config.getProperty(PROP_META_ADDED) == null) + config.setProperty(PROP_META_ADDED, now); String bfs; if (bitfield.complete()) { bfs = "."; + if (config.getProperty(PROP_META_COMPLETED) == null) + config.setProperty(PROP_META_COMPLETED, now); } else { byte[] bf = bitfield.getFieldBytes(); bfs = Base64.encode(bf); + config.remove(PROP_META_COMPLETED); } - boolean running = !stopped; - Properties config = getConfig(ih); - config.setProperty(PROP_META_STAMP, Long.toString(System.currentTimeMillis())); config.setProperty(PROP_META_BITFIELD, bfs); config.setProperty(PROP_META_PRESERVE_NAMES, Boolean.toString(preserveNames)); config.setProperty(PROP_META_UPLOADED, Long.toString(uploaded)); + boolean running = !stopped; config.setProperty(PROP_META_RUNNING, Boolean.toString(running)); if (base != null) config.setProperty(PROP_META_BASE, base.getAbsolutePath()); @@ -1703,15 +1742,28 @@ public class SnarkManager implements CompleteListener { } else { config.remove(PROP_META_PRIORITY); } + // magnet properties, no longer apply, we have the metainfo + config.remove(PROP_META_MAGNET); + config.remove(PROP_META_MAGNET_DIR); + config.remove(PROP_META_MAGNET_DN); + config.remove(PROP_META_MAGNET_TR); // TODO save closest DHT nodes too + locked_saveTorrentStatus(ih, config); + } + /** + * @since 0.9.23 + */ + private void locked_saveTorrentStatus(byte[] ih, Properties config) { File conf = configFile(_configDir, ih); File subdir = conf.getParentFile(); if (!subdir.exists()) subdir.mkdirs(); try { DataHelper.storeProps(config, conf); + if (_log.shouldInfo()) + _log.info("Saved config to " + conf); } catch (IOException ioe) { _log.error("Unable to save the config to " + conf); } @@ -1796,14 +1848,38 @@ public class SnarkManager implements CompleteListener { } /** - * Just remember we have it + * Just remember we have it. + * This used to simply store a line in the config file, + * but now we also save it in its own config file, + * just like other torrents, so we can remember the directory, tracker, etc. + * + * @param dir may be null + * @param trackerURL may be null + * @param dn may be null * @since 0.8.4 */ - public void saveMagnetStatus(byte[] ih) { + public void saveMagnetStatus(byte[] ih, String dir, String trackerURL, String dn) { + // i2psnark.config file String infohash = Base64.encode(ih); infohash = infohash.replace('=', '$'); _config.setProperty(PROP_META_MAGNET_PREFIX + infohash, "."); - saveConfig(); + // its own config file + Properties config = new OrderedProperties(); + config.setProperty(PROP_META_MAGNET, "true"); + if (dir != null) + config.setProperty(PROP_META_MAGNET_DIR, dir); + if (trackerURL != null) + config.setProperty(PROP_META_MAGNET_TR, trackerURL); + if (dn != null) + config.setProperty(PROP_META_MAGNET_DN, dn); + String now = Long.toString(System.currentTimeMillis()); + config.setProperty(PROP_META_ADDED, now); + config.setProperty(PROP_META_STAMP, now); + // save + synchronized (_configLock) { + saveConfig(); + locked_saveTorrentStatus(ih, config); + } } /** @@ -1813,8 +1889,8 @@ public class SnarkManager implements CompleteListener { public void removeMagnetStatus(byte[] ih) { String infohash = Base64.encode(ih); infohash = infohash.replace('=', '$'); - _config.remove(PROP_META_MAGNET_PREFIX + infohash); - saveConfig(); + if (_config.remove(PROP_META_MAGNET_PREFIX + infohash) != null) + saveConfig(); } /** @@ -1825,18 +1901,18 @@ public class SnarkManager implements CompleteListener { private String validateTorrent(MetaInfo info) { List> files = info.getFiles(); if ( (files != null) && (files.size() > MAX_FILES_PER_TORRENT) ) { - return _("Too many files in \"{0}\" ({1}), deleting it!", info.getName(), files.size()); + return _t("Too many files in \"{0}\" ({1})!", info.getName(), files.size()); } else if ( (files == null) && (info.getName().endsWith(".torrent")) ) { - return _("Torrent file \"{0}\" cannot end in \".torrent\", deleting it!", info.getName()); + return _t("Torrent file \"{0}\" cannot end in \".torrent\"!", info.getName()); } else if (info.getPieces() <= 0) { - return _("No pieces in \"{0}\", deleting it!", info.getName()); + return _t("No pieces in \"{0}\"!", info.getName()); } else if (info.getPieces() > Storage.MAX_PIECES) { - return _("Too many pieces in \"{0}\", limit is {1}, deleting it!", info.getName(), Storage.MAX_PIECES); + return _t("Too many pieces in \"{0}\", limit is {1}!", info.getName(), Storage.MAX_PIECES); } else if (info.getPieceLength(0) > Storage.MAX_PIECE_SIZE) { - return _("Pieces are too large in \"{0}\" ({1}B), deleting it.", info.getName(), DataHelper.formatSize2(info.getPieceLength(0))) + ' ' + - _("Limit is {0}B", DataHelper.formatSize2(Storage.MAX_PIECE_SIZE)); + return _t("Pieces are too large in \"{0}\" ({1}B)!", info.getName(), DataHelper.formatSize2(info.getPieceLength(0))) + ' ' + + _t("Limit is {0}B", DataHelper.formatSize2(Storage.MAX_PIECE_SIZE)); } else if (info.getTotalLength() <= 0) { - return _("Torrent \"{0}\" has no data, deleting it!", info.getName()); + return _t("Torrent \"{0}\" has no data!", info.getName()); } else if (info.getTotalLength() > Storage.MAX_TOTAL_SIZE) { System.out.println("torrent info: " + info.toString()); List lengths = info.getLengths(); @@ -1844,7 +1920,7 @@ public class SnarkManager implements CompleteListener { for (int i = 0; i < lengths.size(); i++) System.out.println("File " + i + " is " + lengths.get(i) + " long."); - return _("Torrents larger than {0}B are not supported yet, deleting \"{1}\"", Storage.MAX_TOTAL_SIZE, info.getName()); + return _t("Torrents larger than {0}B are not supported yet \"{1}\"!", Storage.MAX_TOTAL_SIZE, info.getName()); } else { // ok return null; @@ -1861,7 +1937,7 @@ public class SnarkManager implements CompleteListener { filename = sfile.getCanonicalPath(); } catch (IOException ioe) { _log.error("Unable to remove the torrent " + filename, ioe); - addMessage(_("Error: Could not remove the torrent {0}", filename) + ": " + ioe.getMessage()); + addMessage(_t("Error: Could not remove the torrent {0}", filename) + ": " + ioe.getMessage()); return null; } int remaining = 0; @@ -1884,7 +1960,7 @@ public class SnarkManager implements CompleteListener { if (shouldRemove) removeTorrentStatus(torrent); if (!wasStopped) - addMessage(_("Torrent stopped: \"{0}\"", torrent.getBaseName())); + addMessage(_t("Torrent stopped: \"{0}\"", torrent.getBaseName())); } return torrent; } @@ -1903,7 +1979,7 @@ public class SnarkManager implements CompleteListener { boolean wasStopped = torrent.isStopped(); torrent.stopTorrent(); if (!wasStopped) - addMessage(_("Torrent stopped: \"{0}\"", torrent.getBaseName())); + addMessage(_t("Torrent stopped: \"{0}\"", torrent.getBaseName())); if (shouldRemove) removeTorrentStatus(torrent); } @@ -1923,7 +1999,7 @@ public class SnarkManager implements CompleteListener { File torrentFile = new File(filename); torrentFile.delete(); } - addMessage(_("Torrent removed: \"{0}\"", torrent.getBaseName())); + addMessage(_t("Torrent removed: \"{0}\"", torrent.getBaseName())); } private class DirMonitor implements Runnable { @@ -1931,7 +2007,7 @@ public class SnarkManager implements CompleteListener { // don't bother delaying if auto start is false long delay = (60L * 1000) * getStartupDelayMinutes(); if (delay > 0 && shouldAutoStart()) { - addMessage(_("Adding torrents in {0}", DataHelper.formatDuration2(delay))); + addMessage(_t("Adding torrents in {0}", DataHelper.formatDuration2(delay))); try { Thread.sleep(delay); } catch (InterruptedException ie) {} // Remove that first message if (_messages.size() == 1) @@ -1946,13 +2022,15 @@ public class SnarkManager implements CompleteListener { File dir = getDataDir(); if (_log.shouldLog(Log.DEBUG)) _log.debug("Directory Monitor loop over " + dir.getAbsolutePath()); + boolean ok; try { // Don't let this interfere with .torrent files being added or deleted synchronized (_snarks) { - monitorTorrents(dir); + ok = monitorTorrents(dir); } } catch (Exception e) { _log.error("Error in the DirectoryMonitor", e); + ok = false; } if (doMagnets) { // first run only @@ -1963,10 +2041,14 @@ public class SnarkManager implements CompleteListener { _log.error("Error in the DirectoryMonitor", e); } if (!_snarks.isEmpty()) - addMessage(_("Up bandwidth limit is {0} KBps", _util.getMaxUpBW())); + addMessage(_t("Up bandwidth limit is {0} KBps", _util.getMaxUpBW())); // To fix bug where files were left behind, // but also good for when user removes snarks when i2p is not running - cleanupTorrentStatus(); + // Don't run if there was an error, as we would delete the torrent config + // file(s) and we don't want to do that. We'll do the cleanup the next + // time i2psnark starts. See ticket #1658. + if (ok) + cleanupTorrentStatus(); } try { Thread.sleep(60*1000); } catch (InterruptedException ie) {} } @@ -1990,7 +2072,7 @@ public class SnarkManager implements CompleteListener { buf.append('/'); buf.append("\">").append(base).append(""); if (snark.getDownloaded() > 0) - addMessageNoEscape(_("Download finished: {0}", buf.toString())); // + " (" + _("size: {0}B", DataHelper.formatSize2(len)) + ')'); + addMessageNoEscape(_t("Download finished: {0}", buf.toString())); // + " (" + _t("size: {0}B", DataHelper.formatSize2(len)) + ')'); updateStatus(snark); } @@ -2045,11 +2127,11 @@ public class SnarkManager implements CompleteListener { } _magnets.remove(snark.getName()); removeMagnetStatus(snark.getInfoHash()); - addMessage(_("Metainfo received for {0}", snark.getName())); - addMessage(_("Starting up torrent {0}", storage.getBaseName())); + addMessage(_t("Metainfo received for {0}", snark.getName())); + addMessage(_t("Starting up torrent {0}", storage.getBaseName())); return name; } catch (IOException ioe) { - addMessage(_("Failed to copy torrent file to {0}", name)); + addMessage(_t("Failed to copy torrent file to {0}", name)); _log.error("Failed to write torrent file", ioe); } } @@ -2061,7 +2143,7 @@ public class SnarkManager implements CompleteListener { * @since 0.9 */ public void fatal(Snark snark, String error) { - addMessage(_("Error on torrent {0}", snark.getName()) + ": " + error); + addMessage(_t("Error on torrent {0}", snark.getName()) + ": " + error); } /** @@ -2082,27 +2164,44 @@ public class SnarkManager implements CompleteListener { /** * Add all magnets from the config file + * * @since 0.8.4 */ private void addMagnets() { - for (Object o : _config.keySet()) { - String k = (String) o; + boolean changed = false; + for (Iterator iter = _config.keySet().iterator(); iter.hasNext(); ) { + String k = (String) iter.next(); if (k.startsWith(PROP_META_MAGNET_PREFIX)) { String b64 = k.substring(PROP_META_MAGNET_PREFIX.length()); b64 = b64.replace('$', '='); byte[] ih = Base64.decode(b64); // ignore value - TODO put tracker URL in value - if (ih != null && ih.length == 20) - addMagnet(_("Magnet") + ' ' + I2PSnarkUtil.toHex(ih), ih, null, false); - // else remove from config? + if (ih != null && ih.length == 20) { + Properties config = getConfig(ih); + String name = config.getProperty(PROP_META_MAGNET_DN); + if (name == null) + name = _t("Magnet") + ' ' + I2PSnarkUtil.toHex(ih); + String tracker = config.getProperty(PROP_META_MAGNET_TR); + String dir = config.getProperty(PROP_META_MAGNET_DIR); + File dirf = (dir != null) ? (new File(dir)) : null; + addMagnet(name, ih, tracker, false, dirf); + } else { + iter.remove(); + changed = true; + } } } + if (changed) + saveConfig(); } /** * caller must synchronize on _snarks + * + * @return success, false if an error adding any torrent. */ - private void monitorTorrents(File dir) { + private boolean monitorTorrents(File dir) { + boolean rv = true; String fileNames[] = dir.list(TorrentFilenameFilter.instance()); List foundNames = new ArrayList(0); if (fileNames != null) { @@ -2124,14 +2223,15 @@ public class SnarkManager implements CompleteListener { // already known. noop } else { if (shouldAutoStart() && !_util.connect()) - addMessage(_("Unable to connect to I2P!")); + addMessage(_t("Unable to connect to I2P!")); try { // Snark.fatal() throws a RuntimeException // don't let one bad torrent kill the whole loop addTorrent(name, null, !shouldAutoStart()); } catch (Exception e) { - addMessage(_("Error: Could not add the torrent {0}", name) + ": " + e); + addMessage(_t("Error: Could not add the torrent {0}", name) + ": " + e); _log.error("Unable to add the torrent " + name, e); + rv = false; } } } @@ -2152,20 +2252,21 @@ public class SnarkManager implements CompleteListener { } } } + return rv; } /** translate */ - private String _(String s) { + private String _t(String s) { return _util.getString(s); } /** translate */ - private String _(String s, Object o) { + private String _t(String s, Object o) { return _util.getString(s, o); } /** translate */ - private String _(String s, Object o, Object o2) { + private String _t(String s, Object o, Object o2) { return _util.getString(s, o, o2); } @@ -2270,28 +2371,36 @@ public class SnarkManager implements CompleteListener { public void startTorrent(byte[] infoHash) { for (Snark snark : _snarks.values()) { if (DataHelper.eq(infoHash, snark.getInfoHash())) { - if (snark.isStarting() || !snark.isStopped()) { - addMessage("Torrent already started"); - return; - } - boolean connected = _util.connected(); - if ((!connected) && !_util.isConnecting()) - addMessage(_("Opening the I2P tunnel")); - addMessage(_("Starting up torrent {0}", snark.getBaseName())); - if (connected) { - snark.startTorrent(); - } else { - // mark it for the UI - snark.setStarting(); - (new I2PAppThread(new ThreadedStarter(snark), "TorrentStarter", true)).start(); - try { Thread.sleep(200); } catch (InterruptedException ie) {} - } + startTorrent(snark); return; } } addMessage("Torrent not found?"); } + /** + * If not connected, thread it, otherwise inline + * @since 0.9.23 + */ + public void startTorrent(Snark snark) { + if (snark.isStarting() || !snark.isStopped()) { + addMessage("Torrent already started"); + return; + } + boolean connected = _util.connected(); + if ((!connected) && !_util.isConnecting()) + addMessage(_t("Opening the I2P tunnel")); + addMessage(_t("Starting up torrent {0}", snark.getBaseName())); + if (connected) { + snark.startTorrent(); + } else { + // mark it for the UI + snark.setStarting(); + (new I2PAppThread(new ThreadedStarter(snark), "TorrentStarter", true)).start(); + try { Thread.sleep(200); } catch (InterruptedException ie) {} + } + } + /** * If not connected, thread it, otherwise inline * @since 0.9.1 @@ -2300,7 +2409,7 @@ public class SnarkManager implements CompleteListener { if (_util.connected()) { startAll(); } else { - addMessage(_("Opening the I2P tunnel and starting all torrents.")); + addMessage(_t("Opening the I2P tunnel and starting all torrents.")); for (Snark snark : _snarks.values()) { // mark it for the UI snark.setStarting(); @@ -2363,7 +2472,7 @@ public class SnarkManager implements CompleteListener { for (Snark snark : _snarks.values()) { if (!snark.isStopped()) { if (count == 0) - addMessage(_("Stopping all torrents and closing the I2P tunnel.")); + addMessage(_t("Stopping all torrents and closing the I2P tunnel.")); count++; if (finalShutdown) snark.stopTorrent(true); @@ -2382,14 +2491,14 @@ public class SnarkManager implements CompleteListener { // Schedule this even for final shutdown, as there's a chance // that it's just this webapp that is stopping. _context.simpleTimer2().addEvent(new Disconnector(), 60*1000); - addMessage(_("Closing I2P tunnel after notifying trackers.")); + addMessage(_t("Closing I2P tunnel after notifying trackers.")); if (finalShutdown) { try { Thread.sleep(5*1000); } catch (InterruptedException ie) {} } } else { _util.disconnect(); _stopping = false; - addMessage(_("I2P tunnel closed.")); + addMessage(_t("I2P tunnel closed.")); } } } @@ -2400,7 +2509,56 @@ public class SnarkManager implements CompleteListener { if (_util.connected()) { _util.disconnect(); _stopping = false; - addMessage(_("I2P tunnel closed.")); + addMessage(_t("I2P tunnel closed.")); + } + } + } + + /** + * Threaded. Torrent must be stopped. + * @since 0.9.23 + */ + public void recheckTorrent(Snark snark) { + if (snark.isStarting() || !snark.isStopped()) { + addMessage("Cannot check " + snark.getBaseName() + ", torrent already started"); + return; + } + Storage storage = snark.getStorage(); + if (storage == null) { + addMessage("Cannot check " + snark.getBaseName() + ", no storage"); + return; + } + (new I2PAppThread(new ThreadedRechecker(snark), "TorrentRechecker", true)).start(); + try { Thread.sleep(200); } catch (InterruptedException ie) {} + } + + /** + * @since 0.9.23 + */ + private class ThreadedRechecker implements Runnable { + private final Snark snark; + /** must have non-null storage */ + public ThreadedRechecker(Snark s) { snark = s; } + public void run() { + try { + if (_log.shouldWarn()) + _log.warn("Starting recheck of " + snark.getBaseName()); + boolean changed = snark.getStorage().recheck(); + if (changed) + updateStatus(snark); + if (_log.shouldWarn()) + _log.warn("Finished recheck of " + snark.getBaseName() + " changed? " + changed); + if (changed) { + int pieces = snark.getPieces(); + double completion = (pieces - snark.getNeeded()) / (double) pieces; + String complete = (new DecimalFormat("0.00%")).format(completion); + addMessage(_t("Finished recheck of torrent {0}, now {1} complete", snark.getBaseName(), complete)); + } else { + addMessage(_t("Finished recheck of torrent {0}, unchanged", snark.getBaseName())); + } + } catch (Exception e) { + _log.error("Error rechecking " + snark.getBaseName(), e); + addMessage(_t("Error checking the torrent {0}", snark.getBaseName()) + ": " + e); } } } diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java index 682d6f700c..62cb1aa45d 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java @@ -20,6 +20,7 @@ package org.klomp.snark; +import java.io.Closeable; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -38,6 +39,8 @@ import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; +import gnu.getopt.Getopt; + import net.i2p.I2PAppContext; import net.i2p.crypto.SHA1; import net.i2p.data.ByteArray; @@ -50,7 +53,7 @@ import net.i2p.util.SystemVersion; /** * Maintains pieces on disk. Can be used to store and retrieve pieces. */ -public class Storage +public class Storage implements Closeable { private final MetaInfo metainfo; private final List _torrentFiles; @@ -70,6 +73,7 @@ public class Storage private boolean changed; private volatile boolean _isChecking; private final AtomicInteger _allocateCount = new AtomicInteger(); + private final AtomicInteger _checkProgress = new AtomicInteger(); /** The default piece size. */ private static final int DEFAULT_PIECE_SIZE = 256*1024; @@ -122,10 +126,12 @@ public class Storage * * @param announce may be null * @param listener may be null + * @param created_by may be null * @throws IOException when creating and/or checking files fails. */ public Storage(I2PSnarkUtil util, File baseFile, String announce, List> announce_list, + String created_by, boolean privateTorrent, StorageListener listener) throws IOException { @@ -194,7 +200,7 @@ public class Storage byte[] piece_hashes = fast_digestCreate(); metainfo = new MetaInfo(announce, baseFile.getName(), null, files, lengthsList, piece_size, piece_hashes, total, privateTorrent, - announce_list); + announce_list, created_by); } @@ -306,6 +312,18 @@ public class Storage return _isChecking; } + /** + * If checking is in progress, return completion 0.0 ... 1.0, + * else return 1.0. + * @since 0.9.23 + */ + public double getCheckingProgress() { + if (_isChecking) + return _checkProgress.get() / (double) pieces; + else + return 1.0d; + } + /** * Disk allocation (ballooning) in progress. * Always false on Windows. @@ -336,29 +354,28 @@ public class Storage * @return number of bytes remaining; -1 if unknown file * @since 0.7.14 */ +/**** public long remaining(int fileIndex) { if (fileIndex < 0 || fileIndex >= _torrentFiles.size()) return -1; + if (complete()) + return 0; long bytes = 0; for (int i = 0; i < _torrentFiles.size(); i++) { TorrentFile tf = _torrentFiles.get(i); if (i == fileIndex) { - File f = tf.RAFfile; - if (complete()) - return 0; - int psz = piece_size; long start = bytes; long end = start + tf.length; - int pc = (int) (bytes / psz); + int pc = (int) (bytes / piece_size); long rv = 0; if (!bitfield.get(pc)) - rv = Math.min(psz - (start % psz), tf.length); - for (int j = pc + 1; (((long)j) * psz) < end && j < pieces; j++) { + rv = Math.min(piece_size - (start % piece_size), tf.length); + for (int j = pc + 1; (((long)j) * piece_size) < end && j < pieces; j++) { if (!bitfield.get(j)) { - if (((long)(j+1))*psz < end) - rv += psz; + if (((long)(j+1))*piece_size < end) + rv += piece_size; else - rv += end - (((long)j) * psz); + rv += end - (((long)j) * piece_size); } } return rv; @@ -367,6 +384,40 @@ public class Storage } return -1; } +****/ + + /** + * For efficiency, calculate remaining bytes for all files at once + * + * @return number of bytes remaining for each file, use indexOf() to get index for a file + * @since 0.9.23 + */ + public long[] remaining() { + long[] rv = new long[_torrentFiles.size()]; + if (complete()) + return rv; + long bytes = 0; + for (int i = 0; i < _torrentFiles.size(); i++) { + TorrentFile tf = _torrentFiles.get(i); + long start = bytes; + long end = start + tf.length; + int pc = (int) (bytes / piece_size); + long rvi = 0; + if (!bitfield.get(pc)) + rvi = Math.min(piece_size - (start % piece_size), tf.length); + for (int j = pc + 1; (((long)j) * piece_size) < end && j < pieces; j++) { + if (!bitfield.get(j)) { + if (((long)(j+1))*piece_size < end) + rvi += piece_size; + else + rvi += end - (((long)j) * piece_size); + } + } + rv[i] = rvi; + bytes += tf.length; + } + return rv; + } /** * @param fileIndex as obtained from indexOf @@ -450,9 +501,8 @@ public class Storage int file = 0; long pcEnd = -1; long fileEnd = _torrentFiles.get(0).length - 1; - int psz = piece_size; for (int i = 0; i < rv.length; i++) { - pcEnd += psz; + pcEnd += piece_size; int pri = _torrentFiles.get(file).priority; while (fileEnd <= pcEnd && file < _torrentFiles.size() - 1) { file++; @@ -496,6 +546,9 @@ public class Storage /** * Creates (and/or checks) all files from the metainfo file list. * Only call this once, and only after the constructor with the metainfo. + * Use recheck() to check again later. + * + * @throws IllegalStateException if called more than once */ public void check() throws IOException { @@ -506,6 +559,9 @@ public class Storage * Creates (and/or checks) all files from the metainfo file list. * Use a saved bitfield and timestamp from a config file. * Only call this once, and only after the constructor with the metainfo. + * Use recheck() to check again later. + * + * @throws IllegalStateException if called more than once */ public void check(long savedTime, BitField savedBitField) throws IOException { @@ -784,6 +840,24 @@ public class Storage return rv; } + /** + * Blocking. Holds lock. + * Recommend running only when stopped. + * Caller should thread. + * Calls listener.setWantedPieces() on completion if anything changed. + * + * @return true if anything changed, false otherwise + * @since 0.9.23 + */ + public boolean recheck() throws IOException { + int previousNeeded = needed; + checkCreateFiles(true); + boolean changed = previousNeeded != needed; + if (listener != null && changed) + listener.setWantedPieces(this); + return changed; + } + /** * This is called at the beginning, and at presumed completion, * so we have to be careful about locking. @@ -808,6 +882,7 @@ public class Storage private void locked_checkCreateFiles(boolean recheck) throws IOException { + _checkProgress.set(0); // Whether we are resuming or not, // if any of the files already exists we assume we are resuming. boolean resume = false; @@ -824,13 +899,16 @@ public class Storage // Make sure all files are available and of correct length // The files should all exist as they have been created with zero length by createFilesFromNames() + long lengthProgress = 0; for (TorrentFile tf : _torrentFiles) { long length = tf.RAFfile.length(); + lengthProgress += tf.length; if(tf.RAFfile.exists() && length == tf.length) { if (listener != null) listener.storageAllocated(this, length); + _checkProgress.set(0); resume = true; // XXX Could dynamicly check } else if (length == 0) { @@ -842,6 +920,8 @@ public class Storage tf.closeRAF(); } catch (IOException ioe) {} } + if (!resume) + _checkProgress.set((int) (pieces * lengthProgress / total_length)); } else { String msg = "File '" + tf.name + "' exists, but has wrong length (expected " + tf.length + " but found " + length + ") - repairing corruption"; @@ -850,6 +930,7 @@ public class Storage _log.error(msg); changed = true; resume = true; + _checkProgress.set(0); _probablyComplete = false; // to force RW synchronized(tf) { RandomAccessFile raf = tf.checkRAF(); @@ -870,6 +951,7 @@ public class Storage long pieceEnd = 0; for (int i = 0; i < pieces; i++) { + _checkProgress.set(i); int length = getUncheckedPiece(i, piece); boolean correctHash = metainfo.checkPiece(i, piece, 0, length); // close as we go so we don't run out of file descriptors @@ -896,6 +978,7 @@ public class Storage } } + _checkProgress.set(pieces); _probablyComplete = complete(); // close all the files so we don't end up with a zillion open ones; // we will reopen as needed @@ -1372,18 +1455,44 @@ public class Storage * @since 0.9.4 */ public static void main(String[] args) { - if (args.length < 1 || args.length > 2) { - System.err.println("Usage: Storage file-or-dir [announceURL]"); + boolean error = false; + String created_by = null; + String announce = null; + Getopt g = new Getopt("Storage", args, "a:c:"); + try { + int c; + while ((c = g.getopt()) != -1) { + switch (c) { + case 'a': + announce = g.getOptarg(); + break; + + case 'c': + created_by = g.getOptarg(); + break; + + case '?': + case ':': + default: + error = true; + break; + } // switch + } // while + } catch (Exception e) { + e.printStackTrace(); + error = true; + } + if (error || args.length - g.getOptind() != 1) { + System.err.println("Usage: Storage [-a announceURL] [-c created-by] file-or-dir"); System.exit(1); } - File base = new File(args[0]); - String announce = args.length == 2 ? args[1] : null; + File base = new File(args[g.getOptind()]); I2PAppContext ctx = I2PAppContext.getGlobalContext(); I2PSnarkUtil util = new I2PSnarkUtil(ctx); File file = null; FileOutputStream out = null; try { - Storage storage = new Storage(util, base, announce, null, false, null); + Storage storage = new Storage(util, base, announce, null, created_by, false, null); MetaInfo meta = storage.getMetaInfo(); file = new File(storage.getBaseName() + ".torrent"); out = new FileOutputStream(file); diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java b/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java index 99e2f62a69..5537b33f14 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java @@ -77,7 +77,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl _log = ctx.logManager().getLog(FetchAndAdd.class); _mgr = mgr; _url = url; - _name = _("Download torrent file from {0}", url); + _name = _t("Download torrent file from {0}", url); _dataDir = dataDir; byte[] fake = null; try { @@ -90,7 +90,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl * Set off by startTorrent() */ public void run() { - _mgr.addMessageNoEscape(_("Fetching {0}", urlify(_url))); + _mgr.addMessageNoEscape(_t("Fetching {0}", urlify(_url))); File file = get(); if (!_isRunning) // stopped? return; @@ -100,7 +100,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl _mgr.deleteMagnet(this); add(file); } else { - _mgr.addMessageNoEscape(_("Torrent was not retrieved from {0}", urlify(_url)) + + _mgr.addMessageNoEscape(_t("Torrent was not retrieved from {0}", urlify(_url)) + ((_failCause != null) ? (": " + DataHelper.stripHTML(_failCause)) : "")); } if (file != null) @@ -127,7 +127,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl out.deleteOnExit(); if (!_mgr.util().connected()) { - _mgr.addMessage(_("Opening the I2P tunnel")); + _mgr.addMessage(_t("Opening the I2P tunnel")); if (!_mgr.util().connect()) return null; } @@ -154,7 +154,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl * This Snark may then be deleted. */ private void add(File file) { - _mgr.addMessageNoEscape(_("Torrent fetched from {0}", urlify(_url))); + _mgr.addMessageNoEscape(_t("Torrent fetched from {0}", urlify(_url))); FileInputStream in = null; try { in = new FileInputStream(file); @@ -163,7 +163,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl try { in.close(); } catch (IOException ioe) {} Snark snark = _mgr.getTorrentByInfoHash(fileInfoHash); if (snark != null) { - _mgr.addMessage(_("Torrent with this info hash is already running: {0}", snark.getBaseName())); + _mgr.addMessage(_t("Torrent with this info hash is already running: {0}", snark.getBaseName())); return; } @@ -175,9 +175,9 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl if (torrentFile.exists()) { if (_mgr.getTorrent(canonical) != null) - _mgr.addMessage(_("Torrent already running: {0}", name)); + _mgr.addMessage(_t("Torrent already running: {0}", name)); else - _mgr.addMessage(_("Torrent already in the queue: {0}", name)); + _mgr.addMessage(_t("Torrent already in the queue: {0}", name)); } else { // This may take a LONG time to create the storage. _mgr.copyAndAddTorrent(file, canonical, _dataDir); @@ -188,9 +188,9 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl throw new IOException("Unknown error - check logs"); } } catch (IOException ioe) { - _mgr.addMessageNoEscape(_("Torrent at {0} was not valid", urlify(_url)) + ": " + DataHelper.stripHTML(ioe.getMessage())); + _mgr.addMessageNoEscape(_t("Torrent at {0} was not valid", urlify(_url)) + ": " + DataHelper.stripHTML(ioe.getMessage())); } catch (OutOfMemoryError oom) { - _mgr.addMessageNoEscape(_("ERROR - Out of memory, cannot create torrent from {0}", urlify(_url)) + ": " + DataHelper.stripHTML(oom.getMessage())); + _mgr.addMessageNoEscape(_t("ERROR - Out of memory, cannot create torrent from {0}", urlify(_url)) + ": " + DataHelper.stripHTML(oom.getMessage())); } finally { try { if (in != null) in.close(); } catch (IOException ioe) {} } @@ -345,11 +345,11 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl // End of EepGet status listeners - private String _(String s) { + private String _t(String s) { return _mgr.util().getString(s); } - private String _(String s, String o) { + private String _t(String s, String o) { return _mgr.util().getString(s, o); } 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 4582bba68a..fdd70c0d9d 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -18,6 +18,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.TimeZone; import java.util.TreeMap; import javax.servlet.ServletConfig; @@ -265,14 +266,14 @@ public class I2PSnarkServlet extends BasicServlet { "\n" + ""); if (_contextName.equals(DEFAULT_NAME)) - out.write(_("I2PSnark")); + out.write(_t("I2PSnark")); else out.write(_contextName); out.write(" - "); if (isConfigure) - out.write(_("Configuration")); + out.write(_t("Configuration")); else - out.write(_("Anonymous BitTorrent Client")); + out.write(_t("Anonymous BitTorrent Client")); String peerParam = req.getParameter("p"); if ("2".equals(peerParam)) out.write(" | Debug Mode"); @@ -286,7 +287,7 @@ public class I2PSnarkServlet extends BasicServlet { //out.write("<meta http-equiv=\"refresh\" content=\"" + delay + ";/i2psnark/" + peerString + "\">\n"); out.write("<script src=\"/js/ajax.js\" type=\"text/javascript\"></script>\n" + "<script type=\"text/javascript\">\n" + - "var failMessage = \"<div class=\\\"routerdown\\\"><b>" + _("Router is down") + "<\\/b><\\/div>\";\n" + + "var failMessage = \"<div class=\\\"routerdown\\\"><b>" + _t("Router is down") + "<\\/b><\\/div>\";\n" + "function requestAjax1() { ajax(\"" + _contextPath + "/.ajax/xhr1.html" + peerString.replace("&", "&") + // don't html escape in js "\", \"mainsection\", " + (delay*1000) + "); }\n" + @@ -303,27 +304,27 @@ public class I2PSnarkServlet extends BasicServlet { List<Tracker> sortedTrackers = null; if (isConfigure) { out.write("<div class=\"snarknavbar\"><a href=\"" + _contextPath + "/\" title=\""); - out.write(_("Torrents")); + out.write(_t("Torrents")); out.write("\" class=\"snarkRefresh\">"); out.write(toThemeImg("arrow_refresh")); out.write("  "); if (_contextName.equals(DEFAULT_NAME)) - out.write(_("I2PSnark")); + out.write(_t("I2PSnark")); else out.write(_contextName); out.write("</a>"); } else { out.write("<div class=\"snarknavbar\"><a href=\"" + _contextPath + '/' + peerString + "\" title=\""); - out.write(_("Refresh page")); + out.write(_t("Refresh page")); out.write("\" class=\"snarkRefresh\">"); out.write(toThemeImg("arrow_refresh")); out.write("  "); if (_contextName.equals(DEFAULT_NAME)) - out.write(_("I2PSnark")); + out.write(_t("I2PSnark")); else out.write(_contextName); out.write("</a> <a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\" target=\"_blank\">"); - out.write(_("Forum")); + out.write(_t("Forum")); out.write("</a>\n"); sortedTrackers = _manager.getSortedTrackers(); @@ -338,7 +339,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write("</div>\n"); String newURL = req.getParameter("newURL"); if (newURL != null && newURL.trim().length() > 0 && req.getMethod().equals("GET")) - _manager.addMessage(_("Click \"Add torrent\" button to fetch torrent")); + _manager.addMessage(_t("Click \"Add torrent\" button to fetch torrent")); out.write("<div class=\"page\"><div id=\"mainsection\" class=\"mainsection\">"); writeMessages(out, isConfigure, peerString); @@ -391,7 +392,7 @@ public class I2PSnarkServlet extends BasicServlet { else out.write("?"); out.write("action=Clear&nonce=" + _nonce + "\">"); - String tx = _("clear messages"); + String tx = _t("clear messages"); out.write(toThemeImg("delete", tx, tx)); out.write("</a>" + "<ul>"); @@ -446,9 +447,9 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<a href=\"" + _contextPath + '/' + getQueryString(req, null, null, sort)); out.write("\">"); } - String tx = _("Status"); + String tx = _t("Status"); out.write(toThemeImg("status", tx, - showSort ? _("Sort by {0}", tx) + showSort ? _t("Sort by {0}", tx) : tx)); if (showSort) out.write("</a>"); @@ -459,13 +460,13 @@ public class I2PSnarkServlet extends BasicServlet { // disable peer view out.write(getQueryString(req, "", null, null)); out.write("\">"); - tx = _("Hide Peers"); + tx = _t("Hide Peers"); out.write(toThemeImg("hidepeers", tx, tx)); } else { // enable peer view out.write(getQueryString(req, "1", null, null)); out.write("\">"); - tx = _("Show Peers"); + tx = _t("Show Peers"); out.write(toThemeImg("showpeers", tx, tx)); } out.write("</a><br>\n"); @@ -488,9 +489,9 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<a href=\"" + _contextPath + '/' + getQueryString(req, null, null, sort)); out.write("\">"); } - tx = _("Torrent"); + tx = _t("Torrent"); out.write(toThemeImg("torrent", tx, - showSort ? _("Sort by {0}", (isTypeSort ? _("File type") : tx)) + showSort ? _t("Sort by {0}", (isTypeSort ? _t("File type") : tx)) : tx)); if (showSort) out.write("</a>"); @@ -506,10 +507,10 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\">"); } // Translators: Please keep short or translate as " " - tx = _("ETA"); + tx = _t("ETA"); out.write(toThemeImg("eta", tx, - showSort ? _("Sort by {0}", _("Estimated time remaining")) - : _("Estimated time remaining"))); + showSort ? _t("Sort by {0}", _t("Estimated time remaining")) + : _t("Estimated time remaining"))); if (showSort) out.write("</a>"); } @@ -532,10 +533,10 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\">"); } // Translators: Please keep short or translate as " " - tx = _("RX"); + tx = _t("RX"); out.write(toThemeImg("head_rx", tx, - showSort ? _("Sort by {0}", (isDlSort ? _("Downloaded") : _("Size"))) - : _("Downloaded"))); + showSort ? _t("Sort by {0}", (isDlSort ? _t("Downloaded") : _t("Size"))) + : _t("Downloaded"))); if (showSort) out.write("</a>"); out.write("</th>\n<th align=\"right\">"); @@ -563,10 +564,10 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\">"); } // Translators: Please keep short or translate as " " - tx = _("TX"); + tx = _t("TX"); out.write(toThemeImg("head_tx", tx, - showSort ? _("Sort by {0}", (nextRatSort ? _("Upload ratio") : _("Uploaded"))) - : _("Uploaded"))); + showSort ? _t("Sort by {0}", (nextRatSort ? _t("Upload ratio") : _t("Uploaded"))) + : _t("Uploaded"))); if (showSort) out.write("</a>"); } @@ -578,10 +579,10 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\">"); } // Translators: Please keep short or translate as " " - tx = _("RX Rate"); + tx = _t("RX Rate"); out.write(toThemeImg("head_rxspeed", tx, - showSort ? _("Sort by {0}", _("Down Rate")) - : _("Down Rate"))); + showSort ? _t("Sort by {0}", _t("Down Rate")) + : _t("Down Rate"))); if (showSort) out.write("</a>"); } @@ -593,10 +594,10 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\">"); } // Translators: Please keep short or translate as " " - tx = _("TX Rate"); + tx = _t("TX Rate"); out.write(toThemeImg("head_txspeed", tx, - showSort ? _("Sort by {0}", _("Up Rate")) - : _("Up Rate"))); + showSort ? _t("Sort by {0}", _t("Up Rate")) + : _t("Up Rate"))); if (showSort) out.write("</a>"); } @@ -612,9 +613,9 @@ public class I2PSnarkServlet extends BasicServlet { //out.write("<input type=\"image\" name=\"action\" value=\"StopAll\" title=\""); out.write("<input type=\"image\" name=\"action_StopAll\" value=\"foo\" title=\""); } - out.write(_("Stop all torrents and the I2P tunnel")); + out.write(_t("Stop all torrents and the I2P tunnel")); out.write("\" src=\"" + _imgPath + "stop_all.png\" alt=\""); - out.write(_("Stop All")); + out.write(_t("Stop All")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -626,9 +627,9 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<a href=\"" + _contextPath + "/?action=StartAll&nonce=" + _nonce + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_StartAll\" value=\"foo\" title=\""); - out.write(_("Start all stopped torrents")); + out.write(_t("Start all stopped torrents")); out.write("\" src=\"" + _imgPath + "start_all.png\" alt=\""); - out.write(_("Start All")); + out.write(_t("Start All")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -640,9 +641,9 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<a href=\"" + _contextPath + "/?action=StartAll&nonce=" + _nonce + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_StartAll\" value=\"foo\" title=\""); - out.write(_("Start all torrents and the I2P tunnel")); + out.write(_t("Start all torrents and the I2P tunnel")); out.write("\" src=\"" + _imgPath + "start_all.png\" alt=\""); - out.write(_("Start All")); + out.write(_t("Start All")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -665,13 +666,13 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<tr class=\"snarkTorrentNoneLoaded\">" + "<td class=\"snarkTorrentNoneLoaded\"" + " colspan=\"11\"><i>"); - out.write(_("No torrents loaded.")); + out.write(_t("No torrents loaded.")); out.write("</i></td></tr>\n"); } else /** if (snarks.size() > 1) */ { out.write("<tfoot><tr>\n" + " <th align=\"left\" colspan=\"6\">"); out.write(" "); - out.write(_("Totals")); + out.write(_t("Totals")); out.write(": "); out.write(ngettext("1 torrent", "{0} torrents", total)); out.write(", "); @@ -692,7 +693,7 @@ public class I2PSnarkServlet extends BasicServlet { if(!IPString.equals("unknown")) { // Only truncate if it's an actual dest out.write("; "); - out.write(_("Dest")); + out.write(_t("Dest")); out.write(": <tt>"); out.write(IPString.substring(0, 4)); out.write("</tt>"); @@ -820,7 +821,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<a href=\"" + _contextPath); out.write(getQueryString(req, null, "", null)); out.write("\">"); - out.write(toThemeImg("control_rewind_blue", _("First"), _("First page"))); + out.write(toThemeImg("control_rewind_blue", _t("First"), _t("First page"))); out.write("</a> "); int prev = Math.max(0, start - pageSize); //if (prev > 0) { @@ -830,7 +831,7 @@ public class I2PSnarkServlet extends BasicServlet { String sprev = (prev > 0) ? Integer.toString(prev) : ""; out.write(getQueryString(req, null, sprev, null)); out.write("\">"); - out.write(toThemeImg("control_back_blue", _("Prev"), _("Previous page"))); + out.write(toThemeImg("control_back_blue", _t("Prev"), _t("Previous page"))); out.write("</a> "); } } else { @@ -852,7 +853,7 @@ public class I2PSnarkServlet extends BasicServlet { page = pages; else page = 1 + (start / pageSize); - //out.write(" " + _("Page {0}", page) + thinsp(noThinsp) + pages + " "); + //out.write(" " + _t("Page {0}", page) + thinsp(noThinsp) + pages + " "); out.write("  " + page + thinsp(noThinsp) + pages + "  "); } if (start + pageSize < total) { @@ -863,7 +864,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write(" <a href=\"" + _contextPath); out.write(getQueryString(req, null, Integer.toString(next), null)); out.write("\">"); - out.write(toThemeImg("control_play_blue", _("Next"), _("Next page"))); + out.write(toThemeImg("control_play_blue", _t("Next"), _t("Next page"))); out.write("</a> "); } // Last @@ -871,7 +872,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write(" <a href=\"" + _contextPath); out.write(getQueryString(req, null, Integer.toString(last), null)); out.write("\">"); - out.write(toThemeImg("control_fastforward_blue", _("Last"), _("Last page"))); + out.write(toThemeImg("control_fastforward_blue", _t("Last"), _t("Last page"))); out.write("</a> "); } else { out.write(" " + @@ -917,7 +918,7 @@ public class I2PSnarkServlet extends BasicServlet { if ( (newFile != null) && (newFile.trim().length() > 0) ) f = new File(newFile.trim()); if ( (f != null) && (!f.exists()) ) { - _manager.addMessage(_("Torrent file {0} does not exist", newFile)); + _manager.addMessage(_t("Torrent file {0} does not exist", newFile)); } if ( (f != null) && (f.exists()) ) { // NOTE - All this is disabled - load from local file disabled @@ -928,16 +929,16 @@ public class I2PSnarkServlet extends BasicServlet { if (local.exists()) { if (_manager.getTorrent(canonical) != null) - _manager.addMessage(_("Torrent already running: {0}", newFile)); + _manager.addMessage(_t("Torrent already running: {0}", newFile)); else - _manager.addMessage(_("Torrent already in the queue: {0}", newFile)); + _manager.addMessage(_t("Torrent already in the queue: {0}", newFile)); } else { boolean ok = FileUtil.copy(f.getAbsolutePath(), local.getAbsolutePath(), true); if (ok) { - _manager.addMessage(_("Copying torrent to {0}", local.getAbsolutePath())); + _manager.addMessage(_t("Copying torrent to {0}", local.getAbsolutePath())); _manager.addTorrent(canonical); } else { - _manager.addMessage(_("Unable to copy the torrent to {0}", local.getAbsolutePath()) + ' ' + _("from {0}", f.getAbsolutePath())); + _manager.addMessage(_t("Unable to copy the torrent to {0}", local.getAbsolutePath()) + ' ' + _t("from {0}", f.getAbsolutePath())); } } } catch (IOException ioe) { @@ -953,11 +954,11 @@ public class I2PSnarkServlet extends BasicServlet { if (newDir.length() > 0) { dir = new SecureFile(newDir); if (!dir.isAbsolute()) { - _manager.addMessage(_("Data directory must be an absolute path") + ": " + dir); + _manager.addMessage(_t("Data directory must be an absolute path") + ": " + dir); return; } if (!dir.isDirectory() && !dir.mkdirs()) { - _manager.addMessage(_("Data directory cannot be created") + ": " + dir); + _manager.addMessage(_t("Data directory cannot be created") + ": " + dir); return; } Collection<Snark> snarks = _manager.getTorrents(); @@ -967,7 +968,7 @@ public class I2PSnarkServlet extends BasicServlet { continue; File sbase = storage.getBase(); if (isParentOf(sbase, dir)) { - _manager.addMessage(_("Cannot add torrent {0} inside another torrent: {1}", + _manager.addMessage(_t("Cannot add torrent {0} inside another torrent: {1}", dir.getAbsolutePath(), sbase)); return; } @@ -980,9 +981,15 @@ public class I2PSnarkServlet extends BasicServlet { } else if (newURL.startsWith(MagnetURI.MAGNET) || newURL.startsWith(MagnetURI.MAGGOT)) { addMagnet(newURL, dir); } else if (newURL.length() == 40 && newURL.replaceAll("[a-fA-F0-9]", "").length() == 0) { + // hex + newURL = newURL.toUpperCase(Locale.US); + addMagnet(MagnetURI.MAGNET_FULL + newURL, dir); + } else if (newURL.length() == 32 && newURL.replaceAll("[a-zA-Z2-7]", "").length() == 0) { + // b32 + newURL = newURL.toUpperCase(Locale.US); addMagnet(MagnetURI.MAGNET_FULL + newURL, dir); } else { - _manager.addMessage(_("Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"", + _manager.addMessage(_t("Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"", MagnetURI.MAGNET, MagnetURI.MAGGOT)); } } else { @@ -1023,7 +1030,7 @@ public class I2PSnarkServlet extends BasicServlet { // magnet - remove and delete are the same thing // Remove not shown on UI so we shouldn't get here _manager.deleteMagnet(snark); - _manager.addMessage(_("Magnet deleted: {0}", name)); + _manager.addMessage(_t("Magnet deleted: {0}", name)); return; } _manager.stopTorrent(snark, true); @@ -1031,7 +1038,7 @@ public class I2PSnarkServlet extends BasicServlet { // yeah, need to, otherwise it'll get autoadded again (at the moment File f = new File(name); f.delete(); - _manager.addMessage(_("Torrent file deleted: {0}", f.getAbsolutePath())); + _manager.addMessage(_t("Torrent file deleted: {0}", f.getAbsolutePath())); break; } } @@ -1050,15 +1057,15 @@ public class I2PSnarkServlet extends BasicServlet { // magnet - remove and delete are the same thing _manager.deleteMagnet(snark); if (snark instanceof FetchAndAdd) - _manager.addMessage(_("Download deleted: {0}", name)); + _manager.addMessage(_t("Download deleted: {0}", name)); else - _manager.addMessage(_("Magnet deleted: {0}", name)); + _manager.addMessage(_t("Magnet deleted: {0}", name)); return; } _manager.stopTorrent(snark, true); File f = new File(name); f.delete(); - _manager.addMessage(_("Torrent file deleted: {0}", f.getAbsolutePath())); + _manager.addMessage(_t("Torrent file deleted: {0}", f.getAbsolutePath())); Storage storage = snark.getStorage(); if (storage == null) break; @@ -1067,18 +1074,18 @@ public class I2PSnarkServlet extends BasicServlet { for (File df : storage.getFiles()) { // should be only one if (df.delete()) - _manager.addMessage(_("Data file deleted: {0}", df.getAbsolutePath())); + _manager.addMessage(_t("Data file deleted: {0}", df.getAbsolutePath())); else - _manager.addMessage(_("Data file could not be deleted: {0}", df.getAbsolutePath())); + _manager.addMessage(_t("Data file could not be deleted: {0}", df.getAbsolutePath())); } break; } // step 1 delete files for (File df : storage.getFiles()) { if (df.delete()) { - //_manager.addMessage(_("Data file deleted: {0}", df.getAbsolutePath())); + //_manager.addMessage(_t("Data file deleted: {0}", df.getAbsolutePath())); } else { - _manager.addMessage(_("Data file could not be deleted: {0}", df.getAbsolutePath())); + _manager.addMessage(_t("Data file could not be deleted: {0}", df.getAbsolutePath())); } } // step 2 delete dirs bottom-up @@ -1091,17 +1098,17 @@ public class I2PSnarkServlet extends BasicServlet { for (File df : dirs) { if (df.delete()) { ok = true; - //_manager.addMessage(_("Data dir deleted: {0}", df.getAbsolutePath())); + //_manager.addMessage(_t("Data dir deleted: {0}", df.getAbsolutePath())); } else { ok = false; - _manager.addMessage(_("Directory could not be deleted: {0}", df.getAbsolutePath())); + _manager.addMessage(_t("Directory could not be deleted: {0}", df.getAbsolutePath())); if (_log.shouldLog(Log.WARN)) _log.warn("Could not delete dir " + df); } } // step 3 message for base (last one) if (ok) - _manager.addMessage(_("Directory deleted: {0}", storage.getBase())); + _manager.addMessage(_t("Directory deleted: {0}", storage.getBase())); break; } } @@ -1152,18 +1159,18 @@ public class I2PSnarkServlet extends BasicServlet { if (baseFile.exists()) { String torrentName = baseFile.getName(); if (torrentName.toLowerCase(Locale.US).endsWith(".torrent")) { - _manager.addMessage(_("Cannot add a torrent ending in \".torrent\": {0}", baseFile.getAbsolutePath())); + _manager.addMessage(_t("Cannot add a torrent ending in \".torrent\": {0}", baseFile.getAbsolutePath())); return; } Snark snark = _manager.getTorrentByBaseName(torrentName); if (snark != null) { - _manager.addMessage(_("Torrent with this name is already running: {0}", torrentName)); + _manager.addMessage(_t("Torrent with this name is already running: {0}", torrentName)); return; } if (isParentOf(baseFile,_manager.getDataDir()) || isParentOf(baseFile, _manager.util().getContext().getBaseDir()) || isParentOf(baseFile, _manager.util().getContext().getConfigDir())) { - _manager.addMessage(_("Cannot add a torrent including an I2P directory: {0}", baseFile.getAbsolutePath())); + _manager.addMessage(_t("Cannot add a torrent including an I2P directory: {0}", baseFile.getAbsolutePath())); return; } Collection<Snark> snarks = _manager.getTorrents(); @@ -1173,12 +1180,12 @@ public class I2PSnarkServlet extends BasicServlet { continue; File sbase = storage.getBase(); if (isParentOf(sbase, baseFile)) { - _manager.addMessage(_("Cannot add torrent {0} inside another torrent: {1}", + _manager.addMessage(_t("Cannot add torrent {0} inside another torrent: {1}", baseFile.getAbsolutePath(), sbase)); return; } if (isParentOf(baseFile, sbase)) { - _manager.addMessage(_("Cannot add torrent {0} including another torrent: {1}", + _manager.addMessage(_t("Cannot add torrent {0} including another torrent: {1}", baseFile.getAbsolutePath(), sbase)); return; } @@ -1204,7 +1211,7 @@ public class I2PSnarkServlet extends BasicServlet { if (!backupURLs.isEmpty()) { // BEP 12 - Put primary first, then the others, each as the sole entry in their own list if (announceURL == null) { - _manager.addMessage(_("Error - Cannot include alternate trackers without a primary tracker")); + _manager.addMessage(_t("Error - Cannot include alternate trackers without a primary tracker")); return; } backupURLs.add(0, announceURL); @@ -1217,7 +1224,7 @@ public class I2PSnarkServlet extends BasicServlet { hasPublic = true; } if (hasPrivate && hasPublic) { - _manager.addMessage(_("Error - Cannot mix private and public trackers in a torrent")); + _manager.addMessage(_t("Error - Cannot mix private and public trackers in a torrent")); return; } announceList = new ArrayList<List<String>>(backupURLs.size()); @@ -1230,7 +1237,7 @@ public class I2PSnarkServlet extends BasicServlet { // it shouldn't be THAT bad, so keep it in this thread. // TODO thread it for big torrents, perhaps a la FetchAndAdd boolean isPrivate = _manager.getPrivateTrackers().contains(announceURL); - Storage s = new Storage(_manager.util(), baseFile, announceURL, announceList, isPrivate, null); + Storage s = new Storage(_manager.util(), baseFile, announceURL, announceList, null, isPrivate, null); s.close(); // close the files... maybe need a way to pass this Storage to addTorrent rather than starting over MetaInfo info = s.getMetaInfo(); File torrentFile = new File(_manager.getDataDir(), s.getBaseName() + ".torrent"); @@ -1239,18 +1246,18 @@ public class I2PSnarkServlet extends BasicServlet { boolean ok = _manager.addTorrent(info, s.getBitField(), torrentFile.getAbsolutePath(), baseFile, true); if (!ok) return; - _manager.addMessage(_("Torrent created for \"{0}\"", baseFile.getName()) + ": " + torrentFile.getAbsolutePath()); + _manager.addMessage(_t("Torrent created for \"{0}\"", baseFile.getName()) + ": " + torrentFile.getAbsolutePath()); if (announceURL != null && !_manager.util().getOpenTrackers().contains(announceURL)) - _manager.addMessage(_("Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\"", baseFile.getName())); + _manager.addMessage(_t("Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\"", baseFile.getName())); } catch (IOException ioe) { - _manager.addMessage(_("Error creating a torrent for \"{0}\"", baseFile.getAbsolutePath()) + ": " + ioe); + _manager.addMessage(_t("Error creating a torrent for \"{0}\"", baseFile.getAbsolutePath()) + ": " + ioe); _log.error("Error creating a torrent", ioe); } } else { - _manager.addMessage(_("Cannot create a torrent for the nonexistent data: {0}", baseFile.getAbsolutePath())); + _manager.addMessage(_t("Cannot create a torrent for the nonexistent data: {0}", baseFile.getAbsolutePath())); } } else { - _manager.addMessage(_("Error creating torrent - you must enter a file or directory")); + _manager.addMessage(_t("Error creating torrent - you must enter a file or directory")); } } else if ("StopAll".equals(action)) { _manager.stopAllTorrents(false); @@ -1281,7 +1288,7 @@ public class I2PSnarkServlet extends BasicServlet { /** @since 0.9 */ private void processTrackerForm(String action, HttpServletRequest req) { - if (action.equals(_("Delete selected")) || action.equals(_("Save tracker configuration"))) { + if (action.equals(_t("Delete selected")) || action.equals(_t("Save tracker configuration"))) { boolean changed = false; Map<String, Tracker> trackers = _manager.getTrackerMap(); List<String> removed = new ArrayList<String>(); @@ -1298,7 +1305,7 @@ public class I2PSnarkServlet extends BasicServlet { Tracker t; if ((t = trackers.remove(k)) != null) { removed.add(t.announceURL); - _manager.addMessage(_("Removed") + ": " + DataHelper.stripHTML(k)); + _manager.addMessage(_t("Removed") + ": " + DataHelper.stripHTML(k)); changed = true; } } else if (k.startsWith("ttype_")) { @@ -1330,7 +1337,7 @@ public class I2PSnarkServlet extends BasicServlet { if (!priv.equals(oldPriv)) _manager.savePrivateTrackers(priv); - } else if (action.equals(_("Add tracker"))) { + } else if (action.equals(_t("Add tracker"))) { String name = req.getParameter("tname"); String hurl = req.getParameter("thurl"); String aurl = req.getParameter("taurl"); @@ -1353,15 +1360,15 @@ public class I2PSnarkServlet extends BasicServlet { _manager.savePrivateTrackers(newPriv); } } else { - _manager.addMessage(_("Enter valid tracker name and URLs")); + _manager.addMessage(_t("Enter valid tracker name and URLs")); } } else { - _manager.addMessage(_("Enter valid tracker name and URLs")); + _manager.addMessage(_t("Enter valid tracker name and URLs")); } - } else if (action.equals(_("Restore defaults"))) { + } else if (action.equals(_t("Restore defaults"))) { _manager.setDefaultTrackerMap(); _manager.saveOpenTrackers(null); - _manager.addMessage(_("Restored default trackers")); + _manager.addMessage(_t("Restored default trackers")); } else { _manager.addMessage("Unknown POST action: \"" + action + '\"'); } @@ -1469,38 +1476,40 @@ public class I2PSnarkServlet extends BasicServlet { String rowClass = (row % 2 == 0 ? "snarkTorrentEven" : "snarkTorrentOdd"); String statusString; if (snark.isChecking()) { - statusString = toThemeImg("stalled", "", _("Checking")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Checking"); + statusString = toThemeImg("stalled", "", _t("Checking")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Checking") + ' ' + + (new DecimalFormat("0.00%")).format(snark.getCheckingProgress()); } else if (snark.isAllocating()) { - statusString = toThemeImg("stalled", "", _("Allocating")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Allocating"); - } else if (err != null && curPeers == 0) { + statusString = toThemeImg("stalled", "", _t("Allocating")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Allocating"); + } else if (err != null && isRunning && curPeers == 0) { + //} else if (err != null && curPeers == 0) { // Also don't show if seeding... but then we won't see the not-registered error // && remaining != 0 && needed != 0) { // let's only show this if we have no peers, otherwise PEX and DHT should bail us out, user doesn't care //if (isRunning && curPeers > 0 && !showPeers) // statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "trackererror.png\" title=\"" + err + "\"></td>" + - // "<td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Tracker Error") + + // "<td class=\"snarkTorrentStatus " + rowClass + "\">" + _t("Tracker Error") + // ": <a href=\"" + uri + "?p=" + Base64.encode(snark.getInfoHash()) + "\">" + // curPeers + thinsp(noThinsp) + // ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; //else if (isRunning) - if (isRunning) + //if (isRunning) { statusString = toThemeImg("trackererror", "", err) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Tracker Error") + + "<td class=\"snarkTorrentStatus\">" + _t("Tracker Error") + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); - else { - if (err.length() > MAX_DISPLAYED_ERROR_LENGTH) - err = DataHelper.escapeHTML(err.substring(0, MAX_DISPLAYED_ERROR_LENGTH)) + "…"; - else - err = DataHelper.escapeHTML(err); - statusString = toThemeImg("trackererror", "", err) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Tracker Error"); - } + //} else { + // if (err.length() > MAX_DISPLAYED_ERROR_LENGTH) + // err = DataHelper.escapeHTML(err.substring(0, MAX_DISPLAYED_ERROR_LENGTH)) + "…"; + // else + // err = DataHelper.escapeHTML(err); + // statusString = toThemeImg("trackererror", "", err) + "</td>" + + // "<td class=\"snarkTorrentStatus\">" + _t("Tracker Error"); + //} } else if (snark.isStarting()) { - statusString = toThemeImg("stalled", "", _("Starting")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Starting"); + statusString = toThemeImg("stalled", "", _t("Starting")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Starting"); } else if (remaining == 0 || needed == 0) { // < 0 means no meta size yet // partial complete or seeding if (isRunning) { @@ -1508,11 +1517,11 @@ public class I2PSnarkServlet extends BasicServlet { String txt; if (remaining == 0) { img = "seeding"; - txt = _("Seeding"); + txt = _t("Seeding"); } else { // partial img = "complete"; - txt = _("Complete"); + txt = _t("Complete"); } if (curPeers > 0 && !showPeers) statusString = toThemeImg(img, "", txt) + "</td>" + @@ -1526,42 +1535,42 @@ public class I2PSnarkServlet extends BasicServlet { ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); } else { - statusString = toThemeImg("complete", "", _("Complete")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Complete"); + statusString = toThemeImg("complete", "", _t("Complete")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Complete"); } } else { if (isRunning && curPeers > 0 && downBps > 0 && !showPeers) - statusString = toThemeImg("downloading", "", _("OK")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("OK") + + statusString = toThemeImg("downloading", "", _t("OK")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("OK") + ": <a href=\"" + uri + getQueryString(req, Base64.encode(snark.getInfoHash()), null, null) + "\">" + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; else if (isRunning && curPeers > 0 && downBps > 0) - statusString = toThemeImg("downloading", "", _("OK")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("OK") + + statusString = toThemeImg("downloading", "", _t("OK")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("OK") + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); else if (isRunning && curPeers > 0 && !showPeers) - statusString = toThemeImg("stalled", "", _("Stalled")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Stalled") + + statusString = toThemeImg("stalled", "", _t("Stalled")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Stalled") + ": <a href=\"" + uri + getQueryString(req, Base64.encode(snark.getInfoHash()), null, null) + "\">" + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers) + "</a>"; else if (isRunning && curPeers > 0) - statusString = toThemeImg("stalled", "", _("Stalled")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Stalled") + + statusString = toThemeImg("stalled", "", _t("Stalled")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Stalled") + ": " + curPeers + thinsp(noThinsp) + ngettext("1 peer", "{0} peers", knownPeers); else if (isRunning && knownPeers > 0) - statusString = toThemeImg("nopeers", "", _("No Peers")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("No Peers") + + statusString = toThemeImg("nopeers", "", _t("No Peers")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("No Peers") + ": 0" + thinsp(noThinsp) + knownPeers ; else if (isRunning) - statusString = toThemeImg("nopeers", "", _("No Peers")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("No Peers"); + statusString = toThemeImg("nopeers", "", _t("No Peers")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("No Peers"); else - statusString = toThemeImg("stopped", "", _("Stopped")) + "</td>" + - "<td class=\"snarkTorrentStatus\">" + _("Stopped"); + statusString = toThemeImg("stopped", "", _t("Stopped")) + "</td>" + + "<td class=\"snarkTorrentStatus\">" + _t("Stopped"); } out.write("<tr class=\"" + rowClass + "\">"); @@ -1590,7 +1599,7 @@ public class I2PSnarkServlet extends BasicServlet { // gets us to the details page instead of the file. StringBuilder buf = new StringBuilder(128); buf.append("<a href=\"").append(encodedBaseName) - .append("/\" title=\"").append(_("Torrent details")) + .append("/\" title=\"").append(_t("Torrent details")) .append("\">"); out.write(buf.toString()); } @@ -1625,9 +1634,9 @@ public class I2PSnarkServlet extends BasicServlet { buf.append('/'); buf.append("\" title=\""); if (isMultiFile) - buf.append(_("View files")); + buf.append(_t("View files")); else - buf.append(_("Open file")); + buf.append(_t("Open file")); buf.append("\">"); out.write(buf.toString()); } @@ -1679,9 +1688,9 @@ public class I2PSnarkServlet extends BasicServlet { getQueryString(req, "", null, null).replace("?", "&") + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Stop_" + b64 + "\" value=\"foo\" title=\""); - out.write(_("Stop the torrent")); + out.write(_t("Stop the torrent")); out.write("\" src=\"" + _imgPath + "stop.png\" alt=\""); - out.write(_("Stop")); + out.write(_t("Stop")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -1694,9 +1703,9 @@ public class I2PSnarkServlet extends BasicServlet { getQueryString(req, "", null, null).replace("?", "&") + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Start_" + b64 + "\" value=\"foo\" title=\""); - out.write(_("Start the torrent")); + out.write(_t("Start the torrent")); out.write("\" src=\"" + _imgPath + "start.png\" alt=\""); - out.write(_("Start")); + out.write(_t("Start")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -1709,16 +1718,16 @@ public class I2PSnarkServlet extends BasicServlet { getQueryString(req, "", null, null).replace("?", "&") + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Remove_" + b64 + "\" value=\"foo\" title=\""); - out.write(_("Remove the torrent from the active list, deleting the .torrent file")); + out.write(_t("Remove the torrent from the active list, deleting the .torrent file")); out.write("\" onclick=\"if (!confirm('"); // Can't figure out how to escape double quotes inside the onclick string. // Single quotes in translate strings with parameters must be doubled. // Then the remaining single quote must be escaped - out.write(_("Are you sure you want to delete the file \\''{0}\\'' (downloaded data will not be deleted) ?", + out.write(_t("Are you sure you want to delete the file \\''{0}\\'' (downloaded data will not be deleted) ?", escapeJSString(snark.getName()))); out.write("')) { return false; }\""); out.write(" src=\"" + _imgPath + "remove.png\" alt=\""); - out.write(_("Remove")); + out.write(_t("Remove")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -1731,16 +1740,16 @@ public class I2PSnarkServlet extends BasicServlet { getQueryString(req, "", null, null).replace("?", "&") + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Delete_" + b64 + "\" value=\"foo\" title=\""); - out.write(_("Delete the .torrent file and the associated data file(s)")); + out.write(_t("Delete the .torrent file and the associated data file(s)")); out.write("\" onclick=\"if (!confirm('"); // Can't figure out how to escape double quotes inside the onclick string. // Single quotes in translate strings with parameters must be doubled. // Then the remaining single quote must be escaped - out.write(_("Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?", + out.write(_t("Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?", escapeJSString(fullBasename))); out.write("')) { return false; }\""); out.write(" src=\"" + _imgPath + "delete.png\" alt=\""); - out.write(_("Delete")); + out.write(_t("Delete")); out.write("\">"); if (isDegraded) out.write("</a>"); @@ -1760,7 +1769,7 @@ public class I2PSnarkServlet extends BasicServlet { String ch = pid != null ? pid.toString().substring(0, 4) : "????"; String client; if ("AwMD".equals(ch)) - client = _("I2PSnark"); + client = _t("I2PSnark"); else if ("BFJT".equals(ch)) client = "I2PRufus"; else if ("TTMt".equals(ch)) @@ -1776,7 +1785,7 @@ public class I2PSnarkServlet extends BasicServlet { else if ("LUtU".equals(ch)) client = "KTorrent" + getAzVersion(pid.getID()); else - client = _("Unknown") + " (" + ch + ')'; + client = _t("Unknown") + " (" + ch + ')'; out.write(client + "  <tt>" + peer.toString().substring(5, 9)+ "</tt>"); if (showDebug) out.write(" inactive " + (peer.getInactiveTime() / 1000) + "s"); @@ -1788,7 +1797,7 @@ public class I2PSnarkServlet extends BasicServlet { if (isValid) { pct = (float) (100.0 * peer.completed() / meta.getPieces()); if (pct >= 100.0) - out.write(_("Seed")); + out.write(_t("Seed")); else { String ps = String.valueOf(pct); if (ps.length() > 5) @@ -1811,9 +1820,9 @@ public class I2PSnarkServlet extends BasicServlet { } else { out.write("<span class=\"choked\"><a title=\""); if (!peer.isInteresting()) - out.write(_("Uninteresting (The peer has no pieces we need)")); + out.write(_t("Uninteresting (The peer has no pieces we need)")); else - out.write(_("Choked (The peer is not allowing us to request pieces)")); + out.write(_t("Choked (The peer is not allowing us to request pieces)")); out.write("\">"); out.write(formatSize(peer.getDownloadRate()) + "ps</a></span>"); } @@ -1833,9 +1842,9 @@ public class I2PSnarkServlet extends BasicServlet { } else { out.write("<span class=\"choked\"><a title=\""); if (!peer.isInterested()) - out.write(_("Uninterested (We have no pieces the peer needs)")); + out.write(_t("Uninterested (We have no pieces the peer needs)")); else - out.write(_("Choking (We are not allowing the peer to request pieces)")); + out.write(_t("Choking (We are not allowing the peer to request pieces)")); out.write("\">"); out.write(formatSize(peer.getUploadRate()) + "ps</a></span>"); } @@ -1951,7 +1960,7 @@ public class I2PSnarkServlet extends BasicServlet { StringBuilder buf = new StringBuilder(128); buf.append("<a href=\"").append(baseURL).append("details.php?dllist=1&filelist=1&info_hash=") .append(TrackerClient.urlencode(infohash)) - .append("\" title=\"").append(_("Details at {0} tracker", name)).append("\" target=\"_blank\">"); + .append("\" title=\"").append(_t("Details at {0} tracker", name)).append("\" target=\"_blank\">"); return buf.toString(); } } @@ -1968,7 +1977,7 @@ public class I2PSnarkServlet extends BasicServlet { if (linkUrl != null) { StringBuilder buf = new StringBuilder(128); buf.append(linkUrl); - toThemeImg(buf, "details", _("Info"), ""); + toThemeImg(buf, "details", _t("Info"), ""); buf.append("</a>"); return buf.toString(); } @@ -2041,31 +2050,31 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">"); out.write(toThemeImg("add")); out.write(' '); - out.write(_("Add Torrent")); + out.write(_t("Add Torrent")); out.write("</span><hr>\n<table border=\"0\"><tr><td>"); - out.write(_("From URL")); + out.write(_t("From URL")); out.write(":<td><input type=\"text\" name=\"nofilter_newURL\" size=\"85\" value=\"" + newURL + "\" spellcheck=\"false\""); out.write(" title=\""); - out.write(_("Enter the torrent file download URL (I2P only), magnet link, maggot link, or info hash")); + out.write(_t("Enter the torrent file download URL (I2P only), magnet link, maggot link, or info hash")); out.write("\"> \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>"); out.write("<input type=\"submit\" class=\"add\" value=\""); - out.write(_("Add torrent")); + out.write(_t("Add torrent")); out.write("\" name=\"foo\" ><br>\n" + "<tr><td>"); - out.write(_("Data dir")); + out.write(_t("Data dir")); out.write(":<td><input type=\"text\" name=\"nofilter_newDir\" size=\"85\" value=\"\" spellcheck=\"false\""); out.write(" title=\""); - out.write(_("Enter the directory to save the data in (default {0})", _manager.getDataDir().getAbsolutePath())); + out.write(_t("Enter the directory to save the data in (default {0})", _manager.getDataDir().getAbsolutePath())); out.write("\"></td></tr>\n"); out.write("<tr><td> <td><span class=\"snarkAddInfo\">"); - out.write(_("You can also copy .torrent files to: {0}.", "<code>" + _manager.getDataDir().getAbsolutePath() + "</code>")); + out.write(_t("You can also copy .torrent files to: {0}.", "<code>" + _manager.getDataDir().getAbsolutePath() + "</code>")); out.write("\n"); - out.write(_("Removing a .torrent will cause it to stop.")); + out.write(_t("Removing a .torrent will cause it to stop.")); out.write("<br></span></table>\n"); out.write("</div></form></div>"); } @@ -2078,24 +2087,24 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<span class=\"snarkConfigTitle\">"); out.write(toThemeImg("create")); out.write(' '); - out.write(_("Create Torrent")); + out.write(_t("Create Torrent")); out.write("</span><hr>\n<table border=\"0\"><tr><td>"); //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n"); - out.write(_("Data to seed")); + out.write(_t("Data to seed")); out.write(":<td>" + "<input type=\"text\" name=\"nofilter_baseFile\" size=\"85\" value=\"" + "\" spellcheck=\"false\" title=\""); - out.write(_("File or directory to seed (full path or within the directory {0} )", + out.write(_t("File or directory to seed (full path or within the directory {0} )", _manager.getDataDir().getAbsolutePath() + File.separatorChar)); out.write("\" ><tr><td>\n"); - out.write(_("Trackers")); + out.write(_t("Trackers")); out.write(":<td><table style=\"width: 30%;\"><tr><td></td><td align=\"center\">"); - out.write(_("Primary")); + out.write(_t("Primary")); out.write("</td><td align=\"center\">"); - out.write(_("Alternates")); + out.write(_t("Alternates")); out.write("</td><td rowspan=\"0\">" + " <input type=\"submit\" class=\"create\" value=\""); - out.write(_("Create torrent")); + out.write(_t("Create torrent")); out.write("\" name=\"foo\" >" + "</td></tr>\n"); for (Tracker t : sortedTrackers) { @@ -2113,16 +2122,16 @@ public class I2PSnarkServlet extends BasicServlet { out.write("\" value=\"foo\"></td></tr>\n"); } out.write("<tr><td><i>"); - out.write(_("none")); + out.write(_t("none")); out.write("</i></td><td align=\"center\"><input type=\"radio\" name=\"announceURL\" value=\"none\""); if (_lastAnnounceURL == null) out.write(" checked"); out.write("></td><td></td></tr></table>\n"); // make the user add a tracker on the config form now - //out.write(_("or")); + //out.write(_t("or")); //out.write(" <input type=\"text\" name=\"announceURLOther\" size=\"57\" value=\"http://\" " + // "title=\""); - //out.write(_("Specify custom tracker announce URL")); + //out.write(_t("Specify custom tracker announce URL")); //out.write("\" > " + out.write("</td></tr>" + "</table>\n" + @@ -2146,32 +2155,32 @@ public class I2PSnarkServlet extends BasicServlet { out.write("<span class=\"snarkConfigTitle\">"); out.write(toThemeImg("config")); out.write(' '); - out.write(_("Configuration")); + out.write(_t("Configuration")); out.write("</span><hr>\n" + "<table border=\"0\"><tr><td>"); - out.write(_("Data directory")); + out.write(_t("Data directory")); out.write(": <td><input name=\"nofilter_dataDir\" size=\"80\" value=\"" + DataHelper.escapeHTML(dataDir) + "\" spellcheck=\"false\"></td>\n" + "<tr><td>"); - out.write(_("Files readable by all")); + out.write(_t("Files readable by all")); out.write(": <td><input type=\"checkbox\" class=\"optbox\" name=\"filesPublic\" value=\"true\" " + (filesPublic ? "checked " : "") + "title=\""); - out.write(_("If checked, other users may access the downloaded files")); + out.write(_t("If checked, other users may access the downloaded files")); out.write("\" >" + "<tr><td>"); - out.write(_("Auto start torrents")); + out.write(_t("Auto start torrents")); out.write(": <td><input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" value=\"true\" " + (autoStart ? "checked " : "") + "title=\""); - out.write(_("If checked, automatically start torrents that are added")); + out.write(_t("If checked, automatically start torrents that are added")); out.write("\" >" + "<tr><td>"); - out.write(_("Theme")); + out.write(_t("Theme")); out.write(": <td><select name='theme'>"); String theme = _manager.getTheme(); String[] themes = _manager.getThemes(); @@ -2185,7 +2194,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write("</select>\n" + "<tr><td>"); - out.write(_("Refresh time")); + out.write(_t("Refresh time")); out.write(": <td><select name=\"refreshDelay\">"); int delay = _manager.getRefreshDelaySeconds(); for (int i = 0; i < times.length; i++) { @@ -2198,21 +2207,21 @@ public class I2PSnarkServlet extends BasicServlet { if (times[i] > 0) out.write(DataHelper.formatDuration2(times[i] * 1000)); else - out.write(_("Never")); + out.write(_t("Never")); out.write("</option>\n"); } out.write("</select><br>" + "<tr><td>"); - out.write(_("Startup delay")); + out.write(_t("Startup delay")); out.write(": <td><input name=\"startupDelay\" size=\"4\" class=\"r\" value=\"" + _manager.util().getStartupDelay() + "\"> "); - out.write(_("minutes")); + out.write(_t("minutes")); out.write("<br>\n" + "<tr><td>"); - out.write(_("Page size")); + out.write(_t("Page size")); out.write(": <td><input name=\"pageSize\" size=\"4\" maxlength=\"6\" class=\"r\" value=\"" + _manager.getPageSize() + "\"> "); - out.write(_("torrents")); + out.write(_t("torrents")); out.write("<br>\n"); @@ -2236,39 +2245,39 @@ public class I2PSnarkServlet extends BasicServlet { out.write("</select><br>\n"); */ out.write("<tr><td>"); - out.write(_("Total uploader limit")); + out.write(_t("Total uploader limit")); out.write(": <td><input type=\"text\" name=\"upLimit\" class=\"r\" value=\"" + _manager.util().getMaxUploaders() + "\" size=\"4\" maxlength=\"3\" > "); - out.write(_("peers")); + out.write(_t("peers")); out.write("<br>\n" + "<tr><td>"); - out.write(_("Up bandwidth limit")); + out.write(_t("Up bandwidth limit")); out.write(": <td><input type=\"text\" name=\"upBW\" class=\"r\" value=\"" + _manager.util().getMaxUpBW() + "\" size=\"4\" maxlength=\"4\" > KBps <i>"); - out.write(_("Half available bandwidth recommended.")); + out.write(_t("Half available bandwidth recommended.")); out.write(" [<a href=\"/config.jsp\" target=\"blank\">"); - out.write(_("View or change router bandwidth")); + out.write(_t("View or change router bandwidth")); out.write("</a>]</i><br>\n" + "<tr><td>"); - out.write(_("Use open trackers also")); + out.write(_t("Use open trackers also")); out.write(": <td><input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" value=\"true\" " + (useOpenTrackers ? "checked " : "") + "title=\""); - out.write(_("If checked, announce torrents to open trackers as well as the tracker listed in the torrent file")); + out.write(_t("If checked, announce torrents to open trackers as well as the tracker listed in the torrent file")); out.write("\" ></td></tr>\n" + "<tr><td>"); - out.write(_("Enable DHT")); + out.write(_t("Enable DHT")); out.write(": <td><input type=\"checkbox\" class=\"optbox\" name=\"useDHT\" value=\"true\" " + (useDHT ? "checked " : "") + "title=\""); - out.write(_("If checked, use DHT")); + out.write(_t("If checked, use DHT")); out.write("\" ></td></tr>\n"); // "<tr><td>"); - //out.write(_("Open tracker announce URLs")); + //out.write(_t("Open tracker announce URLs")); //out.write(": <td><input type=\"text\" name=\"openTrackers\" value=\"" // + openTrackers + "\" size=\"50\" ><br>\n"); @@ -2280,13 +2289,13 @@ public class I2PSnarkServlet extends BasicServlet { Map<String, String> options = new TreeMap<String, String>(_manager.util().getI2CPOptions()); out.write("<tr><td>"); - out.write(_("Inbound Settings")); + out.write(_t("Inbound Settings")); out.write(":<td>"); out.write(renderOptions(1, 10, 3, options.remove("inbound.quantity"), "inbound.quantity", TUNNEL)); out.write("     "); out.write(renderOptions(0, 4, 3, options.remove("inbound.length"), "inbound.length", HOP)); out.write("<tr><td>"); - out.write(_("Outbound Settings")); + out.write(_t("Outbound Settings")); out.write(":<td>"); out.write(renderOptions(1, 10, 3, options.remove("outbound.quantity"), "outbound.quantity", TUNNEL)); out.write("     "); @@ -2294,12 +2303,12 @@ public class I2PSnarkServlet extends BasicServlet { if (!_context.isRouterContext()) { out.write("<tr><td>"); - out.write(_("I2CP host")); + out.write(_t("I2CP host")); out.write(": <td><input type=\"text\" name=\"i2cpHost\" value=\"" + _manager.util().getI2CPHost() + "\" size=\"15\" > " + "<tr><td>"); - out.write(_("I2CP port")); + out.write(_t("I2CP port")); out.write(": <td><input type=\"text\" name=\"i2cpPort\" class=\"r\" value=\"" + + _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" > <br>\n"); } @@ -2314,12 +2323,12 @@ public class I2PSnarkServlet extends BasicServlet { opts.append(key).append('=').append(val).append(' '); } out.write("<tr><td>"); - out.write(_("I2CP options")); + out.write(_t("I2CP options")); out.write(": <td><textarea name=\"i2cpOpts\" cols=\"60\" rows=\"1\" wrap=\"off\" spellcheck=\"false\" >" + opts.toString() + "</textarea><br>\n" + "<tr><td colspan=\"2\"> \n" + // spacer "<tr><td> <td><input type=\"submit\" class=\"accept\" value=\""); - out.write(_("Save configuration")); + out.write(_t("Save configuration")); out.write("\" name=\"foo\" >\n" + "<tr><td colspan=\"2\"> \n" + // spacer "</table></div></div></form>"); @@ -2334,22 +2343,22 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("<span class=\"snarkConfigTitle\">"); toThemeImg(buf, "config"); buf.append(' '); - buf.append(_("Trackers")); + buf.append(_t("Trackers")); buf.append("</span><hr>\n" + "<table class=\"trackerconfig\"><tr><th>") - //.append(_("Remove")) + //.append(_t("Remove")) .append("</th><th>") - .append(_("Name")) + .append(_t("Name")) .append("</th><th>") - .append(_("Website URL")) + .append(_t("Website URL")) .append("</th><th>") - .append(_("Standard")) + .append(_t("Standard")) .append("</th><th>") - .append(_("Open")) + .append(_t("Open")) .append("</th><th>") - .append(_("Private")) + .append(_t("Private")) .append("</th><th>") - .append(_("Announce URL")) + .append(_t("Announce URL")) .append("</th></tr>\n"); List<String> openTrackers = _manager.util().getOpenTrackers(); List<String> privateTrackers = _manager.getPrivateTrackers(); @@ -2361,7 +2370,7 @@ public class I2PSnarkServlet extends BasicServlet { boolean isKnownOpen = _manager.util().isKnownOpenTracker(t.announceURL); boolean isOpen = isKnownOpen || openTrackers.contains(t.announceURL); buf.append("<tr><td><input type=\"checkbox\" class=\"optbox\" name=\"delete_") - .append(name).append("\" title=\"").append(_("Delete")).append("\">" + + .append(name).append("\" title=\"").append(_t("Delete")).append("\">" + "</td><td>").append(name) .append("</td><td>").append(urlify(homeURL, 35)) .append("</td><td><input type=\"radio\" class=\"optbox\" value=\"0\" name=\"ttype_") @@ -2393,7 +2402,7 @@ public class I2PSnarkServlet extends BasicServlet { .append("</td></tr>\n"); } buf.append("<tr><td><b>") - .append(_("Add")).append(":</b></td>" + + .append(_t("Add")).append(":</b></td>" + "<td><input type=\"text\" class=\"trackername\" name=\"tname\" spellcheck=\"false\"></td>" + "<td><input type=\"text\" class=\"trackerhome\" name=\"thurl\" spellcheck=\"false\"></td>" + "<td><input type=\"radio\" class=\"optbox\" value=\"0\" name=\"add_tracker_type\" checked=\"checked\"></td>" + @@ -2402,12 +2411,12 @@ public class I2PSnarkServlet extends BasicServlet { "<td><input type=\"text\" class=\"trackerannounce\" name=\"taurl\" spellcheck=\"false\"></td></tr>\n" + "<tr><td colspan=\"7\"> </td></tr>\n" + // spacer "<tr><td colspan=\"2\"></td><td colspan=\"5\">\n" + - "<input type=\"submit\" name=\"taction\" class=\"default\" value=\"").append(_("Add tracker")).append("\">\n" + - "<input type=\"submit\" name=\"taction\" class=\"delete\" value=\"").append(_("Delete selected")).append("\">\n" + - "<input type=\"submit\" name=\"taction\" class=\"add\" value=\"").append(_("Add tracker")).append("\">\n" + - "<input type=\"submit\" name=\"taction\" class=\"accept\" value=\"").append(_("Save tracker configuration")).append("\">\n" + - // "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" + - "<input type=\"submit\" name=\"taction\" class=\"reload\" value=\"").append(_("Restore defaults")).append("\">\n" + + "<input type=\"submit\" name=\"taction\" class=\"default\" value=\"").append(_t("Add tracker")).append("\">\n" + + "<input type=\"submit\" name=\"taction\" class=\"delete\" value=\"").append(_t("Delete selected")).append("\">\n" + + "<input type=\"submit\" name=\"taction\" class=\"add\" value=\"").append(_t("Add tracker")).append("\">\n" + + "<input type=\"submit\" name=\"taction\" class=\"accept\" value=\"").append(_t("Save tracker configuration")).append("\">\n" + + // "<input type=\"reset\" class=\"cancel\" value=\"").append(_t("Cancel")).append("\">\n" + + "<input type=\"submit\" name=\"taction\" class=\"reload\" value=\"").append(_t("Restore defaults")).append("\">\n" + "</td></tr>" + "<tr><td colspan=\"7\"> </td></tr>\n" + // spacer "</table></div></div></form>\n"); @@ -2419,7 +2428,7 @@ public class I2PSnarkServlet extends BasicServlet { "<span class=\"snarkConfigTitle\"><a href=\"configure\">"); out.write(toThemeImg("config")); out.write(' '); - out.write(_("Configuration")); + out.write(_t("Configuration")); out.write("</a></span></span></div>\n"); } @@ -2436,7 +2445,7 @@ public class I2PSnarkServlet extends BasicServlet { String trackerURL = magnet.getTrackerURL(); _manager.addMagnet(name, ih, trackerURL, true, dataDir); } catch (IllegalArgumentException iae) { - _manager.addMessage(_("Invalid magnet URL {0}", url)); + _manager.addMessage(_t("Invalid magnet URL {0}", url)); } } @@ -2471,17 +2480,17 @@ public class I2PSnarkServlet extends BasicServlet { } /** translate */ - private String _(String s) { + private String _t(String s) { return _manager.util().getString(s); } /** translate */ - private String _(String s, Object o) { + private String _t(String s, Object o) { return _manager.util().getString(s, o); } /** translate */ - private String _(String s, Object o, Object o2) { + private String _t(String s, Object o, Object o2) { return _manager.util().getString(s, o, o2); } @@ -2611,10 +2620,21 @@ public class I2PSnarkServlet extends BasicServlet { String[] val = postParams.get("nonce"); if (val != null) { String nonce = val[0]; - if (String.valueOf(_nonce).equals(nonce)) - savePriorities(snark, postParams); - else + if (String.valueOf(_nonce).equals(nonce)) { + if (postParams.get("savepri") != null) { + savePriorities(snark, postParams); + } else if (postParams.get("stop") != null) { + _manager.stopTorrent(snark, false); + } else if (postParams.get("start") != null) { + _manager.startTorrent(snark); + } else if (postParams.get("recheck") != null) { + _manager.recheckTorrent(snark); + } else { + _manager.addMessage("Unknown command"); + } + } else { _manager.addMessage("Please retry form submission (bad nonce)"); + } } return null; } @@ -2637,6 +2657,7 @@ public class I2PSnarkServlet extends BasicServlet { r = new File(""); } + boolean showStopStart = snark != null; boolean showPriority = snark != null && snark.getStorage() != null && !snark.getStorage().complete() && r.isDirectory(); @@ -2645,7 +2666,7 @@ public class I2PSnarkServlet extends BasicServlet { if (title.endsWith("/")) title = title.substring(0, title.length() - 1); String directory = title; - title = _("Torrent") + ": " + DataHelper.escapeHTML(title); + title = _t("Torrent") + ": " + DataHelper.escapeHTML(title); buf.append(title); buf.append("\n").append(HEADER_A).append(_themePath).append(HEADER_B) .append("\n"); @@ -2659,14 +2680,15 @@ public class I2PSnarkServlet extends BasicServlet { toThemeImg(buf, "arrow_refresh"); buf.append("  "); if (_contextName.equals(DEFAULT_NAME)) - buf.append(_("I2PSnark")); + buf.append(_t("I2PSnark")); else buf.append(_contextName); buf.append("\n"); if (parent) // always true buf.append("
"); - if (showPriority) { + // for stop/start/check + if (showStopStart || showPriority) { buf.append("
\n"); buf.append("\n"); if (sortParam != null) { @@ -2678,7 +2700,7 @@ public class I2PSnarkServlet extends BasicServlet { // first table - torrent info buf.append("\n"); buf.append("\n"); @@ -2688,7 +2710,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); @@ -2696,7 +2718,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); @@ -2705,7 +2727,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); @@ -2724,7 +2746,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(trackerLink); else toThemeImg(buf, "details"); - buf.append(" ").append(_("Primary Tracker")).append(": "); + buf.append(" ").append(_t("Primary Tracker")).append(": "); buf.append(getShortTrackerLink(announce, snark.getInfoHash())); buf.append(""); } @@ -2733,7 +2755,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); } long dat = meta.getCreationDate(); + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String systemTimeZone = _context.getProperty("i2p.systemTimeZone"); + if (systemTimeZone != null) + fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone)); if (dat > 0) { - String date = (new SimpleDateFormat("yyyy-MM-dd HH:mm")).format(new Date(dat)); + String date = fmt.format(new Date(dat)); buf.append("\n"); } String cby = meta.getCreatedBy(); @@ -2779,10 +2805,29 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); } + long[] dates = _manager.getSavedAddedAndCompleted(snark); + if (dates[0] > 0) { + String date = fmt.format(new Date(dates[0])); + buf.append("\n"); + } + if (dates[1] > 0) { + String date = fmt.format(new Date(dates[1])); + buf.append("\n"); + } } if (meta == null || !meta.isPrivate()) { @@ -2791,7 +2836,7 @@ public class I2PSnarkServlet extends BasicServlet { if (announce != null) buf.append("&tr=").append(announce); buf.append("\">") - .append(toImg("magnet", _("Magnet link"))) + .append(toImg("magnet", _t("Magnet link"))) .append("Magnet:\n"); } else { buf.append("\n"); } // We don't have the hash of the torrent file - //buf.append(""); buf.append("\n"); + + // buttons + if (showStopStart) { + buf.append("\n"); + } } else { + // snark == null // shouldn't happen buf.append("
") - .append(_("Torrent")) + .append(_t("Torrent")) .append(": ") .append(DataHelper.escapeHTML(snark.getBaseName())) .append("
"); toThemeImg(buf, "file"); buf.append(" ") - .append(_("Torrent file")) + .append(_t("Torrent file")) .append(": ") .append(DataHelper.escapeHTML(fullPath)) .append("
"); toThemeImg(buf, "file"); buf.append(" ") - .append(_("Data location")) + .append(_t("Data location")) .append(": ") .append(DataHelper.escapeHTML(snark.getStorage().getBase().getPath())) .append("
"); toThemeImg(buf, "details"); buf.append(" ") - .append(_("Info hash")) + .append(_t("Info hash")) .append(": ") .append(hex.toUpperCase(Locale.US)) .append("
"); toThemeImg(buf, "details"); buf.append(" ") - .append(_("Tracker List")).append(": "); + .append(_t("Tracker List")).append(": "); for (List alist2 : alist) { buf.append('['); boolean more = false; @@ -2758,18 +2780,22 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("
"); toThemeImg(buf, "details"); buf.append(" ") - .append(_("Comment")).append(": ") + .append(_t("Comment")).append(": ") .append(DataHelper.stripHTML(com)) .append("
"); toThemeImg(buf, "details"); buf.append(" ") - .append(_("Created")).append(": ") - .append(date).append(" UTC") + .append(_t("Created")).append(": ") + .append(date) .append("
"); toThemeImg(buf, "details"); buf.append(" ") - .append(_("Created By")).append(": ") + .append(_t("Created By")).append(": ") .append(DataHelper.stripHTML(cby)) .append("
"); + toThemeImg(buf, "details"); + buf.append(" ") + .append(_t("Added")).append(": ") + .append(date) + .append("
"); + toThemeImg(buf, "details"); + buf.append(" ") + .append(_t("Completed")).append(": ") + .append(date) + .append("
") - .append(_("Private torrent")) + .append(_t("Private torrent")) .append("
").append(_("Maggot link")).append(": ") + //buf.append("
").append(_t("Maggot link")).append(": ") // .append(MAGGOT).append(hex).append(':').append(hex).append("
"); toThemeImg(buf, "size"); buf.append(" ") - .append(_("Size")) + .append(_t("Size")) .append(": ") .append(formatSize(snark.getTotalLength())); int pieces = snark.getPieces(); @@ -2824,16 +2869,16 @@ public class I2PSnarkServlet extends BasicServlet { toThemeImg(buf, "head_rx"); buf.append(" "); if (completion < 1.0) - buf.append(_("Completion")) + buf.append(_t("Completion")) .append(": ") .append((new DecimalFormat("0.00%")).format(completion)); else - buf.append(_("Complete")).append(""); + buf.append(_t("Complete")).append(""); // up ratio buf.append(" "); toThemeImg(buf, "head_tx"); buf.append(" ") - .append(_("Upload ratio")) + .append(_t("Upload ratio")) .append(": "); long uploaded = snark.getUploaded(); if (uploaded > 0) { @@ -2853,7 +2898,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(" "); toThemeImg(buf, "head_rx"); buf.append(" ") - .append(_("Remaining")) + .append(_t("Remaining")) .append(": ") .append(formatSize(needed)); } @@ -2863,24 +2908,54 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(" "); toThemeImg(buf, "file"); buf.append(" ") - .append(_("Files")) + .append(_t("Files")) .append(": ") .append(fileCount); } buf.append(" "); toThemeImg(buf, "file"); buf.append(" ") - .append(_("Pieces")) + .append(_t("Pieces")) .append(": ") .append(pieces); buf.append(" "); toThemeImg(buf, "file"); buf.append(" ") - .append(_("Piece size")) + .append(_t("Piece size")) .append(": ") .append(formatSize(snark.getPieceLength(0))) .append("
"); + toThemeImg(buf, "file"); + if (snark.isChecking()) { + buf.append(" ").append(_t("Checking")).append("… ") + .append((new DecimalFormat("0.00%")).format(snark.getCheckingProgress())) + .append("   ") + .append(_t("Refresh page for results")).append(""); + } else if (snark.isStarting()) { + buf.append(" ").append(_t("Starting")).append("…"); + } else if (snark.isAllocating()) { + buf.append(" ").append(_t("Allocating")).append("…"); + } else { + boolean isRunning = !snark.isStopped(); + buf.append(" \n"); + else + buf.append(_t("Start")).append("\" name=\"start\" class=\"starttorrent\">\n"); + buf.append("   \n"); + else + buf.append("\" class=\"reload\">\n"); + } + buf.append("
Not found
resource=\"").append(r.toString()) .append("\"
base=\"").append(base) @@ -2911,8 +2986,10 @@ public class I2PSnarkServlet extends BasicServlet { Storage storage = snark != null ? snark.getStorage() : null; List fileList = new ArrayList(ls.length); + // precompute remaining for all files for efficiency + long[] remainingArray = (storage != null) ? storage.remaining() : null; for (int i = 0; i < ls.length; i++) { - fileList.add(new Sorters.FileAndIndex(ls[i], storage)); + fileList.add(new Sorters.FileAndIndex(ls[i], storage, remainingArray)); } boolean showSort = fileList.size() > 1; @@ -2930,7 +3007,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n"); buf.append("\n") .append("\n\n"); @@ -3030,21 +3107,21 @@ public class I2PSnarkServlet extends BasicServlet { int priority = 0; if (fai.isDirectory) { complete = true; - //status = toImg("tick") + ' ' + _("Directory"); + //status = toImg("tick") + ' ' + _t("Directory"); } else { if (snark == null || snark.getStorage() == null) { // Assume complete, perhaps he removed a completed torrent but kept a bookmark complete = true; - status = toImg("cancel") + ' ' + _("Torrent not found?"); + status = toImg("cancel") + ' ' + _t("Torrent not found?"); } else { long remaining = fai.remaining; if (remaining < 0) { complete = true; - status = toImg("cancel") + ' ' + _("File not found in torrent?"); + status = toImg("cancel") + ' ' + _t("File not found in torrent?"); } else if (remaining == 0 || length <= 0) { complete = true; - status = toImg("tick") + ' ' + _("Complete"); + status = toImg("tick") + ' ' + _t("Complete"); } else { priority = fai.priority; if (priority < 0) @@ -3054,8 +3131,8 @@ public class I2PSnarkServlet extends BasicServlet { else status = toImg("clock_red"); status += " " + - (100 * (length - remaining) / length) + "% " + _("complete") + - " (" + DataHelper.formatSize2(remaining) + "B " + _("remaining") + ")"; + (100 * (length - remaining) / length) + "% " + _t("complete") + + " (" + DataHelper.formatSize2(remaining) + "B " + _t("remaining") + ")"; } } @@ -3077,7 +3154,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\"\""); } else { - buf.append(toImg(icon, _("Open"))).append(""); + buf.append(toImg(icon, _t("Open"))).append(""); } } else { buf.append(toImg(icon)); @@ -3101,17 +3178,17 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\n 0) buf.append("checked=\"checked\""); - buf.append('>').append(_("High")); + buf.append('>').append(_t("High")); buf.append("\n').append(_("Normal")); + buf.append('>').append(_t("Normal")); buf.append("\n').append(_("Skip")); + buf.append('>').append(_t("Skip")); showSaveButton = true; } buf.append(""); @@ -3121,17 +3198,18 @@ public class I2PSnarkServlet extends BasicServlet { if (showSaveButton) { buf.append("\n"); } buf.append("
"); - String tx = _("Directory"); + String tx = _t("Directory"); // cycle through sort by name or type String sort; boolean isTypeSort = false; @@ -2950,7 +3027,7 @@ public class I2PSnarkServlet extends BasicServlet { .append(getQueryString(sort)).append("\">"); } toThemeImg(buf, "file", tx, - showSort ? _("Sort by {0}", (isTypeSort ? _("File type") : _("Name"))) + showSort ? _t("Sort by {0}", (isTypeSort ? _t("File type") : _t("Name"))) : tx + ": " + directory); if (showSort) buf.append(""); @@ -2965,9 +3042,9 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(""); } - tx = _("Size"); + tx = _t("Size"); toThemeImg(buf, "size", tx, - showSort ? _("Sort by {0}", tx) : tx); + showSort ? _t("Sort by {0}", tx) : tx); if (showSort) buf.append(""); buf.append(""); @@ -2977,9 +3054,9 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(""); } - tx = _("Status"); + tx = _t("Status"); toThemeImg(buf, "status", tx, - showRemainingSort ? _("Sort by {0}", _("Remaining")) : tx); + showRemainingSort ? _t("Sort by {0}", _t("Remaining")) : tx); if (showRemainingSort) buf.append(""); if (showPriority) { @@ -2989,9 +3066,9 @@ public class I2PSnarkServlet extends BasicServlet { buf.append(""); } - tx = _("Priority"); + tx = _t("Priority"); toThemeImg(buf, "priority", tx, - showSort ? _("Sort by {0}", tx) : tx); + showSort ? _t("Sort by {0}", tx) : tx); if (showSort) buf.append(""); } @@ -3001,7 +3078,7 @@ public class I2PSnarkServlet extends BasicServlet { buf.append("\">"); toThemeImg(buf, "up"); buf.append(' ') - .append(_("Up to higher level directory")) + .append(_t("Up to higher level directory")) .append("
 " + "") - .append(toImg("clock_red")).append(_("Set all high")).append("\n" + + .append(toImg("clock_red")).append(_t("Set all high")).append("\n" + "") - .append(toImg("clock")).append(_("Set all normal")).append("\n" + + .append(toImg("clock")).append(_t("Set all normal")).append("\n" + "") - .append(toImg("cancel")).append(_("Skip all")).append("\n" + - "

\n" + + "

\n" + "
\n"); - if (showPriority) + // for stop/start/check + if (showStopStart || showPriority) buf.append(""); buf.append("\n"); @@ -3202,7 +3280,7 @@ public class I2PSnarkServlet extends BasicServlet { icon = "itoopie_xxsm"; else icon = "compress"; - } else if (mime.equals("application/x-gtar") || + } else if (mime.equals("application/x-gtar") || mime.equals("application/x-xz") || mime.equals("application/compress") || mime.equals("application/gzip") || mime.equals("application/x-7z-compressed") || mime.equals("application/x-rar-compressed") || mime.equals("application/x-tar") || mime.equals("application/x-bzip2")) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/Sorters.java b/apps/i2psnark/java/src/org/klomp/snark/web/Sorters.java index 3b71cf3f1c..39120d6cce 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/Sorters.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/Sorters.java @@ -356,13 +356,14 @@ class Sorters { /** * @param storage may be null + * @param remainingArray precomputed, non-null iff storage is non-null */ - public FileAndIndex(File file, Storage storage) { + public FileAndIndex(File file, Storage storage, long[] remainingArray) { this.file = file; index = storage != null ? storage.indexOf(file) : -1; if (index >= 0) { isDirectory = false; - remaining = storage.remaining(index); + remaining = remainingArray[index]; priority = storage.getPriority(index); } else { isDirectory = file.isDirectory(); diff --git a/apps/i2psnark/locale/messages_ar.po b/apps/i2psnark/locale/messages_ar.po index 9d37a395af..502c69b90f 100644 --- a/apps/i2psnark/locale/messages_ar.po +++ b/apps/i2psnark/locale/messages_ar.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/I2P/language/ar/)\n" "MIME-Version: 1.0\n" @@ -20,227 +20,227 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "تم قفل النفق" #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "تم تغببر مجموع حد الرفع الى {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "اقل حد الرفع الى {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "حولت سرعة الرفع الى {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "اقل سرعة رفع هي{0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "تغير تأخير البداية الى {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "سيتم تفعيل التغيير بعد اعادة التشغيل" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "فك الاتصال" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr " تغيرت الاعدادات الى {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "فشل في الاتصال بالاعدادات الجديدة، سيتم الرجوع الى الاعدادات القديمة" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "فشل في اعادة الاتصال بالاعدادات القديمة!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "اتصال بوجهة جديدة" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "اعادة التشغيل \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "تشغيل عند البداية" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "الغاء التشغيل عند البداية" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "تفعيل open trackers - يجب اعادة تشغيل التورنت لتفعيل التغيير." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "الغاء تفعيل open trackers - يجب اعادة تشغيل التورنت لتفعيل التغيير." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} تم تحميل التيمة ارجع الى صفحة للمشاهدة i2psnark." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "لم تتغير الاعدادات" -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "تغيير open trackers - يجب اعادة تشغيل التورنت لتفعيل التغيير." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "فشل في حفظ الاعدادات {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "جاري الاتصال بشبكة I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "فشل في الاتصال ب I2P - تخقق من اعدادات I2CP !" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "خطأ: فشل في اضافة التورنت {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "فشل في فتح \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "تورنت بهذه المعلومات مشغل: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -248,34 +248,34 @@ msgid "" "torrent." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "تورنت في \"{0}\"غير صحيح" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "خطأ - لا توجد ذاكرة كافية، لا يمكن انشاء تورنت {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "تم اضافة وتشغيل التورنت: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "تمت اضافة: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "يحمل {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -283,132 +283,132 @@ msgid "" "DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "اضافة {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "فشل في نسخ التورنت الى {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "ملفات كثيرة في \"{0}\" ({1}) تم حذف" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "ملف التورنت \"{0}\" لا يمكنه الانتهاء ب \".torrent\", سيتم حذفه!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "ﻻ أجزاء في \"{0}\", حذف!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "الأجزاء كبيرة في \"{0}\" ({1}B), حذف." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "حدود {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "تورنت أكبر من {0}B غير مدعومة سيحذف \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "خطأ: ﻻيمكن حذف التورنت {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "تورنت متوقف: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "تورنت محذوف: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "اضف تورنت في {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "انتهى التحميل: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "بداية التورنت {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "فشل في اضافة I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "فتح النفق واطلاق جميع التورنت" -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "توقيف جميع التورنت و قفل النفق I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "" @@ -456,14 +456,14 @@ msgstr "تورنت غير صحيح {0} " #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark برنامج تورنت" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "اعدادات" @@ -496,135 +496,135 @@ msgid "clear messages" msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "الحالة" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "اخفاء النظائر" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "أظهر النظائر" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "تورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "تقدير للوقت الباقي" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "محمل" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "الحجم" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "رفع" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "معدل التحميل" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "توقيف جمبع التورنت و النفق I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "توقيف الجمبع" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "شغل الجمبع" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "شغل جمبع التورنت و النفق I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "لم يحمل تورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "مجموع" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -635,7 +635,7 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -646,7 +646,7 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" @@ -657,203 +657,207 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "تم حذف ملف مغناطيس: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "تم خذف ملف التورنت: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "خذف ملف البيانات: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "فشل في حذف الملف: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "تم انشاء تورنت لـ \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "العديد من trackers يطلبون تسجيل التورنت قبل مشاركتها، قم بذلك قبل البداية {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "فشل في انشاء تورنت لـ \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "لا يمكن انشاء تورنت لبيانات غير موجودة: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "فشل في انشاء تورنت - عليك اختيار ملف أو مجلد" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Tracker خطأ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -864,366 +868,366 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "بشارك" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "اكتمل" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "موافق" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "متوقف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "لا بوجد نظائر" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "متوقف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "تفاصيل التورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "أظهر الملفات" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "فتح ملف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "قف التورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "قف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "ابدأ التورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "ابدأ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "حذف التورنت من القائمة، حذف ملف .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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "حذف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "خذف ملف التورنت و الملفات المرتبطة به" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "هل أنت متأكد من حذف التورنت \\''{0}\\'' وجمبع البيانات المحملة؟" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "حذف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "غير معروف" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "شارك" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "غير مهم (النظير لا يحتوي على اجزاء نحتاجها)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "مشكلة (لا يمكن الحصول على اجزاء الملف من النظائر)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "تفاصيل حول {0} tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "معلومات" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "أضف تورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "من عنوان" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "أضف تورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "يمكن ايضا .نقل ملفات تورنت الى: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "سيتم القاف التورنت عند حذف الملف torrent." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "أنشئ تورنت" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "البيانات المشاركة" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "أنشئ تورنت" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "مجلد البيانات" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "اذا تم تفعيل، يقوم بتشغيل التورنت تلقائيا عند اضافته" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "تيمة" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "تأخر البداية" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "دقائق" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "اقصى حد للرفع" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "النظائر" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "اقصى حد لسرعة الاتصال" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "ينصح باستعمال نصف سرعة الشبكة" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "أظهر أو غير سرعة الموجه" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "استعمال open trackers ايضا" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "اعدادت الاتصال الداخلي" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "اعدادت الاتصال الخارجي" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "حفظ الاعدادات" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "فتح" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "غنوان مغناطيس غير صحيح {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -1234,7 +1238,7 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -1245,119 +1249,119 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "وصلة مغناطيس" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "انتهاء" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "الملفات" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "القطع" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "حجم القطعة" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "المجلد" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "الأولوية" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "تورنت غير موجود؟" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "الملف غير موجود في التورنت؟" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "اكتمل" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "عالي" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "عادي" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "تجاوز" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "حفظ الأولويات" diff --git a/apps/i2psnark/locale/messages_cs.po b/apps/i2psnark/locale/messages_cs.po index bd68b90867..c2690f07f9 100644 --- a/apps/i2psnark/locale/messages_cs.po +++ b/apps/i2psnark/locale/messages_cs.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Czech (http://www.transifex.com/projects/p/I2P/language/cs/)\n" "MIME-Version: 1.0\n" @@ -20,227 +20,227 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "Neběží žádné další torrenty." -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P tunel uzavřen." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Celkový limit sdílečů změněn na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Nejmenší celkový limit sdílečů je {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Horní BW limit změněn na {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Nejmenší horní limit přenosové rychlist je {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Prodleva při startu změněna na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Doba aktualizace stavu (refresh time) změněna na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Aktualizace stavu vypnuta" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Změny I2CP a tunelu se projeví až po zastavení všech torrentů" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Nastavení (options) I2CP změněno na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Odpojuji se od starého I2CP cíle" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Nastavení (settings) I2CP změněno na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Nemůžu se připojit s novým nastavením I2CP, vracím se k předhozímu." -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Nemohu se opětovně připojit ani s předchozím nastavením!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Opětovně připojeno k novému I2CP cíli" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP listener restartován pro \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nové soubory budou veřejně přístupné" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nové soubory nebudou veřejně přístupné" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Automatické spuštění zapnuto" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Automatické spuštění vypnuto" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Zapnuto automatické spuštění" -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Otevřené trackery vypnuty - aby se změna projevila je nutné restartovat všechny torrenty" -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT povoleno." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT zakázáno." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Téma {0} bylo nahráno, přejděte prosím na hlavní stránku i2snark" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Nastavení nebylo změněno." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Seznam otevřených trackerů změněn - aby se změna projevila je nutné restartovat všechny torrenty" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Nemůžu uložit soubor s nastavením do souboru {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Připojuji se k I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Při připojování k I2P nastala chyba, zkontrolujte prosím nastavení I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Chyba: nepodařilo se přidat torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Nejde otevřít \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent s tímto infohašišem již běží: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -248,34 +248,34 @@ msgid "" "torrent." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent v \"{0}\" je chybný" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "CHYBA - nedostatek paměti, nemohu vytvořit torrent z {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent přidán a spuštěn: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent přidán: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Získávám {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -283,132 +283,132 @@ msgid "" "DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Přídávám {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Chyba: nepodařilo se zkopírovat soubor torrentu do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "V \"{0}\" ({1}) je příliš mnoho souborů, mažu je!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Jméno souboru torrentu \"{0}\" nemůže končit na \".torrent\", mažu ho!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "\"{0}\" neobsahuje žádné části, mažu to!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Příliš mnoho částí v \"{0}\", maximum je {1}, mažu to!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent zastaven: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent smazán: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Stahování dokončeno: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "" @@ -456,14 +456,14 @@ msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "" @@ -496,135 +496,135 @@ msgid "clear messages" msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Skrýt peery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Ukázat peery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -632,7 +632,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -640,7 +640,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" @@ -648,203 +648,207 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent vytvořen pro \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Přidat tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -852,366 +856,366 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Neznámý" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Přidat torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Z URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Přidat torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Můžete také zkopírovat .torrent soubory do: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Vytvořit torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Hlavní" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Vytvořit torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Vzhled" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -1219,7 +1223,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -1227,119 +1231,119 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "" diff --git a/apps/i2psnark/locale/messages_de.po b/apps/i2psnark/locale/messages_de.po index f5cfc36249..dcdd0cb115 100644 --- a/apps/i2psnark/locale/messages_de.po +++ b/apps/i2psnark/locale/messages_de.po @@ -12,7 +12,7 @@ # Ettore Atalan , 2014 # foo , 2009 # SteinQuadrat, 2013 -# Lars Schimmer , 2014 +# Lars Schimmer , 2014-2015 # Max Muster , 2014 # mixxy, 2011 # nextloop , 2013 @@ -22,10 +22,10 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-29 14:30+0000\n" -"PO-Revision-Date: 2015-03-07 12:54+0000\n" -"Last-Translator: blabla \n" -"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/de/)\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-08-21 21:02+0000\n" +"Last-Translator: Lars Schimmer \n" +"Language-Team: German (http://www.transifex.com/otf/I2P/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,222 +37,222 @@ msgid "No more torrents running." msgstr "Keine weiteren Torrents laufen." #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P-Tunnel geschlossen." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Gesamthochladerbegrenzung geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minimale Gesamthochladerbegrenzung ist {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Hochladebandbreitenbegrenzung geändert auf {0}kbyte/s." -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minimale Hochladebandbreitenbegrenzung ist {0} kbyte/s." -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Startverzögerung geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Aktualisierungsrate geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Aktualisierung deaktiviert" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Seitengröße geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Datenverzeichnis muss ein absoluter Pfad sein" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Datenverzeichnis nicht vorhanden" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Kein Verzeichnis" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Unlesbar" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Datenverzeichnis geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Änderungen an I2CP und am Tunnel werden nach dem Stoppen aller Torrents wirksam" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP-Optionen geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Altes I2CP-Ziel wird getrennt" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP-Einstellungen geändert auf {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Verbinden mit den neuen Einstellungen nicht möglich, benutze wieder die alten I2CP-Einstellungen" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Verbinden mit den alten Einstellungen nicht möglich!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Verbunden auf dem neuem I2CP-Ziel" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP-Lauscher neu gestartet für \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Neu Dateien werden allgemein lesbar sein." -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Neue Dateien werden nicht allgemein lesbar sein." -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Autostart wird aktiviert" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Autostart wird deaktiviert" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "OpenTracker aktiviert - Um dies anzuwenden, müssen die Torrents neu gestartet werden." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "OpenTracker deaktiviert - Um dies anzuwenden, müssen die Torrents neu gestartet werden." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT aktiviert." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT deaktiviert." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "DHT-Änderungen erfordern das Anhalten und erneutes Öffnen des Tunnels" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} Theme geladen. Gehen Sie zurück zur Hauptseite von i2psnark, um die Änderungen zu sehen!" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Konfiguration nicht geändert." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "OpenTracker-Liste geändert - Um dies anzuwenden, müssen die Torrents neu gestartet werden" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Liste privater Tracker geändert - betrifft nur neu erstellte Torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Konnte Konfiguration nicht in {0} speichern" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Verbinde mit I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Fehler beim Verbinden mit I2P - Überprüfen Sie Ihre I2CP-Einstellungen!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Fehler: Konnte den Torrent \"{0}\" nicht hinzufügen" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Kann \"{0}\" nicht öffnen" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent mit diesem Infohash läuft schon: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "FEHLER - Keine I2P-Tracker im privaten Torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Warnung - Keine I2P-Tracker in \"{0}\", es wird nur bei I2P-OpenTrackern und mittels DHT bekanntgeben" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Warnung - Keine I2P-Tracker in \"{0}\" und OpenTrackers sind deaktiviert. Bekanntgabe erfolgt nur mittels DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -260,34 +260,34 @@ msgid "" "torrent." msgstr "Warnung - Keine I2P-Tracker in \"{0}\", und DHT und OpenTrackers sind deaktiviert. Sie sollten DHT oder OpenTrackers vor dem Starten des Torrents aktivieren." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent in \"{0}\" ist nicht gültig" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "FEHLER - Unzureichender Arbeitsspeicher, kann keinen Torrent von {0} erstellen." -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent hinzugefügt und gestartet: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent hinzugefügt: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "{0} wird abgerufen" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -295,128 +295,128 @@ msgid "" "DHT." msgstr "Das Verwenden von OpenTrackern ist deaktiviert und wir haben keine DHT-Gegenstellen. Das Abrufen von {0} könnte scheitern, sofern Sie keinen anderen Torrent starten. Aktivieren Sie OpenTracker oder DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "{0} wird hinzugefügt" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Herunterladen läuft bereits: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Fehler beim Kopieren der Torrentdatei nach {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Zu viele Dateien in \"{0}\" ({1}), wird gelöscht! " -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrentdatei \"{0}\" darf nicht auf '.torrent' enden, wird gelöscht!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Keine Teile in \"{0}\", wird gelöscht!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Zu viele Teile in \"{0}\", das Limit sind {1}, werden gelöscht!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Teile in \"{0}\" sind zu groß ({1}B), werden gelöscht!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Limit ist \"{0}\"Bytes" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" enthält keine Daten und wird gelöscht!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrents größer als \"{0}\"Bytes werden nicht unterstützt, \"{1}\" wird gelöscht." -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Fehler: Konnte den Torrent \"{0}\" nicht entfernen" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent gestoppt: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent entfernt: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Torrents in {0} werden hinzugefügt" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Hochladebandbreitenbegrenzung ist {0} KByte/s." -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Herunterladen abgeschlossen: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo für {0} erhalten" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Torrent {0} wird gestartet" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Fehler bei Torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Konnte keine Verbindung zu I2P herstellen!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "I2P-Tunnel wird geöffnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Den I2P-Tunnel öffnen und alle Torrents starten." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Alle Torrents stoppen und den I2P-Tunnel schließen." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Der I2P-Tunnel wird nach Benachrichtigung der Tracker geschlossen." @@ -468,14 +468,14 @@ msgstr "Torrent in {0} war nicht gültig" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Konfiguration" @@ -508,844 +508,848 @@ msgid "clear messages" msgstr "Nachrichten löschen" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Sortieren nach {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Teilnehmer ausblenden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Teilnehmer einblenden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Dateityp" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Geschätzte verbleibende Zeit" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr " Empf." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Heruntergeladen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Größe" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr " Send." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Hochladeverhältnis" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Hochgeladen" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Übertragungsrate für den Empfang" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Herunterladegeschwindigkeit" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Übertragungsrate fürs Senden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Hochladegeschwindigkeit" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Alle Torrents und den I2P-Tunnel stoppen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Alle stoppen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Alle gestoppten Torrents fortsetzen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Alle starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Alle Torrents und den I2P-Tunnel starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Keine Torrents geladen." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Gesamt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, 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:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 verbundener Teilnehmer" msgstr[1] "{0} verbundene Teilnehmer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 DHT-Gegenstelle" msgstr[1] "{0} DHT-Gegenstellen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Ziel" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Erste" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Erste Seite" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Vorherige" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Vorherige Seite" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Nächste" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Nächste Seite" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Letzte" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Letzte Seite" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Datenverzeichnis kann nicht erstellt werden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Kann den Torrent {0} nicht hinzufügen, da dieser in einem anderen Torrent ist: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Ungültige URL - muss mit \"http://\", \"{0}\" oder \"{1}\" anfangen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnetlink gelöscht: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Torrentdatei gelöscht: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Download gelöscht: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Datendatei gelöscht: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Daten konnten nicht gelöscht werden: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Das Verzeichnis {0} konnte nicht gelöscht werden." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Verzeichnis gelöscht: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Kann keinen Torrent mit der Endung \".torrent\" hinzufügen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Torrent mit diesem Namen ist schon aktiv: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Kann keinen Torrent hinzufügen, der das I2P Verzeichnis beinhaltet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Kann den Torrent {0} nicht hinzufügen, da dieser den Torrent {1} enthält." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Fehler - Einfügen alternativer Tracker ohne primären Tracker nicht möglich" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Fehler - Mischen von privaten und öffentlichen Trackern in einem Torrent nicht möglich" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent erstellt für \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Viele I2P-Tracker erfordern eine Registrierung, bevor der Torrent verteilt wird. Bitte tun Sie dies vor dem Start von \"{0}\"!" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Fehler beim Erstellen eines Torrents für \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Kann keinen Torrent für nicht existente vorhandene erstellen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Fehler beim Erstellen des Torrents - Sie müssen eine Datei oder ein Verzeichnis angeben." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Ausgewählte löschen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Trackerkonfiguration speichern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Entfernt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Tracker hinzufügen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Geben Sie einen gültigen Tracker-Namen und die URLs ein" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Auf Standardeinstellungen zurücksetzen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Auf Standard-Tracker zurückgesetzt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Überprüfe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Reserviere" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Trackerfehler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 Teilnehmer" msgstr[1] "{0} Teilnehmern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Verteile" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Vollständig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Stillstand" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Keine Teilnehmer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Gestoppt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Details" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Dateien ansehen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Datei öffnen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Torrent stoppen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Stopp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Torrent starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Start" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Entfernt den Torrent von der aktiven Liste und löscht die .torrent-Datei" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Sind Sie sicher, dass Sie die Datei \\''{0}\\'' löschen möchten (Heruntergeladene Daten werden nicht gelöscht)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Entfernen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Löscht die .torrent-Datei und (die) dazugehörige Datendatei(en)" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Sind Sie sicher, dass Sie die Torrentdatei \\''{0}\\'' und alle heruntergeladenen Daten löschen wollen?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Löschen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Unbekannt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Quelle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uninteressant (Der Teilnehmer hat keine Teile, die wir benötigen)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Gedrosselt (Der Teilnehmer hat uns nicht erlaubt, Teile anzufordern)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uninteressiert (Wir haben keine Teile, die der Teilnehmer benötigt)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Gedrosselt (Wir erlauben dem Teilnehmer nicht, Teile anzufordern)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Details beim Tracker {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Torrent hinzufügen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Von URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Geben Sie die URL zum Herunterladen einer Torrentdatei (I2P-Link), einen Magnet-Link, einen Maggot-Link oder einen Info-Hash ein!" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Füge Torrent hinzu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Datenverzeichnis" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Geben Sie das Verzeichnis zum Speichern der Daten ein (Standardeinstellung {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Alternativ können Sie die .torrent-Dateien auch nach {0} kopieren." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Das Entfernen der .torrent-Datei stoppt den jeweiligen Torrent." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Torrent erstellen" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Daten zum Verteilen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Datei oder Verzeichnis zum Verteilen (Gesamter Pfad oder aus dem Verzeichnis {0} )" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primär" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Torrent erstellen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "keiner" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Datenverzeichnis" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Dateien von allen lesbar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Wenn abgehakt, können andere Benutzer auf die heruntergeladenen Dateien zugreifen." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Torrents automatisch starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Wenn abgehakt, werden hinzugefügte Torrents automatisch gestartet." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Aufmachung" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Aktualisierungsintervall" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Startverzögerung" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "Minuten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Seitengröße" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "Torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Gesamtlimit an Hochladern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "Teilnehmer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Bandbreitenbegrenzung beim Hochladen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Halbe verfügbare Bandbreite wird empfohlen." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Routerbandbreite ansehen oder ändern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Auch OpenTracker verwenden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Wenn abgehakt, wird der Torrent neben dem in der Torrentdatei angegebenen Tracker auch bei den OpenTrackern bekanntgegeben." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "DHT aktivieren" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Wenn abgehakt, wird DHT verwendet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Einstellungen eingehend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Einstellungen ausgehend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP-Host" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP-Port" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP-Optionen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Einstellungen speichern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Name" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "Webseiten-URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Standard" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Offen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Ankündigungs-URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Hinzufügen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Ungültige Magnet-URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 Zwischenstation" msgstr[1] "{0} Zwischenstationen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 Tunnel" msgstr[1] "{0} Tunnel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrentdatei" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Datenadresse" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Info-Hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Primärer Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Tracker-Liste" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Kommentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Erstellt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Erstellt von" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnetlink" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Privater Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Fortschritt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Verbleibend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Dateien" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Stücke" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Stückgröße" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Verzeichnis" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Priorität" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Eine Hierarchie nach oben" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrentdatei nicht gefunden?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Datei nicht gefunden im Torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "vollständig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "verbleibend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Hoch" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Überspringen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Alle auf hoch festlegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Alle auf normal festlegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Alle überspringen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Prioritäten speichern" diff --git a/apps/i2psnark/locale/messages_en.po b/apps/i2psnark/locale/messages_en.po index d29a692a65..e34056fede 100644 --- a/apps/i2psnark/locale/messages_en.po +++ b/apps/i2psnark/locale/messages_en.po @@ -808,7 +808,7 @@ msgstr "" msgid "Enter valid tracker name and URLs" msgstr "" -#. "\n" + +#. "\n" + #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" diff --git a/apps/i2psnark/locale/messages_es.po b/apps/i2psnark/locale/messages_es.po index 337bdad1de..c7a293fd04 100644 --- a/apps/i2psnark/locale/messages_es.po +++ b/apps/i2psnark/locale/messages_es.po @@ -14,15 +14,15 @@ # mixxy, 2011 # punkibastardo , 2011, 2012 # punkibastardo , 2011 -# strel, 2013-2014 +# strel, 2013-2015 # Trolly, 2013 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-29 14:30+0000\n" -"PO-Revision-Date: 2015-02-23 21:33+0000\n" -"Last-Translator: blabla \n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:57+0000\n" +"Last-Translator: strel\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/I2P/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,222 +35,222 @@ msgid "No more torrents running." msgstr "No hay más torrents intercambiandose." #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Túnel I2P cerrado." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Enlace magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "El límite total de usuarios subiendo ha cambiado a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "El límite mínimo total de usuarios subiendo es {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "El límite de ancho de banda de subida cambió a {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "El límite mínimo de ancho de banda de subida es {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "El retardo en el arranque cambió a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Hora de actualización cambiado a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Actualización deshabilitada" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Tamaño de página cambiado a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "La carpeta de datos tiene que ser una ruta absoluta" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "La carpeta de datos no existe" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "No es una carpeta" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "No se pudo leer" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Carpeta de datos cambiada a {0} " -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Los cambios de I2CP (protocolo cliente I2P) y túnel serán efectivos después de detener todos los torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Opciones I2CP cambiadas a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Desconectando destino I2CP antiguo" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Preferencias de I2CP cambiadas a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "No se pudo conectar usando las nuevas preferencias de I2CP (protocolo cliente I2P), volviendo a las antiguas" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "¡No se pudo reconectar usando las preferencias antiguas!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Reconectado con el nuevo destino I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "El escuchador de I2CP se reinició para \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Los ficheros nuevos serán públicamente legibles" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Los ficheros nuevos no serán públicamente legibles" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Arranque automático activado" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Arranque automático desactivado" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Trackers (rastreadores) abiertos activados - requiere reiniciar el torrent para que sea efectivo." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Trackers (rastreadores) abiertos desactivados - requiere reiniciar el torrent para que sea efectivo." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT habilitada." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT deshabilitada." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Cambiar la DHT (tabla de hash distribuida) requiere cerrar el túnel y volver a abrirlo" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Tema {0} cargado, vuelva a la página principal de i2psnark para verlo" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "La configuración no cambió." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "La lista de trackers (rastreadores) abiertos cambió - requiere reiniciar el torrent para que sea efectiva." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "La lista de trackers (rastreadores) privados cambió - afactará sólo a los torrents creados a partir de ahora." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "No se pudo guardar la configuración en {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Conectando a I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Error al conectar a I2P - ¡compruebe sus preferencias de I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Error: No se pudo añadir el torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "No se pudo abrir \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Ya hay un torrent con esta información de hash (identificador criptográfico): {0}." -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "ERROR - No hay trackers I2P en el torrent privado \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Advertencia - No hay trackers (rastreadores) I2P en \"{0}\", sólo se anunciará a trackers abiertos I2P y a la DHT (tabla de hash distribuida)." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Advertencia - No hay trackers (rastreadores) I2P en \"{0}\", y los trackers abiertos están deshabilitados. Sólo se anunciará a la DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -258,34 +258,34 @@ msgid "" "torrent." msgstr "Advertencia - No hay trackers (rastreadores) I2P en \"{0}\", y la DHT (tabla de hash distribuida) y los trackers abiertos están deshabilitados, debe habilitar los trackers abiertos o la DHT antes de iniciar el torrent." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "El torrent en \"{0}\" no es válido." -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ERROR - Sin memoria disponible, no se pudo crear un torrent a partir de {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent añadido e iniciado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent añadido: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Obteniendo {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -293,128 +293,128 @@ msgid "" "DHT." msgstr "Los rastreadores abiertos están desactivados y no hay pares DHT. Es posible que no se puedan obtener para {0} hasta que no inicie otro torrent, active los rastreadores abiertos o active la DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Añadiendo {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Descarga ya en marcha: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "No se pudo copiar el fichero torrent a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Hay demasiados ficheros en \"{0}\" ({1}), ¡borrándolos!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "El fichero torrent \"{0}\" no puede terminar en \".torrent\". ¡borrándolo!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "No hay partes en \"{0}\", ¡borrándolo!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Hay demasiadas partes en \"{0}\", el límite es {1}, ¡borrándolo!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Las partes en \"{0}\" ({1}Bytes) son demasiado grandes, ¡borrándolas!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "El límite es de \"{0}\"Bytes" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "El torrent \"{0}\" no contiene datos, ¡borrándolo!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Los torrents mayores de \"{0}\"Bytes aún no están soportados, borrando \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Error: No se pudo eliminar el torrent \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent detenido: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent eliminado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Añadiendo torrents en {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "El limite de ancho de banda de subida es {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Descarga finalizada: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo recibida para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Iniciando el torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Error en el torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "¡No se pudo conectar con I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Abriendo el túnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Abriendo el túnel I2P e iniciando todos los torrents ..." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Deteniendo todos los torrents y cerrando el túnel I2P." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Cerrando túnel I2P después de avisar a los trackers" @@ -466,14 +466,14 @@ msgstr "El torrent en {0} no era válido" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Configuración" @@ -506,844 +506,848 @@ msgid "clear messages" msgstr "eliminar mensajes" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Estado" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Ordenado por {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Ocultar pares ('peers')" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Mostrar pares ('peers')" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Tipo de fichero" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Llegada" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Tiempo restante estimado" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "Receptor" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Descargado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Tamaño" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "Transmisor" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Tasa de subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Subido" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Tasa de descarga" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Tasa de descarga" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Tasa de subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Tasa de subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Detener todos los torrents y el túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Detener todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Iniciar todos los torrents parados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Iniciar todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Iniciar todos los torrents y el túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "No hay torrents cargados." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totales" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, 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:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 par conectado" msgstr[1] "{0} pares conectados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 par DHT" msgstr[1] "{0} pares DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Dest" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Primera" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Primera página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Anterior" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Página anterior" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Siguiente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Página siguiente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Última" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Última página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "No se pudo crear el directorio de datos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "No puede añadir un torrent {0} dentro de otro torrent: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "URL no válida: debe comenzar con \"http://\", \"{0}\", o \"{1}\"." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet borrado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Fichero torrent borrado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Descarga borrada: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Fichero de datos borrado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "No se pudo borrar el fichero de datos: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "No se pudo borrar la carpeta {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Carpeta borrada: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "No se pudo añadir un torrent que acaba en \".torrent\": {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Un torrent con este nombre ya está intercambiandose: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "No puede añadir un torrent que incluye un directorio I2P: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "No puede añadir un torrent {0} que incluye otro torrent: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Error - No se pueden incluir trackers alternativos sin un tracker principal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Error - No se pueden mezclar trackers privados y públicos en un torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent creado para \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Muchos trackers (rastreadores) I2P requieren que registre los nuevos torrents antes del seeding (sembrado) - por favor hágalo antes de iniciar \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Error al crear un torrent para \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "No se pudo crear un torrent para los datos inexistentes: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Error al crear torrent - ha de introducir un fichero o carpeta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Borrar seleccionados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Guardar configuración de tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Eliminado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Añadir tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Introduzca nombre y URLs de tracker (rastreador) válidos" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Restaurar predeterminados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Trackers (rastreadores) predeterminados restaurados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Comprobando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Asignando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Error del tracker (rastreador)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 par" msgstr[1] "{0} pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Iniciando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Sembrando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "Bien" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Estancado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Sin pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Detenido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Detalles del torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Ver ficheros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Abrir fichero" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Detener el torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Detener" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Iniciar el torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Iniciar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Eliminar el torrent de la lista de torrents activos, borrando el fichero .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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "¿Está seguro de que quiere borrar el fichero \\''{0}\\'' (los datos descargados no serán borrados)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Eliminar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Borrar el fichero .torrent y el(los) ficheros(s) de datos asociado(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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "¿Está seguro de que quiere borrar el torrent \\''{0}\\'' y todos los datos descargados correspondientes?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Borrar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Desconocido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Semilla (seed)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Sin interés (el par no tiene las partes que necesitamos)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Restringido (el par no nos está permitiendo solicitar partes)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "No interesado (no tenemos las partes que el par precisa)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Restringiendo (no estamos permitiendo al par solicitar partes)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detalles en el tracker (rastreador) {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Información" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Añadir torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Desde la URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Introduzca URL de descarga del fichero torrent (sólo I2P), enlace magnet, enlace maggot, o información de hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Añadir torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Dir de datos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Introduzca el directorio en el que guardar los datos (por defecto {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "También puede copiar ficheros .torrent a: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Eliminar un fichero .torrent provocará que se detengan sus transferencias." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Crear un torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Datos a sembrar ('seed')" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Fichero o directorio a sembrar (seed) (ruta completa o dentro del directorio {0} ) " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Principal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Crear torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "ninguno" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Carpeta de datos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Ficheros legibles por todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Si está marcada, otros usuarios pueden acceder a los ficheros descargados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Auto iniciar torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Si está marcado, iniciará automáticamente los torrents se añadan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Tema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Hora de actualización" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nunca" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Retardo al arrancar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minutos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Tamaño de página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Límite total de usuarios subiendo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Límite de velocidad de subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Se recomienda la mitad del ancho de banda disponible." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Mostrar o cambiar ancho de banda del router (enrutador)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Usar también trackers (rastreadores) abiertos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Si está marcado, anuncia los torrents a los trackers (rastreadores) abiertos así como a los listados en el fichero torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Habilitar DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Si está marcada, usar DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Preferencias de entrada" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Preferencias de salida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Anfitrión I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Puerto I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Opciones de I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Guardar configuración" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nombre" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL del sitio web" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Estándar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Abrir" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL de anunciamientos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Añadir" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "URL de magnet no válida: {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 salto" msgstr[1] "{0} saltos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 túnel" msgstr[1] "{0} túneles" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Fichero torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Ubicación de los datos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Información de hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Tracker principal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Lista de trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Comentario" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Creado en" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Creado por" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Enlace de magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Torrent privado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Finalización" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Restante" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Ficheros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Partes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Tamaño de las partes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Carpeta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioridad" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Subir a la carpeta del siguiente nivel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "¿No se encotró el fichero torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "¿No se encontró el fichero en el torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "restante" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Alta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Saltar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Configurar todos a alto " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Configurar todos a normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Omitir todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Guardar prioridades" diff --git a/apps/i2psnark/locale/messages_fr.po b/apps/i2psnark/locale/messages_fr.po index 08437ba71c..c8987da9ad 100644 --- a/apps/i2psnark/locale/messages_fr.po +++ b/apps/i2psnark/locale/messages_fr.po @@ -12,14 +12,14 @@ # Boxoa590, 2012 # jackjack , 2011 # syl_, 2015 -# Towinet, 2013-2014 +# Towinet, 2013-2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-29 14:30+0000\n" -"PO-Revision-Date: 2015-03-01 02:59+0000\n" -"Last-Translator: syl_\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-22 09:07+0000\n" +"Last-Translator: Towinet\n" "Language-Team: French (http://www.transifex.com/projects/p/I2P/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,222 +32,222 @@ msgid "No more torrents running." msgstr "Il n'y a plus de torrents en fonctionnement." #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Tunnel I2P fermé." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Limite totale uploaders modifiée à : {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "La limite de nombre minimal d''uploaders est {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Limite d’envoi modifiée à : {0} ko/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "La limite minimale d’envoi est {0} ko/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Délai de démarrage modifié à {0} minutes" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Temps de rafraîchissement changé pour {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Rafraîchissement désactivé" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Taille de la page changée pour {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Répertoire des données doit être un chemin absolu" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Répertoire de données n'existe pas" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Pas un répertoire" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Illisible" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Répertoire des données changé pour {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Les modifications sur I2CP et les tunnels seront pris en compte après avoir arrêté tous les torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Options I2CP changées pour {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Déconnexion des anciennes destination I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, 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:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 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:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 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:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Reconnexion sur la nouvelle destination I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "Écouteur I2CP redémarré pour \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Les nouveaux fichiers seront publiquement lisibles" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Les nouveaux fichiers ne seront pas publiquement lisibles" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Démarrage automatique activé" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Démarrage automatique désactivé" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Trackers ouverts activés - redémarrage des torrents requis pour prise en compte." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Trackers ouverts désactivés - redémarrage des torrents requis pour prise en compte." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT activée." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT désactivée." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Le changement DHT nécessite la fermeture puis réouverture du tunnel" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Thème {0} chargé, revenez à la page d''accueil d''i2psnark pour voir comme il est beau !" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Aucun changement de configuration." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Liste des trackers ouverts modifiée - redémarrage des torrents requis pour prise en compte" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Liste tracker privé modifiée - affecte seulement les torrents nouvellement créés." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, 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:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Connexion à I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 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:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, 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:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Impossible d’ouvrir: \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Un torrent avec cette empreinte est déjà actif: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "ERREUR - Pas de trackers I2P dans le torrent privé \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", vais annoncer aux trackers I2P ouverts et DHT seulement." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", et les trackers ouverts sont désactivés, vais annoncer à DHT seulement." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -255,34 +255,34 @@ msgid "" "torrent." msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", et DHT et les trackers ouverts sont désactivés, vous devriez activer les trackers ouverts ou DHT avant de démarrer le torrent." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Le torrent dans \"{0}\" est invalide" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ERREUR - Mémoire insuffisante, impossible de créer le torrent depuis {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent ajouté et démarré: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent ajouté: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Envoi {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -290,128 +290,128 @@ msgid "" "DHT." msgstr "Les trackers ouverts sont désactivés et nous n''avons pas de pairs DHT. La recherche de {0} pourrait ne pas réussir jusqu''à ce que vous démarriez un autre torrent, activiez trackers ouverts, ou activeiz DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Ajout {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Téléchargements déjà en cours: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Impossible de copier le torrent vers {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, 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:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, 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:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Pas de tronçon dans \"{0}\", suppression!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Trop de tronçons dans \"{0}\" , la limite est {1}, suppression!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Les tronçons sont trop larges dans \"{0}\" ({1}B), suppression." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "La limite est de \"{0}\"octets" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Le fichier torrent \"{0}\" n'a pas de données, suppression!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, 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:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, 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:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent arrêté: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent supprimé: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Ajout des torrents dans {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Limite bande passante haute est {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Téléchargement terminé: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo reçue pour {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Démarrage du torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Erreur sur torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Impossible de se connecter à I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Ouverture du tunnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Ouverture du tunnel I2P et démarrage de tous les torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 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/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Fermeture du tunnel I2P après notification aux trackers." @@ -463,14 +463,14 @@ msgstr "Le torrent {0} est invalide" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Configuration" @@ -503,844 +503,848 @@ msgid "clear messages" msgstr "nettoyer messages" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "État" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Trier par {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Cacher les pairs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Afficher les pairs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Type de fichier" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Temps" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Temps restant estimé" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "Reçu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Téléchargé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Taille" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "Envoyé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Ratio en upload" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Envoyé" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Taux RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Taux de téléchargement" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Taux TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Taux d'envoi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 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:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Arrêter tout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Démarrer tous les torrents arrêtés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Démarrer tout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 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:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Aucun torrent chargé." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totaux" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "{0} torrent" msgstr[1] "{0} torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "{0} pair connecté" msgstr[1] "{0} pairs connectés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 pair DHT" msgstr[1] "{0} pairs DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Dest" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Premier" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Première page" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Préc" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Page suivante" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Suivant" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Page suivante" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Dernier" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Dernière page" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Le répertoire données ne peut pas être créé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Ne peut pas ajouter le torrent {0} à l'intérieur d'un autre torrent: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "URL incorrecte - elle doit débuter par \"http://\", \"{0}\", ou \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet supprimé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Fichier torrent effacé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Téléchargement effacé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Fichier de données effacé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, 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:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Le répertoire n''a pas pu être effacé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Répertoire effacé: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Ne peut pas ajouter un torrent se terminant par \".torrent\": {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Un torrent avec ce nom est déjà en cours: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Ne peut pas ajouter un torrent incluant un dossier d''I2P: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Ne peut pas ajouter le torrent {0} incluant un autre torrent: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Erreur - Ne peut pas inclure de trackers trackers alternatifs sans un tracker primaire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Erreur - Ne peut pas mixer dans un torrent trackers public et privés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent créé pour \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, 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:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, 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:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, 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:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 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:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Effacer les sélectionnés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Sauvegarder la configuration du tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Retiré" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Ajout tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Entrez nom de tracker valide et URLs" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Restaurer les paramètres d'origine" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Restaurer les trackers d'origine" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Vérification" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Allocation" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Erreur du tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "{0} pair" msgstr[1] "{0} pairs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Démarrage" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seed en cours" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Complet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Figé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Pas de pair" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Arrêté" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Détails du torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Voir les fichiers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Ouvrir fichier" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Arrêter le torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Arrêter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Démarrer le torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Démarrer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Êtes-vous sûr que vous voulez supprimer le fichier \\''{0}\\'' (les données téléchargées ne seront pas supprimées) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Enlever" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Êtes-vous certain de vouloir supprimer le torrent \\''{0}\\'' ainsi que toutes les données téléchargées ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Supprimer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Inconnu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Aucun intérêt (le pair n'a aucun tronçon utile)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "bridé (le pair ne nous permet pas de demander des tronçons)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Pas intéressé (aucun tronçon utile au pair)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "bridage (nous ne permettons pas au pair de demander un tronçon)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Détails au tracker {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Ajouter torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Depuis l'URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Entrez l'URL de téléchargement du fichier torrent (I2P seulement), lien magnet, lien maggot, or l'info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Ajouter torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Répertoire données" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Saisissez le répertoire où sauvegarder les données par défaut (default {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, 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:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "La suppression d'un fichier .torrent entraîne l'arrêt du torrent." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Créer torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Données à seeder" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Fichier ou dossier à seeder (chemin complet ou dans le dossier {0} )" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primaire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternatifs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Créer torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "aucun" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Répertoire de données" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Fichiers lisibles par tous" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Si coché, les autres utilisateurs pourront accéder aux fichiers téléchargés." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Démarrer automatiquement les torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Si coché, les torrents démarreront automatiquement lors de l'ajout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Thème" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Temps de rafraîchissement " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Jamais" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Délais de démarrage" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minutes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Taille page" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Limite totale d'envoi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "pairs" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Limite de bande passante en envoi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "La moitié de la bande passante est recommandée." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Consulter ou modifier la bande passante du routeur" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Utiliser également les trackers ouverts" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 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:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Active DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Si coché, utilise DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Paramètres entrants" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Paramètres sortants" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Hôte I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Port I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Options I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Sauvegarder la configuration" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nom" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL du site web" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Standard" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Ouvrir le fichier" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Annoncer URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Ajout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "URL magnet {0} incorrecte" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "{0} saut" msgstr[1] "{0} sauts" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "{0} tunnel" msgstr[1] "{0} tunnels" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Fichier torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Emplacement donnée" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Info hachage" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Tracker primaire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Liste tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Commentaire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Créé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Créé par" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Lien magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Torrent privé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Finalisation" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Restant" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Fichiers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Tronçons" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Taille des tronçons" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Répertoire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Priorité" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Vers le répertoire parent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent non trouvé?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Fichier non trouvé dans le torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "complet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "restant" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Haut" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Ignorer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Mettre tous à haute" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Mettre tous à normale" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Tout sauter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Sauvegarder les priorités" diff --git a/apps/i2psnark/locale/messages_hu.po b/apps/i2psnark/locale/messages_hu.po index d5a03b3542..6710e744ee 100644 --- a/apps/i2psnark/locale/messages_hu.po +++ b/apps/i2psnark/locale/messages_hu.po @@ -5,12 +5,13 @@ # # Translators: # omgitsadalek , 2013 +# benewfy , 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/I2P/language/hu/)\n" "MIME-Version: 1.0\n" @@ -19,227 +20,227 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." -msgstr "" +msgstr "Nincs több futó torrent." -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P alagút lezárva." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Mágnes" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Teljes feltöltők korlátja megváltoztatva a következőre: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Teljes feltöltők minimum korlátja a következő: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Feltöltési sávszélesség korlátja megváltoztatva a következőre: {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "A minimum feltöltési sávszélesség korlátja {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Késleltetés indításkor megváltoztatva a következőre: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Frissítési idő a következőre változott: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Frissítés kikapcsolva" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Az I2CP-re és alagutakra vonatkozó változtatások az összes torrent leállítása után lépnek érvénybe" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP opciók a következőre lettek változtatva: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Lekapcsolódás a régi I2CP célállomásról" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP beállítások a következőre változtak: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Sikertelen kapcsolódás az új beállításokat használva, visszatérés a régi I2CP beállításokhoz" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Sikertelen újrakapcsolódás a régi beállításokat használva!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Újracsatlakozva az új I2CP célállomásra" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP figyelő újraindítva a következőhöz: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Az új fájlok nyilvánosan olvashatók lesznek" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Az új fájlok nyilvánosan nem lesznek olvashatók" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Automatikus indítás engedélyezve" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Automatikus indítás kikapcsolva" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Nyílt követők (tracker) engedélyezve - az érvénybe lépéshez a torrent újraindítása szükséges." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Nyílt követők (tracker) kikapcsolva - az érvénybe lépéshez a torrent újraindítása szükséges." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT engedélyezve." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT letiltva." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} téma betöltve, megtekintéséhez térj vissza az i2psnark főoldalára." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Beállítások nem lettek megváltoztatva." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Nyílt Követők (tracker) listája megváltozott - az érvénybe lépéshez a torrent újraindítása szükséges." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Megváltozott a privát tracker lista - csak az újonnan létrehozott torrentekre vonatkozik." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Nem sikerült a beállítások mentése a következőre: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Kapcsolódás az I2P-hez" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Hiba az I2P-hez való csatlakozáskor - ellenőrizd az I2CP beállításait!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Hiba: a következő torrent hozzáadása sikertelen: {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "\"{0}\" megnyitása sikertelen" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "A torrent már fut ezzel az infó hash-el: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "HIBA - Nincsenek I2P követők (trackerek) a következő privát torrentben: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -247,34 +248,34 @@ msgid "" "torrent." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Érvénytelen torrent a következőben: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "HIBA - nincs több memória, torrent létrehozása sikertelen a következőből: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent hozzáadva és elindítva: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent hozzáadva: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Leszedés: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -282,132 +283,132 @@ msgid "" "DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "{0} Hozzáadása" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Futó letöltés: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Nem sikerült a torrent fájl másolása a következőre: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Túl sok fájl a következőben: \"{0}\" ({1}), törlésre kerül!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrent fájl \"{0}\" nem végződhet így: \".torrent\", törlésre kerül!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Nincsenek részek a következőben: \"{0}\", törlésre kerül!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Túl sok rész a következőben: \"{0}\", a határ {1}, törlésre kerül!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "A részek túl nagyok a következőben: \"{0}\" ({1}B), törlésre kerül." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "A határ {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "\"{0}\" torrent nem tartalmaz adatot, törlésre kerül!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Nincsenek támogatva torrentek, melyek nagyobbak, mint {0}B, \"{1}\" törlésre kerül" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Hiba: a következő torrent eltávolítása sikertelen: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent leállítva: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent eltávolítva: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Torrentek hozzáadása a következőben: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Feltöltési sebesség korlát {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "A letöltés befejeződött: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainformáció letöltve a következőhöz: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "{0} torrent indítása" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Hiba a következő torrenten: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Sikertelen csatlakozás az I2P-hez!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Az I2P alagút megnyitása" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Az I2P alagút megnyitás, minden torrent indítás alatt." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Az összes torrent leállítás és az I2P alagút lezárás alatt." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "" @@ -455,14 +456,14 @@ msgstr "Érvénytelen torrent a következő helyen: {0}" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Beállítások" @@ -495,844 +496,848 @@ msgid "clear messages" msgstr "üzenetek törlése" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Állapot" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Társak Elrejtése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Társak Megjelenítése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "BIE" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Becsült hátralévő idő" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "Be" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Letöltött" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Méret" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "Ki" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Feltöltött" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Letöltési Sebesség" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Feltöltési Sebesség" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Minden torrent és az I2P alagút leállítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Mindet Leállít" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Mind Indítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Minden torrent és az I2P alagút indítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Egy torrent sem került betöltésre." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Összesen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "1 torrent" msgstr[1] "{0} torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 csatlakozott társ" msgstr[1] "{0} csatlakzott társ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "" msgstr[1] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Érvénytelen URL: \"http://\", \"{0}\", vagy \"{1}\" kell kezdődnie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Mágnes észlelve: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Torrent fájl törölve: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Letöltés törölve: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Adatfájl törölve: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Adatfájl törlése nem sikerült: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Könyvtár nem törölhető: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Könyvtár törölve: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent létrehozva a következőnek: \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Sok I2P követő (tracker) megköveteli az új torrentek regisztrációját táplálás (seed) előtt - kérlek, regisztrálj, mielőtt elindítod a következőt: \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Hiba történt a torrent létrehozásakor \"{0}\" számára" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Nem sikerült torrent létrehozása, nemlétező adat: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Hiba a torrent létrehozásakor - Fájl vagy könyvtár megadása kötelező" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Kijelöltek törlése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Eltávolítva" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Követő (tracker) hozzáadása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Adj meg érvényes követő (tracker) nevet és URL címeket" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Alapértelmezések visszaállítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Alapértelmezett követők (trackerek) visszaállítva" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Ellenőrzés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Helyfoglalás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Követő (tracker) Hiba" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 társ" msgstr[1] "{0} társ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Indítás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Táplálás (seeding)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Kész" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "Rendben" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Beragadt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Nincsenek Társak" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Leállítva" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Torrent részletek" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Fájlok megtekintése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Fájl megnyitása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Torrent leállítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Leállítás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Torrent indítása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Indítás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Torrent eltávolítása az aktív listáról, a .torrent fájl törlésével" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Eltávolítás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr ".torrent fájl törlése a hozzá tartozó adatfájlokkal együtt" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Biztos, hogy törlöd a következő torrentet és az összes letöltött adatot: \\''{0}\\'' ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Törlés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Ismeretlen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Táplálás (Seed)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Érdektelen (társ nem rendelkezik számunkra szükséges részekkel)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Eltömődött (a társ nem engedi részek igénylését)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Érdektelen (nem rendelkezünk a társak számára szükséges részekkel)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Eltömődött (a társak számára a részek igénylése nem engedélyezett)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Részletek a következő követőn (tracker): {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Infó" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Torrent Hozzáadása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "URL címről" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Add meg a torrent fájl letöltési URL-jét (csak I2P), mágnes linket, maggot linket vagy infó hash-t" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Torrent hozzáadása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Másolhatsz .torrent fájlokat a következőhöz is: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "A .torrent fájl eltávolításával meg fog állni." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Torrent létrehozása" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Adat táplálásra (seed)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Követők (trackerek)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Torrent létrehozása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Adatkönyvtár" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Mindenki által olvasható fájlok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Ha be van jelölve, más felhasználók is elérhetik a letöltött fájlokat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Ha be van jelölve, a hozzáadott torrentek automatikusan elindulnak" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Téma" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Idő frissítése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Soha" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Indítási késleltetés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "perc" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Teljes feltöltők korlát" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "társak" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Feltöltési sávszélesség korlát" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "A rendelkezésre álló sávszélesség fele javasolt." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "A router sávszélesség megtekintése vagy megváltoztatása" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Nyílt követőket (tracker) is használjon" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Ha be van jelölve, bejelenti a torrenteket a nyílt követőkre (tracker) és torrent fájlban feltüntetett követőre is" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "DHT engedélyezése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Bejövő Beállítások" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Kimenő Beállítások" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP hoszt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP port" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP opciók" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Beállítások mentése" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Név" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "Weboldal URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Megnyitás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privát" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Bejelentési URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Hozzáadás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Érvénytelen mágnes URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 ugrás" msgstr[1] "{0} ugrás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 alagút" msgstr[1] "{0} alagút" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrent fájl" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Mágnes link" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Privát torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Befejezés" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Hátralévő" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Fájlok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Részek" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Rész méret" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Könyvtár" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioritás" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Vissza a felsőbb szintű könyvtárba" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent nem található?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "File nem található a torrentben?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "kész" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "hátralévő" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Magas" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normál" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Kihagy" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Tulajdonságok mentése" diff --git a/apps/i2psnark/locale/messages_it.po b/apps/i2psnark/locale/messages_it.po index 150d39fc1f..e0315ca194 100644 --- a/apps/i2psnark/locale/messages_it.po +++ b/apps/i2psnark/locale/messages_it.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Italian (http://www.transifex.com/projects/p/I2P/language/it/)\n" "MIME-Version: 1.0\n" @@ -24,227 +24,227 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Tunnel I2P chiuso." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Limite del totale di uploaders modificato a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Il minimo limite del totale di uploaders è {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Il minimo limite della banda in up modificato a {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Il minimo limite della banda in up è {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Ritardo startup modificato a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Tempo di aggiornamento cambiato in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Aggiornamento disabilitato" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Dimensione pagina cambiata a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "La cartella dei dati deve essere un percorso assoluto" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "La cartella dei dati non esiste" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Non è una cartella" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Illeggibile" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Cartella dei dati cambiata a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I cambiamenti di tunnel ed I2CP saranno effettivi dopo aver fermato tutti i torrent " -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Opzioni I2CP modificate in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "La vecchia destinazione I2CP è in disconnessione" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Impostazioni I2CP cambiate a {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Impossibile connettersi con le nuove impostazioni, ritorno alle vecchie impostazioni I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Impossibile riconnettersi con le vecchie impostazioni!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Riconnesso sulla nuova destinazione I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "Listener I2CP riavviato per \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "I nuovi file saranno visibili pubblicamente" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "I nuovi file non saranno visibili pubblicamente" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Autostart abilitato" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Autostart disabilitato" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Tracker aperti abilitati - è richiesto il riavvio dei torrent perchè la modifica abbia effetto." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Tracker aperti disabilitati - è richiesto il riavvio dei torrent perchè la modifica abbia effetto." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "Abilita DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "Disabilita DHT" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "La modifica DHT richiede il riavvio dei tunnel" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} tema caricato, ritornare alla pagina i2psnark principale per vederlo." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Configurazione non modificata." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Lista dei tracker aperti modificata - è richiesto il riavvio dei torrent perchè la modifica abbia effetto." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Elenco tracker privati modificato - solo per i nuovi torrent creati." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Impossibile salvare la configurazione su {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "In connessione a I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Errore nella connessione a I2P - controlla le tue impostazioni I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Errore: Non è stato possibile aggiungere il torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Impossibile aprire \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Un torrent con questo info hash è già attivo: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "ERRORE - Nessun tracker I2P nel torrent privato \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Attenzione - No i2P trackers entranti (in) \"{0}\", sarà richiesto alla rete i2P di aprire solamente trackers e peers DHT" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Attenzione - No i2P trackers entranti (in) \"{0}\", l'apertura di trackers è disabilitata e sarà richiesto di aprire solo peers DHT" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -252,34 +252,34 @@ msgid "" "torrent." msgstr "Attenzione - No i2P trackers entranti (in) \"{0}\", l'apertura di trackers e client DHT sono disabilitati. Dovresti, prima di far partire un torrent, abilitare l'apertura di trackers o peers DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Il torrent in \"{0}\" non è valido" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ERRORE - Memoria piena, impossibile creare torrent da {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent aggounto e avviato: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent aggiunto: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Recupero di {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -287,132 +287,132 @@ msgid "" "DHT." msgstr "I trackers aperti sono disabilitati e non ci sono peers DHT. Il recupero {0} potrebbe non riuscire fino a che non fai partire un altro torrent, abiliti i trackers aperti o abiliti il DHT. " -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "{0} in aggiunta" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Download già attivo: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Fallimento nella copia del file torrent su {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Troppi file in \"{0}\" ({1}), in rimozione!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Il file torrent \"{0}\" non può finire in \".torrent\", in rimozione!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Non ci sono pezzi in \"{0}\", in rimozione!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Troppi pezzi in \"{0}\", il limite è {1}, in rimozione!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "I pezzi sono troppo larghi in \"{0}\" ({1}B), in rimozione." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Il limite è {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Il torrent \"{0}\" non ha dati, in rimozione!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrent più grandi di {0}B non sono ancora supportati, \"{1}\" in rimozione" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Errore: Non è stato possibile rimuovere il torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent fermato: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent rimosso: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Torrent in aggiunta in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "La banda di Upload massima è {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Download completato: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo ricevute per {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Avvio del torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Errore sul torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Impossibile connettersi a I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Apertura tunnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Avvio di tutti i torrent e apertura del tunnel I2P in corso. " -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Stop di tutti i torrent e chiusura del tunnel I2P in corso." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Chiusura tunnel I2P dopo la notifica ai trackers." -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Trackers non validi {0} - abilitare i trackers aperti o il DHT?" @@ -460,14 +460,14 @@ msgstr "Il torrent a {0} non è stato valido" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Configurazione" @@ -500,844 +500,848 @@ msgid "clear messages" msgstr "pulisci messaggi" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Stato" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Nascondi Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Mostra Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Stima del tempo rimanente" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Scaricato" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Dimensione" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Inviato" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Velocità Ricezione (RX) " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Tasso di Download" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Velocità Trasmissione (TX)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Tasso di Upload" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Ferma tutti i torrent e il tunnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Ferma Tutto" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Avvia tutti i torrent fermati" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Avvia Tutti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Avvia tutti i torrent e il tunnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Nessun torrent caricato." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totali" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "1 torrent" msgstr[1] "{0} torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 peer connesso" msgstr[1] "{0} peer connessi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "uno: 1 DHT peer" msgstr[1] "altri: {0} DHT peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Primo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Prima pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Ind" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Pagina precedente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Avanti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Pagina successiva" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Ultimo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Ultima pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "URL non valido: Deve cominciare con \"http://\", \"{0}\", o \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet eliminato: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "File torrent eliminato: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Downloads cancellati: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "File di dati eliminato: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Non è stato possibile eliminare il file di dati: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "La Cartella non può essere cancellata: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Cartella cancellata: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Errore - Impossibile includere tracker alternativi senza un tracker primario" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Errore - Impossibile fare un mix di tracker privati e pubblici in un torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent creato per \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Molti tracker I2P ti richiedono di registrare nuovi torrent prima del seeding - per cortesia fallo, prima di avviare \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Errore nella creazione di un torrent per \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Impossibile creare un torrent per i dati nonesistenti: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Errore nella creazione del torrent - devi inserire un file o una directory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Elimina selezionati" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Salva configurazione tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Rimosso" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Aggiungi tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Inserisci nome e URL validi per il tracker" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Ripristina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Ripristina tracker di default" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Controllo (Check)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Allocando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Errore del Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 peer" msgstr[1] "{0} peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "In partenza" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seeding" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "In Stallo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Nessun Peer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Fermato" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Dettagli torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Vedi files" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Apri file" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Ferma il torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Ferma" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Avvia il torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Avvia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Rimuovi il torrent dalla lista attiva eliminando il file .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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Sei sicuro di voler cancellare il file \\\"{0}\\\" (i dati scaricati non verranno cancellati)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Rimuovi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Elimina il file .torrent e i file dati associati" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Sei sicuro di voler eliminare il torrent \\\"{0}\\\" e tutti i dati scaricati?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Elimina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Sconosciuto" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Non interessante (Il peer non ha pezzi di nostro interesse)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Soffocato (Il peer non ci sta permettendo di richiedere pezzi)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Non interessato (Non abbiamo pezzi di interesse per il peer)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Soffocando (Non stiamo permettendo al peer di richiedere pezzi)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Dettagli al tracker {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Aggiungi Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Da URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Inserisci l'URL del file torrent da scaricare (solo I2P), link magnet, link maggot o info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Aggiungi torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Puoi anche copiare files .torrent su: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Rimuovere un .torrent lo fermerà." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Crea Torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Dati da mandare in seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primario" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Crea torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "nessuno" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Directory dati" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "File visibili da tutti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Se selezionato, gli altri utenti potrebbero accedere ai file scaricati" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Se selezionato, avvia automaticamente torrent che vengono aggiunti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Tema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Tempo di aggiornamento" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Mai" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Ritardo di avvio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minuti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Dimensione pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Limite di uploader totale" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Limite di banda in upload" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Raccomandata metà della banda disponibile." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Vedi o cambia la banda del router" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Usa anche tracker aperti" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Se selezionato, annuncia i torrent sia a tracker aperti che ai tracker elencati nel file torrent " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Abilita DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Se selezionato, usa DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Impostazioni d'Entrata" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Impostazioni d'Uscita" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Host I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Porta I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Opzioni I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Salva configurazione" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nome" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL Sitoweb" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Apri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privato" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL Announce" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Aggiungi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Magnet URL {0} non valido" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 hop" msgstr[1] "{0} hop" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 tunnel" msgstr[1] "{0} tunnel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "File torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Tracker primario" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Elenco dei tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Commento" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Creato" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Creato da" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Link magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Torrent privato" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Completamento" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Rimanente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Files" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Pezzi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Dimensione pezzo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Cartella" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Priorità" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Fino a cartella di livello superiore" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent non trovato?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "File non trovato nel torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "rimanente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Alto" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normale" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Salta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Salva priorità " diff --git a/apps/i2psnark/locale/messages_nb.po b/apps/i2psnark/locale/messages_nb.po index 2592898687..43d9111cc2 100644 --- a/apps/i2psnark/locale/messages_nb.po +++ b/apps/i2psnark/locale/messages_nb.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/I2P/language/nb/)\n" "MIME-Version: 1.0\n" @@ -19,227 +19,227 @@ msgstr "" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P tunnelen lukket." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Total opplaster grense satt til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minimum total opplaster grense er {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Opp båndbredde endret til {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minimum opp båndbredde grense er {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Oppstart utsettelse sett til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Oppdaterings tid endret til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Oppdatering skrudd av" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I2CP og tunnel endringer vil ta effekt etter sopping av alle torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP instillinger endret til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Frakobler fra gammel I2CP destinasjon" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP instillinger endret til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Umulig å få tilkobling med de nye instillingene, går tilbake til de gamle I2CP instillingene" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Umulig å koble seg til på nytt med gammle instillinger!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Gjentilkobler på den nye I2CP destinasjonen" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP lytter omstartet for \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nye filer vil bli lesbar for alle" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nye filer vil ikke bli lesbar for alle" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Autostart er skrudd på" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Autostart er avslått" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Skru på åpne trackers - krever torrent omstart for å ta effekt." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Skru av åpne trackers - krever torrent omstart for å ta effekt." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT skrudd på" -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT skrudd av" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "DHT endring krever tunnel avslutting og gjennåpning" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} tema lastet, returner til hovedsiden for i2psnart for å se." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Konfigurasjon uendret." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Åpen tracker listen endret - torrent omstart kreves før det tar effekt." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Privat tracker list endret - vil kun påvirke ny opprettet torrent filer." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Umulig å lagre konfigurasjon til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Kobler til I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Feil ved tilkobling til I2P - Sjekk dine I2CP instillinger!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Feil: kan ikke legge til torrenten {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Kan ikke åpne \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent med samme info hash kjører allerede: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "FEIL - Ingen I2P trackers i privat torrent \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Advarsel - Ingen I2P trackers i \"{0}\", vil bare annonsere til I2P åpne trackers og DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Advarsel - Ingen I2P tracker i \"{0}\", og åpne trackers er skrudd av, vil annonsere kun på DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -247,34 +247,34 @@ msgid "" "torrent." msgstr "Advarsel - Ingen I2P trackers i \"{0}\", og DHT og åpne trackers er avskrudd, du burde skru på åpen tracker eller DHT før du starter torrenten." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent i \"{0}\" er ugyldig" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "FEIL - Tomt for minne, kan ikke lage torrent fra {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent lagt til og startet: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent lagt til: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Henter {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -282,132 +282,132 @@ msgid "" "DHT." msgstr "Åpne trackers er skrudd av og vi har ingen DHT peers. Mottak av {0} blir muligens ikke fullført før du starter en annen torrent, starter åpne trackers, eller DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Legger til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Nedlastning kjører alt: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Feilet med å kopiere torrent fil til {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "For mange filer i \"{0}\" ({1}), sletter det!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrent filen \"{0}\" kan ikke avsluttes i \".torrent\", sletter den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Ingen biter i \"{0}\", sletter den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "For mange biter i \"{0}\", grensen er {1}, sletter den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Bitene er for store i \"{0}\" ({1}B), sletter den." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Grensen er {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" har ingen data, sletter den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrents større enn {0}B er ikke supportet ennå, sletter \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Feil: kan ikke fjerne torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent stoppet: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent fjernet: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Legger til torrents i {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Opp hastighet grense er {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Nedlastning fullført: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Meta informasjon mottatt for {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Starter opp torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Feil i torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Umulig å koble til I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Åpner I2P tunnelen" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Åpner I2P tunnelen og starter alle torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Stopper alle torrents og lukker I2P tunnelen." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Lukker I2P tunnel etter beskjed til trackers." -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Ingen valid tracker for {0} - skru på åpne trackers eller DHT?" @@ -455,14 +455,14 @@ msgstr "Torrent ved {0} var ikke valid" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Konfigurasjon" @@ -495,844 +495,848 @@ msgid "clear messages" msgstr "fjern meldinger" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Gjem peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Vis peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Beregnet tid som gjenstår" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Lastet ned" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Størrelse" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Lastet opp" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "RX Fart" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Ned hastighet" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "TX Fart" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Opp hastighet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Stopp alle torrents og I2P tunellen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Stopp alle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Start alle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Start alle torrents og I2P tunellen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Ingen torrent lastet." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totaler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, 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:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 tilkoblet peer" msgstr[1] "{0} tilkoblet peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 DHT peer" msgstr[1] "{0} DHT peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Ugyldig URL: Den må starte med \"http://\", \"{0}\", eller \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Torrent fil slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Nedlastning slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Data fil slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Data fil kunne ikke bli slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Mappen kunne ikke bli slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Mappe slettet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent laget for \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Mange I2P trackers krever at du registerer nye torrents før seeding - Vennligst gjør det før du starter \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Feil ved laging av torrent for \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Kan ikke lage torrent fra den ikke-eksisterende data: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Feil ved opprettelse av torrent - du må velge en fil eller mappe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Slett markerte" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Lagre tracker konfigurasjon" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Fjernet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Legg til tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Skriv inn valid tracker navn og URLer" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Gjenopprett standarder" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Gjenopprettet standard trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Sjekker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Tildeling" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Tracker Feil" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 peer" msgstr[1] "{0} peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Starter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Deler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Ferdig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Fastlåst" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Ingen Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Stoppet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Torrent detaljer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Vis filer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Åpne fil" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Stopp torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Stopp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Start torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Start" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Fjern torrent fra den aktive listen, og slette .torrent filen" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Fjern" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Slett .torrent filen og all tilhørende data fil(er)" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Er du sikker på at du vil slette torrent \\\"{0}\\\" og all nedlastet data?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Slett" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Ukjent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Deler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uinteressang (Peeren har ingen biter vi trenger)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Skjult (Peeren gir oss ikke lov til å be om biter)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uinteresang (Vi har ingen biter peeren trenger)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Hoster (Vi tillater ikke peeren til å be om biter)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detaljer hos {0} tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Informasjon" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Legg til torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Fra URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Skriv inn torrent fil nedlastings URL (kun I2P), magnet link, maggot link, eller info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Legg til torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Du kan også kopiere .torrent filer til: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Fjerning av .torrent vil få den til å stoppe." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Opprett Torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Data for deling" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Opprett torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Data mappe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Filer tilgjengelig for alle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Hvis merket, andre lokale brukere kan få tilgang til nedlastninger" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Hvis avmerket, vil torrents som blir lagt til automatisk startet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Theme" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Oppdater tid" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Aldri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Oppstarts utsettelse" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minutter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Total opplaster grense" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Opp båndbredde grense" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Halve tilgjengelige hastigheten er anbefalt." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Vis eller endre router båndbredde" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Bruk åpne trackers også" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Hvis avmerked, annonser torrenter til åpne trackers i tillegg til tracker listen i torrent filen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Skru på DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Hvis markert, bruk DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Inngående instillinger" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Utgående instillinger" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP vert" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP port" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP alternativer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Lagre konfigurasjon" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Navn" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "Webside URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Åpne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Annonserings URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Legg til" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Invalid magnet URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 hopp" msgstr[1] "{0} hopp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 tunnel" msgstr[1] "{0} tunneler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrent fil" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnet link" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Privat torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Fullføring" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Gjennstår" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Filer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Biter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Bit størrelse" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Mappe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioritet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Opp en level i mappe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent ikke funnet?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Fil ikke funnet i torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "ferdig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "gjennstår" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Høy" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Dropp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Lagre prioriteter" diff --git a/apps/i2psnark/locale/messages_nl.po b/apps/i2psnark/locale/messages_nl.po index 5f7750c179..20ff930448 100644 --- a/apps/i2psnark/locale/messages_nl.po +++ b/apps/i2psnark/locale/messages_nl.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-29 14:30+0000\n" -"PO-Revision-Date: 2015-02-18 19:51+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/I2P/language/nl/)\n" "MIME-Version: 1.0\n" @@ -27,222 +27,222 @@ msgid "No more torrents running." msgstr "Er draaien geen torrents meer." #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P tunnel gesloten." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magneet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Totale uploaders limiet gewijzigd in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minimum totale uploaders limiet is {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Up bandbreedte limiet gewijzigd in {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minimum up bandbreedte limiet is {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Opstartvertraging gewijzigd in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Ververstijd gewijzigd naar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Verversen uitgezet" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Paginagrootte gewijzigd naar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Data-directory moet een absoluut pad zijn" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Data-directory bestaat niet" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Geen directory" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Onleesbaar" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Data-directory gewijzigd naar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I2CP en tunnel wijzigingen hebben pas effect na het stoppen van alle torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP-opties gewijzigd naar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Oude I2CP destination wordt afgesloten" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP instellingen gewijzigd in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Kan geen connectie maken met de nieuwe instellingen, we keren terug naar oude I2CP instellingen" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Kan niet opnieuw verbinden met de oude instellingen!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Opnieuw verbonden met de nieuwe I2CP destination" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP listener herstart voor \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nieuwe bestanden zullen publiek bereikbaar zijn" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nieuwe bestanden zullen niet publiek bereikbaar zijn" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Autostart ingeschakeld" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Autostart uitgeschakeld" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Open Trackers ingeschakeld - torrent herstart nodig." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Open Trackers uitgeschakeld - torrent herstart nodig." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT aangezet." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT uitgezet." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "DHT-wijziging vereist afsluiten en opnieuw openen van tunnel" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} thema geladen, ga naar de hoofd i2psnark pagina om deze te bekijken." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Configuratie ongewijzigd." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Open Tracker lijst gewijzigd - torrent herstart nodig." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Privé trackerlijst gewijzigd - beïnvloedt enkel nieuw aangemaakte torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Kan de configuratie niet opslaan in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Verbinden met I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Fout bij verbinden met I2P - controlleer je I2CP instellingen!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Fout: Kan de torrent {0} niet toevoegen" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Kan \"{0}\" niet openen" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent met deze info hash is al actief: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "FOUT - Geen I2P-trackers in privé-torrent \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Waarschuwing - Geen I2P-trackers in \"{0}\", zal alleen aankondigen aan open trackers en DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Waarschuwing - Geen I2P-trackers in \"{0}\", en open trackers zijn uitgezet, zal alleen aankondigen aan DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -250,34 +250,34 @@ msgid "" "torrent." msgstr "Waarschuwing - Geen I2P-trackers in \"{0}\", en DHT en open trackers zijn uitgezet, je moet open trackers of DHT aanzetten alvorens de torrent te starten." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent in \"{0}\" is ongeldig" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ERROR - Geen geheugen meer, kan geen torrent maken van {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent toegevoegd en gestart: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent toegevoegd: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Downloaden {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -285,128 +285,128 @@ msgid "" "DHT." msgstr "Open trackers zijn uitgezet en we hebben geen DHT peers. Ophalen van {0} zal misschien niet lukken tot je een andere torrent start, open trackers aanzet, of DHT aanzet." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Toevoegen van {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Download is al bezig: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Kan het torrent bestand niet kopieren naar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Te veel bestanden in \"{0}\" ({1}), wordt verwijderd!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrent bestand \"{0}\" kan niet eindigen in \".torrent\", wordt verwijderd!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Geen stukken in \"{0}\", wordt verwijderd!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Te veel stukken in \"{0}\", limiet is {1}, wordt verwijderd!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Stukken zijn te groot in \"{0}\" ({1}B), wordt verwijderd." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Limiet is {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" heeft geen data en wordt verwijderd!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrents groter dan {0}B worden nog niet ondersteund, verwijder \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Fout: Kan de torrent {0} niet verwijderen" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent gestopt: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent verwijderd: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Toevoegen van torrents in {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Bandbreedtelimiet omhoog is {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Download gereed: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo ontvangen voor {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Starten met torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Fout bij torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Kan niet verbinden met I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Bezig met openen van I2P-tunnel" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Openen van de I2P tunnel en starten van alle torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Stoppen van alle torrents en sluiten van I2P tunnel." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Bezig met sluiten van I2P-tunnel na verwittigen van trackers." @@ -458,14 +458,14 @@ msgstr "Torrent op {0} was niet geldig" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Configuratie" @@ -498,844 +498,848 @@ msgid "clear messages" msgstr "berichten wissen" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Sorteren op {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Verberg Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Toon Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Bestandstype" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Schatting resterende tijd" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Gedownload" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Grootte" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Upload-ratio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Geupload" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "RX-ratio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Down Snelheid" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "TX-ratio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Up Snelheid" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Stop alle torrents en de I2P tunnel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Stop Alle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Start alle gestopte torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Start Alle" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Start alle torrents en de I2P tunnel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Geen torrents geladen." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totalen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, 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:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 verbonden peer" msgstr[1] "{0} verbonden peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 DHT peer" msgstr[1] "{0} DHT peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Eerste" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Eerste pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Vorige" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Vorige pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Volgende" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Volgende pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Laatste" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Laatste pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Data-directory kan niet aangemaakt worden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Kan torrent {0} niet toevoegen binnen andere torrent: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Ongeldige URL: moet beginnen met \"http://\", \"{0}\", of \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Torrent bestand verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Download verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Data bestand verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Kan data bestand niet verwijderen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Directory kon niet worden verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Map verwijderd: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Kan geen torrent toevoegen die eindig op \".torrent\": {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Torrent met deze naam is al bezig: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Kan geen torrent toevoegen die een I2P-directory bevat: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Kan torrent {0} die een andere torrent bevat niet toevoegen: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Fout - Kan geen alternatieve trackers toevoegen zonder een primaire tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Fout - Kan privé en publieke trackers in een torrent niet mengen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent gemaakt voor \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Veel I2P trackers vereisen dat je de nieuwe torrent registreert voor het seeden - doe dit voordat je \"{0}\" start" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Fout bij het maken van een torrent voor \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Kan geen torrent maken voor niet-bestaande data: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Fout bij het maken van de torrent - je moet een bestand of directory invullen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Geselecteerde verwijderen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Trackerconfiguratie opslaan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Verwijderd" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Tracker toevoegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Geef een geldige trackernaam en URLs in" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Standaardtrackers herstellen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Standaardtrackers hersteld" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Bezig met controleren" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Bezig met toewijzen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Tracker Fout" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 peer" msgstr[1] "{0} peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Bezig met starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seeding" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Voltooid" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Vastgelopen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Geen Peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Gestopt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Torrent details" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Bekijk bestanden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Open bestand" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Stop de torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Stop" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Start de torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Start" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Verwijder de torrent van de actieve lijst, het .torrent bestand wordt verwijderd" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Ben je zeker dat je het bestand \\''{0}\\'' wil verwijderen (gedownloade data zullen niet verwijderd worden)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Weghalen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Verwijder het .torrent bestand en de gerelateerde data bestand(en)" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Weet je zeker dat je de torrent \\''{0}\\'' en alle gedownloade data wilt verwijderen?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Verwijderen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Onbekend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Niet interessant (De peer heeft geen stukken die we nodig hebben)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Verstikt (De peer laat ons niet toe om stukken op te vragen)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Niet geïnteresseerd (We heben geen stukken die de peer nodig heeft)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Verstikt (We laten de peer niet toe om stukken op te vragen)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Details op de {0} tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Torrent Toevoegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Van URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Voer de download-URL (alleen I2P), magneetlink, maggotlink of infohash van het torrentbestand in" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Torrent toevoegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Datamap" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Voer de directory om de gegevens in op te slaan in (standaard {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Je kan ook .torrent bestanden kopieren naar: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Verwijderen van een .torrent zorgt dat deze stopt." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Creëer Torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Data om te seeden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Bestand of directory om te seeden (volledig pad of binnen de directory {0} )" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primair" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternatieven" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Creëer torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "geen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Data directory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Bestanden leesbaar door iedereen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Indien aangevinkt hebben andere gebruikers toegang tot de gedownloade bestanden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Torrents automatisch starten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Indien aangevinkt, start toegevoegde torrents automatisch" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Thema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Ververstijd" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nooit" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Startup vertraging" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minuten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Paginagrootte" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Totale uploader limiet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "peers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Up bandbreedte limiet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Helft van beschikbare bandbreedte aanbevolen." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Bekijk of wijzig router bandbreedte" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Gebruik ook open trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Indien aangevinkt, kondig torrents ook aan bij de tracker uit het torrent bestand" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "DHT aanzetten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Gebruik DHT indien aangevinkt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Inkomende Instellingen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Uitgaande Instellingen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP host" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP poort" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP opties" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Configuratie opslaan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Naam" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "Website-URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Standaard" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Open" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Kondig URL aan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Toevoegen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Ongeldige magnet URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 hop" msgstr[1] "{0} hops" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, 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:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrentbestand" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Datalocatie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Infohash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Primaire tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Trackerlijst" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Opmerking" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Aangemaakt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Aangemaakt door" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnet link" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Privé-torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Voltooiing" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Resterend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Bestanden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Stukken" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Stukgrootte" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Directory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioriteit" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Naar bovenliggende directory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent niet gevonden?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Bestand niet gevonden in torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "voltooid" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "resterend" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Hoog" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normaal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Overslaan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Stel alle in als hoog" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Stel alle in als normaal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Alle overslaan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Prioriteiten opslaan" diff --git a/apps/i2psnark/locale/messages_pl.po b/apps/i2psnark/locale/messages_pl.po index c4ef204ee6..3a67840540 100644 --- a/apps/i2psnark/locale/messages_pl.po +++ b/apps/i2psnark/locale/messages_pl.po @@ -11,241 +11,242 @@ # polacco , 2012 # seb, 2014 # Smert i2p , 2013 +# Taporpo Ne , 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-06 18:28+0000\n" -"PO-Revision-Date: 2015-02-17 20:52+0000\n" -"Last-Translator: polacco \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/pl/)\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-09-03 19:18+0000\n" +"Last-Translator: Taporpo Ne \n" +"Language-Team: Polish (http://www.transifex.com/otf/I2P/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "Nie ma więcej uruchomionych torrentów." -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Zamknięto tunel I2P." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Ograniczenie liczby uploaderów zmieniono do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minimalny całkowity limit uploadera: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Ograniczenie pasma wyjściowego zmieniono na: {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minimalne pasmo wyjściowe to: {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Opóźnienie uruchamiania zmieniono na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Czas odświerzania zmieniony na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Odświeżanie wyłączone" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Rozmiar strony zmieniony do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Katalog danych musi być pełną ścieżką" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Katalog danych nie istnieje" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "To nie jest katalog" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Nieczytelne" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Katalog danych zmieniony do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Zmiany dotyczące I2CP i tuneli będą wprowadzone po zatrzymaniu wszystkich torrentów." -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Opcje I2CP zmienione na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Rozłączanie starych celów I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Ustawienia I2CP zmienione do: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Nie można połączyć się z nowymi ustawieniami, powrót do starych ustawień I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Nie można się połączyć ze starymi ustawieniami!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Ponowne podłączanie do nowych celów I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "Nasłuch I2CP zrestartowany dla \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nowe pliki będą publicznie dostępne" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nowe pliki nie będą publicznie dostępne" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Włączono automatyczne uruchamianie" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Wyłączono automatyczne uruchamianie" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Włączono otwarte trackery - wymagane ponowne uruchomienie torrenta." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Wyłączono otwarte trackery - wymagane ponowne uruchomienie torrenta." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT włączone." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT wyłączone." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Zmiana DHT wymaga zamknięcia tunelu i jego ponownego otwarcia" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Załadowano temat {0}. Przejdź do strony głównej i2psnark, by zobaczyć." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Ustawienia niezmienione." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Lista otwartych trackerów została zmieniona – wymagane ponowne uruchomienie torrenta." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Lista prywatnych trackerów została zmieniona – dotyczy tylko nowo utworzonych torrentów." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Nie można zapisać konfiguracji do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Łączenie z I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Nie można się połączyć z I2P, sprawdź swoje ustawienia I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Błąd: Nie można dodać torrenta {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Nie można otworzyć \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent o tym hashu jest już uruchomiony: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "BŁĄD – brak trackerów w prywatnym torrencie \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Uwaga – Nie ma trackerów I2P w \"{0}\", zostanie to zameldowane tylko do otwartych trackerów i DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Uwaga – Brak trackerów I2P w \"{0}\", a otwarte trackery są wyłączone. Torrent będzie działał wyłącznie w oparciu o DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -253,34 +254,34 @@ msgid "" "torrent." msgstr "Uwaga – Brak trackerów I2P w \"{0}\". Otwarte trackery i DHT również są wyłączone. Należy włączyć otwarte trackery lub DHT przed rozpoczęciem torrenta." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent w \"{0}\" jest niepoprawny" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "BŁĄD – Brak pamięci, nie można utworzyć pliku torrent z {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent dodany i uruchomiony: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent dodany: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Pobieranie: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -288,132 +289,132 @@ msgid "" "DHT." msgstr "Otwarte trackery są wyłączone i nie mamy żadnych peerów DHT. Pobranie z {0} może się nie udać, dopóki nie uruchomisz innego torrenta, włączysz otwarte trackery lub włączysz DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Dodawanie {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Pobieranie już zostało uruchomione: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Nie udało się skopiować pliku torrent do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Za dużo plików w \"{0}\" ({1}), usuwanie go!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrent \"{0}\" nie może się kończyć w \".torrent\", usuwanie go!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "W torrencie \"{0}\" nie ma piece'ów, usuwanie go!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Za dużo piece''ów w \"{0}\" (limit to {1}), usuwanie go!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Za duże piece''y w torrencie \"{0}\" ({1}B), usuwanie go." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Granica to {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" nie zawiera danych, usuwanie!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrenty większe niż {0}B nie są jeszcze wspierane, usunięcie \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Błąd: nie można usunąć torrenta {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent zatrzymany: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent usunięty: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Dodawanie torrentów w {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Limit transferu połączeń wychodzcych to {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Pobieranie ukończone: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo otrzymane dla {0} " -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Uruchamianie torrenta: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Błąd w torrencie {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Nie można podłączyć się do I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Otwieranie tunelu I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Otwieranie tunelu I2P i uruchamianie wszystkich torrentów." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Zatrzymywanie wszystkich torrentów i zamykanie tunelu I2P." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Zamknięcie tunelu I2P po powiadomieniu trackerów." -#: ../java/src/org/klomp/snark/TrackerClient.java:244 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Brak prawidłowych trackerów dla {0} – włączyć otwarte trackery lub DHT?" @@ -461,14 +462,14 @@ msgstr "Torrent pobrany z {0} jest niepoprawny" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Ustawienia" @@ -501,135 +502,135 @@ msgid "clear messages" msgstr "wyczyść komunikaty" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Stan" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Sortuj wg {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Ukryj peery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Pokaż peery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Rodzaj pliku" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Pozostało" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Szacowany pozostały czas" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Pobrano" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Rozmiar" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Współczynnik wysyłania (ratio)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Wysłano" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "↓" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Prędkość pobierania" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "↑" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Prędkość wysyłania" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Zatrzymaj wszystkie torrenty i tunel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Zatrzymaj wszystkie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Uruchom wszystkie zatrzymane torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Uruchom wszystkie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Uruchom wszystkie torrenty i tunel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Nie załadowano torrentów." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Łącznie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -637,7 +638,7 @@ msgstr[0] "{0} torrent" msgstr[1] "{0} torrenty" msgstr[2] "{0} torrentów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -645,7 +646,7 @@ msgstr[0] "{0} podłączony peer" msgstr[1] "{0} podłączone peery" msgstr[2] "{0} podłączonych peerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" @@ -653,203 +654,207 @@ msgstr[0] "{0} peer DHT" msgstr[1] "{0} peery DHT" msgstr[2] "{0} peerów DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Cel" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Pierwsza" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Pierwsza strona" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Poprzednia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Poprzednia strona" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Następna" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Następna strona" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Ostatnia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Ostatnia strona" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Katalog nie może zostać utworzony" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Nie można dodać torrenta {0} wewnątrz innego torrenta {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Nieprawidłowy URL: musi zaczynać się od \"http://\", \"{0}\" lub \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Odnośnik Magnet usunięty: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Plik torrenta usunięto: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Pobrane usunięte: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Pliki z danymi usunięte: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Nie można usunąć pliku z danymi: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Katalog nie może być usunięty: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Usunięto katalog: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Nie można dodać torrent kończącego się \".torrent\": {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Torrent z tą nazwą już jest uruchomiony: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Nie można dodać torrenta zawierającego katalog I2P: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Nie można dodać torrenta {0} zawierającego inny torrent {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Błąd – Nie można dodać alternatywnych trackerów bez głównego trackera" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Błąd – Nie można mieszać prywatnych i publicznych trackerów w torrencie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Utworzono torrent dla \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Wiele trackerów w I2P wymaga zarejestrowania torrenta przed seedowaniem – proszę, zrób tak przed uruchomieniem \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Błąd podczas tworzenia torrenta dla: \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Nie można utworzyć torrenta dla nieistniejących danych: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Błąd przy tworzeniu torrenta – musisz podać plik lub katalog" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Usuń zaznaczone" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Zapisz ustawienia trackerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Usunięto" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Dodaj tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Podaj prawidłową nazwę trackera i URL" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Przywróć domyślne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Przywrócono domyślne trackery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Sprawdzanie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Alokowanie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Błąd trackera" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -857,366 +862,366 @@ msgstr[0] "{0} peer" msgstr[1] "{0} peery" msgstr[2] "{0} peerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Uruchamianie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seedowanie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Zakończono" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Utknięto" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Brak peerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Zatrzymany" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Szczegóły torrenta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Zobacz pliki" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Otwórz plik" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Zatrzymaj torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Zatrzymaj" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Uruchom torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Uruchom" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Usuń torrent z aktywnej listy, usuwając plik .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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Czy jesteś pewnien, że chcesz usunąć plik \\''{0}\\'' (pobrane dane nie będą usunięte) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Usuń" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Usuń plik .torrent i związane z nim pliki z danymi" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Czy na pewno chcesz usunąć plik \\''{0}.torrent\\'' oraz pobrane dane?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Usuń" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Nieznany" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uninteresting (peer nie ma piece'ów, które potrzebujemy)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Choked (peer nie pozwala nam na prośbę o piece)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uninterested (nie mamy piece'ów, których peer potrzebuje)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Choking (nie pozwalamy peerowi na prośbę o piece)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Szczegóły na trackerze {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Dodaj torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Z adresu URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Wpisz adres URL pliku torrent (tylko I2P), Magnet link, link maggot lub info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Dodaj torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Katalog na pobrane dane" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Podaj katalog do zapisu danych (domyślnie: {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Możesz także skopiować pliki .torrent do: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Usunięcie pliku .torrent spowoduje jego zatrzymanie." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Utwórz torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Dane do seedowania" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Plik lub katalog do seedowania (pełna ścieżka lub katalog wewnątrz \"{0}\")" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Główne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternatywne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Utwórz torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "brak" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Katalog z danymi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Pliki dostępne dla wszystkich" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Jeśli zaznaczone, inni użytkownicy mogą mieć dostęp do pobranych plików" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Uruchamiaj automatycznie torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Jeśli zaznaczone – automatycznie uruchamiaj dodane torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Motyw" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Czas odświerzania" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nigdy" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Opóźnienie uruchomienia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minuty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Rozmiar strony" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Całkowity limit uploaderów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "peery" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Ograniczenie pasma wyjściowego" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Zalecana połowa dostępnego pasma." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Zobacz lub zmień pasmo węzła" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Używaj również otwartych trackerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Jeśli zaznaczone, zgłaszaj torrenty do otwartych trackerów, jak również do trackerów podanych w pliku torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Włącz DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Jeśli zaznaczone, używa DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Tunele wejściowe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Tunele wyjściowe" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Adres I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Port I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Parametry I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Zapisz ustawienia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nazwa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL strony www" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Standardowy" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Otwarty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Prywatny" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL rozgłaszania" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Dodaj" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Nieprawidłowy link magnet {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -1224,7 +1229,7 @@ msgstr[0] "{0} skok" msgstr[1] "{0} skoki" msgstr[2] "{0} skoków" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -1232,119 +1237,119 @@ msgstr[0] "{0} tunel" msgstr[1] "{0} tunele" msgstr[2] "{0} tuneli" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Plik torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Położenie danych" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Główny Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Lista Trackerów" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Komentarz" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Utworzony" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Utworzony przez" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Link magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Prywatny torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Zakończono" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Pozostało" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Pliki" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Części" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Rozmiar części" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Katalog" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Priorytet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Do katalogu nadrzędnego" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent nie znaleziony?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Plik nie znaleziony w torrencie?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "zakończono" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "pozostało" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Wysoki" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normalny" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Pomiń" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Ustaw wszystkie na wysoki" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Ustaw wszystkie na normalny" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Pomiń wszystkie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Zapisz priorytety" diff --git a/apps/i2psnark/locale/messages_pt.po b/apps/i2psnark/locale/messages_pt.po index b116a00d75..5cd2d6c44f 100644 --- a/apps/i2psnark/locale/messages_pt.po +++ b/apps/i2psnark/locale/messages_pt.po @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/pt/)\n" "MIME-Version: 1.0\n" @@ -28,227 +28,227 @@ msgstr "" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Túnel I2P fechado" #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Limite total de uploaders alterado para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Limite mínimo de uploaders alterado para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Largura de banda para a envio alterada para {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Largura de banda mínima para envio é {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Demora na inicialização alterada para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Tempo de actualização alterado para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Actualização desactivada" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Tamanho de pagina alterado para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Diretório de dados deve ter um caminho absoluto" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Diretório de dados não existe" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Não é um diretório" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Ilegível" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Diretório de dados alterado para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Mudanças do I2CP e do túnel farão efeito após interromper todos os torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "opções de I2cp alteradas para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Desconectando destinação anterior do I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Preferências do I2CP alteradas para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Conectar-se não foi posível com as novas preferências I2CP, utilizarei as anteriores." -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Impossível se conectar usando as preferências anteriores!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Conectado com a nova Destinação I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "Conexão I2CP re-estabelecida para \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Novos ficheiros serão lidos pelo publico" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Novos ficheiros não serão lidos pelo publico" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Ativado o iniciar automáticamente" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Desativado o iniciar automáticamente" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Uso de rastreadores abertos ativado - Para ter efeito é necesário reiniciar os torrentes." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Uso dos rastreadores abertos desativado - Para ter efeito é necesário reiniciar os torrentes." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "Habilitar DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "Desabilitar DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Mudança no DHT requer fechamento e reabertura do túnel" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Tema {0} foi carregado. Volte no menú principal para vê-lo." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Configuração não mudada." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Listado de rastreadores abertos mudado - Para ter efeito é necesário reiniciar os torrentes." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Lista de rastreadores privados alterada - somente afetará os novos torrentes criados." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Não se pode guardar a configuração em {0}." -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Conectando com I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Erro ao se conectar com I2P - Verifique a sua configuração I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Erro: Não se pode adicionar o torrente {0}." #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Não pode se abrir \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "torrente com este info hash já em marcha: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "ERRO - Não há tracker I2P no torrent privado \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Aviso - Nenhum rastreador I2P em \"{0}\", o anúncio será feito apenas por rastreadores I2P abertos e DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Aviso - Nenhum rastreador I2P em \"{0}\", e rastreadores I2P abertos estão desabilitados. O anúncio será feito apenas por DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -256,34 +256,34 @@ msgid "" "torrent." msgstr "Aviso - Nenhum rastreador I2P em \"{0}\", e DHT e rastreadores abertos estão desabilitados. Rastreadores abertos ou DHT devem ser habilitados antes de começar o torrente." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "O arquivo .torrent em \"{0}\" não é válido." -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ERRO - Não ha espaço suficente, não se pode crear um torrente desde {0}." -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "torrente adicionado e iniciado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "torrente adicionado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Buscando {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -291,132 +291,132 @@ msgid "" "DHT." msgstr "Rastreadores abertos estão desabilitados e não há participantes DHT. Descarregamento de {0} pode não prosseguir enquanto outra torrente não for iniciada, rastreadores abertos forem habilitados ou DHT habilitado." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Adicionando {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "arquivo já descarregando: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Não se pode copiar o torrente para {0}." -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Ha arquivos demais no \"{0}\", se apagará ({1}). " -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "O arquivo de dados do torrente \"{0}\" não pode terminar em \".torrent' e será apagado." -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Não ha peças no \"{0}\", se apagará." -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Ha peças demais no \"{0}\" e o limite é {1}. Se apagarão." -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Peças no \"{0}\" são grandes demais ({1}B). Se apagarão." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "O limite são \"{0}\"Bytes" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "O torrente \"{0}\" não contem dados e será apagado." -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "torrentes maiores que \"{0}\" Bytes ainda não funcionam, se apagará \"{1}\"." -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Erro: Não se pode quitar o torrente \"{0}\"." -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "torrente detido: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "torrente quitado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Os torrentes serão adicionados em {0} ..." -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Limite de transmissão de dados é {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Finalizada a descarga de \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo recibido para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Iniciando o torrente {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Erro no torrente {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Impossível de se conectar com I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Abrindo o túnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Abrendo o túnel I2P e iniciando os torrentes ..." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Detindo todos os torrentes e fechando o túnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Fechando túnel I2P após notificar os rastreadores." -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Nenhum rastreador válido para {0} - habilitar rastreadores abertos ou DHT?" @@ -464,14 +464,14 @@ msgstr "torrente em {0} não foi válido" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Preferências" @@ -504,844 +504,848 @@ msgid "clear messages" msgstr "limpar mensagens" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Estado" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "ocultar parceiros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "mostrar parceiros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Tempo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Tempo que falta para completar" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "Baixado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Descarregado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Tamanho" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "Subido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Subido" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Taxa de recepção" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Taxa de descarga" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Taxa de transmissão" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Taxa de subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Deter todos os torrentes e o túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Deter tudos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Iniciar todos os torrents interrompidos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Arrancar todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Iniciar todos os torrentes e o túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Não carregado nenhum torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Total" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "1 torrente" msgstr[1] "{0} torrentes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 parceiro conectado" msgstr[1] "{0} parceiros conectados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 parceiros DHT" msgstr[1] "{0} parceiros DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Prim." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Primeira página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Ant." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Página anterior" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Próx." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Próxima página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Últ." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Última página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Endereço não válido - tem que começar com \"http://\", \"{0}\", ou \"{1}\"." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Apagada o magnet: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Apagado o arquivo torrente: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Download excluído: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Apagado o arquivo de dados: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Não se pode apagar o arquivo de dados: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Pasta não pôde ser excluída: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Pasta excluída: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Erro - Impossível incluir rastreadores alternativos sem o rastreador primário" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Erro - Impossível misturar rastreadores públicos e privados num torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "torrente criado para \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Muitos rastreadores no I2P exigem que você registre novos torrentes antes de poder semeá-los. Por favor, faça isto antes de iniciar \"{0}\"!" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Erro ao criar o torrente \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Não se pode criar um torrente para dados que não existam: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Erro ao criar o torrente - Tens que especificar um arquivo ou uma pasta." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Excluir selecionado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Salvar configurações do rastreador" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Excluído" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Adicionar tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Insira um nome válido para o tracker e URLs" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Voltar aos padrões" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Voltar aos rastreadores padrão" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Verificando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Reservando espaço" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Erro do rastreador" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 parceiro" msgstr[1] "{0} parceiros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Iniciando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "semeando" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "bem" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "estancado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "sem parceiros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "detenido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Detalhes do torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "mostrar arquivos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "abrir arquivo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Deter o torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Deter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Iniciar o torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Iniciar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Retire o torrente da lista ativa, apagando o arquivo .torrent" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Tem a certeza que deseja apagar o ficheiro \\\"{0}\\\" (dados transferidos não serão apagados) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Quitar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Apagar o arquivo torrente e o(s) arquivo(s) de dados pertenecentes" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Está seguro de que quer apagar o arquivo torrente \\''{0}\\'' e todos os dados descarregados deste torrente?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Apagar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "desconhecido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Semeador" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "não interessante (O parceiro não tem peças que precisamos.)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "sufocado (De momento o parceiro não está nos permitindo pedir mais peças.c)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "desinteressado (Não temos as peças que o parceiro quer.)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "sufocando (De momento não estamos permitindo que os parceiros peçam mais peças)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detalhes no rastreador {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Adicionar um torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "URL fonte:" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Digite a URL para download do arquivo torrent (só I2P), ou magnet link, maggo link, ou ainda o seu hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Adicionar torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Também pode copiar arquivos torrentes a {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "A remoção de um arquivo .torrent fará com que ele pare." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Criar um torrente" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Dados para semear" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Rastreadores" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primário" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Criar torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "nenhum" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Pasta de dados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Ficheiro legível por todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Se marcado, outros usuários poderão acessar os ficheiros descarregados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "se marcado, os torrentes adicionados se iniciarão automaticamente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Tema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Tempo de actualização" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nunca" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Demora do arranque" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minutos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Tamanho da página" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrents" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Limite global de subidores" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "parceiros" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Limite de largura de banda para a subida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Se recomenda a metade da largura de banda disponível." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "mostrar e mudar as preferências da largura de banda do roteador" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "usar também rastreadores abertos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Se marcado, anunciar os torrentes aos rastreadores abertos, assim como aos rastreadores listados no arquivo torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Habilitar DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Se marcado, usar DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Preferências de entrada" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Preferências de saida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Anfitrião I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Porto I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Opções I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Guardar configuração" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nome" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL do Website" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "abrir" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL para anúncio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Adicionar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "URL magnet {0} não válida" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 salto" msgstr[1] "{0} saltos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 túnel" msgstr[1] "{0} túneles" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Arquivo torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Rastreador Primário" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Lista de Rastreadores" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Commentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Criado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Criado por" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "URL magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Torrente privado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Finalização" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Restantes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Arquivos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Peças" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Tamanho das peças" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Pasta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioridade" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Subir uma herarquia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Não achei o arquivo torrente?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Arquivo não achado no torrente?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "restantes" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "alta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Ignorar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Guardar prioridades" diff --git a/apps/i2psnark/locale/messages_pt_bR.po b/apps/i2psnark/locale/messages_pt_bR.po index 7f9f09ce3f..251188047e 100644 --- a/apps/i2psnark/locale/messages_pt_bR.po +++ b/apps/i2psnark/locale/messages_pt_bR.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-29 14:30+0000\n" -"PO-Revision-Date: 2015-04-05 13:44+0000\n" -"Last-Translator: blueboy\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" +"Last-Translator: kytv \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,222 +25,222 @@ msgid "No more torrents running." msgstr "" #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Túnel I2P fechado" #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Limite de uploaders totais alterada para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Mínimo de uploaders totais alterada para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Limite de Up BW alterada para {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "O limite de mínimo de banda larga é {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Atraso de inicialização alterada para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Alterações em túneis e I2C entrarão em vigor depois de parar todos torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Desconectando destinação do velho I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Configurações de I2CP alteradas para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Não é possível conectar com as novas configurações. Revertendo para as prévias configurações de I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Não é possível conectar com as novas configurações!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Reconectado à nova destinação de I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "Auditor I2CP recomeçadas a \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Autocomeço permitido" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Autocomeço não permitido" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Trackers abertos permitidos - reinício de torrents é preciso para entrar em vigor" -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Trackers abertos não permitidos - reinício de torrents é preciso para entrar em vigor" -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "Tema {0} carregado, retornar para a página principal de i2psnark para visualizar." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Configuração sem alteração" -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Lista de trackers abertos alterada - reinício de torrents é preciso para entrar em vigor" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Não é possivel salvar configurações para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Conectando a I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Erro ao conectar a I2P - verifique as configurações de I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Erro: não é possível adicionar o torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Não é possível abrir \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "O torrent com este info has já está sendo executado: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -248,34 +248,34 @@ msgid "" "torrent." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "O torrent em \"{0}\" é inválido" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent adicionado e começado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent adicionado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Buscando {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -283,128 +283,128 @@ msgid "" "DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Adicionando {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Falha ao copiar arquivo de torrent de {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Arquivos em excesso em \"{0}\" ({1}), deletando!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Arquivo de torrent \"{0}\" não pode terminar em \".torrent\", deletando!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Sem peças em \"{0}\", deletando!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Peças em excesso em \"{0}\". O limite é {1}, deletando!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Peças são muito grande em \"{0}\" ({1}B), deletando." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "O limite é {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrents maiores do que {0}B não são suportados ainda, deletando \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Erro: não foi possível remover o torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent parado: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent removido: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Adicionando torrents em {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Download terminado: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo recebido para {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Iniciando torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Incapaz de conectar ao I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Abrindo o túnel I2P e começando todos os torrents." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Parando todos os torrents e fechando o túnel I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "" @@ -456,14 +456,14 @@ msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnar" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Configuração" @@ -496,844 +496,848 @@ msgid "clear messages" msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Ocultar Pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Mostrar Pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Tempo restante estimado" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Baixado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Uploaded" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Taxa de down" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Taxad de up" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Parar todos os torrents e o túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Parar todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Começar todos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Começar todos os torrents e o túnel I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Nenhum torrent carregado." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totais" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, 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:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 peer conectado" msgstr[1] "{0} pares conectados" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "" msgstr[1] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "URL inválido: deve começar com \"http://\", \"{0}\", ou \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet deletado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Arquivo de torrent deletado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Arquivo de data deletado: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Não foi possível apagar o arquivo de data: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent criado para \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Muitos I2P trackers requerem o registro de torrents antes de seeding - por favor, faça isso antes de começar \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Erro ao criar torrent para \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Não foi possível criar um torrent para a informação inexistente: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Erro ao criar torrent - é preciso um arquiso ou diretório" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Erro de tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 peer" msgstr[1] "{0} pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seeding" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Completo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Estagnado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Sem pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Parad" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Detalhes do torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Ver arquivos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Abrir arquivos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Parar o torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Começar o torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Começar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Remover o torrent da lista de ativos, deletando o arquivo .torrent" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Remover" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Deletar o arquivo ;torrent e associar data file(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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Tem certeza que quer remover o torrent \\''{0}\\'' e todas as informaçoes baixadas?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Deletar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "desconhecido" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Desinteressante (O par não tem partes que precisemos)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Engasgado (O par não está nos permitindo solicitar partes)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Desinteressado (Não temos quaisquer partes que o par precise)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Engasgando (O par está impossibilitado de solicitar partes)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detalhes em tracker {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Adicionar Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Do URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Acidionar torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Pode também copiar arquivos .torrents de: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "A remoção de um .torrent parará a mesma" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Criar Torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Arquivo para seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Criar torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Diretório de arquivo" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Automaticamente começar torrents adicionados se verificado" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Tema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Atraso de inicialização" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minutos" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Limite total do uploader" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "pares" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Up limite de banda larga" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Abrir" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "" msgstr[1] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "" msgstr[1] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "" diff --git a/apps/i2psnark/locale/messages_ro.po b/apps/i2psnark/locale/messages_ro.po index 5259dc9c8f..d0575dd0ff 100644 --- a/apps/i2psnark/locale/messages_ro.po +++ b/apps/i2psnark/locale/messages_ro.po @@ -4,236 +4,243 @@ # To contribute translations, see http://www.i2p2.de/newdevelopers # # Translators: +# Di N., 2015 +# titus , 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 20:06+0000\n" -"PO-Revision-Date: 2013-12-05 15:04+0000\n" -"Last-Translator: polearnik \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/I2P/language/ro/)\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-21 13:47+0000\n" +"Last-Translator: Di N.\n" +"Language-Team: Romanian (http://www.transifex.com/otf/I2P/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 -#: ../java/src/org/klomp/snark/SnarkManager.java:1938 -#: ../java/src/org/klomp/snark/SnarkManager.java:1949 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 +msgid "No more torrents running." +msgstr "Nu sunt torrente care rulează" + +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Tunel I2P închis." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1644 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:504 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Limita totala de incarcare schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:506 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Limita totala minimă de incarcare este {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:518 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Limita de incarcare BW schimbat la {0} Kbps" -#: ../java/src/org/klomp/snark/SnarkManager.java:520 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Limita de lățime de bandă minima la incarcarea este {0} Kbps" -#: ../java/src/org/klomp/snark/SnarkManager.java:532 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Întârziere de pornire schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:543 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Actualizarea timpului schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:545 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Refresh dezactivat" -#: ../java/src/org/klomp/snark/SnarkManager.java:561 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Schimbat dimensiunea paginii la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:570 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Dosarul de data de lucru trebuie să fie o cale absolută" -#: ../java/src/org/klomp/snark/SnarkManager.java:572 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Dosarul de date nu există" -#: ../java/src/org/klomp/snark/SnarkManager.java:574 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Nu e un dosar" -#: ../java/src/org/klomp/snark/SnarkManager.java:576 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "necitibil" -#: ../java/src/org/klomp/snark/SnarkManager.java:581 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Dosarul de date s-a schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:636 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I2CP și tunel modificările vor intra în vigoare după oprirea tuturor torrentele" -#: ../java/src/org/klomp/snark/SnarkManager.java:640 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Opțiuni I2CP schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:646 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Deconectarea destinației vechi I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:648 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Opțiuni I2CP schimbat la {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:653 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Imposibil de a se conecta cu noile setări, revenirea la vechile setări I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:657 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Nu pot să se reconectez cu setările vechi!" -#: ../java/src/org/klomp/snark/SnarkManager.java:659 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Reconectat la destinație noua I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:666 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP ascultător repornit pentru \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:680 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Fișiere noi vor putea fi citite public" -#: ../java/src/org/klomp/snark/SnarkManager.java:682 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Fișiere noi nu vor putea fi citite public" -#: ../java/src/org/klomp/snark/SnarkManager.java:689 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Activeaza autopornirea" -#: ../java/src/org/klomp/snark/SnarkManager.java:691 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Dezactivează autopornirea" -#: ../java/src/org/klomp/snark/SnarkManager.java:697 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Trackere deschise activat - repornirea torrentui este necesara să aibă efect." -#: ../java/src/org/klomp/snark/SnarkManager.java:699 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Trackere deschise dezactivat - repornirea torrentui este necesara să aibă efect." -#: ../java/src/org/klomp/snark/SnarkManager.java:706 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT activat." -#: ../java/src/org/klomp/snark/SnarkManager.java:708 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT dezactivat." -#: ../java/src/org/klomp/snark/SnarkManager.java:710 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Schimbare DHT necesită oprirea tunel și redeschiderea lui" -#: ../java/src/org/klomp/snark/SnarkManager.java:717 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} temă încărcata, a reveni la pagina principală i2psnark pentru a vizualiza." -#: ../java/src/org/klomp/snark/SnarkManager.java:727 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Configuraţia neschimbată" -#: ../java/src/org/klomp/snark/SnarkManager.java:759 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Trackere deschise schimbat - repornirea torrentui este necesara să aibă efect." -#: ../java/src/org/klomp/snark/SnarkManager.java:769 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Lista trackerilor private schimbat - afectează doar nou-create torrente." -#: ../java/src/org/klomp/snark/SnarkManager.java:815 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Imposibil de a salva configurarea {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Conectarea la I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:896 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Eroare la conectarea la I2P - verificați setările I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:905 -#: ../java/src/org/klomp/snark/SnarkManager.java:1681 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Eroare: Nu sa putut adăuga torentul {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Nu se poate deschide \"{0}\"." #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:946 -#: ../java/src/org/klomp/snark/SnarkManager.java:1047 -#: ../java/src/org/klomp/snark/SnarkManager.java:1129 -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:159 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent cu aceste informații hash este deja pornit: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:952 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "EROARE - Nu sunt trackere I2P in torrent privat \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:954 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Avertisment - Nu sunt trackere I2P în \"{0}\", va anunța numai la I2P trackers deschise și DHT ." -#: ../java/src/org/klomp/snark/SnarkManager.java:957 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Avertisment - Nu sunt trackere I2P în \"{0}\", și trackere deschise sunt dezactivate, se va anunța numai prin DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:959 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -241,34 +248,34 @@ msgid "" "torrent." msgstr "Avertisment - Nu sunt trackere I2P în \"{0}\", și DHT și trackere deschise sunt dezactivate, ar trebui să permiteti trackere deschise sau DHT înainte de a începe torrent." -#: ../java/src/org/klomp/snark/SnarkManager.java:981 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent în \"{0}\" este incorect" -#: ../java/src/org/klomp/snark/SnarkManager.java:988 -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:183 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "EROARE - Out de memorie, nu se pot crea torrent din {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1000 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent adăugat și pornit: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1002 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent adăugat: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1058 -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:87 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Preluarea {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1064 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -276,311 +283,348 @@ msgid "" "DHT." msgstr "Trackere deschise sunt dezactivate și nu avem colegii DHT. Descarcarea din{0} nu poate reuși până când veți începe un alt torrent, permite trackere deschise, sau permite DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1068 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Adăugarea {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1100 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Descarcarea deja rulează: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1139 -#: ../java/src/org/klomp/snark/SnarkManager.java:1162 -#: ../java/src/org/klomp/snark/SnarkManager.java:1600 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr " Copierea fisieurului torent in {0} a esuat" -#: ../java/src/org/klomp/snark/SnarkManager.java:1389 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Prea multe fișiere în \"{0}\" ({1}), ștergeti-le!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1391 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrent \"{0}\" nu se poate termina cu \". Torrent\", ștergeti!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1393 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Nu sunt piese din \"{0}\", ștergeti!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1395 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Prea multe piese în \"{0}\", limita este de {1}, ștergeti!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1397 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Piese sunt prea mari în \"{0}\" ({1} B), ștergeti." -#: ../java/src/org/klomp/snark/SnarkManager.java:1398 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Limita este de {0} B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1400 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" nu dispune de date, șterge-o!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1408 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrents mai mari de {0} B nu sunt acceptate încă, ștergerea \"{1}\"Torrents mai mari de {0} B nu sunt acceptate încă, ștergerea \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1424 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Eroare: Nu am putut șterge torentul {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1445 -#: ../java/src/org/klomp/snark/SnarkManager.java:1463 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent oprit: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1484 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent sters: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1492 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Adăugarea torrente în {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1523 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Limita de lățime de bandă la incarcarea este {0} Kbps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1545 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Descarcare finisata: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1596 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo primit pentru {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1597 -#: ../java/src/org/klomp/snark/SnarkManager.java:1826 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Pornirea torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1612 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Eroare pe torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1675 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Nu se poate stabili o conexiune la I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1825 -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:124 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Deschiderea tunelului I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1849 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Deschiderea tunelului I2P și pornirea tuturor torrentelor." -#: ../java/src/org/klomp/snark/SnarkManager.java:1912 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Oprirea tuturor torrentelor și inchiderea tunelului I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1931 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Închiderea tunelului I2P după notificarea trackere." -#: ../java/src/org/klomp/snark/TrackerClient.java:234 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Nu sunt trackere valabile pentru {0} - permite opentrackers sau DHT?" #: ../java/src/org/klomp/snark/UpdateHandler.java:49 -#: ../java/src/org/klomp/snark/UpdateRunner.java:227 +#: ../java/src/org/klomp/snark/UpdateRunner.java:228 msgid "Updating" msgstr "Actualizare" -#: ../java/src/org/klomp/snark/UpdateRunner.java:114 +#: ../java/src/org/klomp/snark/UpdateRunner.java:115 #, java-format msgid "Updating from {0}" msgstr "Actualizarea din {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:75 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:80 #, java-format msgid "Download torrent file from {0}" msgstr "Descărca fișierul torrent de la {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:97 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:103 #, java-format msgid "Torrent was not retrieved from {0}" msgstr "Torrent nu a fost preluat de la {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:150 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:157 #, java-format msgid "Torrent fetched from {0}" msgstr "Torrent preluat de la {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:171 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:178 #, java-format msgid "Torrent already running: {0}" msgstr "Torrent deja rulează: {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:173 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:180 #, java-format msgid "Torrent already in the queue: {0}" msgstr "Torrent deja în coada de așteptare: {0}" -#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:181 +#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:191 #, java-format msgid "Torrent at {0} was not valid" msgstr "Torrent la {0} nu a fost valid" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254 -msgid "I2PSnark - Anonymous BitTorrent Client" -msgstr "I2PSnark - BitTorrent Client Anonim" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:267 -msgid "Router is down" -msgstr "Router-ul este deactivat" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284 -msgid "Torrents" -msgstr "Torente" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:288 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:298 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:294 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 +msgid "Configuration" +msgstr "Configurație" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:275 +msgid "Anonymous BitTorrent Client" +msgstr "Client Bittorrent anonim" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:289 +msgid "Router is down" +msgstr "Router-ul este deactivat" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306 +msgid "Torrents" +msgstr "Torente" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317 msgid "Refresh page" msgstr "refresh pagina" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:302 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326 msgid "Forum" msgstr "Forum" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:315 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:341 msgid "Click \"Add torrent\" button to fetch torrent" msgstr "Faceți clic pe \"Adauga torrent\" pentru a aduce torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:352 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394 msgid "clear messages" msgstr "stergerea mesajelor" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:405 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:407 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2440 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2442 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Stare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:418 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:420 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 +#, java-format +msgid "Sort by {0}" +msgstr "Sortează după {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Ascunde utilizatori" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:430 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:432 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Arată utilizatori" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:439 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:441 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +msgid "File type" +msgstr "Tip fișier" + +#. Translators: Please keep short or translate as " " +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 +msgid "ETA" +msgstr "eta" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Estimare timp rămas" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:452 -msgid "ETA" -msgstr "eta" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:457 -msgid "Downloaded" -msgstr "Descărcat" - -#. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:465 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 +msgid "Downloaded" +msgstr "Descărcat" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +msgid "Size" +msgstr "Dimensiune" + +#. Translators: Please keep short or translate as " " +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 +msgid "TX" +msgstr "TX" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 +msgid "Upload ratio" +msgstr "Rată de încărcare" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Încărcat" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 -msgid "TX" -msgstr "TX" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 +msgid "RX Rate" +msgstr "RX Rate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:474 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Rata de descarcare " #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:477 -msgid "RX Rate" -msgstr "RX Rate" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:483 -msgid "Up Rate" -msgstr "Rata de incarcare " - -#. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "TX Rate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:501 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 +msgid "Up Rate" +msgstr "Rata de incarcare " + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Opreste toate torrentele și tunelul I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:503 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Oprește toate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Începeți toate torrentele oprite" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:531 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Pornește toate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Porneste toate torrentele și tunelul I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:555 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Niciun torent încărcat." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:561 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totaluri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -588,7 +632,7 @@ msgstr[0] "1 torrent" msgstr[1] "{0} torrente" msgstr[2] "{0} torrentу" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -596,7 +640,7 @@ msgstr[0] "{0} utilizator conectat " msgstr[1] "{0} utilizatori conectati" msgstr[2] "{0} utilizatori conectati" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:575 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" @@ -604,174 +648,207 @@ msgstr[0] "1 partener DHT" msgstr[1] "{0} parteneri DHT" msgstr[2] "{0} parteneri DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:611 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Dest" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Primul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:611 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "P&rima pagină" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:622 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Prev" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:622 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Pagina anterioară" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Următorul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Pagina următoare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Ultimul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Ultima pagină" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:750 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 +msgid "Data directory cannot be created" +msgstr "Directorul de date nu poate fi creat" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 +#, java-format +msgid "Cannot add torrent {0} inside another torrent: {1}" +msgstr "Nu se poate adăuga torrentul {0} în interiorul altui torrent: {1}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "URL incorect: trebuie să înceapă cu \"http://\", \"{0}\", sau \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:793 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet sters: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:829 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Fișier torrent șters: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Descarcă șterse: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:835 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Fișier data șters: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Fișier de date nu a putut fi șters: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:863 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:872 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Dosarul nu a putut fi sters {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:870 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Directorii șterse: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:942 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 +#, java-format +msgid "Cannot add a torrent ending in \".torrent\": {0}" +msgstr "Nu se poate adăuga un torrent terminat în \".torrent\": {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 +#, java-format +msgid "Torrent with this name is already running: {0}" +msgstr "Torrentul cu acest nume deja rulează: {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 +#, java-format +msgid "Cannot add a torrent including an I2P directory: {0}" +msgstr "Nu se poate adăuga un torent ce include un director I2P: {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 +#, java-format +msgid "Cannot add torrent {0} including another torrent: {1}" +msgstr "Nu se poate adăuga torrent {0} ce include un alt torrent: {1}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Eroare - Nu pot conține trackere alternative fără un tracker primar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Eroare - Nu se poate amesteca trackere publice și private într-un torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:975 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent creat pentru \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Multe trackere I2P cer să vă înregistrați torrentele noi înainte de seedat - vă rugăm să faceți acest lucru înainte de a începe \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:979 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Eroare la crearea unui torrent pentru \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:983 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Nu se poate crea un torrent pentru datele inexistente: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:986 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Eroare la crearea torrent - trebuie să introduceți un fișier sau director" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Șterge pe cel ales" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2032 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Salvați configurația tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Șters" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1063 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2030 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2035 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Adaugă tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1086 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1089 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Introduceți numele tracker valid și URL-uri" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Restabileşte implicitele" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Trackers implicite restaurate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1215 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Se verifică" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1218 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1219 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Alocare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Eroare tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1235 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1263 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1268 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1290 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1295 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -779,356 +856,366 @@ msgstr[0] "1 partener" msgstr[1] "{0} parteneri" msgstr[2] "{0} parteneri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1243 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Începere" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1252 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Încărcare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1256 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2496 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Complet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1275 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1276 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1281 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1282 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1292 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Întrerupt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1297 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1298 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1302 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Nu sunt utilizatori" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1304 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1305 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Oprit" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Detalii torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Vizualizare fișierilor" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1369 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Deschide fișier" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1411 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Oprește torentul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1413 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Stop" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Pornește torentul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1427 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Start" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1439 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Scoateți torrent din lista torentelor activi, ștergem fișierul 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1444 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Sigur doriți să ștergeți dosarul \\'' {0} \\'' (datele descărcate nu vor fi șterse)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1447 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Șterge" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Ștergeți fișierul torrent. Și fișier(e) de date asociat(e)" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Sigur doriți să ștergeți torrent \\'' {0} \\'' și toate datele descărcate?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1467 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1997 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Șterge" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Necunoscut" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Neinteresante (partener nu are piese de care avem nevoie)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Înecat (partener nu ne permite să solicitam bucăți)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1559 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Neinteresat (Nu avem piese de care are nevoie partener)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "partenerSufocare (Noi nu permitem partenerului solicitarea bucăților)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detalii la tracker {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1633 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Adaugă torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Din URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1689 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Introduceți URL-ul de descarcare fișierilor torrent (I2P numai), link-ul magnet, maggot-link, sau info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Adaugă torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 +msgid "Data dir" +msgstr "Dir date" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 +#, java-format +msgid "Enter the directory to save the data in (default {0})" +msgstr "Introdu directorul în care să se salveze datele (default {0})" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "De asemenea, puteți copia fișiere torrent la: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Stergerea .torrent va face ca acesta să se oprească." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Creează un torent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1725 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Date pentru seedare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1729 -msgid "File or directory to seed (must be within the specified path)" -msgstr "Fișier sau director de seedare (trebuie să fie în calea specificată)" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 +#, java-format +msgid "File or directory to seed (full path or within the directory {0} )" +msgstr "Fișier sau director de seedare (calea completă sau în director {0} )" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1731 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackere" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1733 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1735 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativă" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1738 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Creează un torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1756 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "nici unul" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1789 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 -msgid "Configuration" -msgstr "Configurație" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Dosar cu date" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1797 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Fișiere lizibile de către toți" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Dacă este bifată, utilizatorii pot accesa fișierele descărcate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1805 -msgid "Auto start" -msgstr "Start automat" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 +msgid "Auto start torrents" +msgstr "Pornește automat torrente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1809 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Dacă este bifată, începe automat torrentele care sunt adăugate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Teme" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1826 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Timp de reîmprospătare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1839 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Niciodată" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1845 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "întârziere de pornire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1847 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minute" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1851 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Mărimea paginii" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1853 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "Torente" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1877 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Limită totală de încărcare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1880 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "Parteneri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1884 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "limita de incarcare de lățime de bandă" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1887 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Jumătate lățime de bandă disponibilă este recomandat." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1889 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Vizualizeaza sau modifica lățime de bandă router" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1893 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Utilizați trackere deschise, de asemenea," -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1897 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Dacă este bifată, anunta torrente pentru a urmări trackere deschise , precum și trackere listate în fișierul torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1901 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Activează DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1905 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Dacă este bifată, utilizați DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1921 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Setări de intrare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1927 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Setări de ieșire" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1935 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Portul I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1940 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Portul I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1955 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Opțiuni I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1960 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Salvare configurări" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Nume" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL website" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1984 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 +msgid "Standard" +msgstr "Standard" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Deschis" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1986 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL de anuntare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2022 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Adaugă" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "URL-ul magnet invalid {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2070 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -1136,7 +1223,7 @@ msgstr[0] "1 hop" msgstr[1] "{0} hop-uri" msgstr[2] "{0} hop-uri" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -1144,106 +1231,119 @@ msgstr[0] "1 tunel" msgstr[1] "{0} tunele" msgstr[2] "{0} tunele" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2278 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Fișier torent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2291 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 +msgid "Data location" +msgstr "Locaţie date" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 +msgid "Info hash" +msgstr "Informație index" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Tracker primar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2300 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Lista Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2324 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Comentariu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Creat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2343 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Creat de" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2353 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Legătură Magnet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2360 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Torrent privat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2370 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2436 -msgid "Size" -msgstr "Dimensiune" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2377 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Completare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2387 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Rămas" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Fișiere" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2399 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Piese:" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2403 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Dimensiune piesei" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2426 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2430 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Dosar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2449 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioritate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2455 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Spre dosarul de nivel superior" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2485 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent nu a fost găsit?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Fișierul nu a fost găsit în torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2506 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "încheiat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2507 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "Rămas" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Ridicat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2561 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2566 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Omitere" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2575 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 +msgid "Set all high" +msgstr "Configurează toate ca înalte" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 +msgid "Set all normal" +msgstr "Configurează toate ca normal" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 +msgid "Skip all" +msgstr "Omite tot" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Salvați priorități" diff --git a/apps/i2psnark/locale/messages_ru.po b/apps/i2psnark/locale/messages_ru.po index d6078a74a0..92a8316792 100644 --- a/apps/i2psnark/locale/messages_ru.po +++ b/apps/i2psnark/locale/messages_ru.po @@ -11,245 +11,245 @@ # Eugene, 2013 # foo , 2009 # mama__1 , 2013 -# Roman A. , 2013 +# Foster Snowhill, 2013 # sr4d , 2014 -# Roman A. , 2013 +# Foster Snowhill, 2013 # yume, 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-27 16:05+0000\n" -"Last-Translator: yume\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" +"Last-Translator: kytv \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/I2P/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru_RU\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "Нет запущенных торрентов." -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Соединение с I2P закрыто." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Новое значение лимита количества слотов отдачи: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Минимально допустимое значение для количества слотов: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Новое значение лимита скорости отдачи: {0} КБ/с" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Минимально допустимое значение для лимита скорости отдачи: {0} КБ/с" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Задержка запуска изменена на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Время обновления изменено на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Обновление отключено" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Размер страницы изменён на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Директория данных должна быть абсолютным путём" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Директория данных не существует" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Не директория" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Нечитаемо" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Директория данных изменена на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Изменения настроек I2CP и туннелей вступят в силу после остановки всех торрентов." -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Параметры I2CP изменены на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Разрываем старое I2CP соединение" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Новые параметры I2CP: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Не удалось соединиться с использованием новых настроек I2CP, возвращаемся к старым настройкам" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Не удалось пересоединиться с использованием старых настроек I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Пересоединились по новому адресу I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP-приёмник перезапущен для \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Новые файлы будут доступны на чтение публично" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Новые файлы не будут доступны на чтение публично" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Автостарт включен" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Автостарт выключен" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Включено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Отключено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT включено." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT выключено." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Изменение DHT требует повторного открытия туннеля" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} тема загружена, вернитесь на основную страницу i2psnark для просмотра." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Настройки не изменились." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Изменен список открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Список частных трекеров изменился - влияет только на заново созданные торренты." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Не удалось сохранить настройки в {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Устанавливается соединение с I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Ошибка соединения с I2P, проверьте настройки I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Ошибка: Не удалось добавить торрент {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Не удалось открыть \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Торрент с таким info hash уже запущен: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "ОШИБКА - нет I2P-трекеров в частном торренте \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Предупреждение - Нет I2P трекеров в \"{0}\", анонсирование будет выполняться только на открытых трекерах и в DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Предупреждение - Нет I2P трекеров в \"{0}\" и использование открытых трекеров запрещено, анонсирование будет выполняться только в DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -257,34 +257,34 @@ msgid "" "torrent." msgstr "Предупреждение - Нет I2P трекеров в \"{0}\" и использование открытых трекеров и DHT запрещено. Следует разрешить их использование перед запуском торрента." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Торрент в \"{0}\" некорректен" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ОШИБКА - нехватка памяти, невозможно создать торрент из {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Торрент добавлен и запущен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Торрент добавлен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Получение торрента: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -292,132 +292,132 @@ msgid "" "DHT." msgstr "Использование открытых трекеров запрещено и нет DHT-пиров. Передача {0} не может быть завершена. Запустите другой торрент или разрешите использование открытых трекеров и/или DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Добавление {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Закачка уже запущена: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Не удалось скопировать торрент в: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Слишком много файлов в торренте \"{0}\" ({1}), удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Торрент \"{0}\" содержит единственный файл заканчивающийся на \".torrent\", удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "В торренте \"{0}\" не оказалось ни одной части, удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Слишком много частей в \"{0}\" (предел — {1}), удаляем торрент!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Слишком крупные части в \"{0}\" ({1}Б), удаляем торрент." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Наш предел {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Торрент \"{0}\" не содержит данных, удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Торренты крупнее чем {0}Б пока не поддерживается, удаляем \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Ошибка: Невозможно удалить торрент {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Торрент остановлен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Торрент удален: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Добавление торрентов через {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Ограничение отдачи {0} КБ/с" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Закачка завершена: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Метаданные получены для {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Запускаем торрент: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Ошибка в торренте {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Не удалось установить соединение с I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Открытие I2P туннеля" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Соединяемся с I2P и запускаем все торренты." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Останавливаем все торренты и закрываем соединение с I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Закрытие туннеля I2P после уведомления трекеров" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Нет трекеров для {0} — включены ли открытые трекеры или DHT?" @@ -465,14 +465,14 @@ msgstr "Торрент полученный из {0} некорректен" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Настройки" @@ -505,850 +505,860 @@ msgid "clear messages" msgstr "очистить сообщения" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Статус" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Сортировать по {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "скрыть список пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "показать список пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Тип файла" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Примерное оставшееся время" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "Принято" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Получено" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Размер" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "Отдано" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Коэффициент отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Отдано" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "Скорость получения" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Скорость загрузки" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "Скорость отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Скорость отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Остановить все торренты и закрыть соединение с I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Остановить все" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Запустить все остановленные торренты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Запустить все" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Запустить все торренты и открыть соединение с I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Нет загруженных торрентов." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Всего" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "{0} торрент" msgstr[1] "{0} торрента" msgstr[2] "{0} торрентов" +msgstr[3] "{0} торрентов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "{0} подсоединенный пир" msgstr[1] "{0} подсоединенных пиров" msgstr[2] "{0} подсоединенных пиров" +msgstr[3] "{0} подсоединенных пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "{0} DHT пир" msgstr[1] "{0} DHT пира" msgstr[2] "{0} DHT пиров" +msgstr[3] "{0} DHT пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Первый" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Первая страница" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Предыдущее" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Предыдущая страница" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Следующее" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Следующая страница" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Последний" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Последняя страница" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Не удалось создать директорию для файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Не могу добавить торрент {0} в состав другого торрента: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Некорректный URL: должен начинаться с \"http://\", \"{0}\", или \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet удален: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Удален торрент: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Закачка удалена: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Файл удален: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Не удалось удалить файл: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Каталог не может быть удалён: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Каталог удалён: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Не могу добавить окончание торрента в файл \".torrent\": {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Торрент с таким именем уже запущен: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Не могу добавить торрент с I2P директорией: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Не могу добавить торрент {0}, включающий в себя другой торрент: {1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Ошибка - нельза добавить альтернативные трекеры без основного" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Ошибка - невозможно объединить приватный и публичные трекеры в торренте" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Создан торрент для \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Многие I2P трекеры требуют зарегистрировать на них торрент перед началом раздачи — пожалуйста проверьте требуется ли это перед запуском \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Ошибка при создании торрента для: \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Невозможно создать торрент для несуществующего файла или директории: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Торрент не создан — вы должны указать файл или директорию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Удалить выбранное" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Сохранить настройки трекеров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Удален" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Добавить трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Введите действительное название и URL трекера" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Восстановить значения по-умолчанию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Восстановить трекеры по-умолчанию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Проверка" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Выделение места" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Ошибка Трекера" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "{0} пир" msgstr[1] "{0} пира" msgstr[2] "{0} пиров" +msgstr[3] "{0} пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Запускается" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Раздается" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Завершен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "Загружается" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Простаивает" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Нет пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Остановлен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Подробная информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Открыть директорию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Открыть файл" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Остановить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Остановить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Запустить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Запустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Удалить торрент из списка и с диска" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Вы уверены, что хотите удалить файл \\''{0}\\'' (скачанные данные не будут удалены) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Удалить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Удалить торрент и стереть загруженные файлы" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Вы действительно хотите удалить торрент \\''{0}\\'' и все загруженные файлы?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Стереть" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Неизвестный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Сид" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uninteresting (У пира нет нужных нам частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Choked (Этот пир не позволяет нам запрашивать части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uninterested (У нас нужных этому пиру частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Choking (Мы не позволяем этому пиру запрашивать у нас части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Детали на трекере {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Добавить Торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Из URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Введите URL для скачивания torrent-файла (только I2P), magnet-/maggot-ссылку или хэш" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Добавить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Директория для файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Путь для сохранения файлов (по умолчанию {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Либо вы можете просто скопировать .torrent-файлы в директорию {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Удаление .torrent-файла приведёт к остановке торрента." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Создать Торрент" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Файлы для раздачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Файл или директория для раздачи (полный путь или относительно директории {0} )" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Трекеры" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Основной" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Альтернативный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Создать торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "нет" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Директория для файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Файлы доступны для чтения всеми" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Если отмечено, другие пользователи могут иметь доступ к скачанным файлам" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Автоматически стартовать торренты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Автоматически запускать торренты после добавления" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Тема" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Время обновления интерфейса" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Никогда" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Задержка запуска" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "минут" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Размер страницы" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "торренты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Ограничение количества слотов отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Ограничение скорости отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Рекомендуется использовать половину от доступной пропускной способности." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Посмотреть/настроить ограничения скорости в маршрутизаторе I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Дополнительно использовать открытые трекеры" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Анонсировать торренты на открытых трекерах, дополнительно к тем, что указаны внутри торрента" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Включить DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Если выбрано, используется DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Входящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Исходящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "Адрес I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "Порт I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Параметры I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Сохранить настройки" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Имя" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL сайта" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Стандартный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Открыть" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Частный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "URL анонсирования" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Добавить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Неправильный magnet URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "{0} хоп" msgstr[1] "{0} хопа" msgstr[2] "{0} хопов" +msgstr[3] "{0} хопов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "{0} туннель" msgstr[1] "{0} туннеля" msgstr[2] "{0} туннелей" +msgstr[3] "{0} туннелей" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Торрент-файл" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Расположение данных" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Инфо хэш" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Первичный трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Список трекеров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Комментарий" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Создан" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Создан кем" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnet-ссылка" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Частный Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Загружено" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Части" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Размер части" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Директория" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Приоритет" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Перейти в директорию уровнем выше" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent not found?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "File not found in torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "скачано" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Высокий" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Нормальный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Пропустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Всем высокий приоритет" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Всем нормальный приоритет" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Пропустить все" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Сохранить приоритеты" diff --git a/apps/i2psnark/locale/messages_sk.po b/apps/i2psnark/locale/messages_sk.po index 9a7d03bbee..339f354268 100644 --- a/apps/i2psnark/locale/messages_sk.po +++ b/apps/i2psnark/locale/messages_sk.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/I2P/language/sk/)\n" "MIME-Version: 1.0\n" @@ -19,227 +19,227 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P tunel je zatvorený." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Celkový limit uploaderov bol zmenený na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minimálny celkový limit uploaderov je {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Limit nárastu ŠP bol zmenený na {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minimálny limit nárastu šírky pásma je {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Zdržanie pri spustení bolo zmenené na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Čas refreshu bol zmenený na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Refresh zakázaný" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Veľkosť stránky bola zmenená na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Dátový priečinok musí byť absolútna cesta" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Dátový priečinok neexistuje" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Nie je priečinok" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Nečitateľné" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Dátový priečinok bol zmenený na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Zmeny I2CP a tunelov sa prejavia po zastavení všetkých torrentov" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP nastavenia boli zmenené na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Odpája sa starý I2CP cieľ" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP nastavenia boli zmenené na {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Nie je možné sa pripojiť pomocou nových nastavení, vracia sa naspäť k starým I2CP nastaveniam" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Nie je možné sa znova pripojiť pomocou starých nastavení!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Znova sa pripája k novému I2CP cieľu" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP listener bol reštartovaný pre \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nové súbory budú verejne čitateľné" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nové súbory nebudú verejne čitateľné" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Povolené automatické spustenie" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Zakázané automatické spustenie" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Povolené otvorené stopovače - pre prejavenie efektu sa vyžaduje reštart torrentu." -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Zakázané otvorené stopovače - pre prejavenie efektu sa vyžaduje reštart torrentu." -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "Povolené DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "Zakázané DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Zmena DHT vyžaduje vypnutie a znovuotvorenie tunela" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} téma bola načítaná, vráťte sa na hlavnú stránku i2psnark pre zobrazenie." -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Konfigurácia nebola zmenená." -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Zoznam otvorených stopovačov sa zmenil - pre prejavenie efektu sa vyžaduje reštart torrentu." -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Súkromný zoznam stopovačov bol zmenený - to sa bude týkať iba novo vytvorených torrentov." -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Nebolo možné uložiť konfiguráciu do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Pripája sa k I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Chyba pri pripájaní sa k I2P - skontrolujte si vaše I2CP nastavenia!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Chyba: Nebolo možné pridať torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Nie je možné otvoriť \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent s týmto info hashom je už spustený: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "CHYBA - Žiadne I2P stopovače v súkromnom torrente \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Varovanie - V \"{0}\" nie sú žiadne I2P stopovače, oznámené to bude iba DHT a otvoreným stopovačom I2P." -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Varovanie - V \"{0}\" nie sú žiadne I2P stopovače, pričom otvorené stopovače sú zakázané, oznámené to bude iba DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -247,34 +247,34 @@ msgid "" "torrent." msgstr "Varovanie - V \"{0}\" nie sú žiadne I2P stopovače, pričom otvorené stopovače aj DHT sú zakázané, mali by ste otvorené stopovače alebo DHT pred spustením torrentu povoliť." -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent v \"{0}\" je neplatný" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "CHYBA - Nedostatok pamäte, nie je možné vytvoriť torrent z {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent bol pridaný a spustený: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent bol pridaný: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Získava sa {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -282,132 +282,132 @@ msgid "" "DHT." msgstr "Otvorené stopovače sú zakázané a my nemáme žiadnych DHT peerov. Získanie {0} nemusí uspieť, pokiaľ nespustíte ďalší torrent, prípadne nepovolíte otvorené stopovače alebo DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Pridáva sa {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Sťahovanie je už spustené: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Nepodarilo sa skopírovať súbor torrentu do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Príliš veľa súborov v \"{0}\" ({1}), odstraňuje sa!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Súbor torrentu \"{0}\" nemôže končiť na \".torrent\", odstraňuje sa!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "V \"{0}\" nie sú žiadne kúsky, odstraňuje sa!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "V \"{0}\" je príliš veľa kúskov, limit je {1}, odstraňuje sa!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Kúsky v \"{0}\" ({1}B) sú príliš veľké, odstraňuje sa." -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Limit je {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrent \"{0}\" neobsahuje žiadne dáta, odstraňuje sa!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrenty väčšie než {0}B zatiaľ nie sú podporované, odstraňuje sa \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Chyba: Nebolo možné odstrániť torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent bol zastavený: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent bol odstránený: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Pridávajú sa torrenty do {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Limit nárastu šírky pásma je {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Sťahovanie bolo dokončené: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainformácie pre {0} boli doručené" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Spúšťa sa torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Chyba na torrente {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Nie je možné sa pripojiť k I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Otvára sa I2P tunel" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Otvára sa I2P tunel a spúšťajú sa všetky torrenty." -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Zastavujú sa všetky torrenty a zatvára sa I2P tunel." -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Po upozornení stopovačov sa zatvára I2P tunel." -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "Nie sú žiadne platné stopovače pre {0} - povoliť otvorené stopovače alebo DHT?" @@ -455,14 +455,14 @@ msgstr "Torrent na {0} nebol platný." #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Konfigurácia" @@ -495,135 +495,135 @@ msgid "clear messages" msgstr "zmazať správy" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Stav" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Skryť peerov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Zobraziť peerov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "ETA" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Odhadovaný zostávajúci čas" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Stiahnuté" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Veľkosť" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Uploadnuté" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "RX sadzba" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Dolná sadzba" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "TX sadzba" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Horná sadzba" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Zastaviť všetky torrenty a I2P tunel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Zastaviť všetko" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Spustiť všetky zastavené torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Spustiť všetko" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Spustiť všetky torrenty a I2P tunel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Neboli načítané žiadne torrenty." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Súhrny" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -631,7 +631,7 @@ msgstr[0] "1 torrent" msgstr[1] "{0} torrenty" msgstr[2] "{0} torrentov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -639,7 +639,7 @@ msgstr[0] "1 pripojený peer" msgstr[1] "{0} pripojení peerovia" msgstr[2] "{0} pripojených peerov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" @@ -647,203 +647,207 @@ msgstr[0] "1 DHT peer" msgstr[1] "{0} DHT peerovia" msgstr[2] "{0} DHT peerov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Prvé" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Prvá stránka" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Predchádzajúce" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Predchádzajúca stránka" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Nasledujúce" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Nasledujúca stránka" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Posledné" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Posledná stránka" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Neplatná URL: Musí začínať na \"http://\", \"{0}\" alebo \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet bol odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Súbor torrentu bol odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Sťahovanie odstránené: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Dátový súbor bol odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Dátový súbor nemohol byť odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Priečinok nemohol byť odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Priečinok bol odstránený: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Chyba - Nie je možné zahrnúť alternatívne stopovače bez toho primárneho" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Chyba - Nie je možné zmiešať v torrente súkromné aj verejné stopovače" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Pre \"{0}\" bol vytvorený torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Mnoho I2P stopovačov od vás vyžaduje registrovať pred seedovaním nové torrenty - prosím urobte tak pred spustením \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Chyba pri vytváraní torrentu pre \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Nie je možné vytvoriť torrent pre neexistujúce dáta: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Chyba pri vytváraní torrentu - musíte zadať súbor alebo priečinok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Zvolená možnosť odstrániť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Uložiť konfiguráciu stopovača" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Odstránené" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Pridať stopovač" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Zadajte platný názov a URL stopovača" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Obnoviť predvolené nastavenia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Obnoviť predvolené stopovače" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Kontroluje sa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Alokuje sa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Chyba stopovača" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -851,366 +855,366 @@ msgstr[0] "1 peer" msgstr[1] "{0} peerovia" msgstr[2] "{0} peerov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Spúšťa sa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Seeduje sa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Dokončené" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Zablokované" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Žiadni peerovia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Zastavené" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Detaily torrentu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Zobraziť súbory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Otvoriť súbor" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Zastaviť torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Zastaviť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Spustiť torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Spustiť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Odstrániť torrent zo zoznamu aktívnych zmazaním .torrent súboru." #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Ste si istý, že chcete odstrániť súbor \\\"{0}\\\"\n(stiahnuté dáta nebudú odstránené) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Odstrániť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Odstrániť .torrent súbor a aj príslušný dátový súbor(y)" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Ste si istý, že chcete odstrániť torrent \\\"{0}\\\" a s ním aj všetky stiahnuté dáta?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Zmazať" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Neznáme" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Seed" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Nezaujímavý (Peer nemá žiadne kúsky, ktoré potrebujeme)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Zapchaný (Peer nám neumožňuje žiadať o kúsky)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Nezaujímajúci sa (Nemáme žiadne kúsky, ktoré peer potrebuje)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Zapchaný (Neumožňujeme peerovi žiadať o kúsky)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detaily sú v {0} stopovači" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Informácie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Pridať torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Z URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Zadajte URL (iba I2P) pre stiahnutie torrentu, magnetový alebo maggotový link, prípadne info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Pridať torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Môžete tiež skopírovať .torrent súbory do: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Odstránenie .torrent spôsobí jeho zastavenie." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Vytvoriť torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Dáta na seedovanie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Stopovače" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primárne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternatívne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Vytvoriť torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "žiadne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Dátový priečinok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Súbory čitateľné všetkými" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Ak je zaškrtnuté, ostatní užívatelia budú môcť pristupovať k stiahnutým súborom" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Ak je zaškrtnuté, automaticky sa spustia pridané torrenty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Téma" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Čas refreshu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Nikdy" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Zdržanie pri spustení" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minúty" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Veľkosť stránky" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrentov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Celkový limit uploaderov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "peerovia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Limit nárastu šírky pásma" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Odporúča sa polovica dostupnej šírky pásma." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Zobraziť alebo zmeniť šírku pásma routra" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Použiť aj otvorené stopovače" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Ak je zaškrtnuté, otvorené stopovače tak isto ako aj stopovače vypísané v súbore torrentu sa oboznámia so všetkými torrentmi" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Povoliť DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Ak je zaškrtnuté, použije sa DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Nastavenia prichádzajúcich dát" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Nastavenia odchádzajúcich dát" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP host" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP port" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP nastavenia" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Uložiť konfiguráciu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Názov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "URL webovej stránky" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Otvoriť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Súkromné" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Oznámiť URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Pridať" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Neplatná magnetová URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -1218,7 +1222,7 @@ msgstr[0] "1 hop" msgstr[1] "{0} hopy" msgstr[2] "{0} hopov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -1226,119 +1230,119 @@ msgstr[0] "1 tunel" msgstr[1] "{0} tunely" msgstr[2] "{0} tunelov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Súbor torrentu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Primárny stopovač" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Zoznam stopovačov" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Komentár" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Vytvorené" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Vytvorené užívateľom" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnetový link" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Súkromný torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Dokončenie" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Zostávajúce" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Súbory" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Kúsky" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Veľkosť kúsku" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Priečinok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Priorita" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Hore do priečinka vyššej úrovne" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent nenájdený?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Súbor nenájdený v torrente?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "dokončiť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "zostávajúcich" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Vysoká" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normálna" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Preskočiť" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Uložiť priority" diff --git a/apps/i2psnark/locale/messages_sv.po b/apps/i2psnark/locale/messages_sv.po index be594d134e..ec566c4eb5 100644 --- a/apps/i2psnark/locale/messages_sv.po +++ b/apps/i2psnark/locale/messages_sv.po @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-14 08:33+0000\n" -"PO-Revision-Date: 2015-04-09 17:46+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-19 09:58+0000\n" "Last-Translator: cacapo \n" "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/I2P/language/sv_SE/)\n" "MIME-Version: 1.0\n" @@ -33,222 +33,222 @@ msgid "No more torrents running." msgstr "Inga mer torrents kör." #: ../java/src/org/klomp/snark/IdleChecker.java:76 -#: ../java/src/org/klomp/snark/SnarkManager.java:2376 -#: ../java/src/org/klomp/snark/SnarkManager.java:2387 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P-tunneln är stängd." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:2080 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:771 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Gräns för totalt antal uppladdare är bytt till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:773 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Minsta tillåtna gräns för uppladdare är {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:785 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Uppladdningsbandbredd bytt till {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:787 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Minsta uppladdningsbandbredd bytt till {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:799 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "Fördröjning vid uppstart bytt till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:810 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "Uppdateringstiden ändrad till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:812 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "Uppdatering inaktiverad" -#: ../java/src/org/klomp/snark/SnarkManager.java:828 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "Torrentar per sida ändrat till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:837 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "Datamappen måste vara en absolut sökväg" -#: ../java/src/org/klomp/snark/SnarkManager.java:839 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "Datamappen finns ej" -#: ../java/src/org/klomp/snark/SnarkManager.java:841 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "Inte en mapp" -#: ../java/src/org/klomp/snark/SnarkManager.java:843 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "Oläsbar" -#: ../java/src/org/klomp/snark/SnarkManager.java:848 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "Datamappen ändrad till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:903 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I2CP- och tunnelförändringar kommer träda i kraft efter alla torrentar stoppats" -#: ../java/src/org/klomp/snark/SnarkManager.java:907 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "Alternativ för I2CP ändrade till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:913 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "Kopplar ifrån gammal I2CP destination" -#: ../java/src/org/klomp/snark/SnarkManager.java:915 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "Inställningar för I2CP ändrade till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:920 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Misslyckades med anslutningsförsök med nya inställningar, återställer de gamla I2CP inställningarna" -#: ../java/src/org/klomp/snark/SnarkManager.java:924 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "Misslyckades med anslutningsförsök med gamla inställningar!" -#: ../java/src/org/klomp/snark/SnarkManager.java:926 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "Återanslöt mot den nya I2CP destinationen" -#: ../java/src/org/klomp/snark/SnarkManager.java:933 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP-lyssnare omstartad för \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:947 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "Nya filer kommer vara publikt läsbara" -#: ../java/src/org/klomp/snark/SnarkManager.java:949 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "Nya filer kommer inte vara publikt läsbara" -#: ../java/src/org/klomp/snark/SnarkManager.java:956 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "Aktiverade automatisk start" -#: ../java/src/org/klomp/snark/SnarkManager.java:958 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "Inaktiverade automatisk start" -#: ../java/src/org/klomp/snark/SnarkManager.java:964 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Aktiverade publika trackers - torrenten måste startas om för att inställningen ska träda i kraft" -#: ../java/src/org/klomp/snark/SnarkManager.java:966 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Inaktiverade publika trackers - torrenten måste startas om för att inställningen ska träda i kraft" -#: ../java/src/org/klomp/snark/SnarkManager.java:973 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "Aktivera DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:975 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "Inaktiverade DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:977 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "Förändring i DHT kräver att tunneln stängs och öppnas igen " -#: ../java/src/org/klomp/snark/SnarkManager.java:984 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} tema laddat, återgå till huvudvyn för i2psnark." -#: ../java/src/org/klomp/snark/SnarkManager.java:994 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "Inställningar oförändrade." -#: ../java/src/org/klomp/snark/SnarkManager.java:1026 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Listan över publika trackers förändrad - torrenten måste startas om för att inställningen ska träda i kraft" -#: ../java/src/org/klomp/snark/SnarkManager.java:1036 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "Privat trackerlista ändrad - påverkar bara nyligen skapade torrents" -#: ../java/src/org/klomp/snark/SnarkManager.java:1082 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "Misslyckades med att spara inställningar till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1163 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Ansluter till I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1166 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Problem vid anslutning till I2P - kontrollera dina inställningar för I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1175 -#: ../java/src/org/klomp/snark/SnarkManager.java:2117 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Problem: Kunde inte lägga till torrent {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1198 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "Kan inte öppna \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1217 -#: ../java/src/org/klomp/snark/SnarkManager.java:1342 -#: ../java/src/org/klomp/snark/SnarkManager.java:1430 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Torrent med denna infohash körs redan: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1223 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "FEL - Inga I2P trackers i den privata torrenten \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1225 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "Varning - Ingen I2P tracker i \"{0}\", kommer enbart att annonsera till publika I2P trackers och DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1228 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "Varning - Ingen I2P tracker i \"{0}\" och publika trackers är inaktiverade, kommer enbart att annonsera till DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1230 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -256,34 +256,34 @@ msgid "" "torrent." msgstr "Varning - Ingen I2P tracker i \"{0}\" och både DHT och publika trackers är inaktiverade, du bör aktivera publika trackers eller DHT innan du startar torrenten. " -#: ../java/src/org/klomp/snark/SnarkManager.java:1256 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Torrent i \"{0}\" är ogiltig" -#: ../java/src/org/klomp/snark/SnarkManager.java:1263 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "FEL - Minnet har tagit slut, kan inte skapa torrent från {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1275 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Torrent tillagd och startad: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1277 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Torrent tillagd: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1353 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "Hämtar {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1359 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -291,128 +291,128 @@ msgid "" "DHT." msgstr "Publika trackers är inaktiverade och vi har inga DHT klienter. Hämtningen av {0} kan kanske inte genomföras innan du startar en annan torrent eller aktiverar publika trackers eller DHT." -#: ../java/src/org/klomp/snark/SnarkManager.java:1363 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "Lägger till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1396 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "Hämtar redan: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1440 -#: ../java/src/org/klomp/snark/SnarkManager.java:1466 -#: ../java/src/org/klomp/snark/SnarkManager.java:2036 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "Misslyckades att kopiera torrentfil till {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1815 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "För många filer i \"{0}\" ({1}), tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1817 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Torrenten \"{0}\" får inte sluta med \".torrent\", tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1819 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "Inga delar i \"{0}\", tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1821 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "För många delar i \"{0}\", gränsen är {1}, tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1823 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "För stora delar i \"{0}\" ({1}B), tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "Gränsen är {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1826 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "Torrenten \"{0}\" har ingen data, tar bort den!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1834 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Torrentar större än {0}B stöds inte än, tar bort \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1851 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Fel: Kunde ej ta bort torrenten {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1874 -#: ../java/src/org/klomp/snark/SnarkManager.java:1893 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Torrent stannad: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1913 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Torrent borttagen: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1921 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "Lägger till torrentar i {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1953 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "Upp bandbredds gräns är {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:1979 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "Hämtning klar: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2032 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "Metainfo mottagen för {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2033 -#: ../java/src/org/klomp/snark/SnarkManager.java:2264 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "Startar torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2048 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "Fel på torrent {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:2111 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "Misslyckades med att ansluta till I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:2263 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "Öppnar I2P tunneln" -#: ../java/src/org/klomp/snark/SnarkManager.java:2287 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Öppnar I2P-tunneln och startar torrentar." -#: ../java/src/org/klomp/snark/SnarkManager.java:2350 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Stoppar alla torrentar och stänger I2P-tunneln." -#: ../java/src/org/klomp/snark/SnarkManager.java:2369 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "Stänger I2P tunnel efter att ha meddelat trackers." @@ -464,14 +464,14 @@ msgstr "Torrent vid {0} var inte giltig" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1751 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2650 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2137 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Inställningar" @@ -504,844 +504,848 @@ msgid "clear messages" msgstr "rensa meddelandena" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Status" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2941 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "Sortera efter{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "Dölj klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "Visa klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2636 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "Torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "Filtyp" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "Förväntas klar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "Uppskattad återstående tid" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "RX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Hämtade" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2806 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Storlek" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "TX" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2824 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "Upload ratio" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Uppladdat" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "RX Rate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "Nerhastighet" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "TX Rate" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "Upphastighet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "Stoppa alla torrents och I2P-tunneln" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "Stoppa alla" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "Starta alla stannade torrentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "Starta alla" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "Starta alla torrents och I2P-tunneln" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "Inga torrents laddade." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Totalt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "1 torrent" msgstr[1] "{0} torrentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "1 ansluten klient" msgstr[1] "{0} anslutna klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "1 DHT klient" msgstr[1] "{0} DHT klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "Destination" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "Första" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "Första sidan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "Bakåt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "Föregående sida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "Nästa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "Nästa sida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "Sista" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "Sista sidan" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "Data directory kan inte skapas" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1164 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "Kan inte lägga till torrent{0} inuti annan torrent:{1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "Ogiltig adress: Måste inledas med \"http://\", \"{0}\" eller \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet borttagen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "Torrentfil borttagen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "Hämtning borttagen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "Datafil borttagen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1060 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1069 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Datafil kunde inte tas bort: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "Katalogen kunde inta tas bort: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "Katalogen bort tagen: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1143 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "Kan inte lägga till en torrent som slutar på \".torrent\":{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "Torrent med detta namn kör redan: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1154 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "Kan inte lägga till en torrent som inkluderar en I2P directory:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "Kan inte lägga till en torrent{0} som inkluderar en annan torrent{1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "Fel - Kan inte inkludera alternativa trackers utan en primär tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "Fel - Kan inte blanda privata och publika trackers i samma torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1230 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Torrent skapad för \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "Många I2P trackers kräver att du registrerar nya torrentar innan uppladdningen påbörjas - gör det innan \"{0}\" startas" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1234 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Misslyckades med att skapa torrent för \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1238 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Kan ej skapa torrent för data som ej finns: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "Misslyckades med att skapa torrent - en fil eller mapp måste anges" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1272 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "Ta bort valda" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1272 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "Spara tracker konfiguration" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1289 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "Borttagen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1321 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2395 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "Lägg till tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1344 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1347 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "Ange giltigt namn och adresser för trackern " #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1349 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2398 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "Återställ standardvärden" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1352 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "Återställ standard trackers " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "Kontrollerar " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "Allokerar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1478 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Trackerfel" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1526 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1531 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1537 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1542 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "1 klient" msgstr[1] "{0} klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "Startar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "Uppladdning" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1518 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2819 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3035 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Färdig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1523 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "Ok" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Avstannad" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "Inga klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Stoppad" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1581 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "Torrentdetaljer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Se filer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1618 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Öppna fil" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1670 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "Stoppa torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1672 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Stoppa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "Starta torrenten" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Starta" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1700 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Ta bort torrenten från den aktiva listan, tar bort .torrent filen" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1705 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "Är du säker på att du vill radera filen \\''{0}\\' (hämtad data kommer ej raderas) ?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1709 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Ta bort" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Ta bort .torrent filen och tillhörande datafil(er)" #. 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 quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1727 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "Är du säker på att du vill ta bort torrenten \"{0}\" och all hämtad data?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1731 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Ta bort" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1767 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Okänd" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "Källa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1802 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Ointressant (klienten har inga delar vi behöver)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1804 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Strypt (klienten låter oss inte be om delar)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1824 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Ointresserad (vi har inga delar klienten behöver)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1826 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Stryper (vi låter inte klienten be om delar)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1942 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Detaljer för {0} tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1959 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Info" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2032 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "Lägg till torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2035 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "Adress" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2038 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "Ange torrentfilens adress (enbart I2P), magnet-länk, maggot-länk eller infohash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "Lägg till torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "Data dir" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "Ange katalogen att spara datan i (förval {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2054 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Du kan även kopiera .torrent filer till: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2056 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "Borttagning av .torrent fil kommer stanna den." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2069 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "Skapa torrent" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "Data att ladda upp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2076 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "Fil eller katalog att seeda (fullständig sökväg eller inom katalog {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2079 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2325 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "Primär" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2083 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "Alternativ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2086 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "Skapa torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2104 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "inga" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2141 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "Datamapp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2146 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "Filer läsbara för alla" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2150 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "Välj detta för att ge andra användare tillgång till hämtade filer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2154 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "Starta torrents automatiskt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "Välj detta för att automatiskt starta tillagda torrentfiler" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "Tema" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2176 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "Uppdateringsintervall" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2189 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "Aldrig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "Fördröjning av uppstart" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2197 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "minuter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "Per sida" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2203 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "torrentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2227 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "Gräns för totalt antal uppladdare" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2230 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "klienter" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2234 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Gräns för bandbredd uppåt" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "Hälften av tillgänglig bandbredd rekommenderas." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "Se eller ändra routerns bandbredd" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2243 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "Använd också publika trackers" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2247 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "Välj detta för att annonsera torrentar till publika trackers såväl som de listade i torrentfilen" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "Aktivera DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "Välj detta för att använda DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2271 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "Inställningar för inkommande" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2277 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "Inställningar för utgående" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2285 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP-värd" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2290 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP-port" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2305 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "Alternativ för I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2310 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Spara inställningar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "Namn" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "Webbplatsadress" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "Standard" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Publik" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "Privat" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2340 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "Annonseringsadress" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2384 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "Lägg till" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2427 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "Ogiltig magnet-adress {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2435 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "1 hopp" msgstr[1] "{0} hopp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2436 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "1 tunnel" msgstr[1] "{0} tunnlar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2679 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrentfil" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "Plats för data" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2696 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "Info hash" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2715 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "Primär tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2724 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Trackerlista" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2749 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "Kommentar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2759 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "Skapad" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2770 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "Skapad av" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnet länk" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2795 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "Privat torrent" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2815 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "Färdigställning" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2844 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "Kvar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Filer" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2861 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Delar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2867 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Delstorlek" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2921 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Mapp" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Prioritet" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "Upp till högre mappnivå" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "Torrent hittades ej?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3032 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "Fil hittades ej i torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3045 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "färdig" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "kvar" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3092 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Hög" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3097 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Normal" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3102 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Hoppa över" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "Sätt alla höga" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "Sätt alla normala" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3116 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "Hoppa över alla" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3117 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "Spara prioriteter" diff --git a/apps/i2psnark/locale/messages_vi.po b/apps/i2psnark/locale/messages_vi.po index 261b49889c..d7d0e8067c 100644 --- a/apps/i2psnark/locale/messages_vi.po +++ b/apps/i2psnark/locale/messages_vi.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-19 21:48+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 01:32+0000\n" "Last-Translator: kytv \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/I2P/language/vi/)\n" "MIME-Version: 1.0\n" @@ -19,227 +19,227 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "Đường hầm I2P đóng lại." #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Giới hạn băng thông lên đổi thành {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Tối thiểu băng thông lên là {0}KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "Nối kết vào I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -247,34 +247,34 @@ msgid "" "torrent." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -282,132 +282,132 @@ msgid "" "DHT." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "" @@ -455,14 +455,14 @@ msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "Cấu hình" @@ -495,838 +495,842 @@ msgid "clear messages" msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "Tình trạng" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "Đã tải xuống" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "Kích thước" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "Đã tải lên" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "Tổng cộng" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "Hoàn tất" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" msgstr "OK" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "Khựng" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "Ngưng" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "Xem tập tin" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "Mở tập tin" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "Ngưng" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "Bắt đầu" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "Bỏ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "Xóa" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "Không rõ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "Thông tin" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 msgid "Removing a .torrent will cause it to stop." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "phút" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "Giới hạn băng thông lên" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "Lưu cấu hình" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "Mở" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "Tập tin" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "Mảnh" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "Kích thước mảnh" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "Danh mục" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "Ưu tiên" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "hoàn tất" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "Cao" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "Thường" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "Lờ" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "" diff --git a/apps/i2psnark/locale/messages_zh.po b/apps/i2psnark/locale/messages_zh.po index 2a812a8d25..cb4216a405 100644 --- a/apps/i2psnark/locale/messages_zh.po +++ b/apps/i2psnark/locale/messages_zh.po @@ -8,13 +8,13 @@ # foo , 2009 # walking , 2013 # wwj402 , 2013 -# YF , 2014 +# YF , 2014-2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-11-19 21:48+0000\n" -"PO-Revision-Date: 2014-11-20 07:17+0000\n" +"POT-Creation-Date: 2015-07-17 01:09+0000\n" +"PO-Revision-Date: 2015-07-17 03:01+0000\n" "Last-Translator: YF \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/I2P/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -23,227 +23,227 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../java/src/org/klomp/snark/IdleChecker.java:69 +#: ../java/src/org/klomp/snark/IdleChecker.java:75 msgid "No more torrents running." msgstr "没有更多种子正在运行。" -#: ../java/src/org/klomp/snark/IdleChecker.java:70 -#: ../java/src/org/klomp/snark/SnarkManager.java:2283 -#: ../java/src/org/klomp/snark/SnarkManager.java:2294 +#: ../java/src/org/klomp/snark/IdleChecker.java:76 +#: ../java/src/org/klomp/snark/SnarkManager.java:2392 +#: ../java/src/org/klomp/snark/SnarkManager.java:2403 msgid "I2P tunnel closed." msgstr "I2P隧道已关闭" #: ../java/src/org/klomp/snark/MagnetURI.java:42 #: ../java/src/org/klomp/snark/MagnetURI.java:52 -#: ../java/src/org/klomp/snark/SnarkManager.java:1987 +#: ../java/src/org/klomp/snark/SnarkManager.java:2096 msgid "Magnet" msgstr "Magnet" -#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:772 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "总上传种子数限制已更新为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:774 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "最低上传种子数限制为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:763 +#: ../java/src/org/klomp/snark/SnarkManager.java:786 #, java-format msgid "Up BW limit changed to {0}KBps" -msgstr "上传带宽限制改为 {0} KBps" +msgstr "上传带宽限制改为 {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:765 +#: ../java/src/org/klomp/snark/SnarkManager.java:788 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" -msgstr "最小上传带宽限制为 {0} KBps" +msgstr "最小上传带宽限制为 {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:777 +#: ../java/src/org/klomp/snark/SnarkManager.java:800 #, java-format msgid "Startup delay changed to {0}" msgstr "下载前的延迟已更新为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:788 +#: ../java/src/org/klomp/snark/SnarkManager.java:811 #, java-format msgid "Refresh time changed to {0}" msgstr "刷新时间更新为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:790 +#: ../java/src/org/klomp/snark/SnarkManager.java:813 msgid "Refresh disabled" msgstr "刷新已禁用" -#: ../java/src/org/klomp/snark/SnarkManager.java:806 +#: ../java/src/org/klomp/snark/SnarkManager.java:829 #, java-format msgid "Page size changed to {0}" msgstr "页面容量更新为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:815 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Data directory must be an absolute path" msgstr "数据存放目录必须是绝对路径" -#: ../java/src/org/klomp/snark/SnarkManager.java:817 +#: ../java/src/org/klomp/snark/SnarkManager.java:840 msgid "Data directory does not exist" msgstr "数据存放目录不存在" -#: ../java/src/org/klomp/snark/SnarkManager.java:819 +#: ../java/src/org/klomp/snark/SnarkManager.java:842 msgid "Not a directory" msgstr "不是文件夹" -#: ../java/src/org/klomp/snark/SnarkManager.java:821 +#: ../java/src/org/klomp/snark/SnarkManager.java:844 msgid "Unreadable" msgstr "不可读" -#: ../java/src/org/klomp/snark/SnarkManager.java:826 +#: ../java/src/org/klomp/snark/SnarkManager.java:849 #, java-format msgid "Data directory changed to {0}" msgstr "数据存放目录更新至{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:881 +#: ../java/src/org/klomp/snark/SnarkManager.java:904 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "I2CP与隧道设置的变化在所有种子停止后才能生效" -#: ../java/src/org/klomp/snark/SnarkManager.java:885 +#: ../java/src/org/klomp/snark/SnarkManager.java:908 #, java-format msgid "I2CP options changed to {0}" msgstr "I2CP 选项改为 {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:891 +#: ../java/src/org/klomp/snark/SnarkManager.java:914 msgid "Disconnecting old I2CP destination" msgstr "正在断开旧的I2CP目标" -#: ../java/src/org/klomp/snark/SnarkManager.java:893 +#: ../java/src/org/klomp/snark/SnarkManager.java:916 #, java-format msgid "I2CP settings changed to {0}" msgstr "I2CP设置改为{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:898 +#: ../java/src/org/klomp/snark/SnarkManager.java:921 msgid "" "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "无法通过新设置连接,恢复I2CP的旧设置" -#: ../java/src/org/klomp/snark/SnarkManager.java:902 +#: ../java/src/org/klomp/snark/SnarkManager.java:925 msgid "Unable to reconnect with the old settings!" msgstr "旧设置也无法连接!" -#: ../java/src/org/klomp/snark/SnarkManager.java:904 +#: ../java/src/org/klomp/snark/SnarkManager.java:927 msgid "Reconnected on the new I2CP destination" msgstr "重新连接新I2CP目标" -#: ../java/src/org/klomp/snark/SnarkManager.java:911 +#: ../java/src/org/klomp/snark/SnarkManager.java:934 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "\"{0}\"的I2CP监听端口已启动" -#: ../java/src/org/klomp/snark/SnarkManager.java:925 +#: ../java/src/org/klomp/snark/SnarkManager.java:948 msgid "New files will be publicly readable" msgstr "新文件将对公共可读" -#: ../java/src/org/klomp/snark/SnarkManager.java:927 +#: ../java/src/org/klomp/snark/SnarkManager.java:950 msgid "New files will not be publicly readable" msgstr "新文件不会对公共可读" -#: ../java/src/org/klomp/snark/SnarkManager.java:934 +#: ../java/src/org/klomp/snark/SnarkManager.java:957 msgid "Enabled autostart" msgstr "启用自动启动" -#: ../java/src/org/klomp/snark/SnarkManager.java:936 +#: ../java/src/org/klomp/snark/SnarkManager.java:959 msgid "Disabled autostart" msgstr "禁用自动启动" -#: ../java/src/org/klomp/snark/SnarkManager.java:942 +#: ../java/src/org/klomp/snark/SnarkManager.java:965 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "启用OpenTracker-重新启动种子后生效" -#: ../java/src/org/klomp/snark/SnarkManager.java:944 +#: ../java/src/org/klomp/snark/SnarkManager.java:967 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "禁用OpenTracker - 重新启动种子后生效" -#: ../java/src/org/klomp/snark/SnarkManager.java:951 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 msgid "Enabled DHT." msgstr "DHT 已启用" -#: ../java/src/org/klomp/snark/SnarkManager.java:953 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 msgid "Disabled DHT." msgstr "DHT 已禁用" -#: ../java/src/org/klomp/snark/SnarkManager.java:955 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 msgid "DHT change requires tunnel shutdown and reopen" msgstr "DHT 修改生效需要关闭或重启。" -#: ../java/src/org/klomp/snark/SnarkManager.java:962 +#: ../java/src/org/klomp/snark/SnarkManager.java:985 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} 主题已加载,浏览效果请到 i2psnark 主页。" -#: ../java/src/org/klomp/snark/SnarkManager.java:972 +#: ../java/src/org/klomp/snark/SnarkManager.java:995 msgid "Configuration unchanged." msgstr "设置未改变" -#: ../java/src/org/klomp/snark/SnarkManager.java:1004 +#: ../java/src/org/klomp/snark/SnarkManager.java:1027 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "OpenTracker列表已改变 - 重新启动种子后生效" -#: ../java/src/org/klomp/snark/SnarkManager.java:1014 +#: ../java/src/org/klomp/snark/SnarkManager.java:1037 msgid "Private tracker list changed - affects newly created torrents only." msgstr "PT 列表已更改 - 仅对新创建的种子有效" -#: ../java/src/org/klomp/snark/SnarkManager.java:1060 +#: ../java/src/org/klomp/snark/SnarkManager.java:1083 #, java-format msgid "Unable to save the config to {0}" msgstr "无法保存设置到{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1141 +#: ../java/src/org/klomp/snark/SnarkManager.java:1164 msgid "Connecting to I2P" msgstr "正在连接到I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:1144 +#: ../java/src/org/klomp/snark/SnarkManager.java:1167 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "连接I2P时发生错误 - 请检查I2CP设置!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1153 -#: ../java/src/org/klomp/snark/SnarkManager.java:2024 +#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:2133 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "错误:无法添加种子{0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:1176 +#: ../java/src/org/klomp/snark/SnarkManager.java:1199 #, java-format msgid "Cannot open \"{0}\"" msgstr "无法打开 \"{0}\"" #. TODO - if the existing one is a magnet, delete it and add the metainfo #. instead? -#: ../java/src/org/klomp/snark/SnarkManager.java:1195 -#: ../java/src/org/klomp/snark/SnarkManager.java:1320 -#: ../java/src/org/klomp/snark/SnarkManager.java:1407 +#: ../java/src/org/klomp/snark/SnarkManager.java:1218 +#: ../java/src/org/klomp/snark/SnarkManager.java:1352 +#: ../java/src/org/klomp/snark/SnarkManager.java:1440 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:166 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "具有相同Hash链接的种子已在下载中:{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1201 +#: ../java/src/org/klomp/snark/SnarkManager.java:1224 #, java-format msgid "ERROR - No I2P trackers in private torrent \"{0}\"" msgstr "错误 - 私有种子\"{0}\"中缺少 I2P Tracker" -#: ../java/src/org/klomp/snark/SnarkManager.java:1203 +#: ../java/src/org/klomp/snark/SnarkManager.java:1226 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and" " DHT only." msgstr "警告 - \"{0}\"中缺少 I2P Tracker,程序将仅通过 I2P 中的开放式 Tracker 和 DHT 下载。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1206 +#: ../java/src/org/klomp/snark/SnarkManager.java:1229 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will " "announce to DHT only." msgstr "警告 - \"{0}\"中缺少 I2P Tracker,已禁用 I2P Open Tracker,程序将仅通过 DHT 下载。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1208 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "" "Warning - No I2P trackers in \"{0}\", and DHT and open trackers are " @@ -251,34 +251,34 @@ msgid "" "torrent." msgstr "警告 - \"{0}\"中缺少 I2P Tracker,已禁用 I2P Open Tracker 和 DHT,下载先您需要先启用 OpenTracker 或 DHT 。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1234 +#: ../java/src/org/klomp/snark/SnarkManager.java:1257 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "无效种子 \"{0}\" " -#: ../java/src/org/klomp/snark/SnarkManager.java:1241 +#: ../java/src/org/klomp/snark/SnarkManager.java:1264 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:193 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "错误: 内存不足,无法为 {0} 创建种子。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1253 +#: ../java/src/org/klomp/snark/SnarkManager.java:1285 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "已添加并启动种子:\"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1255 +#: ../java/src/org/klomp/snark/SnarkManager.java:1287 #, java-format msgid "Torrent added: \"{0}\"" msgstr "已添加种子:\"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1331 +#: ../java/src/org/klomp/snark/SnarkManager.java:1363 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:93 #, java-format msgid "Fetching {0}" msgstr "正在获取{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1337 +#: ../java/src/org/klomp/snark/SnarkManager.java:1369 #, java-format msgid "" "Open trackers are disabled and we have no DHT peers. Fetch of {0} may not " @@ -286,132 +286,132 @@ msgid "" "DHT." msgstr "OpenTracker被禁用,程序目前没有DHT节点。{0}的下载不会成功,直到您启动另一个种子的下载、重新启用OpenTracker或DHT。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1341 +#: ../java/src/org/klomp/snark/SnarkManager.java:1373 #, java-format msgid "Adding {0}" msgstr "正在添加{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1373 +#: ../java/src/org/klomp/snark/SnarkManager.java:1406 #, java-format msgid "Download already running: {0}" msgstr "已经在下载中:{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1417 -#: ../java/src/org/klomp/snark/SnarkManager.java:1443 -#: ../java/src/org/klomp/snark/SnarkManager.java:1943 +#: ../java/src/org/klomp/snark/SnarkManager.java:1451 +#: ../java/src/org/klomp/snark/SnarkManager.java:1477 +#: ../java/src/org/klomp/snark/SnarkManager.java:2052 #, java-format msgid "Failed to copy torrent file to {0}" msgstr "无法复制种子文件到{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1729 +#: ../java/src/org/klomp/snark/SnarkManager.java:1828 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "\"{0}\" ({1}) 含有太多文件,删除之!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1731 +#: ../java/src/org/klomp/snark/SnarkManager.java:1830 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "种子文件 \"{0}\" 不以 \".torrent\"结尾,正在删除!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1733 +#: ../java/src/org/klomp/snark/SnarkManager.java:1832 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "\"{0}\" 中没有数据片,删除之!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1735 +#: ../java/src/org/klomp/snark/SnarkManager.java:1834 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "\"{0}\" 中文件分片太多,限额为{1},删除之!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1737 +#: ../java/src/org/klomp/snark/SnarkManager.java:1836 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "\"{0}\" ({1}B) 中文件分片过大,删除之。" -#: ../java/src/org/klomp/snark/SnarkManager.java:1738 +#: ../java/src/org/klomp/snark/SnarkManager.java:1837 #, java-format msgid "Limit is {0}B" msgstr "限额为 {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:1740 +#: ../java/src/org/klomp/snark/SnarkManager.java:1839 #, java-format msgid "Torrent \"{0}\" has no data, deleting it!" msgstr "种子\"{0}\"中无数据,正在删除!" -#: ../java/src/org/klomp/snark/SnarkManager.java:1748 +#: ../java/src/org/klomp/snark/SnarkManager.java:1847 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "目前不支持大于{0}B 的种子,正在删除\"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1764 +#: ../java/src/org/klomp/snark/SnarkManager.java:1864 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "错误:无法删除种子{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1785 -#: ../java/src/org/klomp/snark/SnarkManager.java:1803 +#: ../java/src/org/klomp/snark/SnarkManager.java:1887 +#: ../java/src/org/klomp/snark/SnarkManager.java:1906 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "种子已停止:\"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1824 +#: ../java/src/org/klomp/snark/SnarkManager.java:1926 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "种子已删除:\"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:1832 +#: ../java/src/org/klomp/snark/SnarkManager.java:1934 #, java-format msgid "Adding torrents in {0}" msgstr "{0} 分钟内完成添加" -#: ../java/src/org/klomp/snark/SnarkManager.java:1863 +#: ../java/src/org/klomp/snark/SnarkManager.java:1966 #, java-format msgid "Up bandwidth limit is {0} KBps" -msgstr "最小上传带宽限制为 {0} KBps" +msgstr "上传带宽限制为 {0} KB/s" -#: ../java/src/org/klomp/snark/SnarkManager.java:1886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1993 #, java-format msgid "Download finished: {0}" msgstr "下载已完成: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1939 +#: ../java/src/org/klomp/snark/SnarkManager.java:2048 #, java-format msgid "Metainfo received for {0}" msgstr "已获得 {0} 的 Metainfo" -#: ../java/src/org/klomp/snark/SnarkManager.java:1940 -#: ../java/src/org/klomp/snark/SnarkManager.java:2171 +#: ../java/src/org/klomp/snark/SnarkManager.java:2049 +#: ../java/src/org/klomp/snark/SnarkManager.java:2280 #, java-format msgid "Starting up torrent {0}" msgstr "正在启动种子{0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:1955 +#: ../java/src/org/klomp/snark/SnarkManager.java:2064 #, java-format msgid "Error on torrent {0}" msgstr "种子 {0} 发生错误" -#: ../java/src/org/klomp/snark/SnarkManager.java:2018 +#: ../java/src/org/klomp/snark/SnarkManager.java:2127 msgid "Unable to connect to I2P!" msgstr "无法连接至I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:2170 +#: ../java/src/org/klomp/snark/SnarkManager.java:2279 #: ../java/src/org/klomp/snark/web/FetchAndAdd.java:130 msgid "Opening the I2P tunnel" msgstr "正在建立 I2P 隧道" -#: ../java/src/org/klomp/snark/SnarkManager.java:2194 +#: ../java/src/org/klomp/snark/SnarkManager.java:2303 msgid "Opening the I2P tunnel and starting all torrents." msgstr "正在打开I2P隧道并启动所有种子" -#: ../java/src/org/klomp/snark/SnarkManager.java:2257 +#: ../java/src/org/klomp/snark/SnarkManager.java:2366 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "正在停用所有种子并关闭I2P隧道。" -#: ../java/src/org/klomp/snark/SnarkManager.java:2276 +#: ../java/src/org/klomp/snark/SnarkManager.java:2385 msgid "Closing I2P tunnel after notifying trackers." msgstr "正在关闭 I2P 隧道,已通知 Tracker。" -#: ../java/src/org/klomp/snark/TrackerClient.java:240 +#: ../java/src/org/klomp/snark/TrackerClient.java:245 #, java-format msgid "No valid trackers for {0} - enable opentrackers or DHT?" msgstr "{0} 中 Tracker 无效 - 要启用 opentrackers 或 DHT 吗?" @@ -459,14 +459,14 @@ msgstr "{0}的种子中有错误" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:268 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:311 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2662 msgid "I2PSnark" msgstr "I2PSnark" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2136 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2149 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2422 msgid "Configuration" msgstr "设置" @@ -499,838 +499,842 @@ msgid "clear messages" msgstr "清除消息" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:449 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2966 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 msgid "Status" msgstr "状态" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2956 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2994 #, java-format msgid "Sort by {0}" msgstr "排序按 {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:461 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462 msgid "Hide Peers" msgstr "隐藏用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:468 msgid "Show Peers" msgstr "显示用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2634 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:491 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2648 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2681 msgid "Torrent" msgstr "种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "File type" msgstr "文件类型" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 msgid "ETA" msgstr "预计剩余时间" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:511 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512 msgid "Estimated time remaining" msgstr "预计剩余时间" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 msgid "RX" msgstr "已接收" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:538 msgid "Downloaded" msgstr "已下载" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2804 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 msgid "Size" msgstr "大小" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:565 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:566 msgid "TX" msgstr "已发送" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2822 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2836 msgid "Upload ratio" msgstr "上传率" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:567 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:568 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:569 msgid "Uploaded" msgstr "已上传" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:581 msgid "RX Rate" msgstr "接收速度" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 msgid "Down Rate" msgstr "下载速度" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:596 msgid "TX Rate" msgstr "发送速度" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:597 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:598 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:599 msgid "Up Rate" msgstr "上传速度" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:615 msgid "Stop all torrents and the I2P tunnel" msgstr "停止全部种子及I2P隧道" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617 msgid "Stop All" msgstr "停止全部" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:629 msgid "Start all stopped torrents" msgstr "启动所有已停止的种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645 msgid "Start All" msgstr "启动全部" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643 msgid "Start all torrents and the I2P tunnel" msgstr "启动全部种子及I2P隧道" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:668 msgid "No torrents loaded." msgstr "未载入任何种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:673 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674 msgid "Totals" msgstr "总计" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:675 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" msgstr[0] "{0}个种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" msgstr[0] "{0}个已连接用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688 #, java-format msgid "1 DHT peer" msgid_plural "{0} DHT peers" msgstr[0] "{0}个DHT节点" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:695 +msgid "Dest" +msgstr "目标" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First" msgstr "首页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "First page" msgstr "第一页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Prev" msgstr "前页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 msgid "Previous page" msgstr "上一页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next" msgstr "下页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866 msgid "Next page" msgstr "下一页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last" msgstr "末页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:862 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:874 msgid "Last page" msgstr "最后一页" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:960 msgid "Data directory cannot be created" msgstr "无法创建数据目录" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1163 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1176 #, java-format msgid "Cannot add torrent {0} inside another torrent: {1}" msgstr "无法添加内含另一个种子的种子 {0}:{1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:973 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" msgstr "无效链接 - 链接必须以“http://”,“{0}”或“{1}”开头" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 #, java-format msgid "Magnet deleted: {0}" msgstr "Magnet 已删除:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1061 #, java-format msgid "Torrent file deleted: {0}" msgstr "种子文件已删除:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053 #, java-format msgid "Download deleted: {0}" msgstr "下载已删除: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070 #, java-format msgid "Data file deleted: {0}" msgstr "数据文件已删除:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081 #, java-format msgid "Data file could not be deleted: {0}" msgstr "无法删除数据文件:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1084 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 #, java-format msgid "Directory could not be deleted: {0}" msgstr "无法删除目录:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1104 #, java-format msgid "Directory deleted: {0}" msgstr "目录已经删除: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Cannot add a torrent ending in \".torrent\": {0}" msgstr "无法添加一个以 \".torrent\" 结尾的种子: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160 #, java-format msgid "Torrent with this name is already running: {0}" msgstr "此名称的种子已在运行:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1153 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1166 #, java-format msgid "Cannot add a torrent including an I2P directory: {0}" msgstr "无法添加包含一个 I2P 目录的种子:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181 #, java-format msgid "Cannot add torrent {0} including another torrent: {1}" msgstr "无法添加包含另一个种子的种子 {0}:{1}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 msgid "Error - Cannot include alternate trackers without a primary tracker" msgstr "错误 - 缺少主Tracker则无法添加替换Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220 msgid "Error - Cannot mix private and public trackers in a torrent" msgstr "错误 - PT和公共Tracker无法在同一种子中混用。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 #, java-format msgid "Torrent created for \"{0}\"" msgstr "种子创建成功\"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 #, java-format msgid "" "Many I2P trackers require you to register new torrents before seeding - " "please do so before starting \"{0}\"" msgstr "多数I2PTracker需要用户在做种前注册新种子 - 请在启动 \"{0}\"前到所使用的Tracker进行注册。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1246 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "创建种子时发生错误 \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1250 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "无法为不存在的数据文件创建种子:{0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "Error creating torrent - you must enter a file or directory" msgstr "创建种子时发生错误 - 必须指定文件或文件夹" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2392 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2406 msgid "Delete selected" msgstr "删除选中项目" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2408 msgid "Save tracker configuration" msgstr "保存 Tracker 设置" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Removed" msgstr "已删除" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2391 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2405 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2407 msgid "Add tracker" msgstr "添加 Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Enter valid tracker name and URLs" msgstr "请输入有效的 Tracker 名称与链接" #. "\n" + -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 +#. value=\"").append(_t("Cancel")).append("\">\n" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1361 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410 msgid "Restore defaults" msgstr "恢复默认值" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364 msgid "Restored default trackers" msgstr "恢复默认 Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1473 msgid "Checking" msgstr "正在检查" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1462 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1463 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1475 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 msgid "Allocating" msgstr "正在分配空间" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1477 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1499 msgid "Tracker Error" msgstr "Tracker错误" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1525 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1554 #, java-format msgid "1 peer" msgid_plural "{0} peers" msgstr[0] "{0}个用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1490 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503 msgid "Starting" msgstr "正在启动" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511 msgid "Seeding" msgstr "正做种" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1516 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2817 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1515 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1529 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2831 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3047 msgid "Complete" msgstr "完成" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1521 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1527 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1534 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541 msgid "OK" -msgstr "确定" +msgstr "正常" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1538 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1546 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1552 msgid "Stalled" msgstr "等待" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1556 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1560 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561 msgid "No Peers" msgstr "没有用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1550 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1563 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1564 msgid "Stopped" msgstr "已停用" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593 msgid "Torrent details" msgstr "种子详情" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1615 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1628 msgid "View files" msgstr "浏览文件" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1617 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630 msgid "Open file" msgstr "打开文件" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682 msgid "Stop the torrent" msgstr "停止种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 msgid "Stop" msgstr "停止" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697 msgid "Start the torrent" msgstr "启动种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 msgid "Start" msgstr "启动" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "取消下载任务并删除对应种子文件。" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1704 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717 #, java-format msgid "" "Are you sure you want to delete the file \\''{0}\\'' (downloaded data will " "not be deleted) ?" msgstr "你确定你要删除文件 \\“{0} \\” (下载的数据不会被删除)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 msgid "Remove" msgstr "移除" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1734 msgid "Delete the .torrent file and the associated data file(s)" msgstr "删除种子及所下载的文件" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quote must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1739 #, java-format msgid "" "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded " "data?" msgstr "您确定要删除种子“{0}”(下载的数据文件会一并被删除)?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1743 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2364 msgid "Delete" msgstr "删除" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1779 msgid "Unknown" msgstr "未知" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1778 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1791 msgid "Seed" msgstr "种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1814 msgid "Uninteresting (The peer has no pieces we need)" msgstr "无需要部分" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "拒绝请求" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1823 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1836 msgid "Uninterested (We have no pieces the peer needs)" msgstr "无需要部分" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "拒绝请求" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format msgid "Details at {0} tracker" msgstr "Tracker {0} 上的详细信息" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 msgid "Info" msgstr "信息" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2044 msgid "Add Torrent" msgstr "添加种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2047 msgid "From URL" msgstr "从URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2050 msgid "" "Enter the torrent file download URL (I2P only), magnet link, maggot link, or" " info hash" msgstr "输入种子文件的下载链接(仅支持I2P内网链接),magnet, maggot 链接或信息散列值" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2042 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 msgid "Add torrent" msgstr "添加种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2059 msgid "Data dir" msgstr "数据目录" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2049 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062 #, java-format msgid "Enter the directory to save the data in (default {0})" msgstr "请输入保存数据的目录(默认 {0})" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2053 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2066 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "您也可以将.torrent文件复制到: {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055 -msgid "Removing a .torrent will cause it to stop." -msgstr "删除种子文件将导致该下载任务中止。" - #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068 +msgid "Removing a .torrent will cause it to stop." +msgstr "移除一个种子文件 (.torrent) 将导致它中止。" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2081 msgid "Create Torrent" msgstr "创建种子" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2084 msgid "Data to seed" msgstr "做种数据" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2075 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2088 #, java-format msgid "File or directory to seed (full path or within the directory {0} )" msgstr "要做种的文件或目录(完整路径或包含在 {0} 目录中)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2078 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2323 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2091 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2337 msgid "Trackers" msgstr "Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2093 msgid "Primary" msgstr "主 Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2082 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095 msgid "Alternates" msgstr "备选 Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2085 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2098 msgid "Create torrent" msgstr "创建种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116 msgid "none" msgstr "无" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153 msgid "Data directory" msgstr "数据文件夹" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2144 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2158 msgid "Files readable by all" msgstr "文件对所有人可读" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2148 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162 msgid "If checked, other users may access the downloaded files" msgstr "选中后,其他用户可以访问您下载的文件。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2152 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2166 msgid "Auto start torrents" msgstr "自动开始种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2156 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2170 msgid "If checked, automatically start torrents that are added" msgstr "选中后Snark将自动启动已添加的所有种子。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2160 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 msgid "Theme" msgstr "主题" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2174 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2188 msgid "Refresh time" msgstr "刷新时间" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2187 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 msgid "Never" msgstr "从不" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2193 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207 msgid "Startup delay" msgstr "启动延迟" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2209 msgid "minutes" msgstr "分" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2199 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2213 msgid "Page size" msgstr "页面容量" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2201 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215 msgid "torrents" msgstr "种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2225 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2239 msgid "Total uploader limit" msgstr "限制总上传种子数为" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242 msgid "peers" msgstr "用户" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2232 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2246 msgid "Up bandwidth limit" msgstr "上传带宽限制" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2235 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 msgid "Half available bandwidth recommended." msgstr "推荐设置为可用带宽的一半。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251 msgid "View or change router bandwidth" msgstr "浏览或修改路由器带宽" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2241 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255 msgid "Use open trackers also" msgstr "同时使用OpenTracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2245 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2259 msgid "" "If checked, announce torrents to open trackers as well as the tracker listed" " in the torrent file" msgstr "选择后在OpenTracker及种子文件中的Tracker上同时发布。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263 msgid "Enable DHT" msgstr "启用 DHT" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2267 msgid "If checked, use DHT" msgstr "如果选中,则使用 DHT。" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 msgid "Inbound Settings" msgstr "入站设置" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2275 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2289 msgid "Outbound Settings" msgstr "出站设置" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2283 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2297 msgid "I2CP host" msgstr "I2CP主机" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302 msgid "I2CP port" msgstr "I2CP端口" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2317 msgid "I2CP options" msgstr "I2CP选项" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2322 msgid "Save configuration" msgstr "保存设置" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2953 msgid "Name" msgstr "名称" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2344 msgid "Website URL" msgstr "网站 URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2332 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2346 msgid "Standard" msgstr "标准" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2334 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3066 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2348 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3080 msgid "Open" msgstr "打开" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2336 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2350 msgid "Private" msgstr "私有" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2338 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2352 msgid "Announce URL" msgstr "发布 URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2396 msgid "Add" msgstr "添加" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2425 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2439 #, java-format msgid "Invalid magnet URL {0}" msgstr "磁性链接 {0} 无效" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2433 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447 #, java-format msgid "1 hop" msgid_plural "{0} hops" msgstr[0] "{0}跳" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2434 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2448 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "{0}隧道" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2677 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2691 msgid "Torrent file" msgstr "Torrent文件" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2685 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2699 msgid "Data location" msgstr "数据位置" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2694 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2708 msgid "Info hash" msgstr "信息哈希" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2713 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2727 msgid "Primary Tracker" msgstr "主 Tracker" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2722 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2736 msgid "Tracker List" msgstr "Tracker 列表" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2747 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2761 msgid "Comment" msgstr "评论" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2757 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2771 msgid "Created" msgstr "已创建" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2768 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2782 msgid "Created By" msgstr "创建者" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2794 msgid "Magnet link" msgstr "Magnet磁性链接" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2793 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2807 msgid "Private torrent" msgstr "私有种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2813 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2827 msgid "Completion" msgstr "完成" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2842 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2968 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2856 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2982 msgid "Remaining" msgstr "剩余" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2852 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2866 msgid "Files" msgstr "文件" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2859 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2873 msgid "Pieces" msgstr "分块数量" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2879 msgid "Piece size" msgstr "分块大小" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2919 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2933 msgid "Directory" msgstr "文件夹" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2978 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2992 msgid "Priority" msgstr "优先级" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2990 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3004 msgid "Up to higher level directory" msgstr "上一层文件夹" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3024 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3038 msgid "Torrent not found?" msgstr "种子未找到" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3030 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 msgid "File not found in torrent?" msgstr "种子中没有发现文件?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3043 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3057 msgid "complete" msgstr "完成" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3044 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3058 msgid "remaining" msgstr "剩余" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3090 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3104 msgid "High" msgstr "高" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3095 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3109 msgid "Normal" msgstr "普通" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3100 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 msgid "Skip" msgstr "跳过" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3110 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3124 msgid "Set all high" msgstr "设置所有为高" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3112 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3126 msgid "Set all normal" msgstr "设置所有为正常" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3114 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3128 msgid "Skip all" msgstr "忽略所有" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3115 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:3129 msgid "Save priorities" msgstr "保存优先级" diff --git a/apps/i2psnark/mime.properties b/apps/i2psnark/mime.properties index 6739efc495..7f21bea1c5 100644 --- a/apps/i2psnark/mime.properties +++ b/apps/i2psnark/mime.properties @@ -31,3 +31,4 @@ war = application/java-archive webm = video/webm wma = audio/x-ms-wma wmv = video/x-ms-wmv +xz = application/x-xz diff --git a/apps/i2ptunnel/java/bundle-messages-proxy.sh b/apps/i2ptunnel/java/bundle-messages-proxy.sh index 8ffdc5a9eb..a777a5eed9 100755 --- a/apps/i2ptunnel/java/bundle-messages-proxy.sh +++ b/apps/i2ptunnel/java/bundle-messages-proxy.sh @@ -30,7 +30,7 @@ if which find|grep -q -i windows ; then export PATH=.:/bin:/usr/local/bin:$PATH fi # Fast mode - update ondemond -# set LG2 to the language you need in envrionment varibales to enable this +# set LG2 to the language you need in environment variables to enable this # add ../java/ so the refs will work in the po file JPATHS="../java/build/Proxy.java ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java" @@ -62,16 +62,16 @@ do echo "Updating the $i file from the tags..." # extract strings from java and jsp files, and update messages.po files # translate calls must be one of the forms: - # _("foo") + # _t("foo") # _x("foo") - # intl._("foo") + # intl._t("foo") # intl.title("foo") # In a jsp, you must use a helper or handler that has the context set. # To start a new translation, copy the header from an old translation to the new .po file, # then ant distclean updater. find $JPATHS -name *.java > $TMPFILE xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\ - --keyword=_ \ + --keyword=_t \ -o ${i}t if [ $? -ne 0 ] then diff --git a/apps/i2ptunnel/java/bundle-messages.sh b/apps/i2ptunnel/java/bundle-messages.sh index a8769f0dcc..0b426cb4d2 100755 --- a/apps/i2ptunnel/java/bundle-messages.sh +++ b/apps/i2ptunnel/java/bundle-messages.sh @@ -29,7 +29,7 @@ if which find|grep -q -i windows ; then export PATH=.:/bin:/usr/local/bin:$PATH fi # Fast mode - update ondemond -# set LG2 to the language you need in envrionment varibales to enable this +# set LG2 to the language you need in environment variables to enable this # add ../java/ so the refs will work in the po file JPATHS="../java/src/net/i2p/i2ptunnel/web ../jsp/WEB-INF" @@ -61,16 +61,16 @@ do echo "Updating the $i file from the tags..." # extract strings from java and jsp files, and update messages.po files # translate calls must be one of the forms: - # _("foo") + # _t("foo") # _x("foo") - # intl._("foo") + # intl._t("foo") # intl.title("foo") # In a jsp, you must use a helper or handler that has the context set. # To start a new translation, copy the header from an old translation to the new .po file, # then ant distclean updater. find $JPATHS -name *.java > $TMPFILE xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\ - --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \ + --keyword=_t --keyword=_x --keyword=intl._ --keyword=intl.title \ -o ${i}t if [ $? -ne 0 ] then diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/GunzipOutputStream.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/GunzipOutputStream.java index 291d903db6..e0798567d8 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/GunzipOutputStream.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/GunzipOutputStream.java @@ -25,7 +25,7 @@ class GunzipOutputStream extends InflaterOutputStream { private final CRC32 _crc32; private final byte _buf1[] = new byte[1]; private boolean _complete; - private byte _footer[] = new byte[FOOTER_SIZE]; + private final byte _footer[] = new byte[FOOTER_SIZE]; private long _bytesReceived; private long _bytesReceivedAtCompletion; diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java index 83fbb6d0a6..2fc344a714 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/HTTPResponseOutputStream.java @@ -39,7 +39,10 @@ class HTTPResponseOutputStream extends FilterOutputStream { private final byte _buf1[]; protected boolean _gzip; protected long _dataExpected; + /** lower-case, trimmed */ protected String _contentType; + /** lower-case, trimmed */ + protected String _contentEncoding; private static final int CACHE_SIZE = 8*1024; private static final ByteCache _cache = ByteCache.getInstance(8, CACHE_SIZE); @@ -151,7 +154,7 @@ class HTTPResponseOutputStream extends FilterOutputStream { responseLine = (responseLine.trim() + "\r\n"); if (_log.shouldLog(Log.INFO)) _log.info("Response: " + responseLine.trim()); - out.write(responseLine.getBytes()); + out.write(DataHelper.getUTF8(responseLine)); } else { for (int j = lastEnd+1; j < i; j++) { if (_headerBuffer.getData()[j] == ':') { @@ -160,7 +163,7 @@ class HTTPResponseOutputStream extends FilterOutputStream { if ( (keyLen <= 0) || (valLen < 0) ) throw new IOException("Invalid header @ " + j); String key = DataHelper.getUTF8(_headerBuffer.getData(), lastEnd+1, keyLen); - String val = null; + String val; if (valLen == 0) val = ""; else @@ -171,10 +174,10 @@ class HTTPResponseOutputStream extends FilterOutputStream { String lcKey = key.toLowerCase(Locale.US); if ("connection".equals(lcKey)) { - out.write("Connection: close\r\n".getBytes()); + out.write(DataHelper.getASCII("Connection: close\r\n")); connectionSent = true; } else if ("proxy-connection".equals(lcKey)) { - out.write("Proxy-Connection: close\r\n".getBytes()); + out.write(DataHelper.getASCII("Proxy-Connection: close\r\n")); proxyConnectionSent = true; } else if ("content-encoding".equals(lcKey) && "x-i2p-gzip".equals(val.toLowerCase(Locale.US))) { _gzip = true; @@ -189,7 +192,10 @@ class HTTPResponseOutputStream extends FilterOutputStream { } catch (NumberFormatException nfe) {} } else if ("content-type".equals(lcKey)) { // save for compress decision on server side - _contentType = val; + _contentType = val.toLowerCase(Locale.US); + } else if ("content-encoding".equals(lcKey)) { + // save for compress decision on server side + _contentEncoding = val.toLowerCase(Locale.US); } else if ("set-cookie".equals(lcKey)) { String lcVal = val.toLowerCase(Locale.US); if (lcVal.contains("domain=b32.i2p") || @@ -203,7 +209,7 @@ class HTTPResponseOutputStream extends FilterOutputStream { break; } } - out.write((key.trim() + ": " + val.trim() + "\r\n").getBytes()); + out.write(DataHelper.getUTF8(key.trim() + ": " + val + "\r\n")); } break; } @@ -214,9 +220,9 @@ class HTTPResponseOutputStream extends FilterOutputStream { } if (!connectionSent) - out.write("Connection: close\r\n".getBytes()); + out.write(DataHelper.getASCII("Connection: close\r\n")); if (!proxyConnectionSent) - out.write("Proxy-Connection: close\r\n".getBytes()); + out.write(DataHelper.getASCII("Proxy-Connection: close\r\n")); finishHeaders(); @@ -237,7 +243,7 @@ class HTTPResponseOutputStream extends FilterOutputStream { protected boolean shouldCompress() { return _gzip; } protected void finishHeaders() throws IOException { - out.write("\r\n".getBytes()); // end of the headers + out.write(DataHelper.getASCII("\r\n")); // end of the headers } @Override diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index 74fcaccb1c..4183ce3991 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -631,8 +631,8 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn String header = getErrorPage("ahelper-notfound", ERR_AHELPER_NOTFOUND); try { out.write(header.getBytes("UTF-8")); - out.write(("

" + _("This seems to be a bad destination:") + " " + ahelperKey + " " + - _("i2paddresshelper cannot help you with a destination like that!") + + out.write(("

" + _t("This seems to be a bad destination:") + " " + ahelperKey + " " + + _t("i2paddresshelper cannot help you with a destination like that!") + "

").getBytes("UTF-8")); writeFooter(out); reader.drain(); @@ -706,7 +706,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn String conflictURL = conflictURI.toASCIIString(); String header = getErrorPage("ahelper-conflict", ERR_AHELPER_CONFLICT); out.write(header.getBytes("UTF-8")); - out.write(_("To visit the destination in your host database, click here. To visit the conflicting addresshelper destination, click here.", + out.write(_t("To visit the destination in your host database, click here. To visit the conflicting addresshelper destination, click here.", trustedURL, conflictURL).getBytes("UTF-8")); out.write("

".getBytes("UTF-8")); writeFooter(out); @@ -881,7 +881,9 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn } else if(lowercaseLine.startsWith("accept")) { // strip the accept-blah headers, as they vary dramatically from // browser to browser - if(!Boolean.parseBoolean(getTunnel().getClientOptions().getProperty(PROP_ACCEPT))) { + // But allow Accept-Encoding: gzip, deflate + if(!lowercaseLine.startsWith("accept-encoding: ") && + !Boolean.parseBoolean(getTunnel().getClientOptions().getProperty(PROP_ACCEPT))) { line = null; continue; } @@ -933,8 +935,8 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn // according to rfc2616 s14.3, this *should* force identity, even if // an explicit q=0 for gzip doesn't. tested against orion.i2p, and it // seems to work. - if(!Boolean.parseBoolean(getTunnel().getClientOptions().getProperty(PROP_ACCEPT))) - newRequest.append("Accept-Encoding: \r\n"); + //if (!Boolean.parseBoolean(getTunnel().getClientOptions().getProperty(PROP_ACCEPT))) + // newRequest.append("Accept-Encoding: \r\n"); if (!usingInternalOutproxy) newRequest.append("X-Accept-Encoding: x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0\r\n"); } @@ -1116,7 +1118,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn header = getErrorPage("dnfb", ERR_DESTINATION_UNKNOWN); } else if(destination.length() == 60 && destination.toLowerCase(Locale.US).endsWith(".b32.i2p")) { header = getErrorPage("nols", ERR_DESTINATION_UNKNOWN); - extraMessage = _("Destination lease set not found"); + extraMessage = _t("Destination lease set not found"); } else { header = getErrorPage("dnfh", ERR_DESTINATION_UNKNOWN); jumpServers = getTunnel().getClientOptions().getProperty(PROP_JUMP_SERVERS); @@ -1268,31 +1270,31 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn Writer out = new BufferedWriter(new OutputStreamWriter(outs, "UTF-8")); String header = getErrorPage("ahelper-new", ERR_AHELPER_NEW); out.write(header); - out.write(""); + buf.append(""); else if (in.getLength() <= 1 || in.getLength() + in.getLengthVariance() <= 1 || out.getLength() <= 1 || out.getLength() + out.getLengthVariance() <= 1) - buf.append(""); + buf.append(""); if (in.getLength() + Math.abs(in.getLengthVariance()) >= WARN_LENGTH || out.getLength() + Math.abs(out.getLengthVariance()) >= WARN_LENGTH) - buf.append(""); + buf.append(""); if (in.getTotalQuantity() >= WARN_QUANTITY || out.getTotalQuantity() >= WARN_QUANTITY) - buf.append(""); + buf.append(""); - buf.append("\n"); + buf.append("\n"); // buf.append("\n"); // tunnel depth int maxLength = advanced ? MAX_ADVANCED_LENGTH : MAX_LENGTH; - buf.append("\n"); + buf.append("\n"); buf.append("\n"); // tunnel depth variance - buf.append("\n"); + buf.append("\n"); buf.append("\n"); + buf.append("\n"); buf.append("\n"); + buf.append("\n"); buf.append("\n" + + buf.append("\n" + "\n" + + buf.append("\n" + "
" + _("Host") + + out.write("\n"); try { String b32 = Base32.encode(SHA256Generator.getInstance().calculateHash(Base64.decode(ahelperKey)).getData()); - out.write("" + + out.write("" + ""); } catch(Exception e) { } - out.write("
" + _t("Host") + "" + destination + "
" + _("Base 32") + "
" + _t("Base 32") + "" + b32 + ".b32.i2p
" + _("Destination") + "" + + out.write("
" + _t("Destination") + "" + "
\n" + "
" + // FIXME if there is a query remaining it is lost "
" + - "" + + "" + "
\n
" + "\n" + "\n" + "\n" + "
\n"); + _t("Save {0} to router address book and continue to website", destination) + "
\n"); if(_context.namingService().getName().equals("BlockfileNamingService")) { // only blockfile supports multiple books - out.write("

\n"); - out.write("\n"); + out.write("

\n"); + out.write("\n"); } // Firefox (and others?) don't send referer to meta refresh target, which is // what the jump servers use, so this isn't that useful. diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java index 5824f1fc36..5e39cf3b83 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java @@ -684,7 +684,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem out.write(""); if (usingWWWProxy) { out.write("

"); - out.write(_("HTTP Outproxy")); + out.write(_t("HTTP Outproxy")); out.write(": " + wwwProxy); } if (extraMessage != null) { @@ -723,7 +723,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem if (first) { first = false; out.write("

"); - out.write(_("Click a link below for an address helper from a jump service")); + out.write(_t("Click a link below for an address helper from a jump service")); out.write("

\n"); } else { out.write("
"); @@ -733,7 +733,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem out.write(uri); out.write("\">"); // Translators: parameter is a host name - out.write(_("{0} jump service", jumphost)); + out.write(_t("{0} jump service", jumphost)); out.write("\n"); } } @@ -778,7 +778,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem * Translate * @since 0.9.14 moved from I2PTunnelHTTPClient */ - protected String _(String key) { + protected String _t(String key) { return Translate.getString(key, _context, BUNDLE_NAME); } @@ -787,7 +787,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem * {0} * @since 0.9.14 moved from I2PTunnelHTTPClient */ - protected String _(String key, Object o) { + protected String _t(String key, Object o) { return Translate.getString(key, o, _context, BUNDLE_NAME); } @@ -796,7 +796,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem * {0} and {1} * @since 0.9.14 moved from I2PTunnelHTTPClient */ - protected String _(String key, Object o, Object o2) { + protected String _t(String key, Object o, Object o2) { return Translate.getString(key, o, o2, _context, BUNDLE_NAME); } } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java index 6b3b417201..35dd6f1326 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java @@ -419,12 +419,14 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { setEntry(headers, "Connection", "close"); // we keep the enc sent by the browser before clobbering it, since it may have // been x-i2p-gzip - String enc = getEntryOrNull(headers, "Accept-encoding"); - String altEnc = getEntryOrNull(headers, "X-Accept-encoding"); + String enc = getEntryOrNull(headers, "Accept-Encoding"); + String altEnc = getEntryOrNull(headers, "X-Accept-Encoding"); // according to rfc2616 s14.3, this *should* force identity, even if // "identity;q=1, *;q=0" didn't. - setEntry(headers, "Accept-encoding", ""); + // as of 0.9.23, the client passes this header through, and we do the same, + // so if the server and browser can do the compression/decompression, we don't have to + //setEntry(headers, "Accept-Encoding", ""); socket.setReadTimeout(readTimeout); Socket s = getSocket(socket.getPeerDestination().calculateHash(), socket.getLocalPort()); @@ -432,7 +434,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { // instead of i2ptunnelrunner, use something that reads the HTTP // request from the socket, modifies the headers, sends the request to the // server, reads the response headers, rewriting to include Content-encoding: x-i2p-gzip - // if it was one of the Accept-encoding: values, and gzip the payload + // if it was one of the Accept-Encoding: values, and gzip the payload boolean allowGZIP = true; String val = opts.getProperty("i2ptunnel.gzip"); if ( (val != null) && (!Boolean.parseBoolean(val)) ) @@ -443,7 +445,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { boolean useGZIP = alt || ( (enc != null) && (enc.indexOf("x-i2p-gzip") >= 0) ); // Don't pass this on, outproxies should strip so I2P traffic isn't so obvious but they probably don't if (alt) - headers.remove("X-Accept-encoding"); + headers.remove("X-Accept-Encoding"); String modifiedHeader = formatHeaders(headers, command); if (_log.shouldLog(Log.DEBUG)) @@ -671,6 +673,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { /** * Don't compress small responses or images. + * Don't compress things that are already compressed. * Compression is inline but decompression on the client side * creates a new thread. */ @@ -687,7 +690,11 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { (!_contentType.equals("application/x-bzip")) && (!_contentType.equals("application/x-bzip2")) && (!_contentType.equals("application/x-gzip")) && - (!_contentType.equals("application/zip")))); + (!_contentType.equals("application/zip")))) && + (_contentEncoding == null || + ((!_contentEncoding.equals("gzip")) && + (!_contentEncoding.equals("compress")) && + (!_contentEncoding.equals("deflate")))); } @Override @@ -877,9 +884,9 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { String lcName = name.toLowerCase(Locale.US); if ("accept-encoding".equals(lcName)) - name = "Accept-encoding"; + name = "Accept-Encoding"; else if ("x-accept-encoding".equals(lcName)) - name = "X-Accept-encoding"; + name = "X-Accept-Encoding"; else if ("x-forwarded-for".equals(lcName)) name = "X-Forwarded-For"; else if ("x-forwarded-server".equals(lcName)) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java index 2d70caed03..15e67de745 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java @@ -166,9 +166,9 @@ public abstract class LocalHTTPServer { nsOptions.setProperty("list", book); if (referer != null && referer.startsWith("http")) { String from = "" + referer + ""; - nsOptions.setProperty("s", _("Added via address helper from {0}", from)); + nsOptions.setProperty("s", _t("Added via address helper from {0}", from)); } else { - nsOptions.setProperty("s", _("Added via address helper")); + nsOptions.setProperty("s", _t("Added via address helper")); } boolean success = ns.put(host, dest, nsOptions); writeRedirectPage(out, success, host, book, url); @@ -185,11 +185,11 @@ public abstract class LocalHTTPServer { private static void writeRedirectPage(OutputStream out, boolean success, String host, String book, String url) throws IOException { String tbook; if ("hosts.txt".equals(book)) - tbook = _("router"); + tbook = _t("router"); else if ("userhosts.txt".equals(book)) - tbook = _("master"); + tbook = _t("master"); else if ("privatehosts.txt".equals(book)) - tbook = _("private"); + tbook = _t("private"); else tbook = book; out.write(("HTTP/1.1 200 OK\r\n"+ @@ -198,22 +198,22 @@ public abstract class LocalHTTPServer { "Proxy-Connection: close\r\n"+ "\r\n"+ ""+ - "" + _("Redirecting to {0}", host) + "\n" + + "" + _t("Redirecting to {0}", host) + "\n" + "\n" + "\n" + "\n" + "\n" + "" + "
\n" + "

" + (success ? - _("Saved {0} to the {1} addressbook, redirecting now.", host, tbook) : - _("Failed to save {0} to the {1} addressbook, redirecting now.", host, tbook)) + + _t("Saved {0} to the {1} addressbook, redirecting now.", host, tbook) : + _t("Failed to save {0} to the {1} addressbook, redirecting now.", host, tbook)) + "

\n

" + - _("Click here if you are not redirected automatically.") + + _t("Click here if you are not redirected automatically.") + "

").getBytes("UTF-8")); I2PTunnelHTTPClient.writeFooter(out); out.flush(); @@ -248,17 +248,17 @@ public abstract class LocalHTTPServer { private static final String BUNDLE_NAME = "net.i2p.i2ptunnel.proxy.messages"; /** lang in routerconsole.lang property, else current locale */ - protected static String _(String key) { + protected static String _t(String key) { return Translate.getString(key, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } /** {0} */ - protected static String _(String key, Object o) { + protected static String _t(String key, Object o) { return Translate.getString(key, o, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } /** {0} and {1} */ - protected static String _(String key, Object o, Object o2) { + protected static String _t(String key, Object o, Object o2) { return Translate.getString(key, o, o2, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java index 0cc4e52788..b2b38398eb 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java @@ -146,11 +146,11 @@ public class GeneralHelper { List rv = tcg.clearAllMessages(); try { tcg.saveConfig(); - rv.add(0, _("Configuration changes saved", context)); + rv.add(0, _t("Configuration changes saved", context)); } catch (IOException ioe) { Log log = context.logManager().getLog(GeneralHelper.class); log.error("Failed to save config file", ioe); - rv.add(0, _("Failed to save configuration", context) + ": " + ioe.toString()); + rv.add(0, _t("Failed to save configuration", context) + ": " + ioe.toString()); } return rv; } @@ -714,7 +714,7 @@ public class GeneralHelper { return def; } - protected static String _(String key, I2PAppContext context) { - return Messages._(key, context); + protected static String _t(String key, I2PAppContext context) { + return Messages._t(key, context); } } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java index ebc4950981..fb9b137b22 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java @@ -358,7 +358,7 @@ public class EditBean extends IndexBean { public String getI2CPHost(int tunnel) { if (_context.isRouterContext()) - return _("internal"); + return _t("internal"); TunnelController tun = getController(tunnel); if (tun != null) return tun.getI2CPHost(); @@ -368,7 +368,7 @@ public class EditBean extends IndexBean { public String getI2CPPort(int tunnel) { if (_context.isRouterContext()) - return _("internal"); + return _t("internal"); TunnelController tun = getController(tunnel); if (tun != null) return tun.getI2CPPort(); @@ -406,11 +406,11 @@ public class EditBean extends IndexBean { if (i <= 3) { buf.append(" ("); if (i == 1) - buf.append(_("lower bandwidth and reliability")); + buf.append(_t("lower bandwidth and reliability")); else if (i == 2) - buf.append(_("standard bandwidth and reliability")); + buf.append(_t("standard bandwidth and reliability")); else if (i == 3) - buf.append(_("higher bandwidth and reliability")); + buf.append(_t("higher bandwidth and reliability")); buf.append(')'); } buf.append("\n"); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java index ccb30ca992..15eb3f29ee 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java @@ -84,7 +84,7 @@ public class IndexBean { String error; try { tcg = TunnelControllerGroup.getInstance(); - error = tcg == null ? _("Tunnels are not initialized yet, please reload in two minutes.") + error = tcg == null ? _t("Tunnels are not initialized yet, please reload in two minutes.") : null; } catch (IllegalArgumentException iae) { tcg = null; @@ -157,9 +157,9 @@ public class IndexBean { // If passwords are turned on, all is assumed good if (!_context.getBooleanProperty(PROP_PW_ENABLE) && !haveNonce(_curNonce)) - return _("Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.") + return _t("Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.") + ' ' + - _("If the problem persists, verify that you have cookies enabled in your browser."); + _t("If the problem persists, verify that you have cookies enabled in your browser."); if ("Stop all".equals(_action)) return stopAll(); else if ("Start all".equals(_action)) @@ -205,7 +205,7 @@ public class IndexBean { private String reloadConfig() { _group.reloadControllers(); - return _("Configuration reloaded for all tunnels"); + return _t("Configuration reloaded for all tunnels"); } private String start() { @@ -219,7 +219,7 @@ public class IndexBean { try { Thread.sleep(1000); } catch (InterruptedException ie) {} // and give them something to look at in any case // FIXME name will be HTML escaped twice - return _("Starting tunnel") + ' ' + getTunnelName(_tunnel) + "..."; + return _t("Starting tunnel") + ' ' + getTunnelName(_tunnel) + "..."; } private String stop() { @@ -233,7 +233,7 @@ public class IndexBean { try { Thread.sleep(1000); } catch (InterruptedException ie) {} // and give them something to look at in any case // FIXME name will be HTML escaped twice - return _("Stopping tunnel") + ' ' + getTunnelName(_tunnel) + "..."; + return _t("Stopping tunnel") + ' ' + getTunnelName(_tunnel) + "..."; } private String saveChanges() { @@ -322,7 +322,7 @@ public class IndexBean { if (name != null) return DataHelper.escapeHTML(name); else - return _("New Tunnel"); + return _t("New Tunnel"); } /** @@ -342,13 +342,13 @@ public class IndexBean { if (tun != null && tun.getListenPort() != null) { String port = tun.getListenPort(); if (port.length() == 0) - return "" + _("Port not set") + ""; + return "" + _t("Port not set") + ""; int iport = Addresses.getPort(port); if (iport == 0) - return "" + _("Invalid port") + ' ' + port + ""; + return "" + _t("Invalid port") + ' ' + port + ""; if (iport < 1024) return "" + - _("Warning - ports less than 1024 are not recommended") + + _t("Warning - ports less than 1024 are not recommended") + ": " + port + ""; // dup check, O(n**2) List controllers = _group.getControllers(); @@ -357,12 +357,12 @@ public class IndexBean { continue; if (port.equals(controllers.get(i).getListenPort())) return "" + - _("Warning - duplicate port") + + _t("Warning - duplicate port") + ": " + port + ""; } return port; } - return "" + _("Port not set") + ""; + return "" + _t("Port not set") + ""; } public String getTunnelType(int tunnel) { @@ -374,18 +374,18 @@ public class IndexBean { } public String getTypeName(String internalType) { - if (TunnelController.TYPE_STD_CLIENT.equals(internalType)) return _("Standard client"); - else if (TunnelController.TYPE_HTTP_CLIENT.equals(internalType)) return _("HTTP/HTTPS client"); - else if (TunnelController.TYPE_IRC_CLIENT.equals(internalType)) return _("IRC client"); - else if (TunnelController.TYPE_STD_SERVER.equals(internalType)) return _("Standard server"); - else if (TunnelController.TYPE_HTTP_SERVER.equals(internalType)) return _("HTTP server"); - else if (TunnelController.TYPE_SOCKS.equals(internalType)) return _("SOCKS 4/4a/5 proxy"); - else if (TunnelController.TYPE_SOCKS_IRC.equals(internalType)) return _("SOCKS IRC proxy"); - else if (TunnelController.TYPE_CONNECT.equals(internalType)) return _("CONNECT/SSL/HTTPS proxy"); - else if (TunnelController.TYPE_IRC_SERVER.equals(internalType)) return _("IRC server"); - else if (TunnelController.TYPE_STREAMR_CLIENT.equals(internalType)) return _("Streamr client"); - else if (TunnelController.TYPE_STREAMR_SERVER.equals(internalType)) return _("Streamr server"); - else if (TunnelController.TYPE_HTTP_BIDIR_SERVER.equals(internalType)) return _("HTTP bidir"); + if (TunnelController.TYPE_STD_CLIENT.equals(internalType)) return _t("Standard client"); + else if (TunnelController.TYPE_HTTP_CLIENT.equals(internalType)) return _t("HTTP/HTTPS client"); + else if (TunnelController.TYPE_IRC_CLIENT.equals(internalType)) return _t("IRC client"); + else if (TunnelController.TYPE_STD_SERVER.equals(internalType)) return _t("Standard server"); + else if (TunnelController.TYPE_HTTP_SERVER.equals(internalType)) return _t("HTTP server"); + else if (TunnelController.TYPE_SOCKS.equals(internalType)) return _t("SOCKS 4/4a/5 proxy"); + else if (TunnelController.TYPE_SOCKS_IRC.equals(internalType)) return _t("SOCKS IRC proxy"); + else if (TunnelController.TYPE_CONNECT.equals(internalType)) return _t("CONNECT/SSL/HTTPS proxy"); + else if (TunnelController.TYPE_IRC_SERVER.equals(internalType)) return _t("IRC server"); + else if (TunnelController.TYPE_STREAMR_CLIENT.equals(internalType)) return _t("Streamr client"); + else if (TunnelController.TYPE_STREAMR_SERVER.equals(internalType)) return _t("Streamr server"); + else if (TunnelController.TYPE_HTTP_BIDIR_SERVER.equals(internalType)) return _t("HTTP bidir"); else return internalType; } @@ -442,15 +442,15 @@ public class IndexBean { host = tun.getTargetHost(); String port = tun.getTargetPort(); if (host == null || host.length() == 0) - host = "" + _("Host not set") + ""; + host = "" + _t("Host not set") + ""; else if (Addresses.getIP(host) == null) - host = "" + _("Invalid address") + ' ' + host + ""; + host = "" + _t("Invalid address") + ' ' + host + ""; else if (host.indexOf(':') >= 0) host = '[' + host + ']'; if (port == null || port.length() == 0) - port = "" + _("Port not set") + ""; + port = "" + _t("Port not set") + ""; else if (Addresses.getPort(port) == 0) - port = "" + _("Invalid port") + ' ' + port + ""; + port = "" + _t("Invalid port") + ' ' + port + ""; return host + ':' + port; } else return ""; @@ -1074,8 +1074,8 @@ public class IndexBean { } } - protected String _(String key) { - return Messages._(key, _context); + protected String _t(String key) { + return Messages._t(key, _context); } /** translate (ngettext) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java index d4a2fb4bdc..89e2bfc431 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java @@ -16,11 +16,11 @@ public class Messages { } /** lang in routerconsole.lang property, else current locale */ - public String _(String key) { + public String _t(String key) { return Translate.getString(key, _context, BUNDLE_NAME); } - public static String _(String key, I2PAppContext ctx) { + public static String _t(String key, I2PAppContext ctx) { return Translate.getString(key, ctx, BUNDLE_NAME); } @@ -32,11 +32,11 @@ public class Messages { * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ - public String _(String s, Object o) { + public String _t(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } diff --git a/apps/i2ptunnel/jsp/editClient.jsp b/apps/i2ptunnel/jsp/editClient.jsp index c0dd04cf47..5fbc62dd44 100644 --- a/apps/i2ptunnel/jsp/editClient.jsp +++ b/apps/i2ptunnel/jsp/editClient.jsp @@ -16,7 +16,7 @@ %> - <%=intl._("Hidden Services Manager")%> - <%=intl._("Edit Client Tunnel")%> + <%=intl._t("Hidden Services Manager")%> - <%=intl._t("Edit Client Tunnel")%> @@ -49,11 +49,11 @@ input.default { width: 1px; height: 1px; visibility: hidden; } if (curTunnel >= 0) { tunnelTypeName = editBean.getTunnelType(curTunnel); tunnelType = editBean.getInternalType(curTunnel); - %>

<%=intl._("Edit proxy settings")%>

<% + %>

<%=intl._t("Edit proxy settings")%>

<% } else { tunnelTypeName = editBean.getTypeName(request.getParameter("type")); tunnelType = net.i2p.data.DataHelper.stripHTML(request.getParameter("type")); - %>

<%=intl._("New proxy settings")%>

<% + %>

<%=intl._t("New proxy settings")%>

<% } %> @@ -87,17 +87,17 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
- + <%=tunnelTypeName%>
@@ -108,9 +108,9 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<% if ("streamrclient".equals(tunnelType)) { %> - + <% } else { %> - + <% } /* streamrclient */ %>
@@ -119,7 +119,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% String value = editBean.getClientPort(curTunnel); if (value == null || "".equals(value.trim())) { out.write(" ("); - out.write(intl._("required")); + out.write(intl._t("required")); out.write(")"); } %> @@ -134,14 +134,14 @@ input.default { width: 1px; height: 1px; visibility: hidden; } String targetHost = editBean.getTargetHost(curTunnel); if (targetHost == null || "".equals(targetHost.trim())) { out.write(" ("); - out.write(intl._("required")); + out.write(intl._t("required")); out.write(")"); } %> <% } else { %> - <%=intl._("Reachable by")%>(R): + <%=intl._t("Reachable by")%>(R): class="tickbox" />
@@ -176,41 +176,41 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %>
<% if ("httpclient".equals(tunnelType)) { %>
<% } // httpclient %>
class="tickbox" /> - <%=intl._("(Check the Box for 'YES')")%> + <%=intl._t("(Check the Box for 'YES')")%>
<% } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) { %>
- (<%=intl._("name, name:port, or destination")%> + (<%=intl._t("name, name:port, or destination")%> <% if ("streamrclient".equals(tunnelType)) { /* deferred resolution unimplemented in streamr client */ %> - - <%=intl._("b32 not recommended")%> + - <%=intl._t("b32 not recommended")%> <% } %> )
@@ -218,26 +218,26 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if (!"streamrclient".equals(tunnelType)) { %>
class="tickbox" /> - <%=intl._("(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)")%> + <%=intl._t("(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)")%>
<% } // !streamrclient %>
class="tickbox" /> - <%=intl._("(Check the Box for 'YES')")%> + <%=intl._t("(Check the Box for 'YES')")%>
<% if ("ircclient".equals(tunnelType)) { %>
class="tickbox" /> - <%=intl._("(Check the Box for 'YES')")%> + <%=intl._t("(Check the Box for 'YES')")%>
<% } // ircclient %> @@ -247,8 +247,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
-

<%=intl._("Advanced networking options")%>


- <%=intl._("(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)")%> +

<%=intl._t("Advanced networking options")%>


+ <%=intl._t("(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)")%>
@@ -256,42 +256,42 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
- +
<% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0); - %> - - - + %> + + + <% if (tunnelBackupQuantity > 3) { - %> + %> <% } %>
@@ -320,20 +320,20 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if (!"streamrclient".equals(tunnelType)) { %>
class="tickbox" /> - (<%=intl._("for request/response connections")%>) + (<%=intl._t("for request/response connections")%>)
@@ -342,17 +342,17 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% } // !streamrclient %>
- +
readonly="readonly" <% } %> />
readonly="readonly" <% } %> />
@@ -364,12 +364,12 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
class="tickbox" />
@@ -381,24 +381,24 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
class="tickbox" />
@@ -409,31 +409,31 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
class="tickbox" />
- + - +
class="tickbox" /><%=intl._("Enable")%><%=intl._t("Enable")%> class="tickbox" /><%=intl._("Disable")%>
<%=intl._t("Disable")%>
@@ -445,16 +445,16 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "socksirctunnel".equals(tunnelType) || "sockstunnel".equals(tunnelType)) { %>
- + class="tickbox" />
- +
<% @@ -462,12 +462,12 @@ input.default { width: 1px; height: 1px; visibility: hidden; } if (destb64.length() > 0) { %>
- + <%=editBean.getDestHashBase32(curTunnel)%>
<% } // if destb64 %> @@ -479,31 +479,31 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if ("httpclient".equals(tunnelType)) { %>
- +
- + class="tickbox" />

- +
- + class="tickbox" />

- +
- + class="tickbox" />

- +
- + class="tickbox" />
@@ -516,8 +516,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; } %>
@@ -558,23 +558,23 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %>
- +
class="tickbox" />
@@ -582,23 +582,23 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
- +
class="tickbox" />
@@ -609,7 +609,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <% if ("httpclient".equals(tunnelType)) { %>
- +
@@ -621,7 +621,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
@@ -634,9 +634,9 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
diff --git a/apps/i2ptunnel/jsp/editServer.jsp b/apps/i2ptunnel/jsp/editServer.jsp index 0d7c050937..4a0a7eabfb 100644 --- a/apps/i2ptunnel/jsp/editServer.jsp +++ b/apps/i2ptunnel/jsp/editServer.jsp @@ -16,7 +16,7 @@ %> - <%=intl._("Hidden Services Manager")%> - <%=intl._("Edit Hidden Service")%> + <%=intl._t("Hidden Services Manager")%> - <%=intl._t("Edit Hidden Service")%> @@ -49,11 +49,11 @@ input.default { width: 1px; height: 1px; visibility: hidden; } if (curTunnel >= 0) { tunnelTypeName = editBean.getTunnelType(curTunnel); tunnelType = editBean.getInternalType(curTunnel); - %>

<%=intl._("Edit server settings")%>

<% + %>

<%=intl._t("Edit server settings")%>

<% } else { tunnelTypeName = editBean.getTypeName(request.getParameter("type")); tunnelType = net.i2p.data.DataHelper.stripHTML(request.getParameter("type")); - %>

<%=intl._("New server settings")%>

<% + %>

<%=intl._t("New server settings")%>

<% } %> @@ -87,26 +87,26 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
- + <%=tunnelTypeName%>
class="tickbox" /> - <%=intl._("(Check the Box for 'YES')")%> + <%=intl._t("(Check the Box for 'YES')")%>
@@ -115,26 +115,26 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<% if ("streamrserver".equals(tunnelType)) { %> - + <% } else { %> - + <% } %>
<% if (!"streamrserver".equals(tunnelType)) { %>
<% } /* !streamrserver */ %>
- +
") - .append(_("Start")).append(" ").append(index).append(""); + .append(_t("Start")).append(" ").append(index).append(""); } if (showStopButton && (!edit)) buf.append(""); + .append(_t("Stop")).append(" ").append(index).append(""); if (isClientChangeEnabled() && showEditButton && (!edit) && !ro) buf.append(""); + .append(_t("Edit")).append(" ").append(index).append(""); if (showUpdateButton && (!edit) && !ro) { buf.append(""); + .append(_t("Check for updates")).append(" ").append(index).append(""); buf.append(""); + .append(_t("Update")).append(" ").append(index).append(""); } if (showDeleteButton && (!edit) && !ro) { buf.append(""); + .append(_t("Delete")).append(" ").append(index).append(""); } buf.append(""); if (edit && !ro) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigHomeHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigHomeHandler.java index 5e426988e7..f26b182a0c 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigHomeHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigHomeHandler.java @@ -18,15 +18,15 @@ public class ConfigHomeHandler extends FormHandler { protected void processForm() { if (_action == null) return; String group = getJettyString("group"); - boolean deleting = _action.equals(_("Delete selected")); - boolean adding = _action.equals(_("Add item")); - boolean restoring = _action.equals(_("Restore defaults")); - if (_action.equals(_("Save")) && "0".equals(group)) { + boolean deleting = _action.equals(_t("Delete selected")); + boolean adding = _action.equals(_t("Add item")); + boolean restoring = _action.equals(_t("Restore defaults")); + if (_action.equals(_t("Save")) && "0".equals(group)) { boolean old = _context.getBooleanProperty(HomeHelper.PROP_OLDHOME); boolean nnew = getJettyString("oldHome") != null; if (old != nnew) { _context.router().saveConfig(HomeHelper.PROP_OLDHOME, "" + nnew); - addFormNotice(_("Home page changed")); + addFormNotice(_t("Home page changed")); } } else if (adding || deleting || restoring) { String prop; @@ -48,7 +48,7 @@ public class ConfigHomeHandler extends FormHandler { //_context.router().saveConfig(prop, dflt); // remove config so user will see updates _context.router().saveConfig(prop, null); - addFormNotice(_("Restored default settings")); + addFormNotice(_t("Restored default settings")); return; } String config = _context.getProperty(prop, dflt); @@ -60,12 +60,12 @@ public class ConfigHomeHandler extends FormHandler { if (adding) { String name = getJettyString("nofilter_name"); if (name == null || name.length() <= 0) { - addFormError(_("No name entered")); + addFormError(_t("No name entered")); return; } String url = getJettyString("nofilter_url"); if (url == null || url.length() <= 0) { - addFormError(_("No URL entered")); + addFormError(_t("No URL entered")); return; } // these would get double-escaped so we can't do it this way... @@ -81,7 +81,7 @@ public class ConfigHomeHandler extends FormHandler { else app = new HomeHelper.App(name, "", url, "/themes/console/images/question.png"); apps.add(app); - addFormNotice(_("Added") + ": " + app.name); + addFormNotice(_t("Added") + ": " + app.name); } else { // deleting Set toDelete = new HashSet(); @@ -98,13 +98,13 @@ public class ConfigHomeHandler extends FormHandler { HomeHelper.App app = iter.next(); if (toDelete.contains(app.name)) { iter.remove(); - addFormNotice(_("Removed") + ": " + app.name); + addFormNotice(_t("Removed") + ": " + app.name); } } } HomeHelper.saveApps(_context, prop, apps, !("3".equals(group))); } else { - //addFormError(_("Unsupported")); + //addFormError(_t("Unsupported")); } } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java index 97b8cb3a64..b5930895ba 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java @@ -15,12 +15,12 @@ public class ConfigKeyringHandler extends FormHandler { @Override protected void processForm() { if (_action == null) return; - boolean adding = _action.equals(_("Add key")); - if (adding || _action.equals(_("Delete key"))) { + boolean adding = _action.equals(_t("Add key")); + if (adding || _action.equals(_t("Delete key"))) { if (_peer == null) - addFormError(_("You must enter a destination")); + addFormError(_t("You must enter a destination")); if (_key == null && adding) - addFormError(_("You must enter a key")); + addFormError(_t("You must enter a key")); if (_peer == null || (_key == null && adding)) return; Hash h = ConvertToHash.getHash(_peer); @@ -31,22 +31,22 @@ public class ConfigKeyringHandler extends FormHandler { } catch (DataFormatException dfe) {} if (h != null && h.getData() != null && sk.getData() != null) { _context.keyRing().put(h, sk); - addFormNotice(_("Key for") + " " + h.toBase64() + " " + _("added to keyring")); + addFormNotice(_t("Key for") + " " + h.toBase64() + " " + _t("added to keyring")); } else { - addFormError(_("Invalid destination or key")); + addFormError(_t("Invalid destination or key")); } } else { // Delete if (h != null && h.getData() != null) { if (_context.keyRing().remove(h) != null) - addFormNotice(_("Key for") + " " + h.toBase64() + " " + _("removed from keyring")); + addFormNotice(_t("Key for") + " " + h.toBase64() + " " + _t("removed from keyring")); else - addFormNotice(_("Key for") + " " + h.toBase64() + " " + _("not found in keyring")); + addFormNotice(_t("Key for") + " " + h.toBase64() + " " + _t("not found in keyring")); } else { - addFormError(_("Invalid destination")); + addFormError(_t("Invalid destination")); } } } else { - //addFormError(_("Unsupported")); + //addFormError(_t("Unsupported")); } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java index e98528a965..e902e9c72f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java @@ -79,7 +79,7 @@ public class ConfigLoggingHandler extends FormHandler { props.setProperty(_newLogClass, _newLogLevel); _context.logManager().setLimits(props); shouldSave = true; - addFormNotice(_("Log overrides updated")); + addFormNotice(_t("Log overrides updated")); } catch (IOException ioe) { // shouldn't ever happen (BAIS shouldnt cause an IOE) _context.logManager().getLog(ConfigLoggingHandler.class).error("Error reading from the props?", ioe); @@ -160,7 +160,7 @@ public class ConfigLoggingHandler extends FormHandler { boolean saved = _context.logManager().saveConfig(); if (saved) - addFormNotice(_("Log configuration saved")); + addFormNotice(_t("Log configuration saved")); else addFormError("Error saving the configuration (applied but not saved) - please see the error logs"); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java index aa064e627d..1a9354a2d9 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java @@ -42,9 +42,9 @@ public class ConfigLoggingHelper extends HelperBase { buf.append(prefix).append('=').append(level).append('\n'); } buf.append("
\n"); - buf.append("").append(_("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN")).append("
"); - buf.append("").append(_("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN")).append("
"); - buf.append("").append(_("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT")).append("\n"); + buf.append("").append(_t("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN")).append("
"); + buf.append("").append(_t("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN")).append("
"); + buf.append("").append(_t("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT")).append("\n"); /**** // this is too big and ugly @@ -78,11 +78,11 @@ public class ConfigLoggingHelper extends HelperBase { buf.append("\n"); + buf.append('>').append(_t(l)).append("\n"); } if (showRemove) - buf.append(""); + buf.append(""); buf.append("\n"); return buf.toString(); } @@ -119,7 +119,7 @@ public class ConfigLoggingHelper extends HelperBase { StringBuilder buf = new StringBuilder(65536); buf.append("
" + _("ANONYMITY WARNING - Settings include 0-hop tunnels.") + "
" + _t("ANONYMITY WARNING - Settings include 0-hop tunnels.") + "
" + _("ANONYMITY WARNING - Settings include 1-hop tunnels.") + "
" + _t("ANONYMITY WARNING - Settings include 1-hop tunnels.") + "
" + _("PERFORMANCE WARNING - Settings include very long tunnels.") + "
" + _t("PERFORMANCE WARNING - Settings include very long tunnels.") + "
" + _("PERFORMANCE WARNING - Settings include high tunnel quantities.") + "
" + _t("PERFORMANCE WARNING - Settings include high tunnel quantities.") + "
\"Inbound\"  " + _("Inbound") + "\"Outbound  " + _("Outbound") + "
\"Inbound\"  " + _t("Inbound") + "\"Outbound  " + _t("Outbound") + "
InboundOutbound
" + _("Length") + ":
" + _t("Length") + ":
" + _("Randomization") + ":
" + _t("Randomization") + ":
" + _("Quantity") + ":
" + _t("Quantity") + ":
" + _("Backup quantity") + ":
" + _t("Backup quantity") + ":
" + _("Inbound options") + ":
" + _t("Inbound options") + ":" + _("Outbound options") + ":
" + _t("Outbound options") + ":" + - _("Refresh the page to view.") + + _t("Refresh the page to view.") + ""); if (oldForceMobileConsole != _forceMobileConsole) - addFormNoticeNoEscape(_("Mobile console option saved.") + + addFormNoticeNoEscape(_t("Mobile console option saved.") + " " + - _("Refresh the page to view.") + + _t("Refresh the page to view.") + ""); } else { - addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs.")); + addFormError(_t("Error saving the configuration (applied but not saved) - please see the error logs.")); } } private void addUser() { String name = getJettyString("name"); if (name == null || name.length() <= 0) { - addFormError(_("No user name entered")); + addFormError(_t("No user name entered")); return; } String pw = getJettyString("nofilter_pw"); if (pw == null || pw.length() <= 0) { - addFormError(_("No password entered")); + addFormError(_t("No password entered")); return; } ConsolePasswordManager mgr = new ConsolePasswordManager(_context); @@ -90,10 +90,10 @@ public class ConfigUIHandler extends FormHandler { if (mgr.saveMD5(RouterConsoleRunner.PROP_CONSOLE_PW, RouterConsoleRunner.JETTY_REALM, name, pw)) { if (!_context.getBooleanProperty(RouterConsoleRunner.PROP_PW_ENABLE)) _context.router().saveConfig(RouterConsoleRunner.PROP_PW_ENABLE, "true"); - addFormNotice(_("Added user {0}", name)); - addFormError(_("Restart required to take effect")); + addFormNotice(_t("Added user {0}", name)); + addFormError(_t("Restart required to take effect")); } else { - addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs.")); + addFormError(_t("Error saving the configuration (applied but not saved) - please see the error logs.")); } } @@ -108,13 +108,13 @@ public class ConfigUIHandler extends FormHandler { continue; k = k.substring(7); if (mgr.remove(RouterConsoleRunner.PROP_CONSOLE_PW, k)) { - addFormNotice(_("Removed user {0}", k)); + addFormNotice(_t("Removed user {0}", k)); success = true; } else { - addFormError(_("Error saving the configuration (applied but not saved) - please see the error logs.")); + addFormError(_t("Error saving the configuration (applied but not saved) - please see the error logs.")); } } if (success) - addFormError(_("Restart required to take effect")); + addFormError(_t("Restart required to take effect")); } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java index 294cc6dc0f..1432de98b9 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java @@ -15,14 +15,14 @@ public class ConfigUIHelper extends HelperBase { buf.append("").append(_(theme)).append("
\n"); + buf.append("value=\"").append(theme).append("\">").append(_t(theme)).append("
\n"); } boolean universalTheming = _context.getBooleanProperty(CSSHelper.PROP_UNIVERSAL_THEMING); buf.append("") - .append(_("Set theme universally across all apps")) + .append(_t("Set theme universally across all apps")) .append("
\n"); return buf.toString(); } @@ -34,7 +34,7 @@ public class ConfigUIHelper extends HelperBase { if (forceMobileConsole) buf.append("checked=\"checked\" "); buf.append("value=\"1\">") - .append(_("Force the mobile console to be used")) + .append(_t("Force the mobile console to be used")) .append("
\n"); return buf.toString(); } @@ -163,13 +163,13 @@ public class ConfigUIHelper extends HelperBase { buf.append(""); if (userpw.isEmpty()) { buf.append(""); } else { buf.append("\n"); for (String name : userpw.keySet()) { buf.append("" + "
"); - buf.append(_("Add a user and password to enable.")); + buf.append(_t("Add a user and password to enable.")); buf.append("
") - .append(_("Remove")) + .append(_t("Remove")) .append("") - .append(_("User Name")) + .append(_t("User Name")) .append(" 
") - .append(_("Add")).append(":" + + .append(_t("Add")).append(":" + "" + ""); - buf.append(_("Password")).append(": " + + buf.append(_t("Password")).append(": " + "
\n"); return buf.toString(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java index 7f8c75dfd3..744d996835 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java @@ -157,14 +157,14 @@ public class ConfigUpdateHandler extends FormHandler { protected void processForm() { if (_action == null) return; - if (_action.equals(_("Check for updates"))) { + if (_action.equals(_t("Check for updates"))) { ConsoleUpdateManager mgr = UpdateHandler.updateManager(_context); if (mgr == null) { addFormError("Update manager not registered, cannot check"); return; } if (mgr.isUpdateInProgress() || mgr.isCheckInProgress()) { - addFormError(_("Update or check already in progress")); + addFormError(_t("Update or check already in progress")); return; } @@ -174,7 +174,7 @@ public class ConfigUpdateHandler extends FormHandler { if (shouldProxy && proxyPort == ConfigUpdateHandler.DEFAULT_PROXY_PORT_INT && proxyHost.equals(ConfigUpdateHandler.DEFAULT_PROXY_HOST) && _context.portMapper().getPort(PortMapper.SVC_HTTP_PROXY) < 0) { - addFormError(_("HTTP client proxy tunnel must be running")); + addFormError(_t("HTTP client proxy tunnel must be running")); return; } @@ -187,19 +187,19 @@ public class ConfigUpdateHandler extends FormHandler { a3 = mgr.checkAvailable(ROUTER_UNSIGNED, 40*1000) != null; if (a1 || a2 || a3) { if ( (_updatePolicy == null) || (!_updatePolicy.equals("notify")) ) - addFormNotice(_("Update available, attempting to download now")); + addFormNotice(_t("Update available, attempting to download now")); else - addFormNotice(_("Update available, click button on left to download")); + addFormNotice(_t("Update available, click button on left to download")); // So that update() will post a status to the summary bar before we reload try { Thread.sleep(1000); } catch (InterruptedException ie) {} } else - addFormNotice(_("No update available")); + addFormNotice(_t("No update available")); return; } - if (!_action.equals(_("Save"))) + if (!_action.equals(_t("Save"))) return; Map changes = new HashMap(); @@ -213,26 +213,26 @@ public class ConfigUpdateHandler extends FormHandler { changes.put(PROP_NEWS_URL, _newsURL); // this invalidates the news changes.put(NewsHelper.PROP_LAST_CHECKED, "0"); - addFormNotice(_("Updating news URL to {0}", _newsURL)); + addFormNotice(_t("Updating news URL to {0}", _newsURL)); } else { addFormError("Changing news URL disabled"); } } } - if (_proxyHost != null && _proxyHost.length() > 0 && !_proxyHost.equals(_("internal"))) { + if (_proxyHost != null && _proxyHost.length() > 0 && !_proxyHost.equals(_t("internal"))) { String oldHost = _context.router().getConfigSetting(PROP_PROXY_HOST); if ( (oldHost == null) || (!_proxyHost.equals(oldHost)) ) { changes.put(PROP_PROXY_HOST, _proxyHost); - addFormNotice(_("Updating proxy host to {0}", _proxyHost)); + addFormNotice(_t("Updating proxy host to {0}", _proxyHost)); } } - if (_proxyPort != null && _proxyPort.length() > 0 && !_proxyPort.equals(_("internal"))) { + if (_proxyPort != null && _proxyPort.length() > 0 && !_proxyPort.equals(_t("internal"))) { String oldPort = _context.router().getConfigSetting(PROP_PROXY_PORT); if ( (oldPort == null) || (!_proxyPort.equals(oldPort)) ) { changes.put(PROP_PROXY_PORT, _proxyPort); - addFormNotice(_("Updating proxy port to {0}", _proxyPort)); + addFormNotice(_t("Updating proxy port to {0}", _proxyPort)); } } @@ -248,15 +248,15 @@ public class ConfigUpdateHandler extends FormHandler { try { oldFreq = Long.parseLong(oldFreqStr); } catch (NumberFormatException nfe) {} if (_refreshFrequency != oldFreq) { changes.put(PROP_REFRESH_FREQUENCY, ""+_refreshFrequency); - addFormNoticeNoEscape(_("Updating refresh frequency to {0}", - _refreshFrequency <= 0 ? _("Never") : DataHelper.formatDuration2(_refreshFrequency))); + addFormNoticeNoEscape(_t("Updating refresh frequency to {0}", + _refreshFrequency <= 0 ? _t("Never") : DataHelper.formatDuration2(_refreshFrequency))); } if ( (_updatePolicy != null) && (_updatePolicy.length() > 0) ) { String oldPolicy = _context.router().getConfigSetting(PROP_UPDATE_POLICY); if ( (oldPolicy == null) || (!_updatePolicy.equals(oldPolicy)) ) { changes.put(PROP_UPDATE_POLICY, _updatePolicy); - addFormNotice(_("Updating update policy to {0}", _updatePolicy)); + addFormNotice(_t("Updating update policy to {0}", _updatePolicy)); } } @@ -265,7 +265,7 @@ public class ConfigUpdateHandler extends FormHandler { String oldURL = _context.router().getConfigSetting(PROP_UPDATE_URL); if ( (oldURL == null) || (!_updateURL.equals(oldURL)) ) { changes.put(PROP_UPDATE_URL, _updateURL); - addFormNotice(_("Updating update URLs.")); + addFormNotice(_t("Updating update URLs.")); } } @@ -277,7 +277,7 @@ public class ConfigUpdateHandler extends FormHandler { // note that keys are not validated here and no console error message will be generated if (isAdvanced()) { changes.put(PROP_TRUSTED_KEYS, _trustedKeys); - addFormNotice(_("Updating trusted keys.")); + addFormNotice(_t("Updating trusted keys.")); } else { addFormError("Changing trusted keys disabled"); } @@ -289,7 +289,7 @@ public class ConfigUpdateHandler extends FormHandler { if ( (oldURL == null) || (!_zipURL.equals(oldURL)) ) { if (isAdvanced()) { changes.put(PROP_ZIP_URL, _zipURL); - addFormNotice(_("Updating unsigned update URL to {0}", _zipURL)); + addFormNotice(_t("Updating unsigned update URL to {0}", _zipURL)); } else { addFormError("Changing unsigned update URL disabled"); } @@ -301,7 +301,7 @@ public class ConfigUpdateHandler extends FormHandler { if ( (oldURL == null) || (!_devSU3URL.equals(oldURL)) ) { if (isAdvanced()) { changes.put(PROP_DEV_SU3_URL, _devSU3URL); - addFormNotice(_("Updating signed development build URL to {0}", _devSU3URL)); + addFormNotice(_t("Updating signed development build URL to {0}", _devSU3URL)); } else { addFormError("Changing signed update URL disabled"); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java index 3df84ceb5e..93644982f8 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java @@ -51,13 +51,13 @@ public class ConfigUpdateHelper extends HelperBase { public String getProxyHost() { if (isInternal()) - return _("internal") + "\" readonly=\"readonly"; + return _t("internal") + "\" readonly=\"readonly"; return _context.getProperty(ConfigUpdateHandler.PROP_PROXY_HOST, ConfigUpdateHandler.DEFAULT_PROXY_HOST); } public String getProxyPort() { if (isInternal()) - return _("internal") + "\" readonly=\"readonly"; + return _t("internal") + "\" readonly=\"readonly"; return Integer.toString(ConfigUpdateHandler.proxyPort(_context)); } @@ -127,9 +127,9 @@ public class ConfigUpdateHelper extends HelperBase { buf.append("\" selected=\"selected"); if (PERIODS[i] == -1) - buf.append("\">").append(_("Never")).append("\n"); + buf.append("\">").append(_t("Never")).append("\n"); else - buf.append("\">").append(_("Every")).append(' ').append(DataHelper.formatDuration2(PERIODS[i])).append("\n"); + buf.append("\">").append(_t("Every")).append(' ').append(DataHelper.formatDuration2(PERIODS[i])).append("\n"); } buf.append("\n"); return buf.toString(); @@ -147,14 +147,14 @@ public class ConfigUpdateHelper extends HelperBase { buf.append(""); + buf.append('>').append(_t("Notify only")).append(""); buf.append(""); + buf.append('>').append(_t("Download and verify only")).append(""); if (_context.hasWrapper()) { buf.append(""); + buf.append('>').append(_t("Download, verify, and restart")).append(""); } buf.append("\n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java index 492c006e2b..f42e1cd6e2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java @@ -66,7 +66,7 @@ public class EventLogHelper extends FormHandler { public void setContextId(String contextId) { super.setContextId(contextId); for (int i = 0; i < _events.length; i += 2) { - _xevents.put(_events[i], _(_events[i + 1])); + _xevents.put(_events[i], _t(_events[i + 1])); } } @@ -99,27 +99,27 @@ public class EventLogHelper extends FormHandler { // So just use the "shared/console nonce". String nonce = CSSHelper.getNonce(); try { - _out.write("

" + _("Display Events") + "

"); + _out.write("

" + _t("Display Events") + "

"); _out.write("
\n" + "\n" + "\n"); - _out.write(_("Events since") + ": "); for (int i = 0; i < _times.length; i++) { writeOption(_times[i]); } _out.write("
"); - _out.write(_("Event type") + ": "); // sorted by translated display string Map events = new TreeMap(Collator.getInstance()); for (int i = 0; i < _events.length; i += 2) { events.put(_xevents.get(_events[i]), _events[i]); } - writeOption(_("All events"), ALL); + writeOption(_t("All events"), ALL); for (Map.Entry e : events.entrySet()) { writeOption(e.getKey(), e.getValue()); } _out.write("" + - "
"); + "
"); } catch (IOException ioe) { ioe.printStackTrace(); } @@ -145,7 +145,7 @@ public class EventLogHelper extends FormHandler { _out.write(" selected=\"selected\""); _out.write(">"); if (age == 0) - _out.write(_("All events")); + _out.write(_t("All events")); else _out.write(DataHelper.formatDuration2(age)); _out.write("\n"); @@ -167,21 +167,21 @@ public class EventLogHelper extends FormHandler { if (events.isEmpty()) { if (isAll) { if (_age == 0) - return _("No events found"); - return _("No events found in previous {0}", DataHelper.formatDuration2(_age)); + return _t("No events found"); + return _t("No events found in previous {0}", DataHelper.formatDuration2(_age)); } if (_age == 0) - return _("No \"{0}\" events found", xev); - return _("No \"{0}\" events found in previous {1}", xev, DataHelper.formatDuration2(_age)); + return _t("No \"{0}\" events found", xev); + return _t("No \"{0}\" events found in previous {1}", xev, DataHelper.formatDuration2(_age)); } StringBuilder buf = new StringBuilder(2048); buf.append("
"); - buf.append(_("Time")); + buf.append(_t("Time")); buf.append(""); if (isAll) { - buf.append(_("Event")); + buf.append(_t("Event")); buf.append(""); - buf.append(_("Details")); + buf.append(_t("Details")); } else { buf.append(xev); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java index a56f8f7ad1..1b2dabb3a7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java @@ -248,9 +248,9 @@ public abstract class FormHandler { } if (!_nonce.equals(_nonce1) && !_nonce.equals(_nonce2)) { - addFormError(_("Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.") + addFormError(_t("Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.") + ' ' + - _("If the problem persists, verify that you have cookies enabled in your browser.")); + _t("If the problem persists, verify that you have cookies enabled in your browser.")); _valid = false; } } @@ -291,28 +291,28 @@ public abstract class FormHandler { } /** translate a string */ - public String _(String s) { + public String _t(String s) { return Messages.getString(s, _context); } /** * translate a string with a parameter - * This is a lot more expensive than _(s), so use sparingly. + * This is a lot more expensive than _t(s), so use sparingly. * * @param s string to be translated containing {0} * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ - public String _(String s, Object o) { + public String _t(String s, Object o) { return Messages.getString(s, o, _context); } /** two params @since 0.8.2 */ - public String _(String s, Object o, Object o2) { + public String _t(String s, Object o, Object o2) { return Messages.getString(s, o, o2, _context); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java index eff8dc3e36..ab35a104a4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java @@ -159,7 +159,7 @@ public class GraphHelper extends FormHandler { + "&w=" + (3 * _width) + "&h=" + (3 * _height) + "\">"); - String title = _("Combined bandwidth graph"); + String title = _t("Combined bandwidth graph"); _out.write("" + _("All times are UTC.") + "

\n"); + //_out.write("

" + _t("All times are UTC.") + "

\n"); } catch (IOException ioe) { ioe.printStackTrace(); } @@ -220,7 +220,7 @@ public class GraphHelper extends FormHandler { if (_stat.equals("bw.combined")) { period = 60000; name = _stat; - displayName = _("Bandwidth usage"); + displayName = _t("Bandwidth usage"); } else { Set rates = StatSummarizer.instance().parseSpecs(_stat); if (rates.size() != 1) { @@ -233,9 +233,9 @@ public class GraphHelper extends FormHandler { displayName = name; } _out.write("

"); - _out.write(_("{0} for {1}", displayName, DataHelper.formatDuration2(_periodCount * period))); + _out.write(_t("{0} for {1}", displayName, DataHelper.formatDuration2(_periodCount * period))); if (_end > 0) - _out.write(' ' + _("ending {0} ago", DataHelper.formatDuration2(_end * period))); + _out.write(' ' + _t("ending {0} ago", DataHelper.formatDuration2(_end * period))); _out.write("

- "); } if (_width > MIN_X && _height > MIN_Y) { _out.write(link(_stat, _showEvents, _periodCount, _end, _width * 2 / 3, _height * 2 / 3)); - _out.write(_("Smaller")); + _out.write(_t("Smaller")); _out.write(" - "); } if (_height < MAX_Y) { _out.write(link(_stat, _showEvents, _periodCount, _end, _width, _height * 3 / 2)); - _out.write(_("Taller")); + _out.write(_t("Taller")); _out.write(" - "); } if (_height > MIN_Y) { _out.write(link(_stat, _showEvents, _periodCount, _end, _width, _height * 2 / 3)); - _out.write(_("Shorter")); + _out.write(_t("Shorter")); _out.write(" - "); } if (_width < MAX_X) { _out.write(link(_stat, _showEvents, _periodCount, _end, _width * 3 / 2, _height)); - _out.write(_("Wider")); + _out.write(_t("Wider")); _out.write(" - "); } if (_width > MIN_X) { _out.write(link(_stat, _showEvents, _periodCount, _end, _width * 2 / 3, _height)); - _out.write(_("Narrower")); + _out.write(_t("Narrower")); _out.write(""); } _out.write("
"); if (_periodCount < MAX_C) { _out.write(link(_stat, _showEvents, _periodCount * 2, _end, _width, _height)); - _out.write(_("Larger interval")); + _out.write(_t("Larger interval")); _out.write(" - "); } if (_periodCount > MIN_C) { _out.write(link(_stat, _showEvents, _periodCount / 2, _end, _width, _height)); - _out.write(_("Smaller interval")); + _out.write(_t("Smaller interval")); _out.write(""); } _out.write("
"); if (_periodCount < MAX_C) { _out.write(link(_stat, _showEvents, _periodCount, _end + _periodCount, _width, _height)); - _out.write(_("Previous interval")); + _out.write(_t("Previous interval")); _out.write(""); } @@ -311,17 +311,17 @@ public class GraphHelper extends FormHandler { if (_periodCount < MAX_C) _out.write(" - "); _out.write(link(_stat, _showEvents, _periodCount, end, _width, _height)); - _out.write(_("Next interval")); + _out.write(_t("Next interval")); _out.write(" "); } _out.write("
"); _out.write(link(_stat, !_showEvents, _periodCount, _end, _width, _height)); if (!_stat.equals("bw.combined")) - _out.write(_showEvents ? _("Plot averages") : _("plot events")); + _out.write(_showEvents ? _t("Plot averages") : _t("plot events")); _out.write(""); - _out.write("

" + _("All times are UTC.") + "

\n"); + _out.write("

" + _t("All times are UTC.") + "

\n"); } catch (IOException ioe) { ioe.printStackTrace(); } @@ -353,17 +353,17 @@ public class GraphHelper extends FormHandler { // So just use the "shared/console nonce". String nonce = CSSHelper.getNonce(); try { - _out.write("

" + _("Configure Graph Display") + " [" + _("Select Stats") + "]

"); + _out.write("

" + _t("Configure Graph Display") + " [" + _t("Select Stats") + "]

"); _out.write("
\n" + "\n" + "\n"); - _out.write(_("Periods") + ":
\n"); - _out.write(_("Plot averages") + ": "); - _out.write(_("or")+ " " +_("plot events") + ":
\n"); - _out.write(_("Image sizes") + ": " + _("width") + ": " + _("pixels") + ", " + _("height") + ": " + _("pixels") + "
\n"); - _out.write(_("Refresh delay") + ":
\n"); + _out.write(_t("Plot averages") + ": "); + _out.write(_t("or")+ " " +_t("plot events") + ":
\n"); + _out.write(_t("Image sizes") + ": " + _t("width") + ": " + _t("pixels") + ", " + _t("height") + ": " + _t("pixels") + "
\n"); + _out.write(_t("Refresh delay") + ":
\n" + - _("Store graph data on disk?") + + _t("Store graph data on disk?") + " " + - "
"); + "
"); } catch (IOException ioe) { ioe.printStackTrace(); } @@ -440,7 +440,7 @@ public class GraphHelper extends FormHandler { changes.put(PROP_EVENTS, "" + _showEvents); changes.put(SummaryListener.PROP_PERSISTENT, "" + _persistent); _context.router().saveConfig(changes, null); - addFormNotice(_("Graph settings saved")); + addFormNotice(_t("Graph settings saved")); } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java index ff0dc80592..1c14848dcf 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java @@ -44,28 +44,28 @@ public abstract class HelperBase { public void storeWriter(Writer out) { _out = out; } /** translate a string */ - public String _(String s) { + public String _t(String s) { return Messages.getString(s, _context); } /** * translate a string with a parameter - * This is a lot more expensive than _(s), so use sparingly. + * This is a lot more expensive than _t(s), so use sparingly. * * @param s string to be translated containing {0} * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ - public String _(String s, Object o) { + public String _t(String s, Object o) { return Messages.getString(s, o, _context); } /** two params @since 0.7.14 */ - public String _(String s, Object o, Object o2) { + public String _t(String s, Object o, Object o2) { return Messages.getString(s, o, o2, _context); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java index 2238625760..d9a8de3011 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java @@ -63,7 +63,7 @@ public class HomeHelper extends HelperBase { "stats.i2p" + S + _x("I2P Network Statistics") + S + "http://stats.i2p/cgi-bin/dashboard.cgi" + S + I + "chart_line.png" + S + _x("Technical Docs") + S + _x("Technical documentation") + S + "http://i2p-projekt.i2p/how" + S + I + "education.png" + S + _x("Trac Wiki") + S + S + "http://trac.i2p2.i2p/" + S + I + "billiard_marker.png" + S + - _x("Ugha's Wiki") + S + S + "http://ugha.i2p/" + S + I + "billiard_marker.png" + S + + //_x("Ugha's Wiki") + S + S + "http://ugha.i2p/" + S + I + "billiard_marker.png" + S + _x("Sponge's main site") + S + _x("Seedless and the Robert BitTorrent applications") + S + "http://sponge.i2p/" + S + I + "user_astronaut.png" + S + ""; @@ -105,9 +105,9 @@ public class HomeHelper extends HelperBase { public String getProxyStatus() { int port = _context.portMapper().getPort(PortMapper.SVC_HTTP_PROXY); if (port <= 0) - return _("The HTTP proxy is not up"); + return _t("The HTTP proxy is not up"); return "\"""; } @@ -168,7 +168,7 @@ public class HomeHelper extends HelperBase { } private String renderApps(Collection apps) { - String website = _("Website"); + String website = _t("Website"); StringBuilder buf = new StringBuilder(1024); buf.append("
"); for (App app : apps) { @@ -205,11 +205,11 @@ public class HomeHelper extends HelperBase { private String renderConfig(Collection apps) { StringBuilder buf = new StringBuilder(1024); buf.append("\n"); for (App app : apps) { buf.append("\n"); } buf.append("" + ""); buf.append("
") - .append(_("Remove")) + .append(_t("Remove")) .append("") - .append(_("Name")) + .append(_t("Name")) .append("") - .append(_("URL")) + .append(_t("URL")) .append("
") - .append(_("Add")).append(":" + + .append(_t("Add")).append(":" + "
\n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java index e6dc09a201..7bc28287fb 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java @@ -47,29 +47,29 @@ public class JobQueueHelper extends HelperBase { int numRunners = _context.jobQueue().getJobs(readyJobs, timedJobs, activeJobs, justFinishedJobs); StringBuilder buf = new StringBuilder(32*1024); - buf.append("

").append(_("I2P Job Queue")).append("


") - .append(_("Job runners")).append(": ").append(numRunners) + buf.append("

").append(_t("I2P Job Queue")).append("


") + .append(_t("Job runners")).append(": ").append(numRunners) .append("
\n"); long now = _context.clock().now(); - buf.append("
").append(_("Active jobs")).append(": ").append(activeJobs.size()).append("
    \n"); + buf.append("
    ").append(_t("Active jobs")).append(": ").append(activeJobs.size()).append("
      \n"); for (int i = 0; i < activeJobs.size(); i++) { Job j = activeJobs.get(i); - buf.append("
    1. (").append(_("started {0} ago", DataHelper.formatDuration2(now-j.getTiming().getStartAfter()))).append("): "); + buf.append("
    2. (").append(_t("started {0} ago", DataHelper.formatDuration2(now-j.getTiming().getStartAfter()))).append("): "); buf.append(j.toString()).append("
    3. \n"); } buf.append("
    \n"); - buf.append("
    ").append(_("Just finished jobs")).append(": ").append(justFinishedJobs.size()).append("
      \n"); + buf.append("
      ").append(_t("Just finished jobs")).append(": ").append(justFinishedJobs.size()).append("
        \n"); for (int i = 0; i < justFinishedJobs.size(); i++) { Job j = justFinishedJobs.get(i); - buf.append("
      1. (").append(_("finished {0} ago", DataHelper.formatDuration2(now-j.getTiming().getActualEnd()))).append("): "); + buf.append("
      2. (").append(_t("finished {0} ago", DataHelper.formatDuration2(now-j.getTiming().getActualEnd()))).append("): "); buf.append(j.toString()).append("
      3. \n"); } buf.append("
      \n"); - buf.append("
      ").append(_("Ready/waiting jobs")).append(": ").append(readyJobs.size()).append("
        \n"); + buf.append("
        ").append(_t("Ready/waiting jobs")).append(": ").append(readyJobs.size()).append("
          \n"); ObjectCounter counter = new ObjectCounter(); for (int i = 0; i < readyJobs.size(); i++) { Job j = readyJobs.get(i); @@ -86,7 +86,7 @@ public class JobQueueHelper extends HelperBase { out.write(buf.toString()); buf.setLength(0); - buf.append("
          ").append(_("Scheduled jobs")).append(": ").append(timedJobs.size()).append("
            \n"); + buf.append("
            ").append(_t("Scheduled jobs")).append(": ").append(timedJobs.size()).append("
              \n"); long prev = Long.MIN_VALUE; counter.clear(); for (int i = 0; i < timedJobs.size(); i++) { @@ -96,7 +96,7 @@ public class JobQueueHelper extends HelperBase { continue; long time = j.getTiming().getStartAfter() - now; // translators: {0} is a job name, {1} is a time, e.g. 6 min - buf.append("
            1. ").append(_("{0} will start in {1}", j.getName(), DataHelper.formatDuration2(time))); + buf.append("
            2. ").append(_t("{0} will start in {1}", j.getName(), DataHelper.formatDuration2(time))); // debug, don't bother translating if (time < 0) buf.append(" DELAYED"); @@ -110,7 +110,7 @@ public class JobQueueHelper extends HelperBase { out.write(buf.toString()); buf.setLength(0); - buf.append("
              ").append(_("Total Job Statistics")).append("\n"); + buf.append("
              ").append(_t("Total Job Statistics")).append("\n"); getJobStats(buf); out.write(buf.toString()); } @@ -121,7 +121,7 @@ public class JobQueueHelper extends HelperBase { if (names.size() < 4) return; buf.append("\n" + - "
              ").append(_("Job")).append("").append(_("Queued")).append(""); + "
              ").append(_t("Job")).append("").append(_t("Queued")).append(""); Collections.sort(names, new JobCountComparator(counter)); for (String name : names) { buf.append("
              ").append(name) @@ -138,12 +138,12 @@ public class JobQueueHelper extends HelperBase { */ private void getJobStats(StringBuilder buf) { buf.append("\n" + - "" + - "" + - "" + - "\n"); + "" + + "" + + "" + + "\n"); long totRuns = 0; long totDropped = 0; long totExecTime = 0; @@ -194,7 +194,7 @@ public class JobQueueHelper extends HelperBase { } buf.append(""); - buf.append(""); + buf.append(""); buf.append(""); buf.append(""); buf.append(""); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java index e3845df9da..dbed0c82e7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java @@ -46,7 +46,7 @@ public class LogsHelper extends HelperBase { */ public String getLogs() { String str = formatMessages(_context.logManager().getBuffer().getMostRecentMessages()); - return "

              " + _("File location") + ": " + _context.logManager().currentFile() + "

              " + str; + return "

              " + _t("File location") + ": " + _context.logManager().currentFile() + "

              " + str; } /** @@ -97,10 +97,10 @@ public class LogsHelper extends HelperBase { str = FileUtil.readTextFile(f.getAbsolutePath(), 250, false); } if (str == null) { - return "

              " + _("File not found") + ": " + f.getAbsolutePath() + "

              "; + return "

              " + _t("File not found") + ": " + f.getAbsolutePath() + "

              "; } else { str = str.replace("&", "&").replace("<", "<").replace(">", ">"); - return "

              " + _("File location") + ": " + f.getAbsolutePath() + "

              " + str + "
              "; + return "

              " + _t("File location") + ": " + f.getAbsolutePath() + "

              " + str + "
              "; } } @@ -115,7 +115,7 @@ public class LogsHelper extends HelperBase { /** formats in reverse order */ private String formatMessages(List msgs) { if (msgs.isEmpty()) - return "

              " + _("No log messages") + "

              "; + return "

              " + _t("No log messages") + "

              "; boolean colorize = _context.getBooleanPropertyDefaultTrue("routerconsole.logs.color"); StringBuilder buf = new StringBuilder(16*1024); buf.append("
                "); @@ -138,13 +138,13 @@ public class LogsHelper extends HelperBase { // Homeland Security Advisory System // http://www.dhs.gov/xinfoshare/programs/Copy_of_press_release_0046.shtm // but pink instead of yellow for WARN - if (msg.contains(_("CRIT"))) + if (msg.contains(_t("CRIT"))) color = "#cc0000"; - else if (msg.contains(_("ERROR"))) + else if (msg.contains(_t("ERROR"))) color = "#ff3300"; - else if (msg.contains(_("WARN"))) + else if (msg.contains(_t("WARN"))) color = "#ff00cc"; - else if (msg.contains(_("INFO"))) + else if (msg.contains(_t("INFO"))) color = "#000099"; else color = "#006600"; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java index c76f260e8d..e138c0ffde 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java @@ -24,7 +24,7 @@ public class Messages extends Translate { * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java index 8cbd02304a..808297fb53 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java @@ -73,7 +73,7 @@ public class NetDbHelper extends HelperBase { NetDbRenderer renderer = new NetDbRenderer(_context); try { renderNavBar(); - if (_routerPrefix != null || _version!= null || _country != null) + if (_routerPrefix != null || _version != null || _country != null) renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country); else if (_lease) renderer.renderLeaseSetHTML(_out, _debug); @@ -125,12 +125,12 @@ public class NetDbHelper extends HelperBase { // we are there if (span) buf.append(""); - buf.append(_(titles[i])); + buf.append(_t(titles[i])); } else { // we are not there, make a link if (span) buf.append(""); - buf.append("").append(_(titles[i])).append(""); + buf.append("").append(_t(titles[i])).append(""); } if (span) buf.append(" \n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java index 89b4a7000e..ff6b092a2c 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java @@ -35,6 +35,7 @@ import net.i2p.router.RouterContext; import net.i2p.router.TunnelPoolSettings; import net.i2p.router.util.HashDistance; // debug import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade; +import net.i2p.util.Log; import net.i2p.util.ObjectCounter; import net.i2p.util.Translate; import net.i2p.util.VersionComparator; @@ -102,14 +103,14 @@ public class NetDbRenderer { } } if (notFound) { - buf.append(_("Router")).append(' '); + buf.append(_t("Router")).append(' '); if (routerPrefix != null) buf.append(routerPrefix); else if (version != null) buf.append(version); else if (country != null) buf.append(country); - buf.append(' ').append(_("not found in network database")); + buf.append(' ').append(_t("not found in network database")); } } out.write(buf.toString()); @@ -141,24 +142,28 @@ public class NetDbRenderer { int rapCount = 0; BigInteger median = null; int c = 0; - if (debug) { + if (leases.isEmpty()) { + if (!debug) + buf.append("").append(_t("none")).append(""); + } else { + if (debug) { // Find the center of the RAP leasesets for (LeaseSet ls : leases) { if (ls.getReceivedAsPublished()) rapCount++; } medianCount = rapCount / 2; - } - long now = _context.clock().now(); - for (LeaseSet ls : leases) { + } + long now = _context.clock().now(); + for (LeaseSet ls : leases) { Destination dest = ls.getDestination(); Hash key = dest.calculateHash(); - buf.append("").append(_("LeaseSet")).append(": ").append(key.toBase64()).append("\n"); + buf.append("").append(_t("LeaseSet")).append(": ").append(key.toBase64()).append("\n"); if (_context.clientManager().isLocal(dest)) { - buf.append(" (" + _("Local") + " "); + buf.append(" (" + _t("Local") + " "); if (! _context.clientManager().shouldPublishLeaseSet(key)) - buf.append(_("Unpublished") + ' '); - buf.append(_("Destination") + ' '); + buf.append(_t("Unpublished") + ' '); + buf.append(_t("Destination") + ' '); TunnelPoolSettings in = _context.tunnelManager().getInboundSettings(key); if (in != null && in.getDestinationNickname() != null) buf.append(in.getDestinationNickname()); @@ -170,10 +175,10 @@ public class NetDbRenderer { String host = _context.namingService().reverseLookup(dest); if (host == null) { buf.append("").append(_("Add to local addressbook")).append("
                \n"); + .append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("
                \n"); } } else { - buf.append(" (").append(_("Destination")).append(' '); + buf.append(" (").append(_t("Destination")).append(' '); String host = _context.namingService().reverseLookup(dest); if (host != null) { buf.append("").append(host).append(")
                \n"); @@ -182,14 +187,14 @@ public class NetDbRenderer { buf.append(dest.toBase64().substring(0, 6)).append(")
                \n" + "").append(b32).append("
                \n" + "").append(_("Add to local addressbook")).append("
                \n"); + .append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("
                \n"); } } long exp = ls.getLatestLeaseDate()-now; if (exp > 0) - buf.append(_("Expires in {0}", DataHelper.formatDuration2(exp))); + buf.append(_t("Expires in {0}", DataHelper.formatDuration2(exp))); else - buf.append(_("Expired {0} ago", DataHelper.formatDuration2(0-exp))); + buf.append(_t("Expired {0} ago", DataHelper.formatDuration2(0-exp))); buf.append("
                \n"); if (debug) { buf.append("RAP? " + ls.getReceivedAsPublished()); @@ -208,22 +213,23 @@ public class NetDbRenderer { } for (int i = 0; i < ls.getLeaseCount(); i++) { Lease lease = ls.getLease(i); - buf.append(_("Lease")).append(' ').append(i + 1).append(": ").append(_("Gateway")).append(' '); + buf.append(_t("Lease")).append(' ').append(i + 1).append(": ").append(_t("Gateway")).append(' '); buf.append(_context.commSystem().renderPeerHTML(lease.getGateway())); - buf.append(' ').append(_("Tunnel")).append(' ').append(lease.getTunnelId().getTunnelId()).append(' '); + buf.append(' ').append(_t("Tunnel")).append(' ').append(lease.getTunnelId().getTunnelId()).append(' '); if (debug) { long exl = lease.getEndDate().getTime() - now; if (exl > 0) - buf.append(_("Expires in {0}", DataHelper.formatDuration2(exl))); + buf.append(_t("Expires in {0}", DataHelper.formatDuration2(exl))); else - buf.append(_("Expired {0} ago", DataHelper.formatDuration2(0-exl))); + buf.append(_t("Expired {0} ago", DataHelper.formatDuration2(0-exl))); } buf.append("
                \n"); } buf.append("
                \n"); out.write(buf.toString()); buf.setLength(0); - } + } // for each + } // !empty if (debug) { FloodfillNetworkDatabaseFacade netdb = (FloodfillNetworkDatabaseFacade)_context.netDb(); buf.append("

                Total Leasesets: ").append(leases.size()); @@ -277,10 +283,12 @@ public class NetDbRenderer { */ public void renderStatusHTML(Writer out, int mode) throws IOException { if (!_context.netDb().isInitialized()) { - out.write(_("Not initialized")); + out.write(_t("Not initialized")); out.flush(); return; } + Log log = _context.logManager().getLog(NetDbRenderer.class); + long start = System.currentTimeMillis(); boolean full = mode == 1; boolean shortStats = mode == 2; @@ -319,6 +327,10 @@ public class NetDbRenderer { transportCount[classifyTransports(ri)]++; } } + long end = System.currentTimeMillis(); + if (log.shouldWarn()) + log.warn("part 1 took " + (end - start)); + start = end; // // don't bother to reindent @@ -327,14 +339,14 @@ public class NetDbRenderer { // the summary table buf.append("

              ").append(_("Job")).append("").append(_("Runs")).append("").append(_("Dropped")).append("").append(_("Time")).append("").append(_("Avg")).append("") - .append(_("Max")).append("").append(_("Min")).append("").append(_("Pending")).append("").append(_("Avg")).append("") - .append(_("Max")).append("").append(_("Min")).append("
              ").append(_t("Job")).append("").append(_t("Runs")).append("").append(_t("Dropped")).append("").append(_t("Time")).append("").append(_t("Avg")).append("") + .append(_t("Max")).append("").append(_t("Min")).append("").append(_t("Pending")).append("").append(_t("Avg")).append("") + .append(_t("Max")).append("").append(_t("Min")).append("
              ").append(_("Summary")).append("").append(_t("Summary")).append("").append(totRuns).append("").append(totDropped).append("").append(DataHelper.formatDuration2(totExecTime)).append("
              ") - .append(_("Network Database Router Statistics")) + .append(_t("Network Database Router Statistics")) .append("
              "); // versions table List versionList = new ArrayList(versions.objects()); if (!versionList.isEmpty()) { Collections.sort(versionList, Collections.reverseOrder(new VersionComparator())); buf.append("\n"); - buf.append("\n"); + buf.append("\n"); for (String routerVersion : versionList) { int num = versions.count(routerVersion); String ver = DataHelper.stripHTML(routerVersion); @@ -346,14 +358,18 @@ public class NetDbRenderer { buf.append("
              " + _("Version") + "" + _("Count") + "
              " + _t("Version") + "" + _t("Count") + "
              "); out.write(buf.toString()); buf.setLength(0); + end = System.currentTimeMillis(); + if (log.shouldWarn()) + log.warn("part 2 took " + (end - start)); + start = end; // transports table buf.append("\n"); - buf.append("\n"); + buf.append("\n"); for (int i = 0; i < TNAMES.length; i++) { int num = transportCount[i]; if (num > 0) { - buf.append("\n"); } } @@ -361,13 +377,17 @@ public class NetDbRenderer { buf.append("
              " + _("Transports") + "" + _("Count") + "
              " + _t("Transports") + "" + _t("Count") + "
              ").append(_(TNAMES[i])); + buf.append("
              ").append(_t(TNAMES[i])); buf.append("").append(num).append("
              "); out.write(buf.toString()); buf.setLength(0); + end = System.currentTimeMillis(); + if (log.shouldWarn()) + log.warn("part 3 took " + (end - start)); + start = end; // country table List countryList = new ArrayList(countries.objects()); if (!countryList.isEmpty()) { Collections.sort(countryList, new CountryComparator()); buf.append("\n"); - buf.append("\n"); + buf.append("\n"); for (String country : countryList) { int num = countries.count(country); buf.append("
              " + _("Country") + "" + _("Count") + "
              " + _t("Country") + "" + _t("Count") + "
              \"").append(country.toUpperCase(Locale.US)).append("\"");
              "); + end = System.currentTimeMillis(); + if (log.shouldWarn()) + log.warn("part 4 took " + (end - start)); + start = end; // // don't bother to reindent @@ -426,29 +450,29 @@ public class NetDbRenderer { String hash = info.getIdentity().getHash().toBase64(); buf.append("\n"); if (full) { - buf.append("
              "); if (isUs) { - buf.append("" + _("Our info") + ": ").append(hash).append("
              \n"); + buf.append("" + _t("Our info") + ": ").append(hash).append("
              \n"); } else { - buf.append("" + _("Peer info for") + ": ").append(hash).append("\n"); + buf.append("" + _t("Peer info for") + ": ").append(hash).append("\n"); if (!full) { - buf.append("[").append(_("Full entry")).append("]"); + buf.append("[").append(_t("Full entry")).append("]"); } buf.append("
              \n"); } long age = _context.clock().now() - info.getPublished(); if (isUs && _context.router().isHidden()) { - buf.append("").append(_("Hidden")).append(", ").append(_("Updated")).append(": ") - .append(_("{0} ago", DataHelper.formatDuration2(age))).append("
              \n"); + buf.append("").append(_t("Hidden")).append(", ").append(_t("Updated")).append(": ") + .append(_t("{0} ago", DataHelper.formatDuration2(age))).append("
              \n"); } else if (age > 0) { - buf.append("").append(_("Published")).append(": ") - .append(_("{0} ago", DataHelper.formatDuration2(age))).append("
              \n"); + buf.append("").append(_t("Published")).append(": ") + .append(_t("{0} ago", DataHelper.formatDuration2(age))).append("
              \n"); } else { // shouldnt happen - buf.append("" + _("Published") + ": in ").append(DataHelper.formatDuration2(0-age)).append("???
              \n"); + buf.append("" + _t("Published") + ": in ").append(DataHelper.formatDuration2(0-age)).append("???
              \n"); } - buf.append("").append(_("Signing Key")).append(": ") + buf.append("").append(_t("Signing Key")).append(": ") .append(info.getIdentity().getSigningPublicKey().getType().toString()); - buf.append("
              \n" + _("Address(es)") + ": "); + buf.append("
              \n" + _t("Address(es)") + ": "); String country = _context.commSystem().getCountry(info.getIdentity().getHash()); if(country != null) { buf.append("\"").append(country.toUpperCase(Locale.US)).append('\"');").append(DataHelper.stripHTML(style)).append(": "); int cost = addr.getCost(); if (!((style.equals("SSU") && cost == 5) || (style.equals("NTCP") && cost == 10))) - buf.append('[').append(_("cost")).append('=').append("" + cost).append("] "); + buf.append('[').append(_t("cost")).append('=').append("" + cost).append("] "); Map p = addr.getOptionsMap(); for (Map.Entry e : p.entrySet()) { String name = (String) e.getKey(); String val = (String) e.getValue(); - buf.append('[').append(_(DataHelper.stripHTML(name))).append('=').append(DataHelper.stripHTML(val)).append("] "); + buf.append('[').append(_t(DataHelper.stripHTML(name))).append('=').append(DataHelper.stripHTML(val)).append("] "); } } buf.append("
              " + _("Stats") + ":
              "); + buf.append("
              " + _t("Stats") + ":
              "); Map p = info.getOptionsMap(); for (Map.Entry e : p.entrySet()) { String key = (String) e.getKey(); @@ -514,7 +538,7 @@ public class NetDbRenderer { } /** translate a string */ - private String _(String s) { + private String _t(String s) { return Messages.getString(s, _context); } @@ -525,17 +549,17 @@ public class NetDbRenderer { /** * translate a string with a parameter - * This is a lot more expensive than _(s), so use sparingly. + * This is a lot more expensive than _t(s), so use sparingly. * * @param s string to be translated containing {0} * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ - private String _(String s, Object o) { + private String _t(String s, Object o) { return Messages.getString(s, o, _context); } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java new file mode 100644 index 0000000000..357887f9e7 --- /dev/null +++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java @@ -0,0 +1,92 @@ +package net.i2p.router.web; + +import java.text.DateFormat; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.TimeZone; + +import net.i2p.I2PAppContext; +import net.i2p.app.ClientAppManager; +import net.i2p.data.DataHelper; +import net.i2p.router.news.NewsEntry; +import net.i2p.router.news.NewsManager; + + +/** + * HTML-formatted full news entries + * + * @since 0.9.23 + */ +public class NewsFeedHelper extends HelperBase { + + private int _start = 0; + private int _limit = 2; + + /** + * @param limit less than or equal to zero means all + */ + public void setLimit(int limit) { + _limit = limit; + } + + public void setStart(int start) { + _start = start; + } + + public String getEntries() { + return getEntries(_context, _start, _limit); + } + + /** + * @param max less than or equal to zero means all + * @return non-null, "" if none + */ + static String getEntries(I2PAppContext ctx, int start, int max) { + if (max <= 0) + max = Integer.MAX_VALUE; + StringBuilder buf = new StringBuilder(512); + List entries = Collections.emptyList(); + ClientAppManager cmgr = ctx.clientAppManager(); + if (cmgr != null) { + NewsManager nmgr = (NewsManager) cmgr.getRegisteredApp(NewsManager.APP_NAME); + if (nmgr != null) + entries = nmgr.getEntries(); + } + if (!entries.isEmpty()) { + DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT); + // the router sets the JVM time zone to UTC but saves the original here so we can get it + String systemTimeZone = ctx.getProperty("i2p.systemTimeZone"); + if (systemTimeZone != null) + fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone)); + int i = 0; + for (NewsEntry entry : entries) { + if (i++ < start) + continue; + buf.append("

              "); + if (entry.updated > 0) { + Date date = new Date(entry.updated); + buf.append("") + .append(fmt.format(date)) + .append(": "); + } + if (entry.link != null) + buf.append(""); + buf.append(entry.title); + if (entry.link != null) + buf.append(""); + if (entry.authorName != null) { + buf.append(" (") + .append(Messages.getString("by {0}", DataHelper.escapeHTML(entry.authorName), ctx)) + .append(")\n"); + } + buf.append("

              \n
              \n") + .append(entry.content) + .append("\n
              \n"); + if (i >= start + max) + break; + } + } + return buf.toString(); + } +} diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsHelper.java index be3b5685ba..5b068f4b1e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NewsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsHelper.java @@ -204,37 +204,12 @@ public class NewsHelper extends ContentHelper { return mgr.getStatus(); } - private static final String BUNDLE_NAME = "net.i2p.router.news.messages"; - /** * If we haven't downloaded news yet, use the translated initial news file */ @Override public String getContent() { - File news = new File(_page); - if (!news.exists()) { - _page = (new File(_context.getBaseDir(), "docs/initialNews/initialNews.xml")).getAbsolutePath(); - // don't use super, translate on-the-fly - Reader reader = null; - try { - char[] buf = new char[512]; - StringBuilder out = new StringBuilder(2048); - reader = new TranslateReader(_context, BUNDLE_NAME, new FileInputStream(_page)); - int len; - while((len = reader.read(buf)) > 0) { - out.append(buf, 0, len); - } - return out.toString(); - } catch (IOException ioe) { - return ""; - } finally { - try { - if (reader != null) - reader.close(); - } catch (IOException foo) {} - } - } - return super.getContent(); + return NewsFeedHelper.getEntries(_context, 0, 2); } /** @@ -312,7 +287,10 @@ public class NewsHelper extends ContentHelper { buf.append(" ") .append(Messages.getString("Show news", ctx)); } - buf.append(""); + buf.append("" + + " - ") + .append(Messages.getString("Show all news", ctx)) + .append(""); } return buf.toString(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java index d0a6277e01..608de2aea3 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java @@ -157,6 +157,12 @@ public class PluginStarter implements Runnable { Messages.getString("HTTP client proxy tunnel must be running", ctx)); return; } + if (ctx.commSystem().isDummy()) { + mgr.notifyComplete(null, Messages.getString("Plugin update check failed", ctx) + + " - " + + "VM Comm System"); + return; + } Log log = ctx.logManager().getLog(PluginStarter.class); int updated = 0; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java index ef70b170ae..2cb7e311f2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java @@ -75,7 +75,7 @@ class ProfileOrganizerRenderer { //// if (mode < 2) { - //buf.append("

              ").append(_("Peer Profiles")).append("

              \n

              "); + //buf.append("

              ").append(_t("Peer Profiles")).append("

              \n

              "); buf.append(ngettext("Showing 1 recent profile.", "Showing {0} recent profiles.", order.size())).append('\n'); if (older > 0) buf.append(ngettext("Hiding 1 older profile.", "Hiding {0} older profiles.", older)).append('\n'); @@ -84,12 +84,12 @@ class ProfileOrganizerRenderer { buf.append("

              "); buf.append(""); buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); buf.append(""); buf.append(""); int prevTier = 1; @@ -127,12 +127,12 @@ class ProfileOrganizerRenderer { buf.append(""); //buf.append("\n"); buf.append(""); // let's not build the whole page in memory (~500 bytes per peer) @@ -193,26 +193,26 @@ class ProfileOrganizerRenderer { //// } else { - //buf.append("

              ").append(_("Floodfill and Integrated Peers")) + //buf.append("

              ").append(_t("Floodfill and Integrated Peers")) // .append(" (").append(integratedPeers.size()).append(")

              \n"); buf.append("
              ").append(_("Peer")).append("").append(_("Groups (Caps)")).append("").append(_("Speed")).append("").append(_("Capacity")).append("").append(_("Integration")).append("").append(_("Status")).append("").append(_t("Peer")).append("").append(_t("Groups (Caps)")).append("").append(_t("Speed")).append("").append(_t("Capacity")).append("").append(_t("Integration")).append("").append(_t("Status")).append(" 
              "); switch (tier) { - case 1: buf.append(_("Fast, High Capacity")); break; - case 2: buf.append(_("High Capacity")); break; - case 3: buf.append(_("Standard")); break; - default: buf.append(_("Failing")); break; + case 1: buf.append(_t("Fast, High Capacity")); break; + case 2: buf.append(_t("High Capacity")); break; + case 3: buf.append(_t("Standard")); break; + default: buf.append(_t("Failing")); break; } - if (isIntegrated) buf.append(", ").append(_("Integrated")); + if (isIntegrated) buf.append(", ").append(_t("Integrated")); RouterInfo info = _context.netDb().lookupRouterInfoLocally(peer); if (info != null) { // prevent HTML injection in the caps and version @@ -163,9 +163,9 @@ class ProfileOrganizerRenderer { } buf.append("").append(num(prof.getIntegrationValue())); buf.append(""); - if (_context.banlist().isBanlisted(peer)) buf.append(_("Banned")); - if (prof.getIsFailing()) buf.append(' ').append(_("Failing")); - if (_context.commSystem().wasUnreachable(peer)) buf.append(' ').append(_("Unreachable")); + if (_context.banlist().isBanlisted(peer)) buf.append(_t("Banned")); + if (prof.getIsFailing()) buf.append(' ').append(_t("Failing")); + if (_context.commSystem().wasUnreachable(peer)) buf.append(' ').append(_t("Unreachable")); RateAverages ra = RateAverages.getTemp(); Rate failed = prof.getTunnelHistory().getFailedRate().getRate(30*60*1000); long fails = failed.computeAverages(ra, false).getTotalEventCount(); @@ -173,13 +173,13 @@ class ProfileOrganizerRenderer { Rate accepted = prof.getTunnelCreateResponseTime().getRate(30*60*1000); long total = fails + accepted.computeAverages(ra, false).getTotalEventCount(); if (total / fails <= 10) // hide if < 10% - buf.append(' ').append(fails).append('/').append(total).append(' ').append(_("Test Fails")); + buf.append(' ').append(fails).append('/').append(total).append(' ').append(_t("Test Fails")); } buf.append(" ").append(_("profile")).append(""); + // .append(peer.toBase64().substring(0,6)).append("\">").append(_t("profile")).append(""); buf.append("").append(_("profile")).append(""); + .append(peer.toBase64()).append("\">").append(_t("profile")).append(""); buf.append(" +-
              "); buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); - buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); + buf.append(""); buf.append(""); RateAverages ra = RateAverages.getTemp(); for (PeerProfile prof : order) { @@ -244,7 +244,7 @@ class ProfileOrganizerRenderer { buf.append(""); } else { for (int i = 0; i < 6; i++) - buf.append("\n"); } @@ -256,20 +256,20 @@ class ProfileOrganizerRenderer { } if (mode < 2) { - buf.append("

              ").append(_("Thresholds")).append("

              "); - buf.append("

              ").append(_("Speed")).append(": ").append(num(_organizer.getSpeedThreshold())) - .append(" (").append(fast).append(' ').append(_("fast peers")).append(")
              "); - buf.append("").append(_("Capacity")).append(": ").append(num(_organizer.getCapacityThreshold())) - .append(" (").append(reliable).append(' ').append(_("high capacity peers")).append(")
              "); - buf.append("").append(_("Integration")).append(": ").append(num(_organizer.getIntegrationThreshold())) - .append(" (").append(integrated).append(' ').append(_(" well integrated peers")).append(")

              "); - buf.append("

              ").append(_("Definitions")).append("

                "); - buf.append("
              • ").append(_("groups")).append(": ").append(_("as determined by the profile organizer")).append("
              • "); - buf.append("
              • ").append(_("caps")).append(": ").append(_("capabilities in the netDb, not used to determine profiles")).append("
              • "); - buf.append("
              • ").append(_("speed")).append(": ").append(_("peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel")).append("
              • "); - buf.append("
              • ").append(_("capacity")).append(": ").append(_("how many tunnels can we ask them to join in an hour?")).append("
              • "); - buf.append("
              • ").append(_("integration")).append(": ").append(_("how many new peers have they told us about lately?")).append("
              • "); - buf.append("
              • ").append(_("status")).append(": ").append(_("is the peer banned, or unreachable, or failing tunnel tests?")).append("
              • "); + buf.append("

                ").append(_t("Thresholds")).append("

                "); + buf.append("

                ").append(_t("Speed")).append(": ").append(num(_organizer.getSpeedThreshold())) + .append(" (").append(fast).append(' ').append(_t("fast peers")).append(")
                "); + buf.append("").append(_t("Capacity")).append(": ").append(num(_organizer.getCapacityThreshold())) + .append(" (").append(reliable).append(' ').append(_t("high capacity peers")).append(")
                "); + buf.append("").append(_t("Integration")).append(": ").append(num(_organizer.getIntegrationThreshold())) + .append(" (").append(integrated).append(' ').append(_t(" well integrated peers")).append(")

                "); + buf.append("

                ").append(_t("Definitions")).append("

                  "); + buf.append("
                • ").append(_t("groups")).append(": ").append(_t("as determined by the profile organizer")).append("
                • "); + buf.append("
                • ").append(_t("caps")).append(": ").append(_t("capabilities in the netDb, not used to determine profiles")).append("
                • "); + buf.append("
                • ").append(_t("speed")).append(": ").append(_t("peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel")).append("
                • "); + buf.append("
                • ").append(_t("capacity")).append(": ").append(_t("how many tunnels can we ask them to join in an hour?")).append("
                • "); + buf.append("
                • ").append(_t("integration")).append(": ").append(_t("how many new peers have they told us about lately?")).append("
                • "); + buf.append("
                • ").append(_t("status")).append(": ").append(_t("is the peer banned, or unreachable, or failing tunnel tests?")).append("
                • "); buf.append("
                "); //// @@ -336,13 +336,13 @@ class ProfileOrganizerRenderer { private String avg (PeerProfile prof, long rate, RateAverages ra) { RateStat rs = prof.getDbResponseTime(); if (rs == null) - return _(NA); + return _t(NA); Rate r = rs.getRate(rate); if (r == null) - return _(NA); + return _t(NA); r.computeAverages(ra, false); if (ra.getTotalEventCount() == 0) - return _(NA); + return _t(NA); return DataHelper.formatDuration2(Math.round(ra.getAverage())); } @@ -363,12 +363,12 @@ class ProfileOrganizerRenderer { /** @since 0.9.21 */ private String formatInterval(long now, long then) { if (then <= 0) - return _(NA); + return _t(NA); return DataHelper.formatDuration2(now - then); } /** translate a string */ - private String _(String s) { + private String _t(String s) { return Messages.getString(s, _context); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java index 6645558d5d..3236d1f126 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java @@ -104,12 +104,12 @@ public class ProfilesHelper extends HelperBase { // we are there if (span) buf.append(""); - buf.append(_(titles[i])); + buf.append(_t(titles[i])); } else { // we are not there, make a link if (span) buf.append(""); - buf.append("").append(_(titles[i])).append(""); + buf.append("").append(_t(titles[i])).append(""); } if (span) buf.append(" \n"); 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 213f82db14..91483b97fc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -26,8 +26,9 @@ import net.i2p.crypto.KeyStoreUtil; import net.i2p.data.DataHelper; import net.i2p.jetty.I2PLogger; import net.i2p.router.RouterContext; -import net.i2p.router.update.ConsoleUpdateManager; import net.i2p.router.app.RouterApp; +import net.i2p.router.news.NewsManager; +import net.i2p.router.update.ConsoleUpdateManager; import net.i2p.util.Addresses; import net.i2p.util.FileUtil; import net.i2p.util.I2PAppThread; @@ -517,7 +518,7 @@ public class RouterConsoleRunner implements RouterApp { sslFactory.setKeyManagerPassword(_context.getProperty(PROP_KEY_PASSWORD, "thisWontWork")); sslFactory.addExcludeProtocols(I2PSSLSocketFactory.EXCLUDE_PROTOCOLS.toArray( new String[I2PSSLSocketFactory.EXCLUDE_PROTOCOLS.size()])); - sslFactory.addExcludeCipherSuites(I2PSSLSocketFactory.INCLUDE_CIPHERS.toArray( + sslFactory.addExcludeCipherSuites(I2PSSLSocketFactory.EXCLUDE_CIPHERS.toArray( new String[I2PSSLSocketFactory.EXCLUDE_CIPHERS.size()])); StringTokenizer tok = new StringTokenizer(_sslListenHost, " ,"); while (tok.hasMoreTokens()) { @@ -706,6 +707,8 @@ public class RouterConsoleRunner implements RouterApp { ConsoleUpdateManager um = new ConsoleUpdateManager(_context, _mgr, null); um.start(); + NewsManager nm = new NewsManager(_context, _mgr, null); + nm.startup(); if (PluginStarter.pluginsEnabled(_context)) { t = new I2PAppThread(new PluginStarter(_context), "PluginStarter", true); @@ -757,6 +760,13 @@ public class RouterConsoleRunner implements RouterApp { changes.put(PROP_KEY_PASSWORD, keyPassword); _context.router().saveConfig(changes, null); } catch (Exception e) {} // class cast exception + // export cert, fails silently + File dir = new SecureDirectory(_context.getConfigDir(), "certificates"); + dir.mkdir(); + dir = new SecureDirectory(dir, "console"); + dir.mkdir(); + File certFile = new File(dir, "console.local.crt"); + KeyStoreUtil.exportCert(ks, DEFAULT_KEYSTORE_PASSWORD, "console", certFile); } } if (success) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java index 3ee03289be..e04809d6f3 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java @@ -71,7 +71,7 @@ public class SearchHelper extends HelperBase { } } StringBuilder buf = new StringBuilder(1024); - buf.append(""); for (String name : _engines.keySet()) { buf.append("\n"); + buf.append(_t(group)).append("\n"); // let's just do the groups //Set stats = (Set)entry.getValue(); //for (Iterator statIter = stats.iterator(); statIter.hasNext(); ) { @@ -54,14 +54,14 @@ public class StatsGenerator { //out.write(buf.toString()); //buf.setLength(0); } - buf.append(" "); + buf.append(" "); buf.append(""); - buf.append(_("Statistics gathered during this router's uptime")).append(" ("); + buf.append(_t("Statistics gathered during this router's uptime")).append(" ("); long uptime = _context.router().getUptime(); buf.append(DataHelper.formatDuration2(uptime)); - buf.append("). ").append( _("The data gathered is quantized over a 1 minute period, so should just be used as an estimate.")); - buf.append(' ').append( _("These statistics are primarily used for development and debugging.")); + buf.append("). ").append( _t("The data gathered is quantized over a 1 minute period, so should just be used as an estimate.")); + buf.append(' ').append( _t("These statistics are primarily used for development and debugging.")); out.write(buf.toString()); buf.setLength(0); @@ -72,7 +72,7 @@ public class StatsGenerator { buf.append("

                "); - buf.append(_(group)); + buf.append(_t(group)); buf.append("

                "); buf.append("
                  "); out.write(buf.toString()); @@ -102,7 +102,7 @@ public class StatsGenerator { buf.append(freq.getDescription()); buf.append("
                  "); if (freq.getEventCount() <= 0) { - buf.append(_("No lifetime events")).append("
                  \n"); + buf.append(_t("No lifetime events")).append("
                  \n"); return; } long uptime = _context.router().getUptime(); @@ -113,15 +113,15 @@ public class StatsGenerator { if (periods[i] > uptime) break; buf.append("
                • "); - renderPeriod(buf, periods[i], _("frequency")); + renderPeriod(buf, periods[i], _t("frequency")); Frequency curFreq = freq.getFrequency(periods[i]); buf.append(DataHelper.formatDuration2(Math.round(curFreq.getAverageInterval()))); buf.append("; "); - buf.append(_("Rolling average events per period")); + buf.append(_t("Rolling average events per period")); buf.append(": "); buf.append(num(curFreq.getAverageEventsPerPeriod())); buf.append("; "); - buf.append(_("Highest events per period")); + buf.append(_t("Highest events per period")); buf.append(": "); buf.append(num(curFreq.getMaxAverageEventsPerPeriod())); buf.append("; "); @@ -132,12 +132,12 @@ public class StatsGenerator { //} //buf.append(" avg interval between updates: (").append(num(curFreq.getAverageInterval())).append("ms, min "); //buf.append(num(curFreq.getMinAverageInterval())).append("ms)"); - buf.append(_("Lifetime average events per period")).append(": "); + buf.append(_t("Lifetime average events per period")).append(": "); buf.append(num(curFreq.getStrictAverageEventsPerPeriod())); buf.append("
                • \n"); } // Display the strict average - buf.append("
                • ").append(_("Lifetime average frequency")).append(": "); + buf.append("
                • ").append(_t("Lifetime average frequency")).append(": "); buf.append(DataHelper.formatDuration2(freq.getFrequency())); buf.append(" ("); buf.append(ngettext("1 event", "{0} events", (int) freq.getEventCount())); @@ -153,7 +153,7 @@ public class StatsGenerator { buf.append("
                  "); } if (rate.getLifetimeEventCount() <= 0) { - buf.append(_("No lifetime events")).append("
                  \n"); + buf.append(_t("No lifetime events")).append("
                  \n"); return; } long now = _context.clock().now(); @@ -165,12 +165,12 @@ public class StatsGenerator { if (curRate.getLastCoalesceDate() <= curRate.getCreationDate()) break; buf.append("
                • "); - renderPeriod(buf, periods[i], _("rate")); + renderPeriod(buf, periods[i], _t("rate")); if (curRate.getLastEventCount() > 0) { - buf.append(_("Average")).append(": "); + buf.append(_t("Average")).append(": "); buf.append(num(curRate.getAverageValue())); buf.append("; "); - buf.append(_("Highest average")); + buf.append(_t("Highest average")); buf.append(": "); buf.append(num(curRate.getExtremeAverageValue())); buf.append("; "); @@ -199,16 +199,16 @@ public class StatsGenerator { buf.append(ngettext("There was 1 event in this period.", "There were {0} events in this period.", (int)curRate.getLastEventCount())); buf.append(' '); - buf.append(_("The period ended {0} ago.", DataHelper.formatDuration2(now - curRate.getLastCoalesceDate()))); + buf.append(_t("The period ended {0} ago.", DataHelper.formatDuration2(now - curRate.getLastCoalesceDate()))); } else { - buf.append(" ").append(_("No events")).append(" "); + buf.append(" ").append(_t("No events")).append(" "); } long numPeriods = curRate.getLifetimePeriods(); if (numPeriods > 0) { double avgFrequency = curRate.getLifetimeEventCount() / (double)numPeriods; - buf.append(" (").append(_("Average event count")).append(": "); + buf.append(" (").append(_t("Average event count")).append(": "); buf.append(num(avgFrequency)); - buf.append("; ").append(_("Events in peak period")).append(": "); + buf.append("; ").append(_t("Events in peak period")).append(": "); // This isn't really the highest event count, but the event count during the period with the highest total value. buf.append(curRate.getExtremeEventCount()); buf.append(")"); @@ -216,19 +216,19 @@ public class StatsGenerator { if (curRate.getSummaryListener() != null) { buf.append(" ").append(_("Graph Data")).append(" - "); + buf.append("\">").append(_t("Graph Data")).append(" - "); buf.append(" ").append(_("Graph Event Count")).append(""); + buf.append("&showEvents=true\">").append(_t("Graph Event Count")).append(""); // This can really blow up your browser if you click on it //buf.append(" - ").append(_("Export Data as XML")).append(""); + //buf.append("&format=xml\">").append(_t("Export Data as XML")).append(""); } buf.append("
                • \n"); } // Display the strict average - buf.append("
                • ").append(_("Lifetime average value")).append(": "); + buf.append("
                • ").append(_t("Lifetime average value")).append(": "); buf.append(num(rate.getLifetimeAverageValue())); buf.append(" ("); buf.append(ngettext("1 event", "{0} events", (int) rate.getLifetimeEventCount())); @@ -258,19 +258,19 @@ public class StatsGenerator { */ private class AlphaComparator implements Comparator { public int compare(String lhs, String rhs) { - String lname = _(lhs); - String rname = _(rhs); + String lname = _t(lhs); + String rname = _t(rhs); return Collator.getInstance().compare(lname, rname); } } /** translate a string */ - private String _(String s) { + private String _t(String s) { return Messages.getString(s, _context); } /** translate a string */ - private String _(String s, Object o) { + private String _t(String s, Object o) { return Messages.getString(s, o, _context); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java index 1dd724e958..29223c7bf6 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java @@ -3,14 +3,20 @@ package net.i2p.router.web; import java.io.File; import java.io.IOException; import java.io.Writer; +import java.text.DateFormat; import java.util.Collections; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; +import net.i2p.app.ClientAppManager; import net.i2p.crypto.SigType; import net.i2p.data.DataHelper; import net.i2p.router.RouterContext; +import net.i2p.router.news.NewsEntry; +import net.i2p.router.news.NewsManager; import net.i2p.util.PortMapper; /** @@ -118,9 +124,9 @@ public class SummaryBarRenderer { public String renderHelpAndFAQHTML() { StringBuilder buf = new StringBuilder(512); buf.append("

                  ") - .append(_("Help & FAQ")) + .append(_t("Help & FAQ")) .append("

                  "); return buf.toString(); } @@ -128,23 +134,23 @@ public class SummaryBarRenderer { public String renderI2PServicesHTML() { StringBuilder buf = new StringBuilder(512); buf.append("

                  ") - .append(_("I2P Services")) + .append(_t("I2P Services")) .append("

                  \n" + "
              ").append(_("Peer")).append("").append(_("Caps")).append("").append(_("Integ. Value")).append("").append(_("Last Heard About")).append("").append(_("Last Heard From")).append("").append(_("Last Good Send")).append("").append(_("Last Bad Send")).append("").append(_("10m Resp. Time")).append("").append(_("1h Resp. Time")).append("").append(_("1d Resp. Time")).append("").append(_("Last Good Lookup")).append("").append(_("Last Bad Lookup")).append("").append(_("Last Good Store")).append("").append(_("Last Bad Store")).append("").append(_("1h Fail Rate")).append("").append(_("1d Fail Rate")).append("").append(_t("Peer")).append("").append(_t("Caps")).append("").append(_t("Integ. Value")).append("").append(_t("Last Heard About")).append("").append(_t("Last Heard From")).append("").append(_t("Last Good Send")).append("").append(_t("Last Bad Send")).append("").append(_t("10m Resp. Time")).append("").append(_t("1h Resp. Time")).append("").append(_t("1d Resp. Time")).append("").append(_t("Last Good Lookup")).append("").append(_t("Last Bad Lookup")).append("").append(_t("Last Good Store")).append("").append(_t("Last Bad Store")).append("").append(_t("1h Fail Rate")).append("").append(_t("1d Fail Rate")).append("
              ").append(davg(dbh, 24*60*60*1000l, ra)).append("").append(_(NA)); + buf.append("").append(_t(NA)); } buf.append("
              " + "") - .append(nbsp(_("Email"))) + .append(nbsp(_t("Email"))) .append("\n" + "") - .append(nbsp(_("Torrents"))) + .append(nbsp(_t("Torrents"))) .append("\n" + "") - .append(nbsp(_("Website"))) + .append(nbsp(_t("Website"))) .append("\n") .append(NavHelper.getClientAppLinks(_context)) @@ -166,73 +172,73 @@ public class SummaryBarRenderer { public String renderI2PInternalsHTML() { StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("I2P Internals")) + .append(_t("I2P Internals")) .append("


              \n" + "
              \n" + "") - .append(nbsp(_("Tunnels"))) + .append(nbsp(_t("Tunnels"))) .append("\n" + "") - .append(nbsp(_("Peers"))) + .append(nbsp(_t("Peers"))) .append("\n" + "") - .append(nbsp(_("Profiles"))) + .append(nbsp(_t("Profiles"))) .append("\n" + "") - .append(nbsp(_("NetDB"))) + .append(nbsp(_t("NetDB"))) .append("\n" + "") - .append(nbsp(_("Logs"))) + .append(nbsp(_t("Logs"))) .append("\n"); // "") - // .append(_("Jobs")) + // .append(_t("Jobs")) // .append("\n" + if (!StatSummarizer.isDisabled()) { buf.append("") - .append(nbsp(_("Graphs"))) + .append(nbsp(_t("Graphs"))) .append("\n"); } buf.append("") - .append(nbsp(_("Stats"))) + .append(nbsp(_t("Stats"))) .append("\n" + "") - .append(nbsp(_("Addressbook"))) + .append(nbsp(_t("Addressbook"))) .append("\n" + "") - .append(nbsp(_("Hidden Services Manager"))) + .append(nbsp(_t("Hidden Services Manager"))) .append("\n"); if (_context.getBooleanProperty(HelperBase.PROP_ADVANCED)) @@ -248,44 +254,44 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("General")) + .append(_t("General")) .append("


              \n" + "" + "" + "\n" + "" + "" + "\n" + "" + "" + ""); if (sessionObject.folder.getPages() > 1 && i > 30) { @@ -2270,27 +2270,27 @@ public class WebMail extends HttpServlet out.println("\n"); } out.println( "
              ") - .append(_("Local Identity")) + .append(_t("Local Identity")) .append(":" + "") - .append(_("show")) + .append(_t("show")) .append("
              ") - .append(_("Version")) + .append(_t("Version")) .append(":") .append(_helper.getVersion()) .append("
              ") - .append(_("Uptime")) + .append(_t("Uptime")) .append(":") .append(_helper.getUptime()) @@ -298,20 +304,20 @@ public class SummaryBarRenderer { StringBuilder buf = new StringBuilder(512); buf.append("" + "" + "" + "\n" + "" + "" + "\n
              ") - .append(_("Version")) + .append(_t("Version")) .append(":") .append(_helper.getVersion()) .append("
              ") - .append(_("Uptime")) + .append(_t("Uptime")) .append(":") .append(_helper.getUptime()) @@ -323,9 +329,9 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("Network")) + .append(_t("Network")) .append(": ") .append(_helper.getReachability()) .append("

              \n"); @@ -334,9 +340,9 @@ public class SummaryBarRenderer { if ("ru".equals(Messages.getLanguage(_context))) buf.append("-ru"); buf.append("\" target=\"_top\" title=\"") - .append(_("See more information on the wiki")) + .append(_t("See more information on the wiki")) .append("\">") - .append(_("Warning: ECDSA is not available. Update your Java or OS")) + .append(_t("Warning: ECDSA is not available. Update your Java or OS")) .append("\n"); } return buf.toString(); @@ -348,9 +354,9 @@ public class SummaryBarRenderer { if ("".equals(updateStatus)) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("I2P Update")) + .append(_t("I2P Update")) .append("


              \n"); buf.append(updateStatus); return buf.toString(); @@ -367,18 +373,18 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("Peers")) + .append(_t("Peers")) .append("


              \n" + "\n" + "" + "\n" + "" + "\n" + "" + "\n" + "" + "\n" + "" + "\n" + @@ -437,9 +443,9 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("Bandwidth in/out")) + .append(_t("Bandwidth in/out")) .append("


              " + "
              ") - .append(_("Active")) + .append(_t("Active")) .append(":"); int active = _helper.getActivePeers(); buf.append(active) @@ -387,37 +393,37 @@ public class SummaryBarRenderer { .append("
              ") - .append(_("Fast")) + .append(_t("Fast")) .append(":") .append(_helper.getFastPeers()) .append("
              ") - .append(_("High capacity")) + .append(_t("High capacity")) .append(":") .append(_helper.getHighCapacityPeers()) .append("
              ") - .append(_("Integrated")) + .append(_t("Integrated")) .append(":") .append(_helper.getWellIntegratedPeers()) .append("
              ") - .append(_("Known")) + .append(_t("Known")) .append(":") .append(_helper.getAllPeers()) .append("
              \n" + @@ -459,14 +465,14 @@ public class SummaryBarRenderer { if (_context.router().getUptime() > 2*60*1000) { buf.append("\n"); } buf.append("
              ") - .append(_("Total")) + .append(_t("Total")) .append(":") .append(_helper.getLifetimeKBps()) .append("Bps
              ") - .append(_("Used")) + .append(_t("Used")) .append(":") .append(_helper.getInboundTransferred()) .append(SummaryHelper.THINSP) @@ -481,44 +487,44 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("Tunnels")) + .append(_t("Tunnels")) .append("


              " + "\n" + "" + "\n" + "" + "\n" + "" + "\n" + "" + "\n" + @@ -531,46 +537,46 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(512); buf.append("

              ") - .append(_("Congestion")) + .append(_t("Congestion")) .append("


              " + "
              ") - .append(_("Exploratory")) + .append(_t("Exploratory")) .append(":") .append(_helper.getInboundTunnels() + _helper.getOutboundTunnels()) .append("
              ") - .append(_("Client")) + .append(_t("Client")) .append(":") .append(_helper.getInboundClientTunnels() + _helper.getOutboundClientTunnels()) .append("
              ") - .append(_("Participating")) + .append(_t("Participating")) .append(":") .append(_helper.getParticipatingTunnels()) .append("
              ") - .append(_("Share ratio")) + .append(_t("Share ratio")) .append(":") .append(_helper.getShareRatio()) .append("
              \n" + "" + "\n" + "" + "\n"); if (!_context.getBooleanPropertyDefaultTrue("router.disableTunnelTesting")) { buf.append("" + "\n"); } buf.append("" + "\n" + @@ -583,7 +589,7 @@ public class SummaryBarRenderer { if (_helper == null) return ""; StringBuilder buf = new StringBuilder(50); buf.append("

              ") - .append(_(_helper.getTunnelStatus())) + .append(_t(_helper.getTunnelStatus())) .append("

              \n"); return buf.toString(); } @@ -604,52 +610,48 @@ public class SummaryBarRenderer { String consoleNonce = CSSHelper.getNonce(); if (consoleNonce != null) { // Set up title and pre-headings stuff. - buf.append("

              ") - .append(_("News & Updates")) + //buf.append("

              ") + buf.append("

              ") + .append(_t("News & Updates")) .append("


              \n"); // Get news content. - String newsContent = newshelper.getContent(); - if (newsContent != "") { + List entries = Collections.emptyList(); + ClientAppManager cmgr = _context.clientAppManager(); + if (cmgr != null) { + NewsManager nmgr = (NewsManager) cmgr.getRegisteredApp(NewsManager.APP_NAME); + if (nmgr != null) + entries = nmgr.getEntries(); + } + if (!entries.isEmpty()) { buf.append("
                \n"); - // Parse news content for headings. - boolean foundEntry = false; - int start = newsContent.indexOf("

                "); - while (start >= 0) { - // Add offset to start: - // 4 - gets rid of

                - // 16 - gets rid of the date as well (assuming form "

                yyyy-mm-dd: Foobarbaz...") - // Don't truncate the "congratulations" in initial news - if (newsContent.length() > start + 16 && - newsContent.substring(start + 4, start + 6).equals("20") && - newsContent.substring(start + 14, start + 16).equals(": ")) - newsContent = newsContent.substring(start+16, newsContent.length()); - else - newsContent = newsContent.substring(start+4, newsContent.length()); - int end = newsContent.indexOf("

                "); - if (end >= 0) { - String heading = newsContent.substring(0, end); - buf.append("
              • ") - .append(heading) - .append("
              • \n"); - foundEntry = true; + DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT); + // the router sets the JVM time zone to UTC but saves the original here so we can get it + String systemTimeZone = _context.getProperty("i2p.systemTimeZone"); + if (systemTimeZone != null) + fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone)); + int i = 0; + final int max = 2; + for (NewsEntry entry : entries) { + buf.append("
              • "); + if (entry.updated > 0) { + Date date = new Date(entry.updated); + buf.append(fmt.format(date)) + .append(": "); } - start = newsContent.indexOf("

                "); + buf.append(entry.title) + .append("

              • \n"); + if (++i >= max) + break; } buf.append("
              \n"); - // Set up string containing to show news. - String requestURI = _helper.getRequestURI(); - if (requestURI.contains("/home") && !foundEntry) { - buf.append("") - .append(_("Show news")) - .append("\n"); - } + //buf.append("") + // .append(_t("Show all news")) + // .append("\n"); } else { buf.append("
              ") - .append(_("none")) + .append(_t("none")) .append("
              "); } // Add post-headings stuff. @@ -659,7 +661,7 @@ public class SummaryBarRenderer { } /** translate a string */ - private String _(String s) { + private String _t(String s) { return Messages.getString(s, _context); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 1cd207e454..88a0e43d95 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -114,7 +114,7 @@ public class SummaryHelper extends HelperBase { long diff = Math.abs(ms); if (diff < 3000) return ""; - return " (" + DataHelper.formatDuration2(diff) + " " + _("skew") + ")"; + return " (" + DataHelper.formatDuration2(diff) + " " + _t("skew") + ")"; } **/ @@ -140,19 +140,19 @@ public class SummaryHelper extends HelperBase { return "VM Comm System"; if (_context.router().getUptime() > 60*1000 && (!_context.router().gracefulShutdownInProgress()) && !_context.clientManager().isAlive()) - return _("ERR-Client Manager I2CP Error - check logs"); // not a router problem but the user should know + return _t("ERR-Client Manager I2CP Error - check logs"); // not a router problem but the user should know // Warn based on actual skew from peers, not update status, so if we successfully offset // the clock, we don't complain. //if (!_context.clock().getUpdatedSuccessfully()) long skew = _context.commSystem().getFramedAveragePeerClockSkew(33); // Display the actual skew, not the offset if (Math.abs(skew) > 30*1000) - return _("ERR-Clock Skew of {0}", DataHelper.formatDuration2(Math.abs(skew))); + return _t("ERR-Clock Skew of {0}", DataHelper.formatDuration2(Math.abs(skew))); if (_context.router().isHidden()) - return _("Hidden"); + return _t("Hidden"); RouterInfo routerInfo = _context.router().getRouterInfo(); if (routerInfo == null) - return _("Testing"); + return _t("Testing"); Status status = _context.commSystem().getStatus(); switch (status) { @@ -164,37 +164,37 @@ public class SummaryHelper extends HelperBase { case IPV4_SNAT_IPV6_OK: RouterAddress ra = routerInfo.getTargetAddress("NTCP"); if (ra == null) - return _(status.toStatusString()); + return _t(status.toStatusString()); byte[] ip = ra.getIP(); if (ip == null) - return _("ERR-Unresolved TCP Address"); + return _t("ERR-Unresolved TCP Address"); // TODO set IPv6 arg based on configuration? if (TransportUtil.isPubliclyRoutable(ip, true)) - return _(status.toStatusString()); - return _("ERR-Private TCP Address"); + return _t(status.toStatusString()); + return _t("ERR-Private TCP Address"); case IPV4_SNAT_IPV6_UNKNOWN: case DIFFERENT: - return _("ERR-SymmetricNAT"); + return _t("ERR-SymmetricNAT"); case REJECT_UNSOLICITED: case IPV4_DISABLED_IPV6_FIREWALLED: if (routerInfo.getTargetAddress("NTCP") != null) - return _("WARN-Firewalled with Inbound TCP Enabled"); + return _t("WARN-Firewalled with Inbound TCP Enabled"); // fall through... case IPV4_FIREWALLED_IPV6_OK: case IPV4_FIREWALLED_IPV6_UNKNOWN: if (((FloodfillNetworkDatabaseFacade)_context.netDb()).floodfillEnabled()) - return _("WARN-Firewalled and Floodfill"); + return _t("WARN-Firewalled and Floodfill"); //if (_context.router().getRouterInfo().getCapabilities().indexOf('O') >= 0) - // return _("WARN-Firewalled and Fast"); - return _(status.toStatusString()); + // return _t("WARN-Firewalled and Fast"); + return _t(status.toStatusString()); case DISCONNECTED: - return _("Disconnected - check network cable"); + return _t("Disconnected - check network cable"); case HOSED: - return _("ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"); + return _t("ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"); case UNKNOWN: case IPV4_UNKNOWN_IPV6_FIREWALLED: @@ -203,14 +203,14 @@ public class SummaryHelper extends HelperBase { ra = routerInfo.getTargetAddress("SSU"); if (ra == null && _context.router().getUptime() > 5*60*1000) { if (getActivePeers() <= 0) - return _("ERR-No Active Peers, Check Network Connection and Firewall"); + return _t("ERR-No Active Peers, Check Network Connection and Firewall"); else if (_context.getProperty(ConfigNetHelper.PROP_I2NP_NTCP_HOSTNAME) == null || _context.getProperty(ConfigNetHelper.PROP_I2NP_NTCP_PORT) == null) - return _("ERR-UDP Disabled and Inbound TCP host/port not set"); + return _t("ERR-UDP Disabled and Inbound TCP host/port not set"); else - return _("WARN-Firewalled with UDP Disabled"); + return _t("WARN-Firewalled with UDP Disabled"); } - return _(status.toStatusString()); + return _t(status.toStatusString()); } } @@ -434,8 +434,8 @@ public class SummaryHelper extends HelperBase { StringBuilder buf = new StringBuilder(512); buf.append("

              ").append(_("Local Tunnels")) + .append(_t("Add/remove/edit & control your client and server tunnels")) + .append("\">").append(_t("Local Tunnels")) .append("


              "); if (!clients.isEmpty()) { Collections.sort(clients, new AlphaComparator()); @@ -447,11 +447,11 @@ public class SummaryHelper extends HelperBase { buf.append("

              \n"); + buf.append("\n"); } else { // green light - buf.append("\n"); + buf.append("\n"); } } else { // yellow light - buf.append("\n"); + buf.append("\n"); } } buf.append("
              ") - .append(_("Job lag")) + .append(_t("Job lag")) .append(":") .append(_helper.getJobLag()) .append("
              ") - .append(_("Message delay")) + .append(_t("Message delay")) .append(":") .append(_helper.getMessageDelay()) .append("
              ") - .append(_("Tunnel lag")) + .append(_t("Tunnel lag")) .append(":") .append(_helper.getTunnelLag()) .append("
              ") - .append(_("Backlog")) + .append(_t("Backlog")) .append(":") .append(_helper.getInboundBacklog()) .append("
              \"Server\""); + buf.append("server.png\" alt=\"Server\" title=\"").append(_t("Hidden Service")).append("\">"); else - buf.append("client.png\" alt=\"Client\" title=\"").append(_("Client")).append("\">"); + buf.append("client.png\" alt=\"Client\" title=\"").append(_t("Client")).append("\">"); buf.append(""); + buf.append("\" target=\"_top\" title=\"").append(_t("Show tunnels")).append("\">"); if (name.length() <= 20) buf.append(DataHelper.escapeHTML(name)); else @@ -462,20 +462,20 @@ public class SummaryHelper extends HelperBase { long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now(); if (timeToExpire < 0) { // red or yellow light - buf.append("\"").append(_("Rebuilding")).append("…\"
              \"").append(_t("Rebuilding")).append("…\"
              \"Ready\"
              \"Ready\"
              \"").append(_("Building")).append("…\"
              \"").append(_t("Building")).append("…\"
              "); } else { - buf.append("
              ").append(_("none")).append("
              "); + buf.append("
              ").append(_t("none")).append("
              "); } buf.append("\n"); return buf.toString(); @@ -486,7 +486,7 @@ public class SummaryHelper extends HelperBase { * Inner class, can't be Serializable */ private class AlphaComparator implements Comparator { - private final String xsc = _("shared clients"); + private final String xsc = _t("shared clients"); public int compare(Destination lhs, Destination rhs) { String lname = getName(lhs); @@ -511,9 +511,9 @@ public class SummaryHelper extends HelperBase { if (name == null) name = d.calculateHash().toBase64().substring(0,6); else - name = _(name); + name = _t(name); } else { - name = _(name); + name = _t(name); } return name; } @@ -712,12 +712,12 @@ public class SummaryHelper extends HelperBase { buf.append("
              "); else needSpace = true; - buf.append("

              ").append(_("Update downloaded")).append("
              "); + buf.append("

              ").append(_t("Update downloaded")).append("
              "); if (_context.hasWrapper()) - buf.append(_("Click Restart to install")); + buf.append(_t("Click Restart to install")); else - buf.append(_("Click Shutdown and restart to install")); - buf.append(' ').append(_("Version {0}", DataHelper.escapeHTML(dver))); + buf.append(_t("Click Shutdown and restart to install")); + buf.append(' ').append(_t("Version {0}", DataHelper.escapeHTML(dver))); buf.append("

              "); } boolean avail = updateAvailable(); @@ -731,8 +731,8 @@ public class SummaryHelper extends HelperBase { buf.append("
              "); else needSpace = true; - buf.append("

              ").append(_("Update available")).append(":
              "); - buf.append(_("Version {0}", getUpdateVersion())).append("
              "); + buf.append("

              ").append(_t("Update available")).append(":
              "); + buf.append(_t("Version {0}", getUpdateVersion())).append("
              "); buf.append(constraint).append("

              "); avail = false; } @@ -755,7 +755,7 @@ public class SummaryHelper extends HelperBase { if (avail) { buf.append("
              \n"); } if (devSU3Avail) { @@ -763,7 +763,7 @@ public class SummaryHelper extends HelperBase { // Note to translators: parameter is a router version, e.g. "0.9.19-16" //
              is optional, to help the browser make the lines even in the button // If the translation is shorter than the English, you should probably not include
              - .append(_("Download Signed
              Development Update
              {0}", getDevSU3UpdateVersion())) + .append(_t("Download Signed
              Development Update
              {0}", getDevSU3UpdateVersion())) .append("
              \n"); } if (unsignedAvail) { @@ -771,7 +771,7 @@ public class SummaryHelper extends HelperBase { // Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC" //
              is optional, to help the browser make the lines even in the button // If the translation is shorter than the English, you should probably not include
              - .append(_("Download Unsigned
              Update {0}", getUnsignedUpdateVersion())) + .append(_t("Download Unsigned
              Update {0}", getUnsignedUpdateVersion())) .append("
              \n"); } buf.append("\n"); @@ -795,9 +795,9 @@ public class SummaryHelper extends HelperBase { StringBuilder buf = new StringBuilder(256); if (showFirewallWarning()) { buf.append("

              ") - .append(_("Check network connection and NAT/firewall")) + .append(_t("Check network connection and NAT/firewall")) .append("

              "); } @@ -816,7 +816,7 @@ public class SummaryHelper extends HelperBase { String uri = getRequestURI(); buf.append("

              \n"); buf.append("\n"); - buf.append("

              \n"); + buf.append("

              \n"); } } // If a new reseed ain't running, and the last reseed had errors, show error message @@ -901,18 +901,18 @@ public class SummaryHelper extends HelperBase { StringBuilder buf = new StringBuilder(2048); buf.append("\n"); for (String section : sections) { int i = sections.indexOf(section); buf.append("\n"); } buf.append("" + "") .append("
              ") - .append(_("Remove")) + .append(_t("Remove")) .append("") - .append(_("Name")) + .append(_t("Name")) .append("") - .append(_("Order")) + .append(_t("Order")) .append("
              ") - .append(_(sectionNames.get(section))) + .append(_t(sectionNames.get(section))) .append("\"")"); buf.append(""); } buf.append(""); @@ -945,34 +945,34 @@ public class SummaryHelper extends HelperBase { buf.append(""); buf.append(""); } buf.append("
              " + "") - .append(_("Add")).append(": " + + .append(_t("Add")).append(": " + "" + "
              \n"); return buf.toString(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java index 06d6e9af51..d97d185a85 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java @@ -139,9 +139,9 @@ class SummaryRenderer { else p = DataHelper.formatDuration2(period).replace(" ", " "); if (showEvents) - title = name + ' ' + _("events in {0}", p); + title = name + ' ' + _t("events in {0}", p); else - title = name + ' ' + _("averaged for {0}", p); + title = name + ' ' + _t("averaged for {0}", p); def.setTitle(title); } String path = _listener.getData().getPath(); @@ -151,7 +151,7 @@ class SummaryRenderer { if (showEvents) { // include the average event count on the plot plotName = dsNames[1]; - descr = _("Events per period"); + descr = _t("Events per period"); } else { // include the average value plotName = dsNames[0]; @@ -159,12 +159,12 @@ class SummaryRenderer { // (there are over 500 of them) // but the descriptions for the default graphs are tagged in // Strings.java - descr = _(_listener.getRate().getRateStat().getDescription()); + descr = _t(_listener.getRate().getRateStat().getDescription()); } //long started = ((RouterContext)_context).router().getWhenStarted(); //if (started > start && started < end) - // def.vrule(started / 1000, RESTART_BAR_COLOR, _("Restart"), 4.0f); + // def.vrule(started / 1000, RESTART_BAR_COLOR, _t("Restart"), 4.0f); def.datasource(plotName, path, plotName, SummaryListener.CF, _listener.getBackendName()); if (descr.length() > 0) { @@ -173,22 +173,22 @@ class SummaryRenderer { def.area(plotName, Color.BLUE); } if (!hideLegend) { - def.gprint(plotName, SummaryListener.CF, _("avg") + ": %.2f %s"); - def.gprint(plotName, "MAX", ' ' + _("max") + ": %.2f %S"); - def.gprint(plotName, "LAST", ' ' + _("now") + ": %.2f %S\\r"); + def.gprint(plotName, SummaryListener.CF, _t("avg") + ": %.2f %s"); + def.gprint(plotName, "MAX", ' ' + _t("max") + ": %.2f %S"); + def.gprint(plotName, "LAST", ' ' + _t("now") + ": %.2f %S\\r"); } String plotName2 = null; if (lsnr2 != null) { String dsNames2[] = lsnr2.getData().getDsNames(); plotName2 = dsNames2[0]; String path2 = lsnr2.getData().getPath(); - String descr2 = _(lsnr2.getRate().getRateStat().getDescription()); + String descr2 = _t(lsnr2.getRate().getRateStat().getDescription()); def.datasource(plotName2, path2, plotName2, SummaryListener.CF, lsnr2.getBackendName()); def.line(plotName2, Color.RED, descr2 + "\\r", 3); if (!hideLegend) { - def.gprint(plotName2, SummaryListener.CF, _("avg") + ": %.2f %s"); - def.gprint(plotName2, "MAX", ' ' + _("max") + ": %.2f %S"); - def.gprint(plotName2, "LAST", ' ' + _("now") + ": %.2f %S\\r"); + def.gprint(plotName2, SummaryListener.CF, _t("avg") + ": %.2f %s"); + def.gprint(plotName2, "MAX", ' ' + _t("max") + ": %.2f %S"); + def.gprint(plotName2, "LAST", ' ' + _t("now") + ": %.2f %S\\r"); } } if (!hideLegend) { @@ -198,7 +198,7 @@ class SummaryRenderer { for (Map.Entry event : events.entrySet()) { long started = event.getKey().longValue(); if (started > start && started < end) { - String legend = _("Restart") + ' ' + sdf.format(new Date(started)) + " UTC " + event.getValue() + "\\r"; + String legend = _t("Restart") + ' ' + sdf.format(new Date(started)) + " UTC " + event.getValue() + "\\r"; def.vrule(started / 1000, RESTART_BAR_COLOR, legend, 4.0f); } } @@ -271,7 +271,7 @@ class SummaryRenderer { private static final boolean IS_WIN = SystemVersion.isWindows(); /** translate a string */ - private String _(String s) { + private String _t(String s) { // the RRD font doesn't have zh chars, at least on my system // Works on 1.5.9 except on windows if (IS_WIN && "zh".equals(Messages.getLanguage(_context))) @@ -282,7 +282,7 @@ class SummaryRenderer { /** * translate a string with a parameter */ - private String _(String s, String o) { + private String _t(String s, String o) { // the RRD font doesn't have zh chars, at least on my system // Works on 1.5.9 except on windows if (IS_WIN && "zh".equals(Messages.getLanguage(_context))) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java index 9fff49d1e5..aab84c630b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java @@ -33,7 +33,7 @@ public class TunnelRenderer { } public void renderStatusHTML(Writer out) throws IOException { - out.write("

              " + _("Exploratory tunnels") + " (" + _("configure") + ")

              \n"); + out.write("

              " + _t("Exploratory tunnels") + " (" + _t("configure") + ")

              \n"); renderPool(out, _context.tunnelManager().getInboundExploratoryPool(), _context.tunnelManager().getOutboundExploratoryPool()); List destinations = null; @@ -57,20 +57,22 @@ public class TunnelRenderer { if (name == null) name = client.toBase64().substring(0,4); out.write("

              " + _("Client tunnels for") + ' ' + DataHelper.escapeHTML(_(name))); + + "\" >" + _t("Client tunnels for") + ' ' + DataHelper.escapeHTML(_t(name))); if (isLocal) - out.write(" (" + _("configure") + ")

              \n"); + out.write(" (" + _t("configure") + ")

              \n"); else - out.write(" (" + _("dead") + ")

              \n"); + out.write(" (" + _t("dead") + ")\n"); renderPool(out, in, outPool); } List participating = _context.tunnelDispatcher().listParticipatingTunnels(); - Collections.sort(participating, new TunnelComparator()); - out.write("

              " + _("Participating tunnels") + "

              \n"); - out.write("" - + "\n"); + out.write("

              " + _t("Participating tunnels") + "

              \n"); + if (!participating.isEmpty()) { + Collections.sort(participating, new TunnelComparator()); + out.write("
              " + _("Receive on") + "" + _("From") + "" - + _("Send on") + "" + _("To") + "" + _("Expiration") + "" + _("Usage") + "" + _("Rate") + "" + _("Role") + "
              " + + "\n"); + } long processed = 0; RateStat rs = _context.statManager().getRate("tunnel.participatingMessageCount"); if (rs != null) @@ -108,7 +110,7 @@ public class TunnelRenderer { if (timeLeft > 0) out.write(""); else - out.write(""); + out.write(""); out.write(""); int lifetime = (int) ((_context.clock().now() - cfg.getCreation()) / 1000); if (lifetime <= 0) @@ -118,18 +120,22 @@ public class TunnelRenderer { int bps = 1024 * cfg.getProcessedMessagesCount() / lifetime; out.write(""); if (cfg.getSendTo() == null) - out.write(""); + out.write(""); else if (cfg.getReceiveFrom() == null) - out.write(""); + out.write(""); else - out.write(""); + out.write(""); out.write("\n"); } - out.write("
              " + _t("Receive on") + "" + _t("From") + "" + + _t("Send on") + "" + _t("To") + "" + _t("Expiration") + "" + _t("Usage") + "" + _t("Rate") + "" + _t("Role") + "
              " + DataHelper.formatDuration2(timeLeft) + "(" + _("grace period") + ")(" + _t("grace period") + ")" + cfg.getProcessedMessagesCount() + " KB" + bps + " Bps" + _("Outbound Endpoint") + "" + _t("Outbound Endpoint") + "" + _("Inbound Gateway") + "" + _t("Inbound Gateway") + "" + _("Participant") + "" + _t("Participant") + "
              \n"); + if (!participating.isEmpty()) + out.write("
              \n"); if (displayed > DISPLAY_LIMIT) - out.write("
              " + _("Limited display to the {0} tunnels with the highest usage", DISPLAY_LIMIT) + "
              \n"); - out.write("
              " + _("Inactive participating tunnels") + ": " + inactive + "
              \n"); - out.write("
              " + _("Lifetime bandwidth usage") + ": " + DataHelper.formatSize2(processed*1024) + "B
              \n"); + out.write("
              " + _t("Limited display to the {0} tunnels with the highest usage", DISPLAY_LIMIT) + "
              \n"); + if (inactive > 0) + out.write("
              " + _t("Inactive participating tunnels") + ": " + inactive + "
              \n"); + else if (displayed <= 0) + out.write("
              " + _t("none") + "
              \n"); + out.write("
              " + _t("Lifetime bandwidth usage") + ": " + DataHelper.formatSize2(processed*1024) + "B
              \n"); //renderPeers(out); out.write(""); } @@ -159,16 +165,16 @@ public class TunnelRenderer { if (info.getLength() > maxLength) maxLength = info.getLength(); } - out.write(""); + out.write("
              " + _("In/Out") + "" + _("Expiry") + "" + _("Usage") + "" + _("Gateway") + "
              "); if (maxLength > 3) { out.write(""); + out.write("\">" + _t("Participants") + ""); } else if (maxLength == 3) { - out.write(""); + out.write(""); } if (maxLength > 1) { - out.write(""); + out.write(""); } out.write("\n"); for (int i = 0; i < tunnels.size(); i++) { @@ -208,22 +214,22 @@ public class TunnelRenderer { if (in != null) { List pending = in.listPending(); if (!pending.isEmpty()) { - out.write("
              " + _("Build in progress") + ": " + pending.size() + " " + _("inbound") + "
              \n"); + out.write("
              " + _t("Build in progress") + ": " + pending.size() + " " + _t("inbound") + "
              \n"); live += pending.size(); } } if (outPool != null) { List pending = outPool.listPending(); if (!pending.isEmpty()) { - out.write("
              " + _("Build in progress") + ": " + pending.size() + " " + _("outbound") + "
              \n"); + out.write("
              " + _t("Build in progress") + ": " + pending.size() + " " + _t("outbound") + "
              \n"); live += pending.size(); } } if (live <= 0) - out.write("
              " + _("No tunnels; waiting for the grace period to end.") + "
              \n"); - out.write("
              " + _("Lifetime bandwidth usage") + ": " + - DataHelper.formatSize2(processedIn*1024) + "B " + _("in") + ", " + - DataHelper.formatSize2(processedOut*1024) + "B " + _("out") + "
              "); + out.write("
              " + _t("No tunnels; waiting for the grace period to end.") + "
              \n"); + out.write("
              " + _t("Lifetime bandwidth usage") + ": " + + DataHelper.formatSize2(processedIn*1024) + "B " + _t("in") + ", " + + DataHelper.formatSize2(processedOut*1024) + "B " + _t("out") + "
              "); } /**** @@ -241,8 +247,8 @@ public class TunnelRenderer { List peerList = new ArrayList(peers); Collections.sort(peerList, new CountryComparator(this._context.commSystem())); - out.write("

              " + _("Tunnel Counts By Peer") + "

              \n"); - out.write("
              " + _t("In/Out") + "" + _t("Expiry") + "" + _t("Usage") + "" + _t("Gateway") + "" + _("Participants") + "" + _("Participant") + "" + _t("Participant") + "" + _("Endpoint") + "" + _t("Endpoint") + "
              \n"); + out.write("

              " + _t("Tunnel Counts By Peer") + "

              \n"); + out.write("
              " + _("Peer") + "" + _("Our Tunnels") + "" + _("% of total") + "" + _("Participating Tunnels") + "" + _("% of total") + "
              \n"); for (Hash h : peerList) { out.write("
              " + _t("Peer") + "" + _t("Our Tunnels") + "" + _t("% of total") + "" + _t("Participating Tunnels") + "" + _t("% of total") + "
              "); out.write(netDbLink(h)); @@ -260,7 +266,7 @@ public class TunnelRenderer { out.write('0'); out.write('\n'); } - out.write("
              " + _("Totals") + " " + tunnelCount); + out.write("
              " + _t("Totals") + " " + tunnelCount); out.write("   " + partCount); out.write("  
              \n"); } @@ -343,12 +349,12 @@ public class TunnelRenderer { } /** translate a string */ - private String _(String s) { + private String _t(String s) { return Messages.getString(s, _context); } /** translate a string */ - public String _(String s, Object o) { + public String _t(String s, Object o) { return Messages.getString(s, o, _context); } } diff --git a/apps/routerconsole/java/strings/Strings.java b/apps/routerconsole/java/strings/Strings.java index 4629380179..8254d657b5 100644 --- a/apps/routerconsole/java/strings/Strings.java +++ b/apps/routerconsole/java/strings/Strings.java @@ -9,76 +9,76 @@ package dummy; class Dummy { void dummy { // wars for ConfigClientsHelper - _("addressbook"); - _("i2psnark"); - _("i2ptunnel"); - _("susimail"); - _("susidns"); - _("routerconsole"); + _t("addressbook"); + _t("i2psnark"); + _t("i2ptunnel"); + _t("susimail"); + _t("susidns"); + _t("routerconsole"); // clients, taken from clients.config, for ConfigClientsHelper // note that if the wording changes in clients.config, we have to // keep the old string here as well for existing installs - _("Web console"); - _("SAM application bridge"); - _("Application tunnels"); - _("My eepsite web server"); - _("I2P webserver (eepsite)"); - _("Browser launch at startup"); - _("BOB application bridge"); - _("I2P Router Console"); - _("Open Router Console in web browser at startup"); + _t("Web console"); + _t("SAM application bridge"); + _t("Application tunnels"); + _t("My eepsite web server"); + _t("I2P webserver (eepsite)"); + _t("Browser launch at startup"); + _t("BOB application bridge"); + _t("I2P Router Console"); + _t("Open Router Console in web browser at startup"); // tunnel nicknames, taken from i2ptunnel.config so they will display // nicely under 'local destinations' in the summary bar // note that if the wording changes in i2ptunnel.config, we have to // keep the old string here as well for existing installs - _("shared clients"); - _("shared clients (DSA)"); - _("IRC proxy"); - _("eepsite"); - _("I2P webserver"); - _("HTTP Proxy"); + _t("shared clients"); + _t("shared clients (DSA)"); + _t("IRC proxy"); + _t("eepsite"); + _t("I2P webserver"); + _t("HTTP Proxy"); // older names for pre-0.7.4 installs - _("eepProxy"); - _("ircProxy"); + _t("eepProxy"); + _t("ircProxy"); // hardcoded in i2psnark - _("I2PSnark"); + _t("I2PSnark"); // hardcoded in iMule? - _("iMule"); + _t("iMule"); // standard themes for ConfigUIHelper - _("classic"); - _("dark"); - _("light"); - _("midnight"); + _t("classic"); + _t("dark"); + _t("light"); + _t("midnight"); // stat groups for stats.jsp - _("Bandwidth"); - _("BandwidthLimiter"); - _("ClientMessages"); - _("Encryption"); - _("i2cp"); - _("I2PTunnel"); - _("InNetPool"); - _("JobQueue"); - _("NetworkDatabase"); - _("ntcp"); - _("Peers"); - _("Router"); - _("Stream"); - _("Throttle"); - _("Transport"); - _("Tunnels"); - _("udp"); + _t("Bandwidth"); + _t("BandwidthLimiter"); + _t("ClientMessages"); + _t("Encryption"); + _t("i2cp"); + _t("I2PTunnel"); + _t("InNetPool"); + _t("JobQueue"); + _t("NetworkDatabase"); + _t("ntcp"); + _t("Peers"); + _t("Router"); + _t("Stream"); + _t("Throttle"); + _t("Transport"); + _t("Tunnels"); + _t("udp"); // parameters in transport addresses (netdb.jsp) // may or may not be worth translating - _("host"); - _("key"); - _("port"); + _t("host"); + _t("key"); + _t("port"); // capabilities - _("caps"); + _t("caps"); } } diff --git a/apps/routerconsole/jsp/certs.jsp b/apps/routerconsole/jsp/certs.jsp new file mode 100644 index 0000000000..3c4e59cf62 --- /dev/null +++ b/apps/routerconsole/jsp/certs.jsp @@ -0,0 +1,17 @@ +<%@page contentType="text/html"%> +<%@page trimDirectiveWhitespaces="true"%> +<%@page pageEncoding="UTF-8"%> + + +<%@include file="css.jsi" %> +<%=intl.title("Certificates")%> + +<%@include file="summaryajax.jsi" %> + +<%@include file="summary.jsi" %>

              <%=intl._t("Certificates")%>

              +
              + +" /> +<% certhelper.storeWriter(out); %> + +
              diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index 538fb8a5f2..5e9c0de92f 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -14,7 +14,7 @@ " /> -

              <%=intl._("I2P Bandwidth Configuration")%>

              +

              <%=intl._t("I2P Bandwidth Configuration")%>

              <%@include file="confignav.jsi" %> @@ -25,12 +25,12 @@ -

              <%=intl._("Bandwidth limiter")%>

              +

              <%=intl._t("Bandwidth limiter")%>

              - <%=intl._("I2P will work best if you configure your rates to match the speed of your internet connection.")%> + <%=intl._t("I2P will work best if you configure your rates to match the speed of your internet connection.")%>

              <% /******** *********/ %> - +
              " > - <%=intl._("KBps In")%> + <%=intl._t("KBps In")%> ()
              <%=intl._("Share")%> <%=intl._t("Share")%> ()

              <% int share = nethelper.getShareBandwidth(); if (share < 12) { out.print(""); - out.print(intl._("NOTE")); + out.print(intl._t("NOTE")); out.print(": "); - out.print(intl._("You have configured I2P to share only {0} KBps.", share)); + out.print(intl._t("You have configured I2P to share only {0} KBps.", share)); out.print("\n"); - out.print(intl._("I2P requires at least 12KBps to enable sharing. ")); - out.print(intl._("Please enable sharing (participating in tunnels) by configuring more bandwidth. ")); - out.print(intl._("It improves your anonymity by creating cover traffic, and helps the network.")); + out.print(intl._t("I2P requires at least 12KBps to enable sharing. ")); + out.print(intl._t("Please enable sharing (participating in tunnels) by configuring more bandwidth. ")); + out.print(intl._t("It improves your anonymity by creating cover traffic, and helps the network.")); } else { - out.print(intl._("You have configured I2P to share {0} KBps.", share)); + out.print(intl._t("You have configured I2P to share {0} KBps.", share)); out.print("\n"); - out.print(intl._("The higher the share bandwidth the more you improve your anonymity and help the network.")); + out.print(intl._t("The higher the share bandwidth the more you improve your anonymity and help the network.")); } %>

              -

              <%=intl._("Advanced network configuration page")%>


              +

              <%=intl._t("Advanced network configuration page")%>


              -" > -" > +" > +" >
              diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp index 961ac83fa8..3ba2deed10 100644 --- a/apps/routerconsole/jsp/configadvanced.jsp +++ b/apps/routerconsole/jsp/configadvanced.jsp @@ -15,7 +15,7 @@ " /> -

              <%=intl._("I2P Advanced Configuration")%>

              +

              <%=intl._t("I2P Advanced Configuration")%>

              <%@include file="confignav.jsi" %> @@ -24,14 +24,14 @@ <%@include file="formhandler.jsi" %>
              -

              <%=intl._("Floodfill Configuration")%>

              -

              <%=intl._("Floodill participation helps the network, but may use more of your computer's resources.")%> +

              <%=intl._t("Floodfill Configuration")%>

              +

              <%=intl._t("Floodill participation helps the network, but may use more of your computer's resources.")%>

              <% if (advancedhelper.isFloodfill()) { -%><%=intl._("This router is currently a floodfill participant.")%><% +%><%=intl._t("This router is currently a floodfill participant.")%><% } else { -%><%=intl._("This router is not currently a floodfill participant.")%><% +%><%=intl._t("This router is not currently a floodfill participant.")%><% } %>

              @@ -39,15 +39,15 @@ > -<%=intl._("Automatic")%>
              +<%=intl._t("Automatic")%>
              > -<%=intl._("Force On")%>
              +<%=intl._t("Force On")%>
              > -<%=intl._("Disable")%>
              +<%=intl._t("Disable")%>
              -" > +" >
              -

              <%=intl._("Advanced I2P Configuration")%>

              +

              <%=intl._t("Advanced I2P Configuration")%>

              <% if (advancedhelper.isAdvanced()) { %>
              @@ -56,11 +56,11 @@

              <% if (advancedhelper.isAdvanced()) { %>
              - " > - " > -
              <%=intl._("NOTE")%>: <%=intl._("Some changes may require a restart to take effect.")%> + " > + " > +
              <%=intl._t("NOTE")%>: <%=intl._t("Some changes may require a restart to take effect.")%>
              <% } else { %> -<%=intl._("To make changes, edit the file {0}.", "" + advancedhelper.getConfigFileName() + "")%> +<%=intl._t("To make changes, edit the file {0}.", "" + advancedhelper.getConfigFileName() + "")%> <% } // isAdvanced %>
              diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp index 65f67daf50..cbb9710d4f 100644 --- a/apps/routerconsole/jsp/configclients.jsp +++ b/apps/routerconsole/jsp/configclients.jsp @@ -20,43 +20,43 @@ input.default { width: 1px; height: 1px; visibility: hidden; } " /> " /> -

              <%=intl._("I2P Client Configuration")%>

              +

              <%=intl._t("I2P Client Configuration")%>

              <%@include file="confignav.jsi" %> <%@include file="formhandler.jsi" %>
              -

              <%=intl._("Client Configuration")%>

              - <%=intl._("The Java clients listed below are started by the router and run in the same JVM.")%>
              - <%=intl._("Be careful changing any settings here. The 'router console' and 'application tunnels' are required for most uses of I2P. Only advanced users should change these.")%> +

              <%=intl._t("Client Configuration")%>

              + <%=intl._t("The Java clients listed below are started by the router and run in the same JVM.")%>
              + <%=intl._t("Be careful changing any settings here. The 'router console' and 'application tunnels' are required for most uses of I2P. Only advanced users should change these.")%>

              -

              <%=intl._("To change other client options, edit the file")%> +

              <%=intl._t("To change other client options, edit the file")%> <%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext()).getAbsolutePath()%>. - <%=intl._("All changes require restart to take effect.")%> + <%=intl._t("All changes require restart to take effect.")%>


              - " /> + " /> <% if (clientshelper.isClientChangeEnabled() && request.getParameter("edit") == null) { %> - " /> + " /> <% } %> - " /> + " />
              -

              <%=intl._("Advanced Client Interface Configuration")%>

              +

              <%=intl._t("Advanced Client Interface Configuration")%>

              -<%=intl._("External I2CP (I2P Client Protocol) Interface Configuration")%>
              +<%=intl._t("External I2CP (I2P Client Protocol) Interface Configuration")%>
              > -<%=intl._("Enabled without SSL")%>
              +<%=intl._t("Enabled without SSL")%>
              > -<%=intl._("Enabled with SSL required")%>
              +<%=intl._t("Enabled with SSL required")%>
              > -<%=intl._("Disabled - Clients outside this Java process may not connect")%>
              -<%=intl._("I2CP Interface")%>: +<%=intl._t("Disabled - Clients outside this Java process may not connect")%>
              +<%=intl._t("I2CP Interface")%>:
              -<%=intl._("I2CP Port")%>: +<%=intl._t("I2CP Port")%>: " >
              -<%=intl._("Authorization")%>
              +<%=intl._t("Authorization")%>
              > -<%=intl._("Require username and password")%>
              -<%=intl._("Username")%>: +<%=intl._t("Require username and password")%>
              +<%=intl._t("Username")%>:
              -<%=intl._("Password")%>: +<%=intl._t("Password")%>:
              -

              <%=intl._("The default settings will work for most people.")%> -<%=intl._("Any changes made here must also be configured in the external client.")%> -<%=intl._("Many clients do not support SSL or authorization.")%> -<%=intl._("All changes require restart to take effect.")%> +

              <%=intl._t("The default settings will work for most people.")%> +<%=intl._t("Any changes made here must also be configured in the external client.")%> +<%=intl._t("Many clients do not support SSL or authorization.")%> +<%=intl._t("All changes require restart to take effect.")%>


              -" /> -" /> -" /> +" /> +" /> +" />
              -

              <%=intl._("WebApp Configuration")%>

              - <%=intl._("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).")%> +

              <%=intl._t("WebApp Configuration")%>

              + <%=intl._t("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).")%>

              - <%=intl._("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.")%> + <%=intl._t("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.")%>

              -

              <%=intl._("All changes require restart to take effect.")%> +

              <%=intl._t("All changes require restart to take effect.")%>


              - " /> - " /> + " /> + " />
              <% if (clientshelper.showPlugins()) { if (clientshelper.isPluginUpdateEnabled()) { %> -

              <%=intl._("Plugin Configuration")%>

              - <%=intl._("The plugins listed below are started by the webConsole client.")%> +

              <%=intl._t("Plugin Configuration")%>

              + <%=intl._t("The plugins listed below are started by the webConsole client.")%>

              - " /> - " /> + " /> + " />
              <% } // pluginUpdateEnabled if (clientshelper.isPluginInstallEnabled()) { %> -

              <%=intl._("Plugin Installation from URL")%>

              - <%=intl._("Look for available plugins on {0}.", "plugins.i2p")%> - <%=intl._("To install a plugin, enter the download URL:")%> +

              <%=intl._t("Plugin Installation from URL")%>

              + <%=intl._t("Look for available plugins on {0}.", "plugins.i2p")%> + <%=intl._t("To install a plugin, enter the download URL:")%>

              @@ -133,31 +133,31 @@ input.default { width: 1px; height: 1px; visibility: hidden; }


              - " /> - " /> - " /> + " /> + " /> + " />
              -

              <%=intl._("Plugin Installation from File")%>

              +

              <%=intl._t("Plugin Installation from File")%>

              -

              <%=intl._("Install plugin from file.")%> -
              <%=intl._("Select xpi2p or su3 file")%> : +

              <%=intl._t("Install plugin from file.")%> +
              <%=intl._t("Select xpi2p or su3 file")%> :


              -" /> +" />
              <% } // pluginInstallEnabled if (clientshelper.isPluginUpdateEnabled()) { %> -

              <%=intl._("Update All Plugins")%>

              +

              <%=intl._t("Update All Plugins")%>

              - " /> + " />
              <% } // pluginUpdateEnabled diff --git a/apps/routerconsole/jsp/confighome.jsp b/apps/routerconsole/jsp/confighome.jsp index bf1f59d456..56be7b8bd0 100644 --- a/apps/routerconsole/jsp/confighome.jsp +++ b/apps/routerconsole/jsp/confighome.jsp @@ -17,7 +17,7 @@ input.default { <%@include file="summary.jsi" %> -

              <%=intl._("I2P Home Page Configuration")%>

              +

              <%=intl._t("I2P Home Page Configuration")%>

              <%@include file="confignav.jsi" %> @@ -26,60 +26,60 @@ input.default { " /> -

              <%=intl._("Default Home Page")%>

              +

              <%=intl._t("Default Home Page")%>

              > - <%=intl._("Use old home page")%> - " > + <%=intl._t("Use old home page")%> + " >
              <% if (homehelper.shouldShowSearch()) { %> -

              <%=intl._("Search Engines")%>

              +

              <%=intl._t("Search Engines")%>

              - " > - " > - " > - " > - " > + " > + " > + " > + " > + " >
              <% } // shouldShowSearch() %> -

              <%=intl._("Hidden Services of Interest")%>

              +

              <%=intl._t("Hidden Services of Interest")%>

              - " > - " > - " > - " > - " > + " > + " > + " > + " > + " >
              -

              <%=intl._("Applications and Configuration")%>

              +

              <%=intl._t("Applications and Configuration")%>

              - " > - " > - " > - " > - " > + " > + " > + " > + " > + " >
              diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp index b2f5ef657c..3653a94790 100644 --- a/apps/routerconsole/jsp/configkeyring.jsp +++ b/apps/routerconsole/jsp/configkeyring.jsp @@ -10,7 +10,7 @@ <%@include file="summary.jsi" %> -

              <%=intl._("I2P Keyring Configuration")%>

              +

              <%=intl._t("I2P Keyring Configuration")%>

              <%@include file="confignav.jsi" %> @@ -18,29 +18,29 @@ <%@include file="formhandler.jsi" %> " /> -

              <%=intl._("Keyring")%>

              - <%=intl._("The router keyring is used to decrypt encrypted leaseSets.")%> - <%=intl._("The keyring may contain keys for local or remote encrypted destinations.")%>

              +

              <%=intl._t("Keyring")%>

              + <%=intl._t("The router keyring is used to decrypt encrypted leaseSets.")%> + <%=intl._t("The keyring may contain keys for local or remote encrypted destinations.")%>

              -

              <%=intl._("Manual Keyring Addition")%>

              - <%=intl._("Enter keys for encrypted remote destinations here.")%> - <%=intl._("Keys for local destinations must be entered on the")%> <%=intl._("I2PTunnel page")%>. +

              <%=intl._t("Manual Keyring Addition")%>

              + <%=intl._t("Enter keys for encrypted remote destinations here.")%> + <%=intl._t("Keys for local destinations must be entered on the")%> <%=intl._t("I2PTunnel page")%>.

              - + - +
              <%=intl._("Dest. name, hash, or full key")%>:<%=intl._t("Dest. name, hash, or full key")%>:
              <%=intl._("Encryption Key")%>:<%=intl._t("Encryption Key")%>:
              -" > -" > -" > +" > +" > +" >
              diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp index 9e3be5cc76..84f10ac806 100644 --- a/apps/routerconsole/jsp/configlogging.jsp +++ b/apps/routerconsole/jsp/configlogging.jsp @@ -13,7 +13,7 @@ " /> <%@include file="summary.jsi" %> -

              <%=intl._("I2P Logging Configuration")%>

              +

              <%=intl._t("I2P Logging Configuration")%>

              <%@include file="confignav.jsi" %> @@ -23,31 +23,31 @@
              -

              <%=intl._("Configure I2P Logging Options")%>

              +

              <%=intl._t("Configure I2P Logging Options")%>

              - - - + + + - + - + - - + - + - +
              <%=intl._("Log file")%>:" value="" > -
              <%=intl._("(the symbol '@' will be replaced during log rotation)")%>
              <%=intl._("Log record format")%>:
              <%=intl._t("Log file")%>:" value="" > +
              <%=intl._t("(the symbol '@' will be replaced during log rotation)")%>
              <%=intl._t("Log record format")%>: " > -
              <%=intl._("(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)")%> +
              <%=intl._t("(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)")%>
              <%=intl._("Log date format")%>:
              <%=intl._t("Log date format")%>: " > -
              <%=intl._("('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)")%> +
              <%=intl._t("('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)")%>
              <%=intl._("Max log file size")%>:
              <%=intl._t("Max log file size")%>: " >
              <%=intl._("Default log level")%>:
              <%=intl._("(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)")%> +
              <%=intl._t("Default log level")%>:
              <%=intl._t("(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)")%>
              <%=intl._("Log level overrides")%>:
              <%=intl._t("Log level overrides")%>:
              <%=intl._("New override")%>:
              <%=intl._t("New override")%>:

              - " > - " > + " > + " >
              diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp index 27fdfef7ef..7b81518e34 100644 --- a/apps/routerconsole/jsp/confignet.jsp +++ b/apps/routerconsole/jsp/confignet.jsp @@ -13,7 +13,7 @@ " /> -

              <%=intl._("I2P Network Configuration")%>

              +

              <%=intl._t("I2P Network Configuration")%>

              <%@include file="confignav.jsi" %> @@ -23,55 +23,55 @@
              -

              <%=intl._("IP and Transport Configuration")%>

              +

              <%=intl._t("IP and Transport Configuration")%>

              - <%=intl._("The default settings will work for most people.")%> - <%=intl._("There is help below.")%> -

              <%=intl._("UPnP Configuration")%>:
              + <%=intl._t("The default settings will work for most people.")%> + <%=intl._t("There is help below.")%> +

              <%=intl._t("UPnP Configuration")%>:
              > - <%=intl._("Enable UPnP to open firewall ports")%> - <%=intl._("UPnP status")%> -

              <%=intl._("IP Configuration")%>:
              - <%=intl._("Externally reachable hostname or IP address")%>:
              + <%=intl._t("Enable UPnP to open firewall ports")%> - <%=intl._t("UPnP status")%> +

              <%=intl._t("IP Configuration")%>:
              + <%=intl._t("Externally reachable hostname or IP address")%>:
              > - <%=intl._("Use all auto-detect methods")%>
              + <%=intl._t("Use all auto-detect methods")%>
              > - <%=intl._("Disable UPnP IP address detection")%>
              + <%=intl._t("Disable UPnP IP address detection")%>
              > - <%=intl._("Ignore local interface IP address")%>
              + <%=intl._t("Ignore local interface IP address")%>
              > - <%=intl._("Use SSU IP address detection only")%>
              + <%=intl._t("Use SSU IP address detection only")%>
              > - <%=intl._("Hidden mode - do not publish IP")%> <%=intl._("(prevents participating traffic)")%>
              + <%=intl._t("Hidden mode - do not publish IP")%> <%=intl._t("(prevents participating traffic)")%>
              > - <%=intl._("Specify hostname or IP")%>:
              + <%=intl._t("Specify hostname or IP")%>:
              <%=nethelper.getAddressSelector() %>

              - <%=intl._("Action when IP changes")%>:
              + <%=intl._t("Action when IP changes")%>:
              > - <%=intl._("Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity")%> - (<%=intl._("Experimental")%>) + <%=intl._t("Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity")%> + (<%=intl._t("Experimental")%>)

              - <%=intl._("IPv4 Configuration")%>:
              + <%=intl._t("IPv4 Configuration")%>:
              > - <%=intl._("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%> + <%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%>

              - <%=intl._("IPv6 Configuration")%>:
              + <%=intl._t("IPv6 Configuration")%>:
              > - <%=intl._("Disable IPv6")%>
              + <%=intl._t("Disable IPv6")%>
              > - <%=intl._("Enable IPv6")%>
              + <%=intl._t("Enable IPv6")%>
              > - <%=intl._("Prefer IPv4 over IPv6")%>
              + <%=intl._t("Prefer IPv4 over IPv6")%>
              > - <%=intl._("Prefer IPv6 over IPv4")%>
              + <%=intl._t("Prefer IPv6 over IPv4")%>
              > - <%=intl._("Use IPv6 only (disable IPv4)")%> - (<%=intl._("Experimental")%>)
              -

              <%=intl._("UDP Configuration:")%>
              - <%=intl._("UDP port:")%> + <%=intl._t("Use IPv6 only (disable IPv4)")%> + (<%=intl._t("Experimental")%>)
              +

              <%=intl._t("UDP Configuration:")%>
              + <%=intl._t("UDP port:")%> " >
              > - <%=intl._("Completely disable")%> <%=intl._("(select only if behind a firewall that blocks outbound UDP)")%>
              + <%=intl._t("Completely disable")%> <%=intl._t("(select only if behind a firewall that blocks outbound UDP)")%>
              <% /******** *********/ %>

              - <%=intl._("TCP Configuration")%>:
              - <%=intl._("Externally reachable hostname or IP address")%>:
              + <%=intl._t("TCP Configuration")%>:
              + <%=intl._t("Externally reachable hostname or IP address")%>:
              > - <%=intl._("Use auto-detected IP address")%> - (<%=intl._("currently")%> ) - <%=intl._("if we are not firewalled")%>
              + <%=intl._t("Use auto-detected IP address")%> + (<%=intl._t("currently")%> ) + <%=intl._t("if we are not firewalled")%>
              > - <%=intl._("Always use auto-detected IP address (Not firewalled)")%>
              + <%=intl._t("Always use auto-detected IP address (Not firewalled)")%>
              > - <%=intl._("Specify hostname or IP")%>: + <%=intl._t("Specify hostname or IP")%>: " >
              > - <%=intl._("Disable inbound (Firewalled)")%>
              + <%=intl._t("Disable inbound (Firewalled)")%>
              > - <%=intl._("Completely disable")%> <%=intl._("(select only if behind a firewall that throttles or blocks outbound TCP)")%>
              + <%=intl._t("Completely disable")%> <%=intl._t("(select only if behind a firewall that throttles or blocks outbound TCP)")%>

              - <%=intl._("Externally reachable TCP port")%>:
              + <%=intl._t("Externally reachable TCP port")%>:
              > - <%=intl._("Use the same port configured for UDP")%> - (<%=intl._("currently")%> )
              + <%=intl._t("Use the same port configured for UDP")%> + (<%=intl._t("currently")%> )
              > - <%=intl._("Specify Port")%>: + <%=intl._t("Specify Port")%>: " >
              -

              <%=intl._("Notes")%>: <%=intl._("a) Do not reveal your port numbers to anyone! b) Changing these settings will restart your router.")%>

              +

              <%=intl._t("Notes")%>: <%=intl._t("a) Do not reveal your port numbers to anyone! b) Changing these settings will restart your router.")%>


              -" > -" > -

              <%=intl._("Configuration Help")%>:

              - <%=intl._("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP.")%> +" > +" > +

              <%=intl._t("Configuration Help")%>:

              + <%=intl._t("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP.")%>

              - <%=intl._("If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you.")%> - <%=intl._("If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic.")%> - <%=intl._("Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm.")%> - <%=intl._("Certain firewalls such as symmetric NATs may not work well with I2P.")%> + <%=intl._t("If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you.")%> + <%=intl._t("If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic.")%> + <%=intl._t("Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm.")%> + <%=intl._t("Certain firewalls such as symmetric NATs may not work well with I2P.")%>

              <% /******** *********/ %>

              - <%=intl._("UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports.")%> - <%=intl._("UPnP support is beta, and may not work for any number of reasons")%>: + <%=intl._t("UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports.")%> + <%=intl._t("UPnP support is beta, and may not work for any number of reasons")%>:

                -
              • <%=intl._("No UPnP-compatible device present")%> -
              • <%=intl._("UPnP disabled on the device")%> -
              • <%=intl._("Software firewall interference with UPnP")%> -
              • <%=intl._("Bugs in the device's UPnP implementation")%> -
              • <%=intl._("Multiple firewall/routers in the internet connection path")%> -
              • <%=intl._("UPnP device change, reset, or address change")%> +
              • <%=intl._t("No UPnP-compatible device present")%> +
              • <%=intl._t("UPnP disabled on the device")%> +
              • <%=intl._t("Software firewall interference with UPnP")%> +
              • <%=intl._t("Bugs in the device's UPnP implementation")%> +
              • <%=intl._t("Multiple firewall/routers in the internet connection path")%> +
              • <%=intl._t("UPnP device change, reset, or address change")%>
              -

              <%=intl._("Review the UPnP status here.")%> -<%=intl._("UPnP may be enabled or disabled above, but a change requires a router restart to take effect.")%>

              -

              <%=intl._("Hostnames entered above will be published in the network database.")%> - <%=intl._("They are not private.")%> - <%=intl._("Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1.")%> - <%=intl._("If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially.")%> - <%=intl._("When in doubt, leave the settings at the defaults.")%> +

              <%=intl._t("Review the UPnP status here.")%> +<%=intl._t("UPnP may be enabled or disabled above, but a change requires a router restart to take effect.")%>

              +

              <%=intl._t("Hostnames entered above will be published in the network database.")%> + <%=intl._t("They are not private.")%> + <%=intl._t("Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1.")%> + <%=intl._t("If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially.")%> + <%=intl._t("When in doubt, leave the settings at the defaults.")%>

              -

              <%=intl._("Reachability Help")%>:

              - <%=intl._("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP.")%> - <%=intl._("If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers.")%> - <%=intl._("If there is an error, the logs may also help diagnose the problem.")%> +

              <%=intl._t("Reachability Help")%>:

              + <%=intl._t("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP.")%> + <%=intl._t("If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers.")%> + <%=intl._t("If there is an error, the logs may also help diagnose the problem.")%>

                -
              • <%=intl._("OK")%> - - <%=intl._("Your UDP port does not appear to be firewalled.")%> -
              • <%=intl._("Firewalled")%> - - <%=intl._("Your UDP port appears to be firewalled.")%> - <%=intl._("As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error.")%> - <%=intl._("However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port.")%> - <%=intl._("I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections.")%> - <%=intl._("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%> - <%=intl._("If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control.")%> - <%=intl._("Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.")%> -
              • <%=intl._("Testing")%> - - <%=intl._("The router is currently testing whether your UDP port is firewalled.")%> -
              • <%=intl._("Hidden")%> - - <%=intl._("The router is not configured to publish its address, therefore it does not expect incoming connections.")%> - <%=intl._("Hidden mode is automatically enabled for added protection in certain countries.")%> -
              • <%=intl._("WARN - Firewalled and Fast")%> - - <%=intl._("You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled.")%> - <%=intl._("While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.")%> -
              • <%=intl._("WARN - Firewalled and Floodfill")%> - - <%=intl._("You have configured I2P to be a floodfill router, but you are firewalled.")%> - <%=intl._("For best participation as a floodfill router, you should open your firewall.")%> -
              • <%=intl._("WARN - Firewalled with Inbound TCP Enabled")%> - - <%=intl._("You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well.")%> - <%=intl._("If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network.")%> - <%=intl._("Please open your firewall or disable inbound TCP above.")%> -
              • <%=intl._("WARN - Firewalled with UDP Disabled")%> - - <%=intl._("You have configured inbound TCP, however you have disabled UDP.")%> - <%=intl._("You appear to be firewalled on TCP, therefore your router cannot accept inbound connections.")%> - <%=intl._("Please open your firewall or enable UDP.")%> -
              • <%=intl._("ERR - Clock Skew")%> - - <%=intl._("Your system's clock is skewed, which will make it difficult to participate in the network.")%> - <%=intl._("Correct your clock setting if this error persists.")%> -
              • <%=intl._("ERR - Private TCP Address")%> - - <%=intl._("You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address.")%> - <%=intl._("Correct the address or disable inbound TCP above.")%> -
              • <%=intl._("ERR - SymmetricNAT")%> - - <%=intl._("I2P detected that you are firewalled by a Symmetric NAT.")%> - <%=intl._("I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.")%> -
              • <%=intl._("ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart")%> - - <%=intl._("I2P was unable to bind to the configured port noted on the advanced network configuration page .")%> - <%=intl._("Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port.")%> - <%=intl._("This may be a transient error, if the other program is no longer using the port.")%> - <%=intl._("However, a restart is always required after this error.")%> -
              • <%=intl._("ERR - UDP Disabled and Inbound TCP host/port not set")%> - - <%=intl._("You have not configured inbound TCP with a hostname and port above, however you have disabled UDP.")%> - <%=intl._("Therefore your router cannot accept inbound connections.")%> - <%=intl._("Please configure a TCP host and port above or enable UDP.")%> -
              • <%=intl._("ERR - Client Manager I2CP Error - check logs")%> - - <%=intl._("This is usually due to a port 7654 conflict. Check the logs to verify.")%> - <%=intl._("Do you have another I2P instance running? Stop the conflicting program and restart I2P.")%> +
              • <%=intl._t("OK")%> - + <%=intl._t("Your UDP port does not appear to be firewalled.")%> +
              • <%=intl._t("Firewalled")%> - + <%=intl._t("Your UDP port appears to be firewalled.")%> + <%=intl._t("As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error.")%> + <%=intl._t("However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port.")%> + <%=intl._t("I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections.")%> + <%=intl._t("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%> + <%=intl._t("If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control.")%> + <%=intl._t("Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.")%> +
              • <%=intl._t("Testing")%> - + <%=intl._t("The router is currently testing whether your UDP port is firewalled.")%> +
              • <%=intl._t("Hidden")%> - + <%=intl._t("The router is not configured to publish its address, therefore it does not expect incoming connections.")%> + <%=intl._t("Hidden mode is automatically enabled for added protection in certain countries.")%> +
              • <%=intl._t("WARN - Firewalled and Fast")%> - + <%=intl._t("You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled.")%> + <%=intl._t("While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.")%> +
              • <%=intl._t("WARN - Firewalled and Floodfill")%> - + <%=intl._t("You have configured I2P to be a floodfill router, but you are firewalled.")%> + <%=intl._t("For best participation as a floodfill router, you should open your firewall.")%> +
              • <%=intl._t("WARN - Firewalled with Inbound TCP Enabled")%> - + <%=intl._t("You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well.")%> + <%=intl._t("If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network.")%> + <%=intl._t("Please open your firewall or disable inbound TCP above.")%> +
              • <%=intl._t("WARN - Firewalled with UDP Disabled")%> - + <%=intl._t("You have configured inbound TCP, however you have disabled UDP.")%> + <%=intl._t("You appear to be firewalled on TCP, therefore your router cannot accept inbound connections.")%> + <%=intl._t("Please open your firewall or enable UDP.")%> +
              • <%=intl._t("ERR - Clock Skew")%> - + <%=intl._t("Your system's clock is skewed, which will make it difficult to participate in the network.")%> + <%=intl._t("Correct your clock setting if this error persists.")%> +
              • <%=intl._t("ERR - Private TCP Address")%> - + <%=intl._t("You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address.")%> + <%=intl._t("Correct the address or disable inbound TCP above.")%> +
              • <%=intl._t("ERR - SymmetricNAT")%> - + <%=intl._t("I2P detected that you are firewalled by a Symmetric NAT.")%> + <%=intl._t("I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.")%> +
              • <%=intl._t("ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart")%> - + <%=intl._t("I2P was unable to bind to the configured port noted on the advanced network configuration page .")%> + <%=intl._t("Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port.")%> + <%=intl._t("This may be a transient error, if the other program is no longer using the port.")%> + <%=intl._t("However, a restart is always required after this error.")%> +
              • <%=intl._t("ERR - UDP Disabled and Inbound TCP host/port not set")%> - + <%=intl._t("You have not configured inbound TCP with a hostname and port above, however you have disabled UDP.")%> + <%=intl._t("Therefore your router cannot accept inbound connections.")%> + <%=intl._t("Please configure a TCP host and port above or enable UDP.")%> +
              • <%=intl._t("ERR - Client Manager I2CP Error - check logs")%> - + <%=intl._t("This is usually due to a port 7654 conflict. Check the logs to verify.")%> + <%=intl._t("Do you have another I2P instance running? Stop the conflicting program and restart I2P.")%>

              <% /******** <% } %>
              -

              <%=intl._("Adjust Profile Bonuses")%>

              -

              <%=intl._("Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the")%> <%=intl._("profiles page")%>.

              +

              <%=intl._t("Adjust Profile Bonuses")%>

              +

              <%=intl._t("Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the")%> <%=intl._t("profiles page")%>.

              <% long speed = 0; long capacity = 0; if (! "".equals(peer)) { // get existing bonus values? } %> -

              <%=intl._("Speed")%>: +

              <%=intl._t("Speed")%>: - <%=intl._("Capacity")%>: + <%=intl._t("Capacity")%>: - " />

              + " />

              -

              <%=intl._("Banned Peers")%>

              +

              <%=intl._t("Banned Peers")%>

              " /> <% profilesHelper.storeWriter(out); %> -

              <%=intl._("Banned IPs")%>

              +

              <%=intl._t("Banned IPs")%>


              diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp index b78b4cb142..ebc94b9c9f 100644 --- a/apps/routerconsole/jsp/configreseed.jsp +++ b/apps/routerconsole/jsp/configreseed.jsp @@ -13,105 +13,107 @@ " /> -

              <%=intl._("I2P Reseeding Configuration")%>

              +

              <%=intl._t("I2P Reseeding Configuration")%>

              <%@include file="confignav.jsi" %> <%@include file="formhandler.jsi" %> -

              <%=intl._("Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining.")%> -<%=intl._("If reseeding has failed, you should first check your network connection.")%> -<%=intl._("See {0} for instructions on reseeding manually.", "" + intl._("the FAQ") + "")%> +

              <%=intl._t("Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining.")%> +<%=intl._t("If reseeding has failed, you should first check your network connection.")%> +<%=intl._t("See {0} for instructions on reseeding manually.", "" + intl._t("the FAQ") + "")%>

              -

              <%=intl._("Manual Reseed from URL")%>

              -

              <%=intl._("Enter zip or su3 URL")%> : +

              <%=intl._t("Manual Reseed from URL")%>

              +

              <%=intl._t("Enter zip or su3 URL")%> : -
              <%=intl._("The su3 format is preferred, as it will be verified as signed by a trusted source.")%> -<%=intl._("The zip format is unsigned; use a zip file only from a source that you trust.")%> +
              <%=intl._t("The su3 format is preferred, as it will be verified as signed by a trusted source.")%> +<%=intl._t("The zip format is unsigned; use a zip file only from a source that you trust.")%>

              -" /> +" />
              -

              <%=intl._("Manual Reseed from File")%>

              -

              <%=intl._("Select zip or su3 file")%> : +

              <%=intl._t("Manual Reseed from File")%>

              +

              <%=intl._t("Select zip or su3 file")%> : -
              <%=intl._("The su3 format is preferred, as it will be verified as signed by a trusted source.")%> -<%=intl._("The zip format is unsigned; use a zip file only from a source that you trust.")%> +
              <%=intl._t("The su3 format is preferred, as it will be verified as signed by a trusted source.")%> +<%=intl._t("The zip format is unsigned; use a zip file only from a source that you trust.")%>

              -" /> +" />
              -

              <%=intl._("Create Reseed File")%>

              -

              <%=intl._("Create a new reseed zip file you may share for others to reseed manually.")%> -<%=intl._("This file will never contain your own router's identity or IP.")%> +

              <%=intl._t("Create Reseed File")%>

              +

              <%=intl._t("Create a new reseed zip file you may share for others to reseed manually.")%> +<%=intl._t("This file will never contain your own router's identity or IP.")%>

              -" /> +" />
              -

              <%=intl._("Reseeding Configuration")%>

              -

              <%=intl._("The default settings will work for most people.")%> -<%=intl._("Change these only if HTTPS is blocked by a restrictive firewall and reseed has failed.")%> +

              <%=intl._t("Reseeding Configuration")%>

              +

              <%=intl._t("The default settings will work for most people.")%> +<%=intl._t("Change these only if HTTPS is blocked by a restrictive firewall and reseed has failed.")%>

              - + - - +<%=intl._t("Use non-SSL only")%> + + - + - + - + - + - + - +
              <%=intl._("Reseed URL Selection")%>:
              <%=intl._t("Reseed URL Selection")%>: > -<%=intl._("Try SSL first then non-SSL")%>
              +<%=intl._t("Try SSL first then non-SSL")%>
              > -<%=intl._("Use SSL only")%>
              +<%=intl._t("Use SSL only")%>
              > -<%=intl._("Use non-SSL only")%>
              <%=intl._("Reseed URLs")%>:
              <%=intl._t("Reseed URLs")%>: +
              " />
              +
              <%=intl._("Enable HTTP Proxy?")%>
              <%=intl._t("Enable HTTP Proxy?")%> >
              <%=intl._("HTTP Proxy Host")%>:
              <%=intl._t("HTTP Proxy Host")%>: " >
              <%=intl._("HTTP Proxy Port")%>:
              <%=intl._t("HTTP Proxy Port")%>: " >
              <%=intl._("Use HTTP Proxy Authorization?")%>
              <%=intl._t("Use HTTP Proxy Authorization?")%> >
              <%=intl._("HTTP Proxy Username")%>:
              <%=intl._t("HTTP Proxy Username")%>: " >
              <%=intl._("HTTP Proxy Password")%>:
              <%=intl._t("HTTP Proxy Password")%>: " >
              -" /> -" /> -" /> +" /> +" /> +" />
              diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp index f12c9b95cb..987aefdeba 100644 --- a/apps/routerconsole/jsp/configservice.jsp +++ b/apps/routerconsole/jsp/configservice.jsp @@ -10,7 +10,7 @@ <%@include file="summary.jsi" %> -

              <%=intl._("I2P Service Configuration")%>

              +

              <%=intl._t("I2P Service Configuration")%>

              <%@include file="confignav.jsi" %> @@ -19,63 +19,63 @@
              -

              <%=intl._("Shutdown the router")%>

              -

              <%=intl._("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%> - <%=intl._("If you need to kill the router immediately, that option is available as well.")%>

              +

              <%=intl._t("Shutdown the router")%>

              +

              <%=intl._t("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%> + <%=intl._t("If you need to kill the router immediately, that option is available as well.")%>


              - " > - " > + " > + " > <% if (formhandler.shouldShowCancelGraceful()) { %> - " > + " > <% } %>
              <% if (System.getProperty("wrapper.version") != null) { %> -

              <%=intl._("If you want the router to restart itself after shutting down, you can choose one of the following.")%> - <%=intl._("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.")%> - <%=intl._("A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately.")%> - <%=intl._("After tearing down the router, it will wait 1 minute before starting back up again.")%>

              +

              <%=intl._t("If you want the router to restart itself after shutting down, you can choose one of the following.")%> + <%=intl._t("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.")%> + <%=intl._t("A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately.")%> + <%=intl._t("After tearing down the router, it will wait 1 minute before starting back up again.")%>


              - " > - " > + " > + " > <% } %>
              <% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %> -

              <%=intl._("Systray integration")%>

              -

              <%=intl._("On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status")%> - <%=intl._("(later on, I2P client applications will be able to integrate their own functionality into the system tray as well).")%> - <%=intl._("If you are on windows, you can either enable or disable that icon here.")%>

              +

              <%=intl._t("Systray integration")%>

              +

              <%=intl._t("On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status")%> + <%=intl._t("(later on, I2P client applications will be able to integrate their own functionality into the system tray as well).")%> + <%=intl._t("If you are on windows, you can either enable or disable that icon here.")%>


              - " > - " > + " > + " >
              -

              <%=intl._("Run on startup")%>

              -

              <%=intl._("You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly.")%> - <%=intl._("If you prefer the command line, you can also run the ")%> install_i2p_service_winnt.bat (<%=intl._("or")%> +

              <%=intl._t("Run on startup")%>

              +

              <%=intl._t("You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly.")%> + <%=intl._t("If you prefer the command line, you can also run the ")%> install_i2p_service_winnt.bat (<%=intl._t("or")%> uninstall_i2p_service_winnt.bat).


              - " > -" >
              -

              <%=intl._("Note")%>: <%=intl._("If you are running I2P as service right now, removing it will shut down your router immediately.")%> - <%=intl._("You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat.")%>

              + " > +" >
              +

              <%=intl._t("Note")%>: <%=intl._t("If you are running I2P as service right now, removing it will shut down your router immediately.")%> + <%=intl._t("You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat.")%>

              <% } %> -

              <%=intl._("Debugging")%>

              -

              <%=intl._("View the job queue")%> +

              <%=intl._t("Debugging")%>

              +

              <%=intl._t("View the job queue")%> <% if (System.getProperty("wrapper.version") != null) { %> -

              <%=intl._("At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to wrapper.log.")%>

              +

              <%=intl._t("At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to wrapper.log.")%>


              <% } %>
              - " > + " > <% if (System.getProperty("wrapper.version") != null) { %> - " > + " > <% } %>
              -

              <%=intl._("Launch browser on router startup?")%>

              -

              <%=intl._("I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at")%> +

              <%=intl._t("Launch browser on router startup?")%>

              +

              <%=intl._t("I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at")%> http://127.0.0.1:7657/ .


              - " > - " > + " > + " >
              diff --git a/apps/routerconsole/jsp/configsidebar.jsp b/apps/routerconsole/jsp/configsidebar.jsp index 129feaa107..63c3ed18ce 100644 --- a/apps/routerconsole/jsp/configsidebar.jsp +++ b/apps/routerconsole/jsp/configsidebar.jsp @@ -17,7 +17,7 @@ input.default { <%@include file="summary.jsi" %> -

              <%=intl._("I2P Summary Bar Configuration")%>

              +

              <%=intl._t("I2P Summary Bar Configuration")%>

              <%@include file="confignav.jsi" %> @@ -29,23 +29,23 @@ input.default { " /> -

              <%=intl._("Refresh Interval")%>

              +

              <%=intl._t("Refresh Interval")%>

              " > - <%=intl._("seconds")%> - " > + <%=intl._t("seconds")%> + " >
              -

              <%=intl._("Customize Summary Bar")%>

              +

              <%=intl._t("Customize Summary Bar")%>

              - " > - " > + " > + " >
              diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp index 4100a4b1e2..802d615e5c 100644 --- a/apps/routerconsole/jsp/configstats.jsp +++ b/apps/routerconsole/jsp/configstats.jsp @@ -61,7 +61,7 @@ function toggleAll(category) <%@include file="summary.jsi" %> -

              <%=intl._("I2P Stats Configuration")%>

              +

              <%=intl._t("I2P Stats Configuration")%>

              <%@include file="confignav.jsi" %> @@ -73,44 +73,44 @@ function toggleAll(category)
              -

              <%=intl._("Configure I2P Stat Collection")%>

              -

              <%=intl._("Enable full stats?")%> +

              <%=intl._t("Configure I2P Stat Collection")%>

              +

              <%=intl._t("Enable full stats?")%> checked="checked" <% } %> > - (<%=intl._("change requires restart to take effect")%>)
              + (<%=intl._t("change requires restart to take effect")%>)
              <% // stats.log for devs only and grows without bounds, not recommended boolean shouldShowLog = statshelper.shouldShowLog(); if (shouldShowLog) { -%><%=intl._("Stat file")%>:
              +%><%=intl._t("Stat file")%>:
              Warning - Log with care, stat file grows without limit.
              <% } // shouldShowLog -%><%=intl._("Filter")%>: (<%=intl._("toggle all")%>)

              +%><%=intl._t("Filter")%>: (<%=intl._t("toggle all")%>)

              <% while (statshelper.hasMoreStats()) { while (statshelper.groupRequired()) { %> <% if (shouldShowLog) { -%> +%> <% } // shouldShowLog -%> +%> <% } // end iterating over required groups for the current stat %> @@ -139,14 +139,14 @@ Warning - Log with care, stat file grows without limit.
              %> - <% } // shouldShowLog %>
              > - <%=intl._(statshelper.getCurrentGroupName())%> - (<%=intl._("toggle all")%>) + <%=intl._t(statshelper.getCurrentGroupName())%> + (<%=intl._t("toggle all")%>)
              <%=intl._("Log")%><%=intl._t("Log")%><%=intl._("Graph")%><%=intl._t("Graph")%>
              <%=intl._("Advanced filter")%>: + <%=intl._t("Advanced filter")%>:
              -" > -" > +" > +" >
              diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp index de82f0027d..09a2ceee97 100644 --- a/apps/routerconsole/jsp/configtunnels.jsp +++ b/apps/routerconsole/jsp/configtunnels.jsp @@ -13,28 +13,28 @@ " /> -

              <%=intl._("I2P Tunnel Configuration")%>

              +

              <%=intl._t("I2P Tunnel Configuration")%>

              <%@include file="confignav.jsi" %> <%@include file="formhandler.jsi" %>

              - <%=intl._("NOTE")%>: - <%=intl._("The default settings work for most people.")%> - <%=intl._("There is a fundamental tradeoff between anonymity and performance.")%> - <%=intl._("Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability.")%> - <%=intl._("High CPU and/or high outbound bandwidth usage may result.")%> - <%=intl._("Change these settings with care, and adjust them if you have problems.")%> + <%=intl._t("NOTE")%>: + <%=intl._t("The default settings work for most people.")%> + <%=intl._t("There is a fundamental tradeoff between anonymity and performance.")%> + <%=intl._t("Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability.")%> + <%=intl._t("High CPU and/or high outbound bandwidth usage may result.")%> + <%=intl._t("Change these settings with care, and adjust them if you have problems.")%>

              - <%=intl._("Note")%>: <%=intl._("Exploratory tunnel setting changes are stored in the router.config file.")%> - <%=intl._("Client tunnel changes are temporary and are not saved.")%> -<%=intl._("To make permanent client tunnel changes see the")%> <%=intl._("i2ptunnel page")%>. + <%=intl._t("Note")%>: <%=intl._t("Exploratory tunnel setting changes are stored in the router.config file.")%> + <%=intl._t("Client tunnel changes are temporary and are not saved.")%> +<%=intl._t("To make permanent client tunnel changes see the")%> <%=intl._t("i2ptunnel page")%>.
              -" > -" > +" > +" >
              diff --git a/apps/routerconsole/jsp/configui.jsp b/apps/routerconsole/jsp/configui.jsp index 7635ab1e3e..73d0ec565d 100644 --- a/apps/routerconsole/jsp/configui.jsp +++ b/apps/routerconsole/jsp/configui.jsp @@ -22,14 +22,14 @@ input.default { " /> -

              <%=uihelper._("I2P UI Configuration")%>

              +

              <%=uihelper._t("I2P UI Configuration")%>

              <%@include file="confignav.jsi" %> <%@include file="formhandler.jsi" %> -

              <%=uihelper._("Router Console Theme")%>

              +

              <%=uihelper._t("Router Console Theme")%>

              @@ -40,28 +40,28 @@ input.default { %> <% } else { %> -<%=uihelper._("Theme selection disabled for Internet Explorer, sorry.")%> +<%=uihelper._t("Theme selection disabled for Internet Explorer, sorry.")%>
              -<%=uihelper._("If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes.")%> +<%=uihelper._t("If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes.")%> <% } %> -

              <%=uihelper._("Router Console Language")%>

              +

              <%=uihelper._t("Router Console Language")%>

              -

              <%=uihelper._("Please contribute to the router console translation project! Contact the developers in #i2p-dev on IRC to help.")%> +

              <%=uihelper._t("Please contribute to the router console translation project! Contact the developers in #i2p-dev on IRC to help.")%>


              -" > -" > +" > +" >
              -

              <%=uihelper._("Router Console Password")%>

              +

              <%=uihelper._t("Router Console Password")%>

              - " > - " > - " > - " > + " > + " > + " > + " >
              diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp index 1171fbcab3..e1e0734043 100644 --- a/apps/routerconsole/jsp/configupdate.jsp +++ b/apps/routerconsole/jsp/configupdate.jsp @@ -11,7 +11,7 @@ <%@include file="summary.jsi" %> -

              <%=intl._("I2P Update Configuration")%>

              +

              <%=intl._t("I2P Update Configuration")%>

              <%@include file="confignav.jsi" %> @@ -27,57 +27,57 @@ <% /* set hidden default */ %> <% if (updatehelper.canInstall()) { %> -

              <%=intl._("Check for I2P and news updates")%>

              +

              <%=intl._t("Check for I2P and news updates")%>

              - + <% } else { %> -

              <%=intl._("Check for news updates")%>

              +

              <%=intl._t("Check for news updates")%>

              <%=intl._("News & I2P Updates")%>:
              <%=intl._t("News & I2P Updates")%>:
              - + <% } // if canInstall %> - - + - <% if (updatehelper.canInstall()) { %> - + <% } // if canInstall %> - + - + <% if (updatehelper.isAdvanced()) { %> - + - + <% } // if isAdvanced %> <% if (updatehelper.canInstall()) { %> <% if (updatehelper.isAdvanced()) { %> - + - + - + - + - + - + <% } // if isAdvanced %> <% } else { %> - + <% } // if canInstall %>
              <%=intl._("News Updates")%>:
              <%=intl._t("News Updates")%>: <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <%=intl._("Update In Progress")%>
              <% } else { %> " /> +
              <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <%=intl._t("Update In Progress")%>
              <% } else { %> " /> <% } %>

              <%=intl._("News URL")%>:
              <%=intl._t("News URL")%>: readonly="readonly"<% } %> value="">
              <%=intl._("Refresh frequency")%>: +
              <%=intl._t("Refresh frequency")%>:
              <%=formhandler._("Update policy")%>:
              <%=formhandler._t("Update policy")%>:
              <%=intl._("Fetch news through the eepProxy?")%>
              <%=intl._t("Fetch news through the eepProxy?")%>
              <%=intl._("Update through the eepProxy?")%>
              <%=intl._t("Update through the eepProxy?")%>
              <%=intl._("eepProxy host")%>:
              <%=intl._t("eepProxy host")%>: " />
              <%=intl._("eepProxy port")%>:
              <%=intl._t("eepProxy port")%>: " />
              <%=intl._("Update URLs")%>:
              <%=intl._t("Update URLs")%>:
              <%=intl._("Trusted keys")%>:
              <%=intl._t("Trusted keys")%>:
              <%=intl._("Update with signed development builds?")%>
              <%=intl._t("Update with signed development builds?")%>
              <%=intl._("Signed Build URL")%>:
              <%=intl._t("Signed Build URL")%>: ">
              <%=intl._("Update with unsigned development builds?")%>
              <%=intl._t("Update with unsigned development builds?")%>
              <%=intl._("Unsigned Build URL")%>:
              <%=intl._t("Unsigned Build URL")%>: ">
              <%=intl._("Updates will be dispatched via your package manager.")%>
              <%=intl._t("Updates will be dispatched via your package manager.")%>
              - " > - " > + " > + " >
              diff --git a/apps/routerconsole/jsp/console.jsp b/apps/routerconsole/jsp/console.jsp index ffed509dd5..1cff1e369e 100644 --- a/apps/routerconsole/jsp/console.jsp +++ b/apps/routerconsole/jsp/console.jsp @@ -15,7 +15,7 @@ <%@include file="summary.jsi" %> -

              <%=intl._("I2P Router Console")%>

              +

              <%=intl._t("I2P Router Console")%>

              <% if (newshelper.shouldShowNews()) { @@ -61,7 +61,7 @@ Tiếng Việt
              -

              <%=intl._("Welcome to I2P")%>

              +

              <%=intl._t("Welcome to I2P")%>

              <% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/readme.html"); %> diff --git a/apps/routerconsole/jsp/dns.jsp b/apps/routerconsole/jsp/dns.jsp index 8080c115b1..23a353416e 100644 --- a/apps/routerconsole/jsp/dns.jsp +++ b/apps/routerconsole/jsp/dns.jsp @@ -30,11 +30,11 @@ <%@include file="summary.jsi" %> -

              <%=intl._("I2P Addressbook")%> ">images/newtab.png" />

              +

              <%=intl._t("I2P Addressbook")%> ">images/newtab.png" />

              <% diff --git a/apps/routerconsole/jsp/error.jsp b/apps/routerconsole/jsp/error.jsp index 5dfba993eb..663b614316 100644 --- a/apps/routerconsole/jsp/error.jsp +++ b/apps/routerconsole/jsp/error.jsp @@ -25,6 +25,6 @@ <%@include file="summary.jsi" %>

              <%=ERROR_CODE%> <%=ERROR_MESSAGE%>

              -<%=intl._("Sorry! You appear to be requesting a non-existent Router Console page or resource.")%>
              -<%=intl._("Error 404")%>: <%=ERROR_URI%> <%=intl._("not found")%>. +<%=intl._t("Sorry! You appear to be requesting a non-existent Router Console page or resource.")%>
              +<%=intl._t("Error 404")%>: <%=ERROR_URI%> <%=intl._t("not found")%>.
              diff --git a/apps/routerconsole/jsp/error500.jsp b/apps/routerconsole/jsp/error500.jsp index 223b4d5de3..c56b1f7ea0 100644 --- a/apps/routerconsole/jsp/error500.jsp +++ b/apps/routerconsole/jsp/error500.jsp @@ -22,26 +22,26 @@

              <%=ERROR_CODE%> <%=ERROR_MESSAGE%>

              -<%=intl._("Sorry! There has been an internal error.")%> +<%=intl._t("Sorry! There has been an internal error.")%>

              <% /* note to translators - both parameters are URLs */ -%><%=intl._("Please report bugs on {0} or {1}.", +%><%=intl._t("Please report bugs on {0} or {1}.", "trac.i2p2.i2p", "trac.i2p2.de")%> -

              <%=intl._("Please include this information in bug reports")%>: +

              <%=intl._t("Please include this information in bug reports")%>:

              -

              <%=intl._("Error Details")%>

              +

              <%=intl._t("Error Details")%>

              -<%=intl._("Error {0}", ERROR_CODE)%>: <%=ERROR_URI%> <%=ERROR_MESSAGE%> +<%=intl._t("Error {0}", ERROR_CODE)%>: <%=ERROR_URI%> <%=ERROR_MESSAGE%>

              <% if (ERROR_THROWABLE != null) { @@ -56,7 +56,7 @@ } %>

              -

              <%=intl._("I2P Version and Running Environment")%>

              +

              <%=intl._t("I2P Version and Running Environment")%>

              I2P version: <%=net.i2p.router.RouterVersion.FULL_VERSION%>
              Java version: <%=System.getProperty("java.vendor")%> <%=System.getProperty("java.version")%> (<%=System.getProperty("java.runtime.name")%> <%=System.getProperty("java.runtime.version")%>)
              @@ -71,5 +71,5 @@ Jbigi: <%=net.i2p.util.NativeBigInteger.loadStatus()%>
              Encoding: <%=System.getProperty("file.encoding")%>
              Charset: <%=java.nio.charset.Charset.defaultCharset().name()%>

              -

              <%=intl._("Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report.")%>

              +

              <%=intl._t("Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report.")%>

              diff --git a/apps/routerconsole/jsp/events.jsp b/apps/routerconsole/jsp/events.jsp index b67aa5dd50..29838e7a78 100644 --- a/apps/routerconsole/jsp/events.jsp +++ b/apps/routerconsole/jsp/events.jsp @@ -18,7 +18,7 @@ <%@include file="summaryajax.jsi" %> <%@include file="summary.jsi" %> -

              <%=intl._("I2P Event Log")%>

              +

              <%=intl._t("I2P Event Log")%>

              diff --git a/apps/routerconsole/jsp/graph.jsp b/apps/routerconsole/jsp/graph.jsp index 92c6f508f8..1d5c5bf1f5 100644 --- a/apps/routerconsole/jsp/graph.jsp +++ b/apps/routerconsole/jsp/graph.jsp @@ -16,7 +16,7 @@ <%@include file="summaryajax.jsi" %> <%@include file="summary.jsi" %> -

              <%=intl._("I2P Performance Graphs")%>

              +

              <%=intl._t("I2P Performance Graphs")%>

              diff --git a/apps/routerconsole/jsp/graphs.jsp b/apps/routerconsole/jsp/graphs.jsp index 8d4aff7526..6cde501311 100644 --- a/apps/routerconsole/jsp/graphs.jsp +++ b/apps/routerconsole/jsp/graphs.jsp @@ -23,7 +23,7 @@ <%@include file="summaryajax.jsi" %> <%@include file="summary.jsi" %> -

              <%=intl._("I2P Performance Graphs")%>

              +

              <%=intl._t("I2P Performance Graphs")%>

              diff --git a/apps/routerconsole/jsp/home.jsp b/apps/routerconsole/jsp/home.jsp index 8553e56e6d..ec00c6b087 100644 --- a/apps/routerconsole/jsp/home.jsp +++ b/apps/routerconsole/jsp/home.jsp @@ -23,12 +23,12 @@ -

              <%=intl._("I2P Router Console")%>

              +

              <%=intl._t("I2P Router Console")%>

              <% if (newshelper.shouldShowNews()) { @@ -57,7 +57,7 @@ " /> <% if (homehelper.shouldShowWelcome()) { %> -
              "> +
              ">
              English عربية @@ -87,7 +87,7 @@ Українська Tiếng Việt
              -

              <%=intl._("Welcome to I2P")%>

              +

              <%=intl._t("Welcome to I2P")%>

              <% } // shouldShowWelcome %> @@ -100,7 +100,7 @@ - - - +<% if (book.getEntries().length > 0) { /* Don't show if no results. Can't figure out how to do this with c:if */ %> + + + - + +<% } /* book..getEntries().length() > 0 */ %>
              +<% if (book.getEntries().length > 0) { /* Don't show if no results. Can't figure out how to do this with c:if */ %>

              -" > -" > +" > +" >

              -
              +
              +<% } /* book..getEntries().length() > 0 */ %> + +<% if (book.getEntries().length > 0) { /* Don't show if no results. Can't figure out how to do this with c:if */ %>

              @@ -188,14 +194,15 @@ ${book.loadBookMessages} -" /> +" />

              +<% } /* book..getEntries().length() > 0 */ %> <% /* book.notEmpty */ %>
              -

              <%=intl._("This address book is empty.")%>

              +

              <%=intl._t("This address book is empty.")%>

              @@ -204,16 +211,16 @@ ${book.loadBookMessages}
              -

              <%=intl._("Add new destination")%>:

              +

              <%=intl._t("Add new destination")%>:

              -<%=intl._("Host Name")%> +<%=intl._t("Host Name")%>
              -<%=intl._("Destination")%> +<%=intl._t("Destination")%>

              -" > -" > -" > +" > +" > +" >

              diff --git a/apps/susidns/src/jsp/config.jsp b/apps/susidns/src/jsp/config.jsp index 6a650d3f5d..27e57a6e90 100644 --- a/apps/susidns/src/jsp/config.jsp +++ b/apps/susidns/src/jsp/config.jsp @@ -44,24 +44,24 @@ -<%=intl._("configuration")%> - susidns +<%=intl._t("configuration")%> - susidns


              @@ -74,65 +74,65 @@
              -" > -" > +" > +" >
              -

              <%=intl._("Hints")%>

              +

              <%=intl._t("Hints")%>

              1. -<%=intl._("File and directory paths here are relative to the addressbook's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P\\addressbook\\ (Windows).")%> +<%=intl._t("File and directory paths here are relative to the addressbook's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P\\addressbook\\ (Windows).")%>
              2. -<%=intl._("If you want to manually add lines to an addressbook, add them to the private or master addressbooks.")%> -<%=intl._("The router addressbook and the published addressbook are updated by the addressbook application.")%> +<%=intl._t("If you want to manually add lines to an addressbook, add them to the private or master addressbooks.")%> +<%=intl._t("The router addressbook and the published addressbook are updated by the addressbook application.")%>
              3. -<%=intl._("When you publish your addressbook, ALL destinations from the master and router addressbooks appear there.")%> -<%=intl._("Use the private addressbook for private destinations, these are not published.")%> +<%=intl._t("When you publish your addressbook, ALL destinations from the master and router addressbooks appear there.")%> +<%=intl._t("Use the private addressbook for private destinations, these are not published.")%>
              -

              <%=intl._("Options")%>

              +

              <%=intl._t("Options")%>

              • subscriptions - -<%=intl._("File containing the list of subscriptions URLs (no need to change)")%> +<%=intl._t("File containing the list of subscriptions URLs (no need to change)")%>
              • update_delay - -<%=intl._("Update interval in hours")%> +<%=intl._t("Update interval in hours")%>
              • published_addressbook - -<%=intl._("Your public hosts.txt file (choose a path within your webserver document root)")%> +<%=intl._t("Your public hosts.txt file (choose a path within your webserver document root)")%>
              • router_addressbook - -<%=intl._("Your hosts.txt (don't change)")%> +<%=intl._t("Your hosts.txt (don't change)")%>
              • master_addressbook - -<%=intl._("Your personal addressbook, these hosts will be published")%> +<%=intl._t("Your personal addressbook, these hosts will be published")%>
              • private_addressbook - -<%=intl._("Your private addressbook, it is never published")%> +<%=intl._t("Your private addressbook, it is never published")%>
              • proxy_port - -<%=intl._("Port for your eepProxy (no need to change)")%> +<%=intl._t("Port for your eepProxy (no need to change)")%>
              • proxy_host - -<%=intl._("Hostname for your eepProxy (no need to change)")%> +<%=intl._t("Hostname for your eepProxy (no need to change)")%>
              • should_publish - -<%=intl._("Whether to update the published addressbook")%> +<%=intl._t("Whether to update the published addressbook")%>
              • etags - -<%=intl._("File containing the etags header from the fetched subscription URLs (no need to change)")%> +<%=intl._t("File containing the etags header from the fetched subscription URLs (no need to change)")%>
              • last_modified - -<%=intl._("File containing the modification timestamp for each fetched subscription URL (no need to change)")%> +<%=intl._t("File containing the modification timestamp for each fetched subscription URL (no need to change)")%>
              • log - -<%=intl._("File to log activity to (change to /dev/null if you like)")%> +<%=intl._t("File to log activity to (change to /dev/null if you like)")%>
              • theme - -<%=intl._("Name of the theme to use (defaults to 'light')")%> +<%=intl._t("Name of the theme to use (defaults to 'light')")%>
              diff --git a/apps/susidns/src/jsp/details.jsp b/apps/susidns/src/jsp/details.jsp index 9334e43ca7..a5660b6773 100644 --- a/apps/susidns/src/jsp/details.jsp +++ b/apps/susidns/src/jsp/details.jsp @@ -42,31 +42,31 @@ -${book.book} <%=intl._("addressbook")%> - susidns +${book.book} <%=intl._t("addressbook")%> - susidns


              -

              <%=intl._("Address book")%>: <%=intl._(book.getBook())%>

              -

              <%=intl._("Storage")%>: ${book.displayName}

              +

              <%=intl._t("Address book")%>: <%=intl._t(book.getBook())%>

              +

              <%=intl._t("Storage")%>: ${book.displayName}

              @@ -85,49 +85,49 @@ - + <% if (addr.isIDN()) { %> - + <% } %> - + - + - - + + - - + + - + - + - + - + - + - + - +
              <%=intl._("Host Name")%><%=intl._t("Host Name")%> <%=addr.getDisplayName()%>
              <%=intl._("Encoded Name")%><%=intl._t("Encoded Name")%> <%=addr.getName()%>
              <%=intl._("Base 32 Address")%><%=intl._t("Base 32 Address")%> <%=b32%>
              <%=intl._("Base 64 Hash")%><%=intl._t("Base 64 Hash")%> <%=addr.getB64()%>
              <%=intl._("Address Helper")%><%=intl._("link")%><%=intl._t("Address Helper")%><%=intl._t("link")%>
              <%=intl._("Public Key")%><%=intl._("ElGamal 2048 bit")%><%=intl._t("Public Key")%><%=intl._t("ElGamal 2048 bit")%>
              <%=intl._("Signing Key")%><%=intl._t("Signing Key")%> <%=addr.getSigType()%>
              <%=intl._("Certificate")%><%=intl._t("Certificate")%> <%=addr.getCert()%>
              <%=intl._("Added Date")%><%=intl._t("Added Date")%> <%=addr.getAdded()%>
              <%=intl._("Source")%><%=intl._t("Source")%> <%=addr.getSource()%>
              <%=intl._("Last Modified")%><%=intl._t("Last Modified")%> <%=addr.getModded()%>
              <%=intl._("Notes")%><%=intl._t("Notes")%> <%=addr.getNotes()%>
              <%=intl._("Destination")%><%=intl._t("Destination")%>
              @@ -138,7 +138,7 @@ -" > +" >

              diff --git a/apps/susidns/src/jsp/index.jsp b/apps/susidns/src/jsp/index.jsp index 505beeec7f..67c96c6801 100644 --- a/apps/susidns/src/jsp/index.jsp +++ b/apps/susidns/src/jsp/index.jsp @@ -42,7 +42,7 @@ -<%=intl._("Introduction")%> - SusiDNS +<%=intl._t("Introduction")%> - SusiDNS @@ -53,39 +53,39 @@

              -

              <%=intl._("What is the addressbook?")%>

              +

              <%=intl._t("What is the addressbook?")%>

              -<%=intl._("The addressbook application is part of your I2P installation.")%> -<%=intl._("It regularly updates your hosts.txt file from distributed sources or \"subscriptions\".")%> +<%=intl._t("The addressbook application is part of your I2P installation.")%> +<%=intl._t("It regularly updates your hosts.txt file from distributed sources or \"subscriptions\".")%>

              -<%=intl._("In the default configuration, the address book is only subscribed to {0}.", "i2p-projekt.i2p")%> -<%=intl._("Subscribing to additional sites is easy, just add them to your subscriptions file.")%> +<%=intl._t("In the default configuration, the address book is only subscribed to {0}.", "i2p-projekt.i2p")%> +<%=intl._t("Subscribing to additional sites is easy, just add them to your subscriptions file.")%>

              -<%=intl._("For more information on naming in I2P, see the overview.")%> +<%=intl._t("For more information on naming in I2P, see the overview.")%>

              -

              <%=intl._("How does the addressbook application work?")%>

              +

              <%=intl._t("How does the addressbook application work?")%>

              -<%=intl._("The addressbook application regularly polls your subscriptions and merges their content into your \"router\" address book.")%> -<%=intl._("Then it merges your \"master\" address book into the router address book as well.")%> -<%=intl._("If configured, the router address book is now written to the \"published\" address book, which will be publicly available if you are running an eepsite.")%> +<%=intl._t("The addressbook application regularly polls your subscriptions and merges their content into your \"router\" address book.")%> +<%=intl._t("Then it merges your \"master\" address book into the router address book as well.")%> +<%=intl._t("If configured, the router address book is now written to the \"published\" address book, which will be publicly available if you are running an eepsite.")%>

              -<%=intl._("The router also uses a private address book (not shown in the picture), which is not merged or published.")%> -<%=intl._("Hosts in the private address book can be accessed by you but their addresses are never distributed to others.")%> -<%=intl._("The private address book can also be used for aliases of hosts in your other address books.")%> +<%=intl._t("The router also uses a private address book (not shown in the picture), which is not merged or published.")%> +<%=intl._t("Hosts in the private address book can be accessed by you but their addresses are never distributed to others.")%> +<%=intl._t("The private address book can also be used for aliases of hosts in your other address books.")%>

              address book working scheme
              diff --git a/apps/susidns/src/jsp/subscriptions.jsp b/apps/susidns/src/jsp/subscriptions.jsp index db588c6a8d..25ec212612 100644 --- a/apps/susidns/src/jsp/subscriptions.jsp +++ b/apps/susidns/src/jsp/subscriptions.jsp @@ -43,24 +43,24 @@ -<%=intl._("subscriptions")%> - susidns +<%=intl._t("subscriptions")%> - susidns


              @@ -73,18 +73,18 @@
              -" > -" > +" > +" >

              -<%=intl._("The subscription file contains a list of i2p URLs.")%> -<%=intl._("The addressbook application regularly checks this list for new eepsites.")%> -<%=intl._("Those URLs refer to published hosts.txt files.")%> -<%=intl._("The default subscription is the hosts.txt from {0}, which is updated infrequently.", "i2p-projekt.i2p")%> -<%=intl._("So it is a good idea to add additional subscriptions to sites that have the latest addresses.")%> -<%=intl._("See the FAQ for a list of subscription URLs.")%> +<%=intl._t("The subscription file contains a list of i2p URLs.")%> +<%=intl._t("The addressbook application regularly checks this list for new eepsites.")%> +<%=intl._t("Those URLs refer to published hosts.txt files.")%> +<%=intl._t("The default subscription is the hosts.txt from {0}, which is updated infrequently.", "i2p-projekt.i2p")%> +<%=intl._t("So it is a good idea to add additional subscriptions to sites that have the latest addresses.")%> +<%=intl._t("See the FAQ for a list of subscription URLs.")%>

              " + _t("No messages") + "
              "); if (i > 0) { out.println( "

              "); if( sessionObject.reallyDelete ) { // TODO ngettext - out.println("

              " + _("Really delete the marked messages?") + - "

              " + button( REALLYDELETE, _("Yes, really delete them!") ) + - "
              " + button( CLEAR, _("Cancel"))); + out.println("

              " + _t("Really delete the marked messages?") + + "

              " + button( REALLYDELETE, _t("Yes, really delete them!") ) + + "
              " + button( CLEAR, _t("Cancel"))); } else { - out.println(button( DELETE, _("Delete Selected") ) + "
              "); + out.println(button( DELETE, _t("Delete Selected") ) + "
              "); out.print( - button( MARKALL, _("Mark All") ) + + button( MARKALL, _t("Mark All") ) + " " + - button( CLEAR, _("Clear All") )); + button( CLEAR, _t("Clear All") )); //"
              " + - //button( INVERT, _("Invert Selection") ) + + //button( INVERT, _t("Invert Selection") ) + //"
              "); } out.print("
              "); // moved to config page //out.print( - // _("Page Size") + ": " + + // _t("Page Size") + ": " + // " " + - // button( SETPAGESIZE, _("Set") ) ); + // button( SETPAGESIZE, _t("Set") ) ); out.print("
              "); - out.print(button(CONFIGURE, _("Settings"))); + out.print(button(CONFIGURE, _t("Settings"))); out.println("
              "); @@ -2303,14 +2303,14 @@ public class WebMail extends HttpServlet out.println( "
              " + ( folder.isFirstPage() ? - button2( FIRSTPAGE, _("First") ) + " " + button2( PREVPAGE, _("Previous") ) : - button( FIRSTPAGE, _("First") ) + " " + button( PREVPAGE, _("Previous") ) ) + + button2( FIRSTPAGE, _t("First") ) + " " + button2( PREVPAGE, _t("Previous") ) : + button( FIRSTPAGE, _t("First") ) + " " + button( PREVPAGE, _t("Previous") ) ) + "      " + - _("Page {0} of {1}", folder.getCurrentPage(), folder.getPages()) + + _t("Page {0} of {1}", folder.getCurrentPage(), folder.getPages()) + "      " + ( folder.isLastPage() ? - button2( NEXTPAGE, _("Next") ) + " " + button2( LASTPAGE, _("Last") ) : - button( NEXTPAGE, _("Next") ) + " " + button( LASTPAGE, _("Last") ) ) + button2( NEXTPAGE, _t("Next") ) + " " + button2( LASTPAGE, _t("Last") ) : + button( NEXTPAGE, _t("Next") ) + " " + button( LASTPAGE, _t("Last") ) ) ); } @@ -2322,7 +2322,7 @@ public class WebMail extends HttpServlet private static void showMessage( PrintWriter out, SessionObject sessionObject ) { if( sessionObject.reallyDelete ) { - out.println( "

              " + _("Really delete this message?") + " " + button( REALLYDELETE, _("Yes, really delete it!") ) + "

              " ); + out.println( "

              " + _t("Really delete this message?") + " " + button( REALLYDELETE, _t("Yes, really delete it!") ) + "

              " ); } Mail mail = sessionObject.mailCache.getMail( sessionObject.showUIDL, MailCache.FetchMode.ALL ); if(!RELEASE && mail != null && mail.hasBody()) { @@ -2334,31 +2334,31 @@ public class WebMail extends HttpServlet out.println( "-->" ); } out.println("
              "); - out.println( button( NEW, _("New") ) + spacer + - button( REPLY, _("Reply") ) + - button( REPLYALL, _("Reply All") ) + - button( FORWARD, _("Forward") ) + spacer + - button( SAVE_AS, _("Save As") ) + spacer); + out.println( button( NEW, _t("New") ) + spacer + + button( REPLY, _t("Reply") ) + + button( REPLYALL, _t("Reply All") ) + + button( FORWARD, _t("Forward") ) + spacer + + button( SAVE_AS, _t("Save As") ) + spacer); if (sessionObject.reallyDelete) - out.println(button2(DELETE, _("Delete"))); + out.println(button2(DELETE, _t("Delete"))); else - out.println(button(DELETE, _("Delete"))); + out.println(button(DELETE, _t("Delete"))); out.println("
              " + - ( sessionObject.folder.isFirstElement( sessionObject.showUIDL ) ? button2( PREV, _("Previous") ) : button( PREV, _("Previous") ) ) + spacer + - button( LIST, _("Back to Folder") ) + spacer + - ( sessionObject.folder.isLastElement( sessionObject.showUIDL ) ? button2( NEXT, _("Next") ) : button( NEXT, _("Next") ) )); + ( sessionObject.folder.isFirstElement( sessionObject.showUIDL ) ? button2( PREV, _t("Previous") ) : button( PREV, _t("Previous") ) ) + spacer + + button( LIST, _t("Back to Folder") ) + spacer + + ( sessionObject.folder.isLastElement( sessionObject.showUIDL ) ? button2( NEXT, _t("Next") ) : button( NEXT, _t("Next") ) )); out.println("
              "); //if (Config.hasConfigFile()) - // out.println(button( RELOAD, _("Reload Config") ) + spacer); - //out.println(button( LOGOUT, _("Logout") ) ); + // out.println(button( RELOAD, _t("Reload Config") ) + spacer); + //out.println(button( LOGOUT, _t("Logout") ) ); if( mail != null ) { out.println( "\n" + "\n" + - "\n" + - "\n" + - "\n" + "" ); if( mail.hasPart()) { @@ -2366,11 +2366,11 @@ public class WebMail extends HttpServlet showPart( out, mail.getPart(), 0, SHOW_HTML ); } else { - out.println( "" ); + out.println( "" ); } } else { - out.println( "" ); + out.println( "" ); } out.println( "\n

              " + _("From") + + "
              " + _t("From") + ":" + quoteHTML( mail.sender ) + "
              " + _("Subject") + + "
              " + _t("Subject") + ":" + quoteHTML( mail.formattedSubject ) + "
              " + _("Date") + + "
              " + _t("Date") + ":" + mail.quotedDate + "

              " + _("Could not fetch mail body.") + "

              " + _t("Could not fetch mail body.") + "

              " + _("Could not fetch mail.") + "

              " + _t("Could not fetch mail.") + "


              " ); } @@ -2388,13 +2388,13 @@ public class WebMail extends HttpServlet sz = Config.getProperty(Folder.PAGESIZE, Folder.DEFAULT_PAGESIZE); out.println("
              "); out.println( - _("Folder Page Size") + ": " + " " + - button( SETPAGESIZE, _("Set") ) ); + button( SETPAGESIZE, _t("Set") ) ); out.println("

              "); out.println("

              "); - out.print(_("Advanced Configuration")); + out.print(_t("Advanced Configuration")); Properties config = Config.getProperties(); out.print(":

              "); out.println("
              "); out.println("
              "); - out.println(button(SAVE, _("Save Configuration"))); - out.println(button(CANCEL, _("Cancel"))); + out.println(button(SAVE, _t("Save Configuration"))); + out.println(button(CANCEL, _t("Cancel"))); out.println("
              "); } /** translate */ - private static String _(String s) { + private static String _t(String s) { return Messages.getString(s); } /** translate */ - private static String _(String s, Object o) { + private static String _t(String s, Object o) { return Messages.getString(s, o); } /** translate */ - private static String _(String s, Object o, Object o2) { + private static String _t(String s, Object o, Object o2) { return Messages.getString(s, o, o2); } diff --git a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java index f688ddc16a..5ed2018275 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java +++ b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java @@ -99,7 +99,7 @@ public class POP3MailBox implements NewMailListener { sizes = new HashMap(); synchronizer = new Object(); // this appears in the UI so translate - lastLine = _("No response from server"); + lastLine = _t("No response from server"); lastActive = new AtomicLong(System.currentTimeMillis()); lastChecked = new AtomicLong(); delayedDeleter = new DelayedDeleter(this); @@ -665,15 +665,15 @@ public class POP3MailBox implements NewMailListener { idleCloser = new IdleCloser(this); } else { if (lastError.equals("")) - lastError = _("Error connecting to server"); + lastError = _t("Error connecting to server"); close(); } } catch (NumberFormatException e1) { - lastError = _("Error opening mailbox") + ": " + e1; + lastError = _t("Error opening mailbox") + ": " + e1; } catch (IOException e1) { - lastError = _("Error opening mailbox") + ": " + e1.getLocalizedMessage(); + lastError = _t("Error opening mailbox") + ": " + e1.getLocalizedMessage(); } } } @@ -748,7 +748,7 @@ public class POP3MailBox implements NewMailListener { } } else { Debug.debug(Debug.DEBUG, "sendCmd1a: (" + cmd + ") NO RESPONSE"); - lastError = _("No response from server"); + lastError = _t("No response from server"); throw new IOException(lastError); } return result; @@ -790,7 +790,7 @@ public class POP3MailBox implements NewMailListener { String foo = DataHelper.readLine(in); updateActivity(); if (foo == null) { - lastError = _("No response from server"); + lastError = _t("No response from server"); throw new IOException(lastError); } sr.response = foo.trim(); @@ -1022,7 +1022,7 @@ public class POP3MailBox implements NewMailListener { e = e.substring(5); // translate this common error if (e.trim().equals("Login failed.")) - e = _("Login failed"); + e = _t("Login failed"); return e; } @@ -1257,7 +1257,7 @@ public class POP3MailBox implements NewMailListener { } /** translate */ - private static String _(String s) { + private static String _t(String s) { return Messages.getString(s); } } diff --git a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java index f3f7556985..046dcbef52 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java +++ b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java @@ -211,7 +211,7 @@ public class SMTPClient { try { socket = new Socket( host, port ); } catch (Exception e) { - error += _("Cannot connect") + ": " + e.getMessage() + '\n'; + error += _t("Cannot connect") + ": " + e.getMessage() + '\n'; ok = false; } try { @@ -222,7 +222,7 @@ public class SMTPClient { socket.setSoTimeout(120*1000); int result = sendCmd(null); if (result != 220) { - error += _("Server refused connection") + " (" + result + ")\n"; + error += _t("Server refused connection") + " (" + result + ")\n"; ok = false; } } @@ -234,7 +234,7 @@ public class SMTPClient { if (r.result == 250) { supportsPipelining = r.recv.contains("PIPELINING"); } else { - error += _("Server refused connection") + " (" + r.result + ")\n"; + error += _t("Server refused connection") + " (" + r.result + ")\n"; ok = false; } } @@ -246,7 +246,7 @@ public class SMTPClient { cmds.add(new SendExpect(base64.encode(user), 334)); cmds.add(new SendExpect(base64.encode(pass), 235)); if (sendCmds(cmds) != 3) { - error += _("Login failed") + '\n'; + error += _t("Login failed") + '\n'; ok = false; } } @@ -259,7 +259,7 @@ public class SMTPClient { cmds.add(new SendExpect("DATA", 354)); if (sendCmds(cmds) != cmds.size()) { // TODO which recipient? - error += _("Mail rejected") + '\n'; + error += _t("Mail rejected") + '\n'; ok = false; } } @@ -273,10 +273,10 @@ public class SMTPClient { if (result == 250) mailSent = true; else - error += _("Error sending mail") + " (" + result + ")\n"; + error += _t("Error sending mail") + " (" + result + ")\n"; } } catch (IOException e) { - error += _("Error sending mail") + ": " + e.getMessage() + '\n'; + error += _t("Error sending mail") + ": " + e.getMessage() + '\n'; } catch (EncodingException e) { error += e.getMessage(); @@ -324,7 +324,7 @@ public class SMTPClient { } /** translate */ - private static String _(String s) { + private static String _t(String s) { return Messages.getString(s); } } diff --git a/build.xml b/build.xml index 295546b572..21c42371f1 100644 --- a/build.xml +++ b/build.xml @@ -100,8 +100,11 @@ - + + + + @@ -450,7 +453,7 @@ if (newBuildNumber != 'unknown' && newBuildNumber != null) { echo = project.createTask("echo"); project.setProperty("new.i2p.build.number", newBuildNumber); - echo.setMessage("Build number is now: " + newBuildNumber); + echo.setMessage("Build number is now: " + newBuildNumber + project.getProperty("build.extra")); echo.perform(); } ]]> @@ -1399,6 +1402,9 @@ ---------------- EARLIER HISTORY IS AVAILABLE IN THE SOURCE PACKAGE" + + + @@ -1774,9 +1780,11 @@ since preppkg puts too much stuff in pkg-temp --> + + diff --git a/core/java/src/gnu/getopt/MessagesBundle_fi.properties b/core/java/src/gnu/getopt/MessagesBundle_fi.properties new file mode 100644 index 0000000000..1b253d1cd6 --- /dev/null +++ b/core/java/src/gnu/getopt/MessagesBundle_fi.properties @@ -0,0 +1,31 @@ +#************************************************************************** +#* MessagesBundle.properties -- English language error messages +#* +#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and +#* Aaron M. Renn (arenn@urbanophile.com) +#* +#* This program is free software; you can redistribute it and/or modify +#* it under the terms of the GNU Library General Public License as published +#* by the Free Software Foundation; either version 2 of the License or +#* (at your option) any later version. +#* +#* This program is distributed in the hope that it will be useful, but +#* WITHOUT ANY WARRANTY; without even the implied warranty of +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#* GNU Library General Public License for more details. +#* +#* You should have received a copy of the GNU Library General Public License +#* along with this program; see the file COPYING.LIB. If not, write to +#* the Free Software Foundation Inc., 59 Temple Place - Suite 330, +#* Boston, MA 02111-1307 USA +#**************************************************************************/ +getopt.ambigious={0}\: valitsin \u201d{1}\u201d ei ole yksiselitteinen +getopt.arguments1={0}\: valitsin ''--{1}'' ei salli argumenttia +getopt.arguments2={0}\: valitsin ''{1}{2}'' ei salli argumenttia +getopt.requires={0}\: valitsin ''{1}'' vaatii argumentin +getopt.unrecognized={0}\: tunnistamaton valitsin ''--{1}'' +getopt.unrecognized2={0}\: tunnistamaton valitsin ''{1}{2}'' +getopt.illegal={0}\: virheellinen valitsin -- {1} +getopt.invalid={0}\: virheellinen valitsin -- {1} +getopt.requires2={0}\: valitsin vaatii argumentin -- {1} +getopt.invalidValue=Virheellinen arvo {0} parametrille 'has_arg' diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java index 0aa44511d5..2a1175c6e5 100644 --- a/core/java/src/net/i2p/CoreVersion.java +++ b/core/java/src/net/i2p/CoreVersion.java @@ -18,7 +18,7 @@ public class CoreVersion { /** deprecated */ public final static String ID = "Monotone"; - public final static String VERSION = "0.9.20"; + public final static String VERSION = "0.9.22"; /** * For Vuze. diff --git a/core/java/src/net/i2p/client/impl/I2PSessionImpl.java b/core/java/src/net/i2p/client/impl/I2PSessionImpl.java index 6d264549be..4307924dea 100644 --- a/core/java/src/net/i2p/client/impl/I2PSessionImpl.java +++ b/core/java/src/net/i2p/client/impl/I2PSessionImpl.java @@ -96,7 +96,7 @@ public abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2 // established subsessions private final ConcurrentHashMap _subsessionMap; private final Object _subsessionLock = new Object(); - private static final String MIN_SUBSESSION_VERSION = "0.9.19"; + private static final String MIN_SUBSESSION_VERSION = "0.9.21"; private volatile boolean _routerSupportsSubsessions; /** hostname of router - will be null if in RouterContext */ diff --git a/core/java/src/net/i2p/crypto/KeyStoreUtil.java b/core/java/src/net/i2p/crypto/KeyStoreUtil.java index c374ad1204..06b73cea81 100644 --- a/core/java/src/net/i2p/crypto/KeyStoreUtil.java +++ b/core/java/src/net/i2p/crypto/KeyStoreUtil.java @@ -501,6 +501,7 @@ public class KeyStoreUtil { l.log(level, msg, t); } +/**** public static void main(String[] args) { try { if (args.length > 0) { @@ -521,4 +522,5 @@ public class KeyStoreUtil { e.printStackTrace(); } } +****/ } diff --git a/core/java/src/net/i2p/crypto/SU3File.java b/core/java/src/net/i2p/crypto/SU3File.java index bc4d0251c7..f8753aee50 100644 --- a/core/java/src/net/i2p/crypto/SU3File.java +++ b/core/java/src/net/i2p/crypto/SU3File.java @@ -540,9 +540,10 @@ public class SU3File { String ctype = null; String ftype = null; String kfile = null; + String kspass = KeyStoreUtil.DEFAULT_KEYSTORE_PASSWORD; boolean error = false; boolean shouldVerify = true; - Getopt g = new Getopt("SU3File", args, "t:c:f:k:x"); + Getopt g = new Getopt("SU3File", args, "t:c:f:k:xp:"); int c; while ((c = g.getopt()) != -1) { switch (c) { @@ -566,6 +567,10 @@ public class SU3File { shouldVerify = false; break; + case 'p': + kspass = g.getOptarg(); + break; + case '?': case ':': default: @@ -586,16 +591,16 @@ public class SU3File { Properties props = new Properties(); props.setProperty("prng.bufferSize", "16384"); new I2PAppContext(props); - ok = signCLI(stype, ctype, ftype, a.get(0), a.get(1), a.get(2), a.get(3), a.get(4), ""); + ok = signCLI(stype, ctype, ftype, a.get(0), a.get(1), a.get(2), a.get(3), a.get(4), "", kspass); } else if ("bulksign".equals(cmd)) { Properties props = new Properties(); props.setProperty("prng.bufferSize", "16384"); new I2PAppContext(props); - ok = bulkSignCLI(stype, ctype, a.get(0), a.get(1), a.get(2), a.get(3)); + ok = bulkSignCLI(stype, ctype, a.get(0), a.get(1), a.get(2), a.get(3), kspass); } else if ("verifysig".equals(cmd)) { ok = verifySigCLI(a.get(0), kfile); } else if ("keygen".equals(cmd)) { - ok = genKeysCLI(stype, a.get(0), a.get(1), a.get(2)); + ok = genKeysCLI(stype, a.get(0), a.get(1), a.get(2), kspass); } else if ("extract".equals(cmd)) { ok = extractCLI(a.get(0), a.get(1), shouldVerify, kfile); } else { @@ -611,12 +616,13 @@ public class SU3File { } private static final void showUsageCLI() { - System.err.println("Usage: SU3File keygen [-t type|code] publicKeyFile keystore.ks you@mail.i2p"); - System.err.println(" SU3File sign [-t type|code] [-c type|code] [-f type|code] inputFile.zip signedFile.su3 keystore.ks version you@mail.i2p"); - System.err.println(" SU3File bulksign [-t type|code] [-c type|code] directory keystore.ks version you@mail.i2p"); - System.err.println(" SU3File showversion signedFile.su3"); - System.err.println(" SU3File verifysig [-k file.crt] signedFile.su3 ## -k use this pubkey cert for verification"); - System.err.println(" SU3File extract [-x] [-k file.crt] signedFile.su3 outFile ## -x don't check sig"); + System.err.println("Usage: SU3File keygen [-t type|code] [-p keystorepw] publicKeyFile keystore.ks you@mail.i2p\n" + + " SU3File sign [-t type|code] [-c type|code] [-f type|code] [-p keystorepw] inputFile.zip signedFile.su3 keystore.ks version you@mail.i2p\n" + + " SU3File bulksign [-t type|code] [-c type|code] [-p keystorepw] directory keystore.ks version you@mail.i2p\n" + + " SU3File showversion signedFile.su3\n" + + " SU3File verifysig [-k file.crt] signedFile.su3 ## -k use this pubkey cert for verification\n" + + " SU3File extract [-x] [-k file.crt] signedFile.su3 outFile ## -x don't check sig"); + System.err.println("Default keystore password: \"" + KeyStoreUtil.DEFAULT_KEYSTORE_PASSWORD + '"'); System.err.println(dumpTypes()); } @@ -714,7 +720,7 @@ public class SU3File { * @since 0.9.9 */ private static final boolean bulkSignCLI(String stype, String ctype, String dir, - String privateKeyFile, String version, String signerName) { + String privateKeyFile, String version, String signerName, String kspass) { File d = new File(dir); if (!d.isDirectory()) { System.out.println("Directory does not exist: " + d); @@ -749,7 +755,8 @@ public class SU3File { if (!inputFile.endsWith(".zip")) continue; String signedFile = inputFile.substring(0, inputFile.length() - 4) + ".su3"; - boolean rv = signCLI(stype, ctype, null, inputFile, signedFile, privateKeyFile, version, signerName, keypw); + boolean rv = signCLI(stype, ctype, null, inputFile, signedFile, + privateKeyFile, version, signerName, keypw, kspass); if (!rv) return false; success++; @@ -764,7 +771,7 @@ public class SU3File { * @since 0.9.9 */ private static final boolean signCLI(String stype, String ctype, String ftype, String inputFile, String signedFile, - String privateKeyFile, String version, String signerName, String keypw) { + String privateKeyFile, String version, String signerName, String keypw, String kspass) { SigType type = stype == null ? SigType.getByCode(Integer.valueOf(DEFAULT_SIG_CODE)) : SigType.parseSigType(stype); if (type == null) { System.out.println("Signature type " + stype + " is not supported"); @@ -799,7 +806,7 @@ public class SU3File { System.out.println("Warning: File type " + ftype + " is undefined"); } } - return signCLI(type, ct, ft, inputFile, signedFile, privateKeyFile, version, signerName, keypw); + return signCLI(type, ct, ft, inputFile, signedFile, privateKeyFile, version, signerName, keypw, kspass); } /** @@ -807,7 +814,7 @@ public class SU3File { * @since 0.9.9 */ private static final boolean signCLI(SigType type, ContentType ctype, int ftype, String inputFile, String signedFile, - String privateKeyFile, String version, String signerName, String keypw) { + String privateKeyFile, String version, String signerName, String keypw, String kspass) { try { while (keypw.length() < 6) { System.out.print("Enter password for key \"" + signerName + "\": "); @@ -821,7 +828,7 @@ public class SU3File { System.out.println("Key password must be at least 6 characters"); } File pkfile = new File(privateKeyFile); - PrivateKey pk = KeyStoreUtil.getPrivateKey(pkfile,KeyStoreUtil.DEFAULT_KEYSTORE_PASSWORD, signerName, keypw); + PrivateKey pk = KeyStoreUtil.getPrivateKey(pkfile, kspass, signerName, keypw); if (pk == null) { System.out.println("Private key for " + signerName + " not found in keystore " + privateKeyFile); return false; @@ -895,13 +902,14 @@ public class SU3File { * @return success * @since 0.9.9 */ - private static final boolean genKeysCLI(String stype, String publicKeyFile, String privateKeyFile, String alias) { + private static final boolean genKeysCLI(String stype, String publicKeyFile, String privateKeyFile, + String alias, String kspass) { SigType type = stype == null ? SigType.getByCode(Integer.valueOf(DEFAULT_SIG_CODE)) : SigType.parseSigType(stype); if (type == null) { System.out.println("Signature type " + stype + " is not supported"); return false; } - return genKeysCLI(type, publicKeyFile, privateKeyFile, alias); + return genKeysCLI(type, publicKeyFile, privateKeyFile, alias, kspass); } /** @@ -909,7 +917,8 @@ public class SU3File { * @return success * @since 0.9.9 */ - private static final boolean genKeysCLI(SigType type, String publicKeyFile, String privateKeyFile, String alias) { + private static final boolean genKeysCLI(SigType type, String publicKeyFile, String privateKeyFile, + String alias, String kspass) { File pubFile = new File(publicKeyFile); if (pubFile.exists()) { System.out.println("Error: Not overwriting file " + publicKeyFile); @@ -947,7 +956,7 @@ public class SU3File { if (keylen == 528) keylen = 521; } - boolean success = KeyStoreUtil.createKeys(ksFile, KeyStoreUtil.DEFAULT_KEYSTORE_PASSWORD, alias, + boolean success = KeyStoreUtil.createKeys(ksFile, kspass, alias, alias, "I2P", 3652, type.getBaseAlgorithm().getName(), keylen, keypw); if (!success) { diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java index 7b40b50992..aa2624b8af 100644 --- a/core/java/src/net/i2p/data/Certificate.java +++ b/core/java/src/net/i2p/data/Certificate.java @@ -47,16 +47,17 @@ public class Certificate extends DataStructureImpl { public final static int CERTIFICATE_TYPE_KEY = 5; /** - * If null cert, return immutable static instance, else create new + * If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new * @throws DataFormatException if not enough bytes * @since 0.8.3 */ public static Certificate create(byte[] data, int off) throws DataFormatException { int type; byte[] payload; + int length; try { type = data[off] & 0xff; - int length = (int) DataHelper.fromLong(data, off + 1, 2); + 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 @@ -68,6 +69,12 @@ public class Certificate extends DataStructureImpl { throw new DataFormatException("not enough bytes", aioobe); } if (type == CERTIFICATE_TYPE_KEY) { + if (length == 4) { + if (Arrays.equals(payload, KeyCertificate.Ed25519_PAYLOAD)) + return KeyCertificate.ELG_Ed25519_CERT; + if (Arrays.equals(payload, KeyCertificate.ECDSA256_PAYLOAD)) + return KeyCertificate.ELG_ECDSA256_CERT; + } try { return new KeyCertificate(payload); } catch (DataFormatException dfe) { @@ -78,7 +85,7 @@ public class Certificate extends DataStructureImpl { } /** - * If null cert, return immutable static instance, else create new + * If null, P256 key, or Ed25519 key cert, return immutable static instance, else create new * @since 0.8.3 */ public static Certificate create(InputStream in) throws DataFormatException, IOException { @@ -93,8 +100,15 @@ public class Certificate extends DataStructureImpl { int read = DataHelper.read(in, payload); if (read != length) throw new DataFormatException("Not enough bytes for the payload (read: " + read + " length: " + length + ')'); - if (type == CERTIFICATE_TYPE_KEY) + if (type == CERTIFICATE_TYPE_KEY) { + if (length == 4) { + if (Arrays.equals(payload, KeyCertificate.Ed25519_PAYLOAD)) + return KeyCertificate.ELG_Ed25519_CERT; + if (Arrays.equals(payload, KeyCertificate.ECDSA256_PAYLOAD)) + return KeyCertificate.ELG_ECDSA256_CERT; + } return new KeyCertificate(payload); + } return new Certificate(type, payload); } diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java index f35a6ddb63..352529a6e0 100644 --- a/core/java/src/net/i2p/data/DataHelper.java +++ b/core/java/src/net/i2p/data/DataHelper.java @@ -1546,7 +1546,7 @@ public class DataHelper { // years t = ngettext("1 year", "{0} years", (int) (ms / (365L * 24 * 60 * 60 * 1000))); } else { - return _("n/a"); + return _t("n/a"); } // Replace minus sign to work around // bug in Chrome (and IE?), line breaks at the minus sign @@ -1593,7 +1593,7 @@ public class DataHelper { // years t = ngettext("1 year", "{0} years", (int) (ms / (365L * 24 * 60 * 60 * 1000))); } else { - return _("n/a"); + return _t("n/a"); } if (ms < 0) t = t.replace("-", "−"); @@ -1602,7 +1602,7 @@ public class DataHelper { private static final String BUNDLE_NAME = "net.i2p.router.web.messages"; - private static String _(String key) { + private static String _t(String key) { return Translate.getString(key, I2PAppContext.getGlobalContext(), BUNDLE_NAME); } diff --git a/core/java/src/net/i2p/data/KeyCertificate.java b/core/java/src/net/i2p/data/KeyCertificate.java index 86078658fe..1c35d6c318 100644 --- a/core/java/src/net/i2p/data/KeyCertificate.java +++ b/core/java/src/net/i2p/data/KeyCertificate.java @@ -17,15 +17,41 @@ public class KeyCertificate extends Certificate { public static final int HEADER_LENGTH = 4; + /** @since 0.9.22 pkg private for Certificate.create() */ + static final byte[] Ed25519_PAYLOAD = new byte[] { + 0, (byte) (SigType.EdDSA_SHA512_Ed25519.getCode()), 0, 0 + }; + + /** @since 0.9.22 pkg private for Certificate.create() */ + static final byte[] ECDSA256_PAYLOAD = new byte[] { + 0, (byte) (SigType.ECDSA_SHA256_P256.getCode()), 0, 0 + }; + + /** + * An immutable ElG/ECDSA-P256 certificate. + */ public static final KeyCertificate ELG_ECDSA256_CERT; + + /** + * An immutable ElG/Ed25519 certificate. + * @since 0.9.22 + */ + public static final KeyCertificate ELG_Ed25519_CERT; + static { KeyCertificate kc; try { kc = new ECDSA256Cert(); } catch (DataFormatException dfe) { - kc = null; // won't happen + throw new RuntimeException(dfe); // won't happen } ELG_ECDSA256_CERT = kc; + try { + kc = new Ed25519Cert(); + } catch (DataFormatException dfe) { + throw new RuntimeException(dfe); // won't happen + } + ELG_Ed25519_CERT = kc; } /** @@ -185,19 +211,17 @@ public class KeyCertificate extends Certificate { /** * An immutable ElG/ECDSA-256 certificate. - * @since 0.8.3 */ private static final class ECDSA256Cert extends KeyCertificate { private static final byte[] ECDSA256_DATA = new byte[] { CERTIFICATE_TYPE_KEY, 0, HEADER_LENGTH, 0, (byte) (SigType.ECDSA_SHA256_P256.getCode()), 0, 0 }; private static final int ECDSA256_LENGTH = ECDSA256_DATA.length; - private static final byte[] ECDSA256_PAYLOAD = new byte[] { - 0, (byte) (SigType.ECDSA_SHA256_P256.getCode()), 0, 0 - }; + private final int _hashcode; public ECDSA256Cert() throws DataFormatException { super(ECDSA256_PAYLOAD); + _hashcode = super.hashCode(); } /** @throws RuntimeException always */ @@ -246,7 +270,75 @@ public class KeyCertificate extends Certificate { /** Overridden for efficiency */ @Override public int hashCode() { - return 1234567; + return _hashcode; + } + } + + /** + * An immutable ElG/Ed25519 certificate. + * @since 0.9.22 + */ + private static final class Ed25519Cert extends KeyCertificate { + private static final byte[] ED_DATA = new byte[] { CERTIFICATE_TYPE_KEY, + 0, HEADER_LENGTH, + 0, (byte) SigType.EdDSA_SHA512_Ed25519.getCode(), + 0, 0 + }; + private static final int ED_LENGTH = ED_DATA.length; + private final int _hashcode; + + public Ed25519Cert() throws DataFormatException { + super(Ed25519_PAYLOAD); + _hashcode = super.hashCode(); + } + + /** @throws RuntimeException always */ + @Override + public void setCertificateType(int type) { + throw new RuntimeException("Data already set"); + } + + /** @throws RuntimeException always */ + @Override + public void setPayload(byte[] payload) { + throw new RuntimeException("Data already set"); + } + + /** @throws RuntimeException always */ + @Override + public void readBytes(InputStream in) throws DataFormatException, IOException { + throw new RuntimeException("Data already set"); + } + + /** Overridden for efficiency */ + @Override + public void writeBytes(OutputStream out) throws IOException { + out.write(ED_DATA); + } + + /** Overridden for efficiency */ + @Override + public int writeBytes(byte target[], int offset) { + System.arraycopy(ED_DATA, 0, target, offset, ED_LENGTH); + return ED_LENGTH; + } + + /** @throws RuntimeException always */ + @Override + public int readBytes(byte source[], int offset) throws DataFormatException { + throw new RuntimeException("Data already set"); + } + + /** Overridden for efficiency */ + @Override + public int size() { + return ED_LENGTH; + } + + /** Overridden for efficiency */ + @Override + public int hashCode() { + return _hashcode; } } } diff --git a/core/java/src/net/i2p/internal/I2CPMessageQueue.java b/core/java/src/net/i2p/internal/I2CPMessageQueue.java index eda2d8f957..76584255c2 100644 --- a/core/java/src/net/i2p/internal/I2CPMessageQueue.java +++ b/core/java/src/net/i2p/internal/I2CPMessageQueue.java @@ -1,5 +1,7 @@ package net.i2p.internal; +import java.io.Closeable; + import net.i2p.data.i2cp.I2CPMessage; /** @@ -15,7 +17,7 @@ import net.i2p.data.i2cp.I2CPMessage; * @author zzz * @since 0.8.3 */ -public abstract class I2CPMessageQueue { +public abstract class I2CPMessageQueue implements Closeable { /** * Send a message, nonblocking. diff --git a/core/java/src/net/i2p/update/UpdateManager.java b/core/java/src/net/i2p/update/UpdateManager.java index b5035ec95f..57065dcb3a 100644 --- a/core/java/src/net/i2p/update/UpdateManager.java +++ b/core/java/src/net/i2p/update/UpdateManager.java @@ -178,6 +178,7 @@ public interface UpdateManager { * @since 0.9.21 */ public boolean isUpdateInProgress(UpdateType type, String id); + /** * Non-blocking. Does not check. * Fails if check or update already in progress. @@ -225,6 +226,7 @@ public interface UpdateManager { /** * The status on any update current or last finished. * @return status or "" + * @since 0.9.21 */ public String getStatus(); diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java index d522167f44..b33839b483 100644 --- a/core/java/src/net/i2p/util/Addresses.java +++ b/core/java/src/net/i2p/util/Addresses.java @@ -15,6 +15,8 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import org.apache.http.conn.util.InetAddressUtils; + import net.i2p.I2PAppContext; /** @@ -260,12 +262,9 @@ public abstract class Addresses { } if (rv == null) { try { - boolean isIPv4 = host.replaceAll("[0-9\\.]", "").length() == 0; - if (isIPv4 && host.replaceAll("[0-9]", "").length() != 3) - return null; rv = InetAddress.getByName(host).getAddress(); - if (isIPv4 || - host.replaceAll("[0-9a-fA-F:]", "").length() == 0) { + if (InetAddressUtils.isIPv4Address(host) || + InetAddressUtils.isIPv6Address(host)) { synchronized (_IPAddress) { _IPAddress.put(host, rv); } diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java index c31184dbdd..2c29c09e48 100644 --- a/core/java/src/net/i2p/util/EepGet.java +++ b/core/java/src/net/i2p/util/EepGet.java @@ -755,6 +755,8 @@ public class EepGet { Thread pusher = null; _decompressException = null; if (_isGzippedResponse) { + if (_log.shouldInfo()) + _log.info("Gzipped response, starting decompressor"); PipedInputStream pi = BigPipedInputStream.getInstance(); PipedOutputStream po = new PipedOutputStream(pi); pusher = new I2PAppThread(new Gunzipper(pi, _out), "EepGet Decompressor"); @@ -1096,7 +1098,7 @@ public class EepGet { */ private int handleStatus(String line) { if (_log.shouldLog(Log.DEBUG)) - _log.debug("Status line: [" + line + "]"); + _log.debug("Status line: [" + line.trim() + "]"); String[] toks = line.split(" ", 3); if (toks.length < 2) { if (_log.shouldLog(Log.WARN)) @@ -1160,17 +1162,13 @@ public class EepGet { lookahead[1] = lookahead[2]; lookahead[2] = (byte)cur; } + private static boolean isEndOfHeaders(byte lookahead[]) { - byte first = lookahead[0]; - byte second = lookahead[1]; - byte third = lookahead[2]; - return (isNL(second) && isNL(third)) || // \n\n - (isNL(first) && isNL(third)); // \n\r\n + return lookahead[2] == NL && + (lookahead[0] == NL || lookahead[1] == NL); // \n\n or \n\r\n } - /** we ignore any potential \r, since we trim it on write anyway */ private static final byte NL = '\n'; - private static boolean isNL(byte b) { return (b == NL); } /** * @param timeout may be null @@ -1315,7 +1313,8 @@ public class EepGet { buf.append("Content-length: ").append(_postData.length()).append("\r\n"); // This will be replaced if we are going through I2PTunnelHTTPClient buf.append("Accept-Encoding: "); - if ((!_shouldProxy) && + // as of 0.9.23, the proxy passes the Accept-Encoding header through + if ( /* (!_shouldProxy) && */ // This is kindof a hack, but if we are downloading a gzip file // we don't want to transparently gunzip it and save it as a .gz file. (!path.endsWith(".gz")) && (!path.endsWith(".tgz"))) diff --git a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java index eecd608abd..4761ac7101 100644 --- a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java +++ b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java @@ -284,7 +284,7 @@ public class I2PSSLSocketFactory { host.equals("localhost") || host.equals("127.0.0.1") || host.equals("::1") || - host.equals("0:0:0:0:0:0:0::1")) { + host.equals("0:0:0:0:0:0:0:1")) { if (log.shouldWarn()) log.warn("Skipping hostname validation for " + host); return; diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java index 85d948c537..f2df0a8817 100644 --- a/core/java/src/net/i2p/util/LogManager.java +++ b/core/java/src/net/i2p/util/LogManager.java @@ -10,6 +10,7 @@ package net.i2p.util; */ import java.io.File; +import java.io.Flushable; import java.io.IOException; import java.text.DateFormat; import java.text.DecimalFormat; @@ -37,7 +38,7 @@ import net.i2p.data.DataHelper; * writes them where appropriate. * */ -public class LogManager { +public class LogManager implements Flushable { public final static String CONFIG_LOCATION_PROP = "loggerConfigLocation"; public final static String FILENAME_OVERRIDE_PROP = "loggerFilenameOverride"; public final static String CONFIG_LOCATION_DEFAULT = "logger.config"; diff --git a/core/java/src/net/i2p/util/LogWriterBase.java b/core/java/src/net/i2p/util/LogWriterBase.java index 053cccdc60..b9b98e10d4 100644 --- a/core/java/src/net/i2p/util/LogWriterBase.java +++ b/core/java/src/net/i2p/util/LogWriterBase.java @@ -67,10 +67,12 @@ abstract class LogWriterBase implements Runnable { public void run() { _write = true; + // don't bother on Android + final boolean shouldReadConfig = !SystemVersion.isAndroid(); try { while (_write) { flushRecords(); - if (_write) + if (_write && shouldReadConfig) rereadConfig(); } } catch (Exception e) { @@ -145,7 +147,7 @@ abstract class LogWriterBase implements Runnable { private String dupMessage(int dupCount, LogRecord lastRecord, boolean reverse) { String arrows = reverse ? "↓↓↓" : "^^^"; return LogRecordFormatter.getWhen(_manager, lastRecord) + ' ' + arrows + ' ' + - _(dupCount, "1 similar message omitted", "{0} similar messages omitted") + ' ' + arrows + '\n'; + _t(dupCount, "1 similar message omitted", "{0} similar messages omitted") + ' ' + arrows + '\n'; } private static final String BUNDLE_NAME = "net.i2p.router.web.messages"; @@ -154,7 +156,7 @@ abstract class LogWriterBase implements Runnable { * gettext * @since 0.9.3 */ - private String _(int a, String b, String c) { + private String _t(int a, String b, String c) { return Translate.getString(a, b, c, _manager.getContext(), BUNDLE_NAME); } diff --git a/core/java/src/net/i2p/util/PortMapper.java b/core/java/src/net/i2p/util/PortMapper.java index 8160204335..d32a4f5a5a 100644 --- a/core/java/src/net/i2p/util/PortMapper.java +++ b/core/java/src/net/i2p/util/PortMapper.java @@ -33,6 +33,8 @@ public class PortMapper { public static final String SVC_BOB = "BOB"; /** not necessary, already in config? */ public static final String SVC_I2CP = "I2CP"; + /** @since 0.9.23 */ + public static final String SVC_I2CP_SSL = "I2CP-SSL"; /** * @param context unused for now diff --git a/core/java/src/net/i2p/util/SimpleTimer2.java b/core/java/src/net/i2p/util/SimpleTimer2.java index ec4f2528db..aff0b61f68 100644 --- a/core/java/src/net/i2p/util/SimpleTimer2.java +++ b/core/java/src/net/i2p/util/SimpleTimer2.java @@ -6,6 +6,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.atomic.AtomicInteger; import net.i2p.I2PAppContext; @@ -38,7 +39,7 @@ public class SimpleTimer2 { private static final int MAX_THREADS = 4; private final ScheduledThreadPoolExecutor _executor; private final String _name; - private volatile int _count; + private final AtomicInteger _count = new AtomicInteger(); private final int _threads; /** @@ -102,7 +103,7 @@ public class SimpleTimer2 { super.afterExecute(r, t); if (t != null) { // shoudn't happen, caught in RunnableEvent.run() Log log = I2PAppContext.getGlobalContext().logManager().getLog(SimpleTimer2.class); - log.log(Log.CRIT, "wtf, event borked: " + r, t); + log.log(Log.CRIT, "event borked: " + r, t); } } } @@ -110,7 +111,7 @@ public class SimpleTimer2 { private class CustomThreadFactory implements ThreadFactory { public Thread newThread(Runnable r) { Thread rv = Executors.defaultThreadFactory().newThread(r); - rv.setName(_name + ' ' + (++_count) + '/' + _threads); + rv.setName(_name + ' ' + _count.incrementAndGet() + '/' + _threads); // Uncomment this to test threadgrouping, but we should be all safe now that the constructor preallocates! // String name = rv.getThreadGroup().getName(); // if(!name.equals("main")) { @@ -164,7 +165,8 @@ public class SimpleTimer2 { * New code should use SimpleTimer2.TimedEvent. * * @since 0.9.20 - * @param timeoutMs run first and subsequent iterations of this event every timeoutMs ms + * @param timeoutMs run subsequent iterations of this event every timeoutMs ms, 5000 minimum + * @throws IllegalArgumentException if timeoutMs less than 5000 */ public void addPeriodicEvent(final SimpleTimer.TimedEvent event, final long timeoutMs) { addPeriodicEvent(event, timeoutMs, timeoutMs); @@ -183,7 +185,8 @@ public class SimpleTimer2 { * * @since 0.9.20 * @param delay run the first iteration of this event after delay ms - * @param timeoutMs run subsequent iterations of this event every timeoutMs ms + * @param timeoutMs run subsequent iterations of this event every timeoutMs ms, 5000 minimum + * @throws IllegalArgumentException if timeoutMs less than 5000 */ public void addPeriodicEvent(final SimpleTimer.TimedEvent event, final long delay, final long timeoutMs) { @@ -254,6 +257,8 @@ public class SimpleTimer2 { private long _nextRun; /** whether this was scheduled during RUNNING state. LOCKING: this */ private boolean _rescheduleAfterRun; + /** whether this was cancelled during RUNNING state. LOCKING: this */ + private boolean _cancelAfterRun; /** must call schedule() later */ public TimedEvent(SimpleTimer2 pool) { @@ -286,12 +291,17 @@ public class SimpleTimer2 { public synchronized void schedule(long timeoutMs) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Scheduling: " + this + " timeout = " + timeoutMs + " state: " + _state); - if (timeoutMs <= 0 && _log.shouldLog(Log.WARN)) + if (timeoutMs <= 0) { + // streaming timers do call with timeoutMs == 0 + if (timeoutMs < 0 && _log.shouldLog(Log.WARN)) + _log.warn("Timeout <= 0: " + this + " timeout = " + timeoutMs + " state: " + _state); timeoutMs = 1; // otherwise we may execute before _future is updated, which is fine // except it triggers 'early execution' warning logging + } // always set absolute time of execution _nextRun = timeoutMs + System.currentTimeMillis(); + _cancelAfterRun = false; switch(_state) { case RUNNING: @@ -352,11 +362,13 @@ public class SimpleTimer2 { * @param timeoutMs */ public synchronized void forceReschedule(long timeoutMs) { - cancel(); + // don't cancel while running! + if (_state == TimedEventState.SCHEDULED) + cancel(); schedule(timeoutMs); } - /** returns true if cancelled */ + /** @return true if cancelled */ public synchronized boolean cancel() { // always clear _rescheduleAfterRun = false; @@ -365,7 +377,9 @@ public class SimpleTimer2 { case CANCELLED: // fall through case IDLE: break; // my preference is to throw IllegalState here, but let it be. - case RUNNING: // fall through + case RUNNING: + _cancelAfterRun = true; + return true; case SCHEDULED: boolean cancelled = _future.cancel(false); if (cancelled) @@ -378,20 +392,29 @@ public class SimpleTimer2 { } public void run() { + try { + run2(); + } catch (RuntimeException re) { + _log.error("timer error", re); + throw re; + } + } + + private void run2() { if (_log.shouldLog(Log.DEBUG)) _log.debug("Running: " + this); long before = System.currentTimeMillis(); long delay = 0; synchronized(this) { if (_rescheduleAfterRun) - throw new IllegalStateException("rescheduleAfterRun cannot be true here"); + throw new IllegalStateException(this + " rescheduleAfterRun cannot be true here"); switch(_state) { case CANCELLED: return; // goodbye case IDLE: // fall through case RUNNING: - throw new IllegalStateException("not possible to be in " + _state); + throw new IllegalStateException(this + " not possible to be in " + _state); case SCHEDULED: // proceed, switch to IDLE in case I need to reschedule _state = TimedEventState.IDLE; } @@ -411,12 +434,12 @@ public class SimpleTimer2 { if (_future != null) delay = _future.getDelay(TimeUnit.MILLISECONDS); else if (_log.shouldLog(Log.WARN)) - _log.warn(_pool + " wtf, no _future " + this); + _log.warn(_pool + " no _future " + this); // This can be an incorrect warning especially after a schedule(0) if (_log.shouldLog(Log.WARN) && delay > 100) - _log.warn(_pool + " wtf, early execution " + delay + ": " + this); + _log.warn(_pool + " early execution " + delay + ": " + this); else if (_log.shouldLog(Log.WARN) && delay < -1000) - _log.warn(" wtf, late execution " + (0 - delay) + ": " + this + _pool.debug()); + _log.warn(" late execution " + (0 - delay) + ": " + this + _pool.debug()); try { timeReached(); } catch (Throwable t) { @@ -426,22 +449,27 @@ public class SimpleTimer2 { switch(_state) { case SCHEDULED: // fall through case IDLE: - throw new IllegalStateException("can't be " + _state); + throw new IllegalStateException(this + " can't be " + _state); case CANCELLED: break; // nothing case RUNNING: - _state = TimedEventState.IDLE; - // do we need to reschedule? - if (_rescheduleAfterRun) { - _rescheduleAfterRun = false; - schedule(_nextRun - System.currentTimeMillis()); + if (_cancelAfterRun) { + _cancelAfterRun = false; + _state = TimedEventState.CANCELLED; + } else { + _state = TimedEventState.IDLE; + // do we need to reschedule? + if (_rescheduleAfterRun) { + _rescheduleAfterRun = false; + schedule(_nextRun - System.currentTimeMillis()); + } } } } } long time = System.currentTimeMillis() - before; if (time > 500 && _log.shouldLog(Log.WARN)) - _log.warn(_pool + " wtf, event execution took " + time + ": " + this); + _log.warn(_pool + " event execution took " + time + ": " + this); if (_log.shouldLog(Log.INFO)) { // this call is slow - iterates through a HashMap - // would be better to have a local AtomicLong if we care @@ -470,6 +498,7 @@ public class SimpleTimer2 { return _executor.getCompletedTaskCount(); } + /** warning - slow */ private String debug() { _executor.purge(); // Remove cancelled tasks from the queue so we get a good queue size stat return @@ -490,10 +519,13 @@ public class SimpleTimer2 { * Schedule periodic event * * @param delay run the first iteration of this event after delay ms - * @param timeoutMs run subsequent iterations of this event every timeoutMs ms + * @param timeoutMs run subsequent iterations of this event every timeoutMs ms, 5000 minimum + * @throws IllegalArgumentException if timeoutMs less than 5000 */ public PeriodicTimedEvent(SimpleTimer2 pool, long delay, long timeoutMs) { super(pool, delay); + if (timeoutMs < 5000) + throw new IllegalArgumentException("timeout minimum 5000"); _timeoutMs = timeoutMs; } diff --git a/core/java/src/net/i2p/util/Translate.java b/core/java/src/net/i2p/util/Translate.java index d83036d02b..3b5ab1b535 100644 --- a/core/java/src/net/i2p/util/Translate.java +++ b/core/java/src/net/i2p/util/Translate.java @@ -65,7 +65,7 @@ public abstract class Translate { * The {0} will be replaced by the parameter. * Single quotes must be doubled, i.e. ' -> '' in the string. * @param o parameter, not translated. - * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * To tranlslate parameter also, use _t("foo {0} bar", _t("baz")) * Do not double the single quotes in the parameter. * Use autoboxing to call with ints, longs, floats, etc. */ diff --git a/core/java/src/net/i2p/util/TranslateReader.java b/core/java/src/net/i2p/util/TranslateReader.java index bc26bbe59a..171edd4a87 100644 --- a/core/java/src/net/i2p/util/TranslateReader.java +++ b/core/java/src/net/i2p/util/TranslateReader.java @@ -351,7 +351,7 @@ public class TranslateReader extends FilterReader { public void tag(List args) { if (args.size() <= 0) return; - _out.print("\t_("); + _out.print("\t_t("); for (int i = 0; i < args.size(); i++) { if (i > 0) _out.print(", "); @@ -373,6 +373,9 @@ public class TranslateReader extends FilterReader { } } + /** + * Do not comment out, used to extract tags as a part of the build process. + */ public static void main(String[] args) { try { if (args.length >= 2 && args[0].equals("test")) diff --git a/core/java/src/net/metanotion/io/RandomAccessInterface.java b/core/java/src/net/metanotion/io/RandomAccessInterface.java index fa382621c8..1f3df6af65 100644 --- a/core/java/src/net/metanotion/io/RandomAccessInterface.java +++ b/core/java/src/net/metanotion/io/RandomAccessInterface.java @@ -28,9 +28,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.io; +import java.io.Closeable; import java.io.IOException; -public interface RandomAccessInterface { +public interface RandomAccessInterface extends Closeable { public long getFilePointer() throws IOException; public long length() throws IOException; public int read() throws IOException; diff --git a/core/java/src/net/metanotion/io/block/BlockFile.java b/core/java/src/net/metanotion/io/block/BlockFile.java index f6ea7d6340..0187022048 100644 --- a/core/java/src/net/metanotion/io/block/BlockFile.java +++ b/core/java/src/net/metanotion/io/block/BlockFile.java @@ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.io.block; +import java.io.Closeable; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; @@ -64,7 +65,7 @@ import net.i2p.util.Log; * Pages are 1 KB and are numbered starting from 1. * e.g. the Metaindex skiplist is at offset 1024 bytes */ -public class BlockFile { +public class BlockFile implements Closeable { public static final int PAGESIZE = 1024; public static final long OFFSET_MOUNTED = 20; public final Log log = I2PAppContext.getGlobalContext().logManager().getLog(BlockFile.class); diff --git a/core/java/src/net/metanotion/io/block/index/BSkipList.java b/core/java/src/net/metanotion/io/block/index/BSkipList.java index 5eef949cf4..3a2d8b599c 100644 --- a/core/java/src/net/metanotion/io/block/index/BSkipList.java +++ b/core/java/src/net/metanotion/io/block/index/BSkipList.java @@ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.io.block.index; +import java.io.Closeable; import java.io.IOException; import java.util.HashMap; @@ -50,7 +51,7 @@ import net.i2p.util.Log; * * Always fits on one page. */ -public class BSkipList extends SkipList { +public class BSkipList extends SkipList implements Closeable { private static final long MAGIC = 0x536b69704c697374l; // "SkipList" public int firstSpanPage = 0; public int firstLevelPage = 0; diff --git a/core/java/src/net/metanotion/util/skiplist/SkipLevels.java b/core/java/src/net/metanotion/util/skiplist/SkipLevels.java index e4665fc4b3..bd9da7ba16 100644 --- a/core/java/src/net/metanotion/util/skiplist/SkipLevels.java +++ b/core/java/src/net/metanotion/util/skiplist/SkipLevels.java @@ -28,12 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.util.skiplist; +import java.io.Flushable; + import net.metanotion.io.block.BlockFile; import net.i2p.I2PAppContext; import net.i2p.util.Log; -public class SkipLevels { +public class SkipLevels implements Flushable { /** We can't have more than 2**32 pages */ public static final int MAX_SIZE = 32; diff --git a/core/java/src/net/metanotion/util/skiplist/SkipList.java b/core/java/src/net/metanotion/util/skiplist/SkipList.java index 74e35f56ac..6f44e9e23a 100644 --- a/core/java/src/net/metanotion/util/skiplist/SkipList.java +++ b/core/java/src/net/metanotion/util/skiplist/SkipList.java @@ -28,13 +28,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.util.skiplist; +import java.io.Flushable; import java.util.Random; import net.i2p.util.RandomSource; //import net.metanotion.io.block.BlockFile; -public class SkipList { +public class SkipList implements Flushable { /** the probability of each next higher level */ protected static final int P = 2; private static final int MIN_SLOTS = 4; diff --git a/core/java/src/net/metanotion/util/skiplist/SkipSpan.java b/core/java/src/net/metanotion/util/skiplist/SkipSpan.java index ae2cc9ef7d..94210ebd4b 100644 --- a/core/java/src/net/metanotion/util/skiplist/SkipSpan.java +++ b/core/java/src/net/metanotion/util/skiplist/SkipSpan.java @@ -28,9 +28,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.metanotion.util.skiplist; +import java.io.Flushable; + //import net.metanotion.io.block.BlockFile; -public class SkipSpan { +public class SkipSpan implements Flushable { /** This is actually limited by BlockFile.spanSize which is much smaller */ public static final int MAX_SIZE = 256; diff --git a/debian/apparmor/i2p b/debian/apparmor/i2p index f0b7b77ef0..8e06c9b7c7 100644 --- a/debian/apparmor/i2p +++ b/debian/apparmor/i2p @@ -7,7 +7,9 @@ #include network inet stream, + network inet dgram, network inet6 stream, + network inet6 dgram, # Needed by Java @{PROC} r, @@ -53,8 +55,11 @@ /{,lib/live/mount/overlay/}tmp/ rwm, owner /{,lib/live/mount/overlay/}tmp/hsperfdata_i2psvc/ rwk, owner /{,lib/live/mount/overlay/}tmp/hsperfdata_i2psvc/** rw, - owner /{,lib/live/mount/overlay/}tmp/wrapper[0-9]*.tmp rwk, - owner /{,lib/live/mount/overlay/}tmp/wrapper[0-9]*.tmp/** rw, + owner /{,lib/live/mount/overlay/}tmp/wrapper* rwk, + owner /{,lib/live/mount/overlay/}tmp/wrapper*/** rw, + # Scrypt used by I2P-Bote + owner /{,lib/live/mount/overlay/}tmp/scrypt* rwk, + owner /{,lib/live/mount/overlay/}tmp/scrypt*/** rw, owner /{,lib/live/mount/overlay/}tmp/i2p-daemon/ rwm, owner /{,lib/live/mount/overlay/}tmp/i2p-daemon/** rwklm, diff --git a/debian/changelog b/debian/changelog index fd4e29a28a..f0d4d62d90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,51 @@ +i2p (0.9.21-2) unstable; urgency=medium + + * Add exception to apparmor rules for scrypt, needed by I2P-Bote + + -- Kill Your TV Sun, 02 Aug 2015 15:00:30 +0000 + +i2p (0.9.21-1) unstable; urgency=medium + + * New Upstream Version + - Add multisession support for dual-signature crypto on the same tunnels + - Use multisession for shared clients + - Increase default outbound bandwidth limit to 60 KBps + - Increase default maximum participating tunnels + - Floodfills will send database store acks directly if connected, for efficiency + - Set TCP keepalive on I2CP and SAM sockets + - More efficient decompression in HTTP proxy, use less threads + - Add support for fast extensions in i2psnark + - i2psnark only autostarts torrents that were running previously + - Add support for translated console news + - SSU fixes to compete better with NTCP for bandwidth when limited + - Fixes to prevent SSU stalls + - Wait for outbound tunnels before sending first leaseset to client, to + prevent dropping first message + - Clean up resources correctly when SAM stops + - Better error handling and notification when HTTP proxy is not running + - More i2ptunnel fixes at startup and shutdown of tunnels + - Fix total_size in i2psnark metadata message + - Restore dates in console news headers + - Several I2CP fixes + - Use same session for naming lookups in I2PSocketEepGet + - Increase max bandwidth to 16 MBps, add larger Bloom filter + - New floodfills will send their info to nearby floodfills to speed integration + - Apache Tomcat 6.0.44 + - Translation updates + * Drop the following patches; included in 0.9.21: + - 0005-i2ptunnel-Don-t-connect-manager-to-router-in-constru.patch + - 0006-i2ptunnel-Don-t-call-startup-in-chained-constructor-.patch + - 0007-Define-I2PTunnelClientBase-stats-in-one-place.patch + - 0008-i2psnark-Fix-NPE-ticket-1602.patch + + + -- Kill Your TV Fri, 31 Jul 2015 20:01:42 +0000 + +i2p (0.9.20-3) unstable; urgency=medium + + * Add datagram exception to the apparmor profile + + -- Kill Your TV Sat, 20 Jun 2015 11:22:28 +0000 i2p (0.9.20-2) unstable; urgency=medium [str4d] diff --git a/debian/patches/0001-path-substitution.patch b/debian/patches/0001-path-substitution.patch index e4cb1fcaca..f7d9c5b28c 100644 --- a/debian/patches/0001-path-substitution.patch +++ b/debian/patches/0001-path-substitution.patch @@ -345,17 +345,17 @@ Debian wrapper.config to try to prevent confusion. @@ -195,15 +195,15 @@ msgstr "Falls gestartet, fordere einen Java Thread dump an" - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Bitte bearbeite i2prouter und setze die Variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Bitte bearbeite /etc/default/i2p und setze die Variable RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "I2P als root Benutzer auszuführen ist *nicht* empfehlenswert." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -367,16 +367,16 @@ Debian wrapper.config to try to prevent confusion. @@ -185,7 +185,7 @@ msgstr "" - #: ../i2prouter:1825 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" msgstr "" - #: ../i2prouter:1830 + #: ../i2prouter:1869 @@ -193,5 +193,5 @@ msgstr "" - #: ../i2prouter:1833 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -385,16 +385,16 @@ Debian wrapper.config to try to prevent confusion. @@ -187,7 +187,7 @@ msgstr "" - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" msgstr "" - #: ../i2prouter:1812 + #: ../i2prouter:1869 @@ -195,5 +195,5 @@ msgstr "" - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -403,57 +403,59 @@ Debian wrapper.config to try to prevent confusion. @@ -187,13 +187,13 @@ msgstr "请求Java转储(如果在运行)。" - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "请编辑 i2prouter 设置 RUN_AS_USER 变量" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "请编辑 /etc/default/i2p 设置 RUN_AS_USER 变量" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "推荐 *不要* 以 root 身份运行 I2P 。" - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "要以root运行,请编辑 i2prouter 并设置 ALLOW_ROOT=true。" +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." +msgstr "要以root运行,请编辑 /etc/default/i2p 并设置 ALLOW_ROOT=true。" --- a/installer/resources/locale/po/messages_tr.po +++ b/installer/resources/locale/po/messages_tr.po -@@ -186,13 +186,13 @@ +@@ -188,15 +188,15 @@ msgstr "Çalışıyorsa Java iş parçacığı dökümü isteyin." - #: ../i2prouter:1796 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "i2prouter dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "/etc/default/i2p dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" - #: ../i2prouter:1801 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "I2P yazılımının root olarak çalıştırmanız *önerilmez*." - #: ../i2prouter:1804 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve ALLOW_ROOT=true ayarını yapın." -+msgid "To run as root anyway, edit /etc/defalt/i2p and set ALLOW_ROOT=true." -+msgstr "Root olarak çalıştırmak için /etc/default/i2p dosyasını düzenleyin ve ALLOW_ROOT=true ayarını yapın." ++msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." + msgstr "" +-"Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve " ++"Root olarak çalıştırmak için /etc/default/i2p dosyasını düzenleyin ve " + "ALLOW_ROOT=true ayarını yapın." --- a/installer/resources/locale/po/messages_es.po +++ b/installer/resources/locale/po/messages_es.po @@ -193,15 +193,15 @@ msgstr "Solicitar un volcado del hilo JAVA si se está ejecutando." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Por favor edite i2prouter e introduzca la variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Por favor edite /etc/default/i2p e introduzca la variable RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "\"No\" se recomienda ejecutar I2P como root." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -465,17 +467,17 @@ Debian wrapper.config to try to prevent confusion. @@ -189,15 +189,15 @@ msgstr "Requisitar o histórico Java se iniciado." - #: ../i2prouter:1796 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Favor editar o arquivo i2prouter e configurar a variável RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Favor editar o arquivo /etc/default/i2p e configurar a variável RUN_AS_USER" - #: ../i2prouter:1801 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Iniciar I2P como permissões root *não* é recomendado." - #: ../i2prouter:1804 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -487,18 +489,18 @@ Debian wrapper.config to try to prevent confusion. @@ -190,8 +190,8 @@ msgstr "Request a Java thread dump if running." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Veuillez éditer i2prouter et paramétrer la variable RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Veuillez éditer /etc/default/i2p et paramétrer la variable RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." @@ -199,7 +199,7 @@ "Faire fonctionner I2P en tant qu'utilisateur root n'est *pas* recommandé." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -507,40 +509,43 @@ Debian wrapper.config to try to prevent confusion. "ALLOW_ROOT=true." --- a/installer/resources/locale/po/messages_ru.po +++ b/installer/resources/locale/po/messages_ru.po -@@ -191,13 +191,13 @@ +@@ -193,16 +193,16 @@ msgstr "Запросить дамп нитей Java, если запущено." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" --msgstr "Пожалуйста, отредактируйте i2prouter и установите переменную RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" -+msgstr "Пожалуйста, отредактируйте /etc/default/i2p и установите переменную RUN_AS_USER" + msgstr "" +-"Пожалуйста, отредактируйте i2prouter и установите переменную RUN_AS_USER" ++"Пожалуйста, отредактируйте /etc/default/i2p и установите переменную RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Запускать I2P от имени root'а *НЕ* рекомендуется." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "Чтобы всё равно запустить под root'ом, отредактируйте i2prouter и установите ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "Чтобы всё равно запустить под root'ом, отредактируйте /etc/default/i2p и установите ALLOW_ROOT=true." + msgstr "" +-"Чтобы всё равно запустить под root'ом, отредактируйте i2prouter и установите " ++"Чтобы всё равно запустить под root'ом, отредактируйте /etc/default/i2p и установите " + "ALLOW_ROOT=true." --- a/installer/resources/locale/po/messages_sv.po +++ b/installer/resources/locale/po/messages_sv.po @@ -187,14 +187,14 @@ msgstr "Fråga efter en Java thread dump vid drift." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Var god ändra i2prouter och set variabeln RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Var god ändra /etc/default/i2p och set variabeln RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Att köra I2P som användare root är *inte* rekommenderat." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -551,17 +556,17 @@ Debian wrapper.config to try to prevent confusion. @@ -187,15 +187,15 @@ msgstr "Solicitarea dump-ului firului Java daca este pornit" - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Vă rugăm să editați i2prouter și setați variabila RUN_AS_USER " +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Vă rugăm să editați /etc/default/i2p și setați variabila RUN_AS_USER " - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Rularea I2P ca root *nu* este recomandată." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." msgstr "" @@ -570,81 +575,87 @@ Debian wrapper.config to try to prevent confusion. "true." --- a/installer/resources/locale/po/messages_pt_BR.po +++ b/installer/resources/locale/po/messages_pt_BR.po -@@ -187,13 +187,13 @@ - msgstr "" +@@ -190,15 +190,15 @@ + msgstr "Solicitar um despejo de thread se está sendo executado." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Por favor, edite i2prouter e especifique a variável RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Por favor, edite /etc/default/i2p e especifique a variável RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Executar o roteador I2P como usuário root *não* é recomendado." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "De qualquer forma, se quiser mesmo executar o roteador como root, edite i2prouter e ponha ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "De qualquer forma, se quiser mesmo executar o roteador como root, edite /etc/default/i2p e ponha ALLOW_ROOT=true." + msgstr "" + "De qualquer forma, se quiser mesmo executar o roteador como root, edite " +-"i2prouter e ponha ALLOW_ROOT=true." ++"/etc/default/i2p e ponha ALLOW_ROOT=true." --- a/installer/resources/locale/po/messages_pl.po +++ b/installer/resources/locale/po/messages_pl.po -@@ -186,13 +186,13 @@ +@@ -191,13 +191,13 @@ msgstr "Zażądaj zrzutu wątków Java jeśli jest uruchomiona." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Proszę edytuj i2prouter i ustaw zmienną RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Proszę edytuj /etc/default/i2p i ustaw zmienną RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Nie jest polecane uruchamianie I2P jako root." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Aby uruchomić jako root, edytuj i2prouter i ustaw ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." +msgstr "Aby uruchomić jako root, edytuj /etc/default/i2p i ustaw ALLOW_ROOT=true." --- a/installer/resources/locale/po/messages_ja.po +++ b/installer/resources/locale/po/messages_ja.po -@@ -186,13 +186,13 @@ +@@ -189,15 +189,15 @@ msgstr "起動中の場合、 Java スレッドダンプを要求" - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "i2prouter を編集して、変数 RUN_AS_USER を設定してください" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "/etc/default/i2p を編集して、変数 RUN_AS_USER を設定してください" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "root ユーザーとしての I2P の起動は推奨され*ません*。" - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定する。" +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "とにかく root として起動し、/etc/default/i2p を編集して、ALLOW_ROOT=true と設定する。" + msgstr "" +-"とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定す" ++"とにかく root として起動し、 /etc/default/i2p を編集して、ALLOW_ROOT=true と設定す" + "る。" --- a/installer/resources/locale/po/messages_sk.po +++ b/installer/resources/locale/po/messages_sk.po -@@ -187,13 +187,13 @@ +@@ -189,15 +189,15 @@ msgstr "Vyžiadať zrušenie vlákna Javy, ak je spustený." - #: ../i2prouter:1807 + #: ../i2prouter:1864 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Prosím upravte i2prouter a nastavte premennú RUN_AS_USER" +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Prosím upravte /etc/default/i2p a nastavte premennú RUN_AS_USER" - #: ../i2prouter:1812 + #: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Spúšťať I2P ako root *nie* je odporúčané." - #: ../i2prouter:1815 + #: ../i2prouter:1872 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." --msgstr "Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte ALLOW_ROOT=true." +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." -+msgstr "Ak ho chcete spustiť ako root aj tak, upravte /etc/default/i2p a nastavte ALLOW_ROOT=true." + msgstr "" +-"Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte " ++"Ak ho chcete spustiť ako root aj tak, upravte /etc/default/i2p a nastavte " + "ALLOW_ROOT=true." diff --git a/debian/po/hu.po b/debian/po/hu.po index d83e999732..2d0e183c5b 100644 --- a/debian/po/hu.po +++ b/debian/po/hu.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# benewfy , 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "POT-Creation-Date: 2015-02-18 22:14+0000\n" -"PO-Revision-Date: 2015-03-29 14:31+0000\n" -"Last-Translator: kytv \n" +"PO-Revision-Date: 2015-06-29 12:34+0000\n" +"Last-Translator: benewfy \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/I2P/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -79,7 +80,7 @@ msgstr "Lehetséges, hogy nagy szávszélességű routerek, úgyis mint sok akt #. Description #: ../i2p.templates:5001 msgid "Run I2P daemon confined with AppArmor" -msgstr "" +msgstr "I2P kiszolgáló futtatása korlátozva az AppArmor-ral" #. Type: boolean #. Description @@ -87,4 +88,4 @@ msgstr "" msgid "" "With this option enabled I2P will be sandboxed with AppArmor, restricting " "which files and directories may be accessed by I2P." -msgstr "" +msgstr "Ezzel az opcióval engedélyezed, hogy az I2P sandboxolva legyen az AppArmor-ral, korlátozva, hogy melyik fájlokat és könyvtárakat érheti el az I2P." diff --git a/debian/po/id.po b/debian/po/id.po index 842c7c0290..cf65db986f 100644 --- a/debian/po/id.po +++ b/debian/po/id.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Khairul Agasta , 2014 +# Khairul Agasta , 2014-2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "POT-Creation-Date: 2015-02-18 22:14+0000\n" -"PO-Revision-Date: 2015-03-29 14:31+0000\n" -"Last-Translator: kytv \n" +"PO-Revision-Date: 2015-06-02 04:22+0000\n" +"Last-Translator: Khairul Agasta \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/I2P/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,7 +22,7 @@ msgstr "" #. Description #: ../i2p.templates:2001 msgid "Should the I2P router be started at boot?" -msgstr "Apakah router I2P perlu dimuali saat boot?" +msgstr "Apakah router I2P perlu memulai saat boot?" #. Type: boolean #. Description @@ -30,7 +30,7 @@ msgstr "Apakah router I2P perlu dimuali saat boot?" msgid "" "The I2P router can be run as a daemon that starts automatically when your " "computer boots up. This is the recommended configuration." -msgstr "Router I2P dapat dijalankan sebagai daemon yang memulai secara otomatis ketika komputer Anda booting. Ini adalah konfigurasi yang direkomendasikan." +msgstr "Router I2P dapat dijalankan sebagai daemon yang memulai secara otomatis ketika komputer anda booting. Ini adalah konfigurasi yang direkomendasikan." #. Type: string #. Description @@ -80,7 +80,7 @@ msgstr "Router bandwidth tinggi, seperti halnya router dengan banyak torrent / p #. Description #: ../i2p.templates:5001 msgid "Run I2P daemon confined with AppArmor" -msgstr "" +msgstr "Jalankan daemon I2P yang dibatasi dengan AppArmor" #. Type: boolean #. Description @@ -88,4 +88,4 @@ msgstr "" msgid "" "With this option enabled I2P will be sandboxed with AppArmor, restricting " "which files and directories may be accessed by I2P." -msgstr "" +msgstr "Dengan mengaktifkan opsi ini I2P akan di sandboxkan dengan AppArmor, membatasi file dan direktori mana yang dapat diakses oleh I2P." diff --git a/debian/po/pl.po b/debian/po/pl.po index 64484263a4..08cac081db 100644 --- a/debian/po/pl.po +++ b/debian/po/pl.po @@ -4,13 +4,14 @@ # # Translators: # PolishAnon , 2011, 2012 +# seb, 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "POT-Creation-Date: 2015-02-18 22:14+0000\n" -"PO-Revision-Date: 2015-03-29 14:31+0000\n" -"Last-Translator: kytv \n" +"PO-Revision-Date: 2015-06-09 20:57+0000\n" +"Last-Translator: seb\n" "Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -80,7 +81,7 @@ msgstr "Rutery z wysoka przepustowościa oraz rutery z wieloma aktywnymi torrent #. Description #: ../i2p.templates:5001 msgid "Run I2P daemon confined with AppArmor" -msgstr "" +msgstr "Uruchom I2P deamon ograniczony przez AppArmor" #. Type: boolean #. Description @@ -88,4 +89,4 @@ msgstr "" msgid "" "With this option enabled I2P will be sandboxed with AppArmor, restricting " "which files and directories may be accessed by I2P." -msgstr "" +msgstr "Z tą opcją I2P będzie w sandboxie z AppArmor, broniąc plików i folderów do których I2P mogłoby mieć dostęp." diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po index 067db03f3f..4898209fd6 100644 --- a/debian/po/pt_BR.po +++ b/debian/po/pt_BR.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# blueboy, 2014 +# blueboy, 2014-2015 # Victor Maximiliano , 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "POT-Creation-Date: 2015-02-18 22:14+0000\n" -"PO-Revision-Date: 2015-03-29 14:31+0000\n" -"Last-Translator: kytv \n" +"PO-Revision-Date: 2015-06-10 17:27+0000\n" +"Last-Translator: blueboy\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,7 +37,7 @@ msgstr "O roteador I2P pode rodar como um daemon que inicia automaticamente quan #. Description #: ../i2p.templates:3001 msgid "I2P daemon user:" -msgstr "Usuário I2P daemon:" +msgstr "Usuário daemon I2P:" #. Type: string #. Description @@ -75,13 +75,13 @@ msgstr "Por omissão, será permitido ao roteador I2P usar apenas até 128 MB de msgid "" "High bandwidth routers, as well as routers with a lot of active torrents / " "plugins, may need to have this value increased." -msgstr "Roteadores de alta velocidade, assim como roteadores com uma porção de torrents / plugins ativos, talvez precisem que esse valor seja aumentado." +msgstr "Roteadores de alta velocidade, assim como roteadores com uma porção de torrents / extensões ativas, talvez precisem ter esse valor aumentado." #. Type: boolean #. Description #: ../i2p.templates:5001 msgid "Run I2P daemon confined with AppArmor" -msgstr "" +msgstr "Confinar a execução do daemon I2P com AppArmor" #. Type: boolean #. Description @@ -89,4 +89,4 @@ msgstr "" msgid "" "With this option enabled I2P will be sandboxed with AppArmor, restricting " "which files and directories may be accessed by I2P." -msgstr "" +msgstr "Com essa opção selecionada, o roteador I2P funcionará confinado pelo AppArmor, sendo restritos os arquivos e diretórios passíveis de acesso." diff --git a/debian/po/zh.po b/debian/po/zh.po index cd6466b547..9d24928372 100644 --- a/debian/po/zh.po +++ b/debian/po/zh.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "POT-Creation-Date: 2015-02-18 22:14+0000\n" -"PO-Revision-Date: 2015-03-29 15:00+0000\n" +"PO-Revision-Date: 2015-06-07 16:29+0000\n" "Last-Translator: YF \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/I2P/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -47,7 +47,7 @@ msgid "" " a daemon. To use an **existing** I2P profile you may enter a different " "account name here. For example, if your previous I2P installation is at " "/home/user/i2p, you may enter 'user' here." -msgstr "I2P后台服务默认以i2psvc账户运行。要使用*已有*的I2P配置文件,您可以输入不同的账户名。例如,如果您之前的I2P安装在 /home/user/i2p,此处可输入'user'。" +msgstr "I2P后台服务默认以 i2psvc 账户运行。要使用*已有*的I2P配置文件,您可以输入不同的账户名。例如,如果您之前的I2P安装在 /home/user/i2p,此处可输入 'user'。" #. Type: string #. Description @@ -55,19 +55,19 @@ msgstr "I2P后台服务默认以i2psvc账户运行。要使用*已有*的I2P配 msgid "" "Very important: If a user other than the default of 'i2psvc' is entered " "here, the chosen username *MUST* already exist." -msgstr "重要:如果您输入默认'i2psvc'以外的账户,此账户务必已经存在。" +msgstr "重要:如果您输入默认的 'i2psvc' 以外的账户,此账户必须已经存在。" #. Type: string #. Description #: ../i2p.templates:4001 msgid "Memory that can be allocated to I2P:" -msgstr "I2P 可用最大内存:" +msgstr "I2P 最多可占用内存:" #. Type: string #. Description #: ../i2p.templates:4001 msgid "By default, I2P will only be allowed to use up to 128MB of RAM." -msgstr "I2P 默认最大内存128M。" +msgstr "默认情况下,I2P 最多只允许使用 128MB 系统内存。" #. Type: string #. Description diff --git a/history.txt b/history.txt index d91d441774..bd4cde9e3b 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,124 @@ +2015-10-08 zzz + * SimpleTimer2: Additional fix for uncaught IllegalStateException + affecting streaming timers (ticket #1672) + +2015-10-02 zzz + * Router: Don't check config files for reload on Android + +2015-09-28 zzz + * Addressbook: Fix isValidDest() for EC/Ed dests + * i2psnark: Support adding plain base 32 hashes + * Susimail: Hide headers and buttons if search results are empty + +2015-09-27 dg + * Router: Fix soft restarts for 'massive' clock jumps (over +150s or -61s) and recover from standby + and hibernate (ticket #1014). + +2015-09-27 zzz + * Console: + - Export SSL cert on creation + - New /certs page to show local SSL certs + - Show 'none' if no leasesets + * SimpleTimer2: Fix bug in forceReschedule() that caused subsequent uncaught IllegalStateException, + affected streaming timers + * Streaming: Move throttler from context timer to streaming timer + * Tunnels: Use max of 2 not-failing peers in an exploratory tunnel, + use high cap for the rest; change outbound exploratory + default length from 2 + 0-1 to 3+0. + * Util: Speed up IP address validation by using Apache's implementation (ticket #1198) + +2015-09-25 dg + * Rename _() for translation to _t() for Java 9 compatibility (ticket #1456) + +2015-09-20 dg + * /configreseed: Add 'Reset URL list' button for revert to default hosts (ticket #1554, thanks dzirtt@gmail.com) + +2015-09-19 zzz + * i2psnark: Add recheck/start/stop buttons to details page (ticket #372) + +2015-09-18 zzz + * EepGet: + - Send Accept-Encoding: gzip even when proxied + - Fix man page (ticket #1631) + * i2psnark: + - Don't display "Tracker Error" if torrent is stopped (ticket #1654) + - Improve directory listing efficiency (ticket #1079) + * i2ptunnel: + - Pass Accept-Encoding header through HTTP client and server proxies, + to allow end-to-end compression + - Don't do transparent response compression if response + Content-Encoding indicates it is already compressed + * Streaming: Move remaining timers from the context to streaming's SimpleTimer2 + +2015-09-17 zzz + * i2psnark: + - Store magnet parameters across restart (ticket #1485) + - Don't delete torrent config file after error on initial startup (tickets #1575, #1658) + +2015-09-16 zzz + * Build: + - Include geoip in update files for next release + - Add created-by string to release torrents + * i2psnark: + - Store torrent added and completed times in config files, display on details page + - Add metainfo creation command line support for created-by string + * Profiles: Bias slightly away from floodfills + +2015-09-15 zzz + * Console: + - Store news feed items separately on disk in XML, like a real feed reader + - Limit display to 2 news items in summary bar, /home and /console + - New /news page to show all news (ticket #1425) + +* 2015-09-12 0.9.22 released + +2015-09-11 kytv + * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country + database from 2015-09-02. + * Translation updates pulled from Transifex + +2015-09-04 zzz + * UPnP: Fix "content not allowed in trailing section" + (tickets #481, #1653) + +2015-08-31 zzz + * Data: Cache P256 and Ed255i9 key certificates + * i2psnark: Change default sig type to Ed25519 + +2015-08-29 zzz + * Router: + - Change default RI sig type to Ed25519, with a 10% chance od + rekeying from DSA at each restart + - Don't initialize KeyManager before selecting sig type + - Don't log KeyManager error when changing sig type + +2015-08-25 zzz + * i2psnark: + - Return partial piece to coordinator after reject + - Fix tracking of downloaded portion of piece after reject + - Send reject on receipt of bad request + - Mark piece unrequested after receiving bad data, so it + will be requested again, but not from the same peer + - Fix NPE in Request constructor on error + - Fix stuck before completion due to reject handling (ticket #1633) + - Fix orphaned temp files due to reject handling (ticket #1635) + +2015-08-02 zzz + * Console: Fix SSL excluded ciphers (thx lazyg) + * SU3File: Add keystore password command line option + +* 2015-07-31 0.9.21 released + +2015-07-27 zzz + * Update: Fix processing of translated news su3 files + +2015-07-26 zzz + * Update translations + +2015-07-25 zzz + * i2psnark: Fix total_size in metadata message (ticket #1618) + * NetDB: Fix NPE (ticket #1619) + 2015-07-21 str4d * Core: Throw DFE in Certificate.create() instead of AIOOBE (ticket #1016) diff --git a/installer/install.xml b/installer/install.xml index 95ed4b1cd4..f7cdcfbbd8 100644 --- a/installer/install.xml +++ b/installer/install.xml @@ -4,7 +4,7 @@ i2p - 0.9.20 + 0.9.22 diff --git a/installer/resources/certificates/news/ampernand_at_gmail.com.crt b/installer/resources/certificates/news/ampernand_at_gmail.com.crt new file mode 100644 index 0000000000..70956369b9 --- /dev/null +++ b/installer/resources/certificates/news/ampernand_at_gmail.com.crt @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFhTCCA22gAwIBAgIEGdD2PTANBgkqhkiG9w0BAQ0FADBzMQswCQYDVQQGEwJY +WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt +b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEcMBoGA1UEAwwTYW1wZXJuYW5kQGdt +YWlsLmNvbTAeFw0xNTA3MjIxMjMxMTBaFw0yNTA3MjExMjMxMTBaMHMxCzAJBgNV +BAYTAlhYMQswCQYDVQQIEwJYWDELMAkGA1UEBxMCWFgxHjAcBgNVBAoTFUkyUCBB +bm9ueW1vdXMgTmV0d29yazEMMAoGA1UECxMDSTJQMRwwGgYDVQQDDBNhbXBlcm5h +bmRAZ21haWwuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjpTU +nBYHsqpQbAodtOQlEaRTMMI4YUi+JBMNEmlU2/9MozW13xxFr6brfgYTje0dTTgN +eGe/pvDM7H/a5ppSIEFCGDnn9mwrciIjHMaXeb7Z4cvxwFVwOxMclsFiw/+3sHQj +GyoR6TQQfsIupdtKwedmBQgVmHU+UKg3WKCyaE6J7DNHa0/nD4vtW+vaXFpv8o1w +PqEOar1Y34glxq6NTiivgGFtckBWkFLTQNjOAh/uSsdhnSDKiNHKFa3mNzjm2glf +B0ETP3yOMkEbVf9tTanlJbYsMEpfeajymGd5+P1S/2Eo0c2MlJOvLkLXAvXMdHzK +kmOTsSn/65bm5Rc2X+GQflLJlC0kuBoIyTXqFiAY7CN5y4F9llbjQ91CE2WgRv5U +dGcEilAjE36ZenQvHlKfHEs0SLAfb86GA0R5cBPQeTZq3AEqAJ9NaFgFzGvKzlJ/ +8c3JeOMyc/1YwodoWwhuNICGijAA5X7MUrJVZAh4Z18ZoOd3ITkUz/ugkHhmFU3Z +vV8LrHUoIiZxTsjSxhxYz7JHQa3eZQty4/66j+FXZThzwBm419RlXLnHVURwwQaX +znC7qYUE0YeiHDw4NaGwM8qlayPYMyD8sggZfXDH+SoeJBCji6zfgbdpF/aEsQhi +++/SWDNJfy6V1TQL5AXpmJEZmUTnZKm7paJfgyUCAwEAAaMhMB8wHQYDVR0OBBYE +FIBx9Nz6oPIgX8pKgmL04wxFkVWuMA0GCSqGSIb3DQEBDQUAA4ICAQAMsHfnEB/q +p8ToRmythRTiDjgSEc0VDOzKdizieJtFcFgK0WEzpuTeTXo012bTCv+qE5wWf32d +Lgv49PDJw+j8spkkdZzO6GIRhbI1C/4sCPe6p6ev/a3SZIbUi4NGIW48DeEIArjt +AwF94b3v4t067oZ1rNIHgdiKvqIMdztPiyqOjcx1/iuFDkrOnByqvWXVmOxHGskZ +F7CqId1/WVRCdzVYK6Ln5HwDHfZr8EYWTZE6zUd5osHJMYeitRYBtk7tylrDk3uP +88BD/fHRxc5+hBKEhVHua7Arm9R2CPvgK352dyxIpoiGuOUr98A8tM08pU6gNnuO +OZ7LU+5+Oc8FqPuUyhogwgDuBFA7s0fx464F1jofVPWOlarNZq7Mc0AwlA6jwLRY +1HExOlKkMbhALSOOAnSypozxFg1t8bkb0QUaUuz7Rck3gKvHX99mqzl7Ql6ZS4rm +umJNDEsGh0F6dxEQJ+b2I7NbSpGEf8PaUM5jASZeQncjPCMfBjPC8QwzYySLad5Y +n9e9sZN92zPYetdiQfpHwRY4N8itb4rb6TpwiSG6vVVvQJdFt77Y+4MtgFm9ofqA +ZDOBxt0r2AOT4Jrj92ifCKLDjevTaZjCSS2lPMMZbxoL+TXvNu12IKCm9rKn/+oP +WX+lDNy2nNJXrnKSvcyrBWxAi8+t0ZzGug== +-----END CERTIFICATE----- diff --git a/installer/resources/certificates/reseed/j_at_torontocrypto.org.crt b/installer/resources/certificates/reseed/j_at_torontocrypto.org.crt new file mode 100644 index 0000000000..4a2789ec03 --- /dev/null +++ b/installer/resources/certificates/reseed/j_at_torontocrypto.org.crt @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF7TCCA9egAwIBAgIQJpzITX40IacsYOr3X98gPzALBgkqhkiG9w0BAQswczEL +MAkGA1UEBhMCWFgxHjAcBgNVBAoTFUkyUCBBbm9ueW1vdXMgTmV0d29yazEMMAoG +A1UECxMDSTJQMQswCQYDVQQHEwJYWDELMAkGA1UECRMCWFgxHDAaBgNVBAMME2pA +dG9yb250b2NyeXB0by5vcmcwHhcNMTUwOTIyMjIxNTMzWhcNMjUwOTIyMjIxNTMz +WjBzMQswCQYDVQQGEwJYWDEeMBwGA1UEChMVSTJQIEFub255bW91cyBOZXR3b3Jr +MQwwCgYDVQQLEwNJMlAxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEcMBoGA1UE +AwwTakB0b3JvbnRvY3J5cHRvLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC +AgoCggIBAKbQH61RibAeLRemYah/071wPid99vpPoVxJMwFc/42kbnpSFHUiXRYP +WMkzqPmdZRkr9BNqt3Fa19IiMQbJ49yKRh9+HPJ09b88r2Z75wo71b4eq4Ohd8/4 +pSfn7zPCxtqvBh79N0e6O1jC7I01WkXaQfRN1BpIpRT/80H7muWOHoN/AFbJL2KK +eRx+G1hsHqn3pBcsq5QV+bAQdpzxYYYKHn/EPFYk9LM3p1F2uWOQDN0UU+rINvpw +JIR+cvk/bTpPpMCQrYIXdn4hxgCX7KeKYvsFpTieMmGU0omFGWMRc5nm23REpm1N +cU7Oj8kUIW9YbCMzR4KT/x6h1BwRS4L9Hq/ofQM+vDXff3zvcw7MMmVpgU/jh/9I +XNc6A3IBHfpJaxIzhk7UfOZX6k1kyeXjXA8Gr5FvA9Ap9eH7KVFXeyaYq1gTWrGA +MPvgY6dNAH7OFXtqZUGrIAqyWnbaxEsO1HWyRYitCM91LI5gFURUwQPzo2ewgshq +0uGaO+2J61fM9cb8aKOU8Yaa4N04sZfu85k402Kr7bP/DE7Hv9K0+U5ZtbCJxrOU +z5YgbfCrh/iwFti8VP8wFv29S1d6Kqj9OVroM1ns9aNwqyYsMbj/STe8BBRncxuw +lkf69FXxyaGtyfc9ry8enkL8QYyzbVDRXw01yogwToZ8Mc/PinI7AgMBAAGjgYAw +fjAOBgNVHQ8BAf8EBAMCAIQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB +MA8GA1UdEwEB/wQFMAMBAf8wHAYDVR0OBBUEE2pAdG9yb250b2NyeXB0by5vcmcw +HgYDVR0jBBcwFYATakB0b3JvbnRvY3J5cHRvLm9yZzALBgkqhkiG9w0BAQsDggIB +AJGmZv3TKCwuNafmPUCvvJV6PwdBqYdVX270pLI2IjPa5sE+dDiCrrrH5tVsoUfY +1xAy0eclic3SCu2DdQxicYFIsyN91oyZWljnVuOWDRQoyeGvcwN3FN8WQZ/VnoX/ +b4Xtx0D3HsQjLXfzk0AzSXp9TP9/orMR5bkWiqhUhXvlb7XhpZ+p9/8N0D7bjcaJ +74Rn6g3sS+/wKJ0c7h5R3+mRNPW1SecbfQFN/GkgDQxZscvmbRsCG03IRQeYpqt2 +M8KA5KXu/H6ZU5XlC6+VI7vf6yWWPf3s8CRBDgfYtI7uRFkfwJLsTBZCOFoyQe+F +CIZZj4lg6f46FHMekbPouw+g2B+2QNdW+fZqdVLAXbuN2xMsVakZn5X9iBfanNmN +t5QH4T81SZb9ZIJSD+L0lKiMw1klbaYYPp2mjwbo42DhsezcJX3TKXhMe3qkYZ3I +E0a9Kq4TmoWAkdycT1oH51wmybwWc3ix7rXbUe8h6KgBEXqJV60ybX7iacrq9WgG +xIr5hnSUEGZtMcdhEA4oD319h+8j/UjXKgWwuuNExpSnARbwQTbPJ/PLD6mQVpHv +jL2S9nbb1r/GmRdzCpHVwLGczUJvwfjAZ8bDCONSGHzuzw8lgpdRpdeWCLfQzXyo +mjh0U8QNpeHEMdQhmnaYa8WJ83DTnO7pwaoYqjeDQ9yM +-----END CERTIFICATE----- diff --git a/installer/resources/certificates/ssl/193.150.121.66.crt b/installer/resources/certificates/ssl/193.150.121.66.crt deleted file mode 100644 index 450581d236..0000000000 --- a/installer/resources/certificates/ssl/193.150.121.66.crt +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDgDCCAmgCCQCAKEkFUJcEezANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UEBhMC -Tk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8xDDAKBgNVBAoMA0kyUDEM -MAoGA1UECwwDSTJQMRcwFQYDVQQDDA4xOTMuMTUwLjEyMS42NjEfMB0GCSqGSIb3 -DQEJARYQbWVlaEBpMnBtYWlsLm9yZzAeFw0xMzA2MjcxODM2MjhaFw0yMDA2MjUx -ODM2MjhaMIGBMQswCQYDVQQGEwJOTzENMAsGA1UECAwET3NsbzENMAsGA1UEBwwE -T3NsbzEMMAoGA1UECgwDSTJQMQwwCgYDVQQLDANJMlAxFzAVBgNVBAMMDjE5My4x -NTAuMTIxLjY2MR8wHQYJKoZIhvcNAQkBFhBtZWVoQGkycG1haWwub3JnMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuBuFY4ZFvsbr5l1/s/GeUBLIWQLB -nqrRkonrwCyxgjSnnG1uz/Z5nf6QDUjiVnFKMXenLaDn4KCmEi4LjWQllhK9r6pj -BRkR7C0DTHq7WqfyvWnGSZZsOJDiH2vLlivV8N9oGdjxvv0N9No3AJcsmLYrxSLi -6/JF8xZ2HGuT/oWW6aWvpIOKpIqti865BJw5P5KgYAS24J8vHRFM3FA4dfLNTBA2 -IGqPqYLQA+2zfOC4z01aArmcYnT1iJLT7krgKnr/BXdJfGQ2GjxkRSt8IwB6WmXA -byz6QdNYM/0eubi102/zpD/DrySTU2kc8xKjknGUqBJvVdsL+iLK98uJrQIDAQAB -MA0GCSqGSIb3DQEBBQUAA4IBAQCTimMu3X7+ztXxlIFhwGh42GfMjeBYT0NHOLAy -ZtQNRqhNvkl3jZ4ERPLxP99+bcAfCX0wgVpgD32OWEZopwveRyMImP8HfFr4NnZ+ -edbM37fRYiVJv57kbi6O0rhEC7J5JF+fnCaZVLCuvYIrIXTdxTjvxuLhyan6Ej7V -7iGDJ8t16tpLVJgcXfRg+dvAa6aDOK6x3w78j0bvh6rhvpOd9sW/Nk3LBKP4Xgkx -PHkqm3hNfDIu8Hubeav9SA1kLVMS/uce52VyYMEDauObfC65ds0GRmCtYhZqMvj+ -FFCbssLraVJE9Hi/ZKGu33jNngDCG+wG+nmleksMYE1yTSRt ------END CERTIFICATE----- diff --git a/installer/resources/certificates/ssl/link.mx24.eu.crt b/installer/resources/certificates/ssl/link.mx24.eu.crt deleted file mode 100644 index 8e0d910fc9..0000000000 --- a/installer/resources/certificates/ssl/link.mx24.eu.crt +++ /dev/null @@ -1,24 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIJAMsPNG1k0yV4MA0GCSqGSIb3DQEBCwUAMIGdMQswCQYD -VQQGEwJERTEVMBMGA1UECAwMbGluay5teDI0LmV1MRUwEwYDVQQHDAxsaW5rLm14 -MjQuZXUxFTATBgNVBAoMDGxpbmsubXgyNC5ldTEVMBMGA1UECwwMbGluay5teDI0 -LmV1MRUwEwYDVQQDDAxsaW5rLm14MjQuZXUxGzAZBgkqhkiG9w0BCQEWDGxpbmsu -bXgyNC5ldTAeFw0xNDExMTkxOTE4NTRaFw0yMDA1MTExOTE4NTRaMIGdMQswCQYD -VQQGEwJERTEVMBMGA1UECAwMbGluay5teDI0LmV1MRUwEwYDVQQHDAxsaW5rLm14 -MjQuZXUxFTATBgNVBAoMDGxpbmsubXgyNC5ldTEVMBMGA1UECwwMbGluay5teDI0 -LmV1MRUwEwYDVQQDDAxsaW5rLm14MjQuZXUxGzAZBgkqhkiG9w0BCQEWDGxpbmsu -bXgyNC5ldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL8modDBRkyh -SHSm92pTfguO3F6n5ocsBJ4vaVoosYq3ILCsapjqmynMHZUef6gEB7+Gn5cKXsH2 -JaKOeb8DHrOFCaxfj187x1QfZj1UNMQblx2T9q4th12tqp+k4JuLwgemr+2uAUpM -xx/uHRJXD0hf67+fHQFYNVfa+WvT46xlKGsWDQ0LBsA/z4YGnyeaV4PrS5nj3euA -IbdfDj7rJea3bfhSqYA1ZH1cquKlsXOOYO5cIcXsa5dxDWX51QS+i7+ocph+JN1X -dRh6ZirE9OXZVXwXXVRnJSYjgBlP/DQBdE7YkE1R3LyCVZsgxJaaLV/ujijOIK61 -SqEhHvFNRe0CAwEAAaNQME4wHQYDVR0OBBYEFB6XRz6VZlrAE+3xL6AyKrkq+y2X -MB8GA1UdIwQYMBaAFB6XRz6VZlrAE+3xL6AyKrkq+y2XMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQELBQADggEBADhxBA5GHisDVf5a+1hIi7FBGBjJJLqzlaKh+bFB -gTCYfk3F4wYzndr1HpdCZSSYDtY3mXFNMWQCpwvwvy1DM+9AMRY68wKNXHa/WypW -zQSqTfEH8cdaIXUALB7pdWFVr3rx0f7/8I0Gj/ByUbJ94rzd22vduX5riY0Rag6B -dPtW0M9bJrC1AIjexzDcStupj9v/ceGYZQYC4zb2tZ7Ek/6q+vei8TxWZjku7Dl4 -YRPXXufyB24uQ1hJVy2fSyIJ63tIRJoEFLBNaKDOB53i10xLWBcsJpXKY57AOQMn -flqW4HG8uGJ/o1WjhiOB9eI7T9toy08zNzt+kSI/blFIoek= ------END CERTIFICATE----- diff --git a/installer/resources/certificates/ssl/user.mx24.eu.crt b/installer/resources/certificates/ssl/user.mx24.eu.crt new file mode 100644 index 0000000000..38c68ab5b8 --- /dev/null +++ b/installer/resources/certificates/ssl/user.mx24.eu.crt @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICwDCCAkagAwIBAgIJAKXCoCBjd/C0MAoGCCqGSM49BAMEMIGdMQswCQYDVQQG +EwJERTEVMBMGA1UECAwMdXNlci5teDI0LmV1MRUwEwYDVQQHDAx1c2VyLm14MjQu +ZXUxFTATBgNVBAoMDHVzZXIubXgyNC5ldTEVMBMGA1UECwwMdXNlci5teDI0LmV1 +MRUwEwYDVQQDDAx1c2VyLm14MjQuZXUxGzAZBgkqhkiG9w0BCQEWDHVzZXIubXgy +NC5ldTAeFw0xNTA5MDMxNjMyNDVaFw0yMTAyMjMxNjMyNDVaMIGdMQswCQYDVQQG +EwJERTEVMBMGA1UECAwMdXNlci5teDI0LmV1MRUwEwYDVQQHDAx1c2VyLm14MjQu +ZXUxFTATBgNVBAoMDHVzZXIubXgyNC5ldTEVMBMGA1UECwwMdXNlci5teDI0LmV1 +MRUwEwYDVQQDDAx1c2VyLm14MjQuZXUxGzAZBgkqhkiG9w0BCQEWDHVzZXIubXgy +NC5ldTB2MBAGByqGSM49AgEGBSuBBAAiA2IABPlKs5fYTqVhIOMiR6U9U4TimxS3 +P5NBDVzeeIAgbw5KBC8UImScZVt9g4V1wQe5kPs7TxA2BfanAPZ+ekQiRRvMVQxD +bSlRYupEWhq5BrJI6Lq/HDc7VJe9UUWffWKUoKNQME4wHQYDVR0OBBYEFBGJ0Yr+ +PZXnrk5RafQEALUpAU6ZMB8GA1UdIwQYMBaAFBGJ0Yr+PZXnrk5RafQEALUpAU6Z +MAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwQDaAAwZQIxAPcovePHMCosrAQNzS5i +VDUiyPNLOxHyRBm79yKXGl13LxysB6OK+2M7t8j8E/udBwIwXVVjxN6aSgXYTJ7d +p+Hg/2CuBMwf41/ENRcYQA+oGS9bU6A+7U9KJ1xTWWoqsUEs +-----END CERTIFICATE----- diff --git a/installer/resources/checklist.txt b/installer/resources/checklist.txt index 80f4c8336a..4533e363ba 100644 --- a/installer/resources/checklist.txt +++ b/installer/resources/checklist.txt @@ -1,6 +1,20 @@ Release checklist ----------------- +One week before: + Make announcement on Transifex with checkin deadline + + +A day or two before: +Write the release announcement and push to Transifex: + Checkout i2p.newsxml branch + See README for setup + ./create_new_entry.sh + tx push -s + mtn ci + Make announcement on Transifex asking for news translation + + Ensure all translation updates are imported from Transifex Sync with mtn.i2p2.i2p Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p @@ -66,9 +80,11 @@ Generate PGP signatures: (end of tasks automated by 'ant release') ========================================= -Add magnet links to news.xml +Add magnet links, change release dates and release number in to old-format news.xml, +and distribute to news hosts +In the i2p.newsxml branch, edit magnet links, release dates and release number in data/releases.json, and check in -Seed update torrents +Seed update torrents (su2 and su3) Notify the following people: All in-network update hosts diff --git a/installer/resources/geoip.txt b/installer/resources/geoip.txt index e4b3efdf43..e2d1037c69 100644 --- a/installer/resources/geoip.txt +++ b/installer/resources/geoip.txt @@ -1,5 +1,5 @@ # Last updated based on Maxmind GeoLite Country -# dated 2015-05-06 +# dated 2015-09-02 # Script borrowed from Tor # # wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip @@ -235,7 +235,8 @@ 84148224,84410367,DE 84410368,84418559,RU 84418560,84419583,BZ -84419584,84421631,RU +84419584,84420607,RU +84420608,84421631,NL 84421632,84421759,MX 84421760,84421887,PA 84421888,84422015,BR @@ -251,7 +252,9 @@ 84457472,84459519,ES 84459520,84471807,RU 84471808,84473855,IQ -84475904,84545535,DE +84475904,84498681,DE +84498682,84498682,NL +84498683,84545535,DE 84545536,84549631,GB 84549632,84551679,GE 84551680,84557823,DE @@ -435,7 +438,8 @@ 86446680,86446683,ES 86446684,86446719,FR 86446720,86446727,NL -86446728,86446931,FR +86446728,86446731,DE +86446732,86446931,FR 86446932,86446935,CZ 86446936,86446983,FR 86446984,86446991,IT @@ -482,7 +486,9 @@ 86453312,86453315,ES 86453316,86453836,FR 86453837,86453838,PT -86453839,86454187,FR +86453839,86453947,FR +86453948,86453951,IE +86453952,86454187,FR 86454188,86454191,IT 86454192,86454279,FR 86454280,86454287,ES @@ -505,7 +511,11 @@ 86456352,86456367,CH 86456368,86456371,FR 86456372,86456375,ES -86456376,86457059,FR +86456376,86456655,FR +86456656,86456671,IE +86456672,86456943,FR +86456944,86456947,GR +86456948,86457059,FR 86457060,86457060,DE 86457061,86457087,FR 86457088,86457091,DE @@ -519,7 +529,9 @@ 86457456,86457456,DE 86457457,86457799,FR 86457800,86457803,ES -86457804,86466839,FR +86457804,86458303,FR +86458304,86458335,DE +86458336,86466839,FR 86466840,86466847,NL 86466848,86466943,FR 86466944,86466959,DE @@ -529,7 +541,9 @@ 86468000,86468003,PL 86468004,86468055,FR 86468056,86468056,DE -86468057,86468447,FR +86468057,86468199,FR +86468200,86468200,ES +86468201,86468447,FR 86468448,86468479,CZ 86468480,86468587,FR 86468588,86468591,ES @@ -539,13 +553,25 @@ 86469692,86469695,DE 86469696,86469779,FR 86469780,86469783,IT -86469784,86470007,FR -86470008,86470008,ES -86470009,86470731,FR +86469784,86469974,FR +86469975,86469982,ES +86469983,86469983,FR +86469984,86469986,ES +86469987,86469988,FR +86469989,86469991,ES +86469992,86469993,FR +86469994,86469995,ES +86469996,86470002,FR +86470003,86470008,ES +86470009,86470015,FR +86470016,86470047,ES +86470048,86470731,FR 86470732,86470735,BE 86470736,86471083,FR 86471084,86471087,DE -86471088,86471179,FR +86471088,86471123,FR +86471124,86471127,GB +86471128,86471179,FR 86471180,86471180,DE 86471181,86473087,FR 86473088,86473151,PT @@ -623,7 +649,9 @@ 86837248,86839295,ES 86839296,86843391,GB 86847488,86849535,GB -86849536,86851583,CZ +86849536,86850559,CZ +86850560,86851327,NL +86851328,86851583,CZ 86851584,86855679,NL 86855680,86859775,RU 86859776,86863871,DE @@ -795,7 +823,10 @@ 90499072,90501119,IT 90503168,90505215,IL 90505216,90529791,RU -90529792,90533887,NL +90529792,90533119,NL +90533120,90533375,DE +90533376,90533631,NL +90533632,90533887,GB 90533888,90537983,EE 90537984,90540031,RU 90540032,90544127,GB @@ -1016,7 +1047,9 @@ 92739200,92739215,DE 92739216,92740447,FR 92740448,92740455,IT -92740456,92741203,FR +92740456,92740915,FR +92740916,92740923,DE +92740924,92741203,FR 92741204,92741207,IT 92741208,92741387,FR 92741388,92741395,IT @@ -1061,7 +1094,9 @@ 92746416,92746431,ES 92746432,92747711,FR 92747712,92747775,GB -92747776,92748773,FR +92747776,92748751,FR +92748752,92748752,PT +92748753,92748773,FR 92748774,92748774,PT 92748775,92749067,FR 92749068,92749071,GB @@ -1079,7 +1114,9 @@ 92757312,92757375,ES 92757376,92760159,FR 92760160,92760191,DE -92760192,92761215,FR +92760192,92760323,FR +92760324,92760327,DE +92760328,92761215,FR 92761216,92761343,DE 92761344,92762127,FR 92762128,92762135,ES @@ -1107,7 +1144,9 @@ 92786828,92786831,IT 92786832,92789499,FR 92789500,92789503,IT -92789504,92790271,FR +92789504,92789703,FR +92789704,92789707,DE +92789708,92790271,FR 92790272,92790275,DE 92790276,92790671,FR 92790672,92790679,ES @@ -1125,7 +1164,9 @@ 92796688,92796691,DE 92796692,92797355,FR 92797356,92797359,DE -92797360,92798975,FR +92797360,92798231,FR +92798232,92798239,NL +92798240,92798975,FR 92798976,93323263,RU 93323264,93335551,CH 93335552,93339647,IL @@ -1200,9 +1241,7 @@ 93893120,93893375,NL 93893376,93893631,US 93893632,93893887,AU -93893888,93894399,US -93894400,93894655,GB -93894656,93896703,US +93893888,93896703,US 93896704,93904895,GB 93904896,93906943,LV 93906944,93908991,BA @@ -1219,14 +1258,14 @@ 93976576,93978623,GB 93978624,94011391,ES 94011392,94019583,GB -94019584,94027775,RO +94019584,94021631,DE +94021632,94027263,RO +94027264,94027775,MD 94027776,94035967,IT 94035968,94044159,RO 94044160,94109695,SY 94109696,94175231,SA -94175232,94178303,SE -94178304,94178559,NO -94178560,94179071,SE +94175232,94179071,SE 94179072,94179327,NL 94179328,94179583,SE 94179584,94179839,NL @@ -1386,7 +1425,9 @@ 95410560,95410943,GB 95410944,95411199,DE 95411200,95411215,NL -95411216,95420415,DE +95411216,95420173,DE +95420174,95420174,US +95420175,95420415,DE 95420416,95551487,TR 95551488,95555583,AZ 95555584,95557631,GB @@ -1449,11 +1490,15 @@ 96337920,96403455,IR 96403456,96468991,AZ 96468992,96731135,AE -96731136,96739479,FR +96731136,96736399,FR +96736400,96736400,ES +96736401,96739479,FR 96739480,96739483,DE 96739484,96739583,FR 96739584,96739587,PT -96739588,96740111,FR +96739588,96739887,FR +96739888,96739903,IT +96739904,96740111,FR 96740112,96740127,IT 96740128,96740223,FR 96740224,96740351,IT @@ -1488,17 +1533,24 @@ 96756744,96756751,NL 96756752,96757639,FR 96757640,96757643,CH -96757644,96757883,FR +96757644,96757647,SE +96757648,96757663,FR +96757664,96757667,SE +96757668,96757883,FR 96757884,96757887,ES 96757888,96758247,FR 96758248,96758251,DE -96758252,96759767,FR +96758252,96759735,FR +96759736,96759739,ES +96759740,96759767,FR 96759768,96759775,IT 96759776,96760403,FR 96760404,96760407,IT 96760408,96761855,FR 96761856,96761871,BE -96761872,96762863,FR +96761872,96762799,FR +96762800,96762815,BE +96762816,96762863,FR 96762864,96762879,NL 96762880,96762943,FR 96762944,96763007,ES @@ -1537,7 +1589,9 @@ 96772944,96772959,DE 96772960,96773119,FR 96773120,96773375,ES -96773376,96775599,FR +96773376,96774719,FR +96774720,96774751,ES +96774752,96775599,FR 96775600,96775615,DE 96775616,96776319,FR 96776320,96776323,ES @@ -1545,15 +1599,24 @@ 96776512,96776543,ES 96776544,96777023,FR 96777024,96777087,ES -96777088,96778171,FR +96777088,96778015,FR +96778016,96778031,ES +96778032,96778167,FR +96778168,96778171,LU 96778172,96778175,PT -96778176,96778247,FR +96778176,96778239,FR +96778240,96778243,NL +96778244,96778247,FR 96778248,96778255,IT -96778256,96778867,FR +96778256,96778259,NL +96778260,96778859,FR +96778860,96778863,NL +96778864,96778867,CZ 96778868,96778871,BE 96778872,96778991,FR 96778992,96779007,DE -96779008,96779167,FR +96779008,96779011,PT +96779012,96779167,FR 96779168,96779199,PT 96779200,96779247,FR 96779248,96779255,CZ @@ -1561,7 +1624,11 @@ 96779520,96779523,NL 96779524,96779839,FR 96779840,96779903,NL -96779904,96783299,FR +96779904,96782199,FR +96782200,96782207,CZ +96782208,96782911,FR +96782912,96782915,LT +96782916,96783299,FR 96783300,96783303,ES 96783304,96783311,BE 96783312,96783327,DE @@ -1579,11 +1646,17 @@ 96785416,96785423,NL 96785424,96786431,FR 96786432,96786495,GB -96786496,96792751,FR +96786496,96788143,FR +96788144,96788159,ES +96788160,96792751,FR 96792752,96792767,DE 96792768,96793583,FR 96793584,96793599,DE -96793600,96794471,FR +96793600,96793687,FR +96793688,96793688,ES +96793689,96793715,FR +96793716,96793716,ES +96793717,96794471,FR 96794472,96794479,ES 96794480,96794707,FR 96794708,96794711,IT @@ -1646,12 +1719,23 @@ 98746368,98762751,TR 98762752,98893823,RU 98893824,98959359,TR -98959360,99024895,DE +98959360,98959615,DE +98959616,98959679,US +98959680,98960639,DE +98960640,98960799,US +98960800,98992383,DE +98992384,98992423,US +98992424,98992431,DE +98992432,98992639,US +98992640,98993151,DE +98993152,98993175,US +98993176,98998527,DE +98998528,98998783,GB +98998784,99024895,DE 99024896,99025167,GB 99025168,99025279,DE 99025280,99025407,US -99025408,99025663,NL -99025664,99025919,DE +99025408,99025919,DE 99025920,99025935,FI 99025936,99026047,DE 99026048,99026175,US @@ -1722,7 +1806,9 @@ 100329472,100331519,RU 100331520,100335615,TR 100335616,100401151,KZ -100532224,100559255,RO +100532224,100548872,RO +100548873,100548873,TR +100548874,100559255,RO 100559256,100559263,EG 100559264,100559551,RO 100559552,100559615,GB @@ -1747,7 +1833,8 @@ 100579328,100581375,AT 100581376,100589567,SE 100589568,100597759,RU -100597760,100614143,TR +100597760,100598783,TR +100598784,100614143,US 100614144,100630527,NL 100630528,100632575,BE 100632576,100634623,GB @@ -1757,7 +1844,17 @@ 100646912,100647679,RU 100647680,100647711,TR 100647712,100663295,RU -100663296,134738943,US +100663296,134221823,US +134221824,134221824,DE +134221825,134222335,US +134222336,134222336,DE +134222337,134223871,US +134223872,134223872,GB +134223873,134224383,US +134224384,134224384,GB +134224385,134247423,US +134247424,134247424,DE +134247425,134738943,US 134738944,134739199,CA 134739200,135192575,US 135192576,135200767,MX @@ -1793,9 +1890,7 @@ 136413184,136415665,CA 136415666,136415666,FR 136415667,136415743,CA -136415744,136699903,US -136699904,136701951,A1 -136701952,139954241,US +136415744,139954241,US 139954242,139954242,ES 139954243,152305663,US 152305664,152338431,GB @@ -1832,9 +1927,7 @@ 212787200,212788223,PR 212788224,212791831,US 212791832,212791839,VI -212791840,212794575,US -212794576,212794583,VI -212794584,213799167,US +212791840,213799167,US 213799168,213799423,CA 213799424,214617343,US 214617344,214617599,CA @@ -1985,7 +2078,9 @@ 288197120,288197631,US 288197632,288198143,CA 288198144,288198655,CL -288198656,288212991,US +288198656,288199679,US +288199680,288200703,CO +288200704,288212991,US 288212992,288215039,CA 288215040,288223231,US 288223232,288227327,CA @@ -1996,17 +2091,23 @@ 289642752,289652735,US 289652736,289653759,NL 289653760,289654271,DE -289654272,289656831,US -289656832,289657855,GB +289654272,289655807,US +289655808,289656831,DE +289656832,289657855,BE 289657856,289658879,AE 289658880,289659903,GB 289659904,289660927,US 289660928,289665023,ES 289665024,289667071,US -289667072,289668095,GB -289668096,289948927,US +289667072,289669119,GB +289669120,289783807,US +289783808,289783935,GB +289783936,289796095,US +289796096,289798143,TR +289798144,289948927,US 289948928,289949055,AT -289949056,289949695,US +289949056,289949183,US +289949184,289949695,RU 289949696,289950207,NL 289950208,289950463,PL 289950464,289950719,PT @@ -2015,8 +2116,7 @@ 289951232,289951487,RU 289951488,289951743,US 289951744,289952255,DE -289952256,289952767,US -289952768,289953791,GB +289952256,289953791,GB 289953792,289954303,US 289954304,289954559,ES 289954560,289955839,US @@ -2043,10 +2143,14 @@ 289960960,289961471,BE 289961472,289963007,US 289963008,289964031,FR -289964032,290269183,US +289964032,290265087,US +290265088,290267135,RU +290267136,290269183,US 290269184,290270207,PL 290270208,290271231,PT -290271232,290295295,US +290271232,290277375,US +290277376,290279423,GB +290279424,290295295,US 290295296,290295807,IN 290295808,290299903,US 290299904,290300927,LU @@ -2060,7 +2164,9 @@ 290310144,290312191,IN 290312192,290357247,US 290357248,290365439,IL -290365440,290423807,US +290365440,290377727,US +290377728,290379775,GB +290379776,290423807,US 290423808,290424831,SE 290424832,344260607,US 344260608,344260863,GB @@ -2089,7 +2195,9 @@ 344881152,344881407,IN 344881408,344977407,US 344977408,344977663,IN -344977664,385884159,US +344977664,372398271,US +372398272,372398303,AU +372398304,385884159,US 385884160,385888255,NL 385888256,385917183,US 385917184,385917439,NL @@ -2237,9 +2345,7 @@ 388198400,388202495,NL 388202496,388222975,US 388222976,388227071,NL -388227072,388251647,US -388251648,388255743,NL -388255744,388272127,US +388227072,388272127,US 388272128,388284415,NL 388284416,388288511,US 388288512,388300799,NL @@ -2257,9 +2363,7 @@ 388397056,388399103,NL 388399104,388419583,US 388419584,388423679,NL -388423680,388440063,US -388440064,388444159,NL -388444160,388448255,US +388423680,388448255,US 388448256,388464639,NL 388464640,388472831,US 388472832,388476927,NL @@ -2284,7 +2388,9 @@ 388681728,388698111,US 388698112,388702207,NL 388702208,388706303,US -388706304,388730879,NL +388706304,388714495,NL +388714496,388726783,US +388726784,388730879,NL 388730880,388812799,US 388812800,388816895,NL 388816896,388842239,US @@ -2307,8 +2413,8 @@ 388919296,388923391,NL 388923392,389044223,US 389044224,389045247,NL -389045248,389066751,US -389066752,389078015,NL +389045248,389070847,US +389070848,389078015,NL 389078016,389079039,US 389079040,389083135,NL 389083136,389090303,US @@ -2321,22 +2427,22 @@ 389185536,389201919,NL 389201920,389206015,US 389206016,389210111,NL -389210112,389234687,US -389234688,389238783,NL -389238784,389242879,US +389210112,389242879,US 389242880,389251071,NL 389251072,389259263,US 389259264,389292031,NL 389292032,389296127,US 389296128,389300223,NL 389300224,389328895,US -389328896,389365759,NL +389328896,389341183,NL +389341184,389349375,US +389349376,389365759,NL 389365760,389390335,US 389390336,389398527,NL 389398528,389402623,US -389402624,389427199,NL -389427200,389431295,US -389431296,389451775,NL +389402624,389423103,NL +389423104,389435391,US +389435392,389451775,NL 389451776,389480447,US 389480448,389484543,NL 389484544,389509119,US @@ -2349,8 +2455,8 @@ 389599744,389600767,NL 389600768,389602303,US 389602304,389603327,NL -389603328,389607423,US -389607424,389615615,NL +389603328,389611519,US +389611520,389615615,NL 389615616,389619711,US 389619712,389628927,NL 389628928,389631999,US @@ -2538,8 +2644,8 @@ 398647296,398656511,NL 398656512,398657535,US 398657536,398658559,NL -398658560,398659583,US -398659584,398675967,NL +398658560,398667775,US +398667776,398675967,NL 398675968,398684159,US 398684160,398692351,NL 398692352,398779903,US @@ -2640,15 +2746,11 @@ 400201216,400202751,NL 400202752,400203775,US 400203776,400211967,NL -400211968,400232447,US -400232448,400250367,NL -400250368,400252927,US -400252928,400269311,NL -400269312,400270847,US +400211968,400240639,US +400240640,400250367,NL +400250368,400270847,US 400270848,400271359,NL -400271360,400273407,US -400273408,400281599,NL -400281600,400283647,US +400271360,400283647,US 400283648,400284671,NL 400284672,400293887,US 400293888,400302079,NL @@ -2667,21 +2769,19 @@ 400809984,400884479,US 400884480,400884735,TR 400884736,400884991,GB -400884992,400885095,US -400885096,400885119,GB -400885120,400887551,US +400884992,400887551,US 400887552,400887807,GB 400887808,400888575,US 400888576,400888831,GB -400888832,400897535,US -400897536,400897791,GB -400897792,400911103,US +400888832,400911103,US 400911104,400911359,PA 400911360,400911615,AU 400911616,400911871,CR 400911872,400912127,US 400912128,400912383,SG -400912384,401130495,US +400912384,401129727,US +401129728,401129983,FR +401129984,401130495,US 401130496,401130751,DE 401130752,401137151,US 401137152,401137663,GB @@ -2735,8 +2835,8 @@ 402128896,402169855,CA 402169856,402223103,US 402223104,402227199,CA -402227200,402231295,PR -402231296,402239301,US +402227200,402231295,US +402235392,402239301,US 402239302,402239302,CA 402239303,402239473,US 402239474,402239474,CA @@ -2750,8 +2850,8 @@ 402399232,402403327,CA 402403328,402415615,US 402415616,402416639,CA -402416640,402416895,US -402416896,402417663,CA +402416640,402417151,US +402417152,402417663,CA 402417664,402550015,US 402550016,402550271,CA 402550272,402550783,GB @@ -2905,10 +3005,8 @@ 417808384,417816575,CA 417820672,417857535,US 417857536,417923071,AR -417923072,418060543,US -418060544,418061055,HK -418061056,418061311,US -418061312,418062335,HK +417923072,418060287,US +418060288,418062335,HK 418062336,418070527,CA 418070528,418078719,US 418078720,418119679,CA @@ -3127,7 +3225,6 @@ 461100032,461101055,MN 461101056,461102079,IN 461102080,461103103,ID -461103104,461111295,PH 461111296,461127679,IN 461127680,461131775,PH 461131776,461135871,ID @@ -3229,7 +3326,7 @@ 520492032,520493055,GB 520493056,520493311,BE 520493312,520493567,GB -520493568,520493823,IT +520493568,520493823,AE 520493824,520494079,FI 520494080,520494335,IT 520494336,520494591,CZ @@ -3310,7 +3407,11 @@ 520953856,520962047,RU 520962048,520963407,IE 520963408,520963408,US -520963409,520978431,IE +520963409,520963583,IE +520963584,520963839,US +520963840,520965119,IE +520965120,520965631,US +520965632,520978431,IE 520978432,520980479,RU 520980480,520982527,IT 520982528,520984575,RU @@ -3325,12 +3426,16 @@ 521019392,521019647,NL 521019648,521022463,RO 521022464,521022719,NL -521022720,521023487,RO +521022720,521022975,RO +521022976,521023487,DE 521023488,521023743,NL -521023744,521027839,RO +521023744,521026559,RO +521026560,521027583,ES +521027584,521027839,RO 521027840,521028607,GB 521028608,521028863,RU -521028864,521029375,RO +521028864,521029119,RO +521029120,521029375,ES 521029376,521029631,US 521029632,521031679,RO 521031680,521035775,IR @@ -3342,9 +3447,15 @@ 521048064,521052159,IR 521052160,521056255,RO 521056256,521057279,LT -521057280,521058303,RO +521057280,521058303,MD 521058304,521060351,IT -521060352,521076479,RO +521060352,521074687,RO +521074688,521074943,EG +521074944,521075199,RO +521075200,521075327,FR +521075328,521075455,RO +521075456,521075711,EG +521075712,521076479,RO 521076480,521076735,IN 521076736,521078783,ES 521078784,521080831,CZ @@ -3413,8 +3524,7 @@ 521717760,521718783,IQ 521718784,521719807,IR 521719808,521721855,UA -521721856,521723903,GB -521723904,521725951,SA +521721856,521725951,GB 521725952,521727999,IR 521728000,521732095,FR 521732096,521736191,GB @@ -3677,7 +3787,8 @@ 529799424,529799679,UA 529799680,529800191,RU 529800192,529800703,UA -529800704,529801215,CZ +529800704,529800959,CZ +529800960,529801215,BY 529801216,529817599,RU 529817600,529818623,CZ 529818624,529826303,RU @@ -3686,10 +3797,7 @@ 529827840,529828863,CZ 529828864,529829887,RU 529829888,529830911,CZ -529830912,529835007,RU -529835008,529836031,KG -529836032,529837055,CZ -529837056,529839103,RU +529830912,529839103,RU 529839104,529840127,CZ 529840128,529841151,RU 529841152,529842175,UA @@ -3790,7 +3898,9 @@ 531427504,531427511,IT 531427512,531427559,GB 531427560,531427567,IT -531427568,531428191,GB +531427568,531427703,GB +531427704,531427711,IT +531427712,531428191,GB 531428192,531428199,IT 531428200,531428207,GB 531428208,531428215,IT @@ -3798,23 +3908,25 @@ 531428352,531428359,IT 531428360,531428495,GB 531428496,531428503,IT -531428504,531428847,GB -531428848,531428855,IT -531428856,531429135,GB +531428504,531429135,GB 531429136,531429143,IT -531429144,531429207,GB +531429144,531429167,GB +531429168,531429175,IT +531429176,531429207,GB 531429208,531429215,IT 531429216,531429239,GB 531429240,531429247,IT -531429248,531429391,GB +531429248,531429319,GB +531429320,531429327,IT +531429328,531429391,GB 531429392,531429399,IT 531429400,531429407,GB 531429408,531429415,IT 531429416,531429599,GB 531429600,531429607,IT -531429608,531429967,GB -531429968,531429975,IT -531429976,531430319,GB +531429608,531430191,GB +531430192,531430199,IT +531430200,531430319,GB 531430320,531430327,IT 531430328,531430407,GB 531430408,531430415,IT @@ -3860,7 +3972,7 @@ 532209664,532210687,DE 532210688,532211711,RU 532211712,532212223,LU -532212224,532212479,KZ +532212224,532212479,ME 532212480,532212735,NL 532212736,532213759,RU 532213760,532214015,GB @@ -3909,7 +4021,9 @@ 532366080,532366207,NL 532366208,532366239,AR 532366240,532366271,PA -532366272,532367359,DE +532366272,532366893,DE +532366894,532366894,GB +532366895,532367359,DE 532367360,532368383,US 532368384,532368639,NL 532368640,532371455,DE @@ -4027,7 +4141,9 @@ 533856256,533858303,FR 533858304,533858751,TR 533858752,533858815,AT -533858816,533859647,TR +533858816,533858895,TR +533858896,533858903,AT +533858904,533859647,TR 533859648,533859663,AT 533859664,533860351,TR 533862400,533864447,GB @@ -4116,14 +4232,9 @@ 534519552,534519807,NL 534519808,534521855,US 534521856,534522367,DE -534522368,534522879,NL -534522880,534523034,DE -534523035,534523035,NL -534523036,534523135,DE -534523136,534523391,NL +534522368,534523391,NL 534523392,534523903,DE -534523904,534527999,US -534528000,534530047,DE +534523904,534530047,US 534530048,534538239,ES 534538240,534538751,US 534538752,534539007,GB @@ -4166,7 +4277,9 @@ 539623424,539624577,NL 539624578,539624578,EU 539624579,539627519,NL -539627520,539629975,GB +539627520,539629455,GB +539629456,539629463,BE +539629464,539629975,GB 539629976,539629983,DE 539629984,539630975,GB 539630976,539630983,PT @@ -4200,8 +4313,8 @@ 540753920,540754175,US 540754176,540803071,BZ 540803072,540811263,US -540811264,540814085,SG -540814086,540814086,TH +540811264,540814084,SG +540814085,540814086,TH 540814087,540814327,SG 540814328,540814328,IN 540814329,540814335,SG @@ -4334,7 +4447,9 @@ 621391872,621392127,IT 621392128,621392383,CY 621392384,621392639,GE -621392640,621393919,CY +621392640,621392895,CY +621392896,621393151,IT +621393152,621393919,CY 621393920,621395967,DE 621395968,621398015,CZ 621398016,621400063,TR @@ -4430,7 +4545,9 @@ 622512128,622514175,DE 622514176,622518271,NO 622518272,622518527,GB -622518528,622520319,NL +622518528,622519281,NL +622519282,622519282,GB +622519283,622520319,NL 622520320,622522367,RU 622522368,622524415,FR 622524416,622526463,ES @@ -4521,9 +4638,7 @@ 623801088,623801855,US 623801856,623802367,NL 623802368,623802879,SE -623802880,623804148,NL -623804149,623804159,SE -623804160,623804415,NL +623802880,623804415,NL 623804416,623806463,RU 623806464,623808511,NL 623810560,623812607,ES @@ -4565,7 +4680,9 @@ 624574464,624590847,NL 624590848,624625848,FR 624625849,624625849,CA -624625850,624640527,FR +624625850,624640255,FR +624640256,624640259,GB +624640260,624640527,FR 624640528,624640543,GB 624640544,624640759,FR 624640760,624640767,NL @@ -4580,17 +4697,26 @@ 624643232,624643235,DE 624643236,624643311,FR 624643312,624643315,IT -624643316,624645147,FR +624643316,624644667,FR +624644668,624644671,DK +624644672,624645147,FR 624645148,624645151,IT -624645152,624646239,FR +624645152,624645479,FR +624645480,624645487,CZ +624645488,624646235,FR +624646236,624646239,IT 624646240,624646255,DE 624646256,624646343,FR 624646344,624646347,NL -624646348,624646583,FR +624646348,624646399,FR +624646400,624646431,BE +624646432,624646583,FR 624646584,624646591,NL 624646592,624647171,FR 624647172,624647183,ES -624647184,624648139,FR +624647184,624647459,FR +624647460,624647463,GB +624647464,624648139,FR 624648140,624648143,ES 624648144,624653311,FR 624653312,624653823,GB @@ -4638,7 +4764,11 @@ 624665804,624665807,NL 624665808,624665951,FR 624665952,624665955,NL -624665956,624666219,FR +624665956,624666167,FR +624666168,624666168,GB +624666169,624666172,FR +624666173,624666173,GB +624666174,624666219,FR 624666220,624666223,DE 624666224,624666695,FR 624666696,624666703,DE @@ -4789,7 +4919,7 @@ 624738304,624740351,NL 624740352,624742399,DE 624742400,624746495,RU -624746496,624754687,BG +624746496,624754687,US 624754688,624787455,AZ 624787456,624791551,DE 624791552,624795647,ES @@ -5097,7 +5227,8 @@ 630818560,630819327,RO 630819328,630819839,SE 630819840,630820095,GR -630820096,630820607,RO +630820096,630820351,RO +630820352,630820607,ES 630820608,630820863,US 630820864,630828031,RO 630828032,630828543,SE @@ -5117,13 +5248,17 @@ 630990848,630992895,RO 630992896,630996991,IR 630996992,630997503,GB -630997504,630998271,RO +630997504,630997759,MD +630997760,630998271,RO 630998272,630998783,MD -630998784,631001087,RO +630998784,630999039,RO +630999040,630999295,CN +630999296,631001087,RO 631001088,631005183,MD 631005184,631006207,IT 631006208,631007231,MD -631007232,631009279,RO +631007232,631007487,KR +631007488,631009279,RO 631009280,631017471,IR 631017472,631018495,MD 631018496,631019519,IT @@ -5131,13 +5266,17 @@ 631023616,631024639,IT 631024640,631024895,RO 631024896,631025151,GB -631025152,631029759,RO +631025152,631027711,RO +631027712,631027967,KR +631027968,631029759,RO 631029760,631033855,SE 631033856,631034879,IT -631034880,631039999,RO +631034880,631035903,RO +631035904,631036159,JP +631036160,631039999,RO 631040000,631043071,MD -631043072,631044095,RO -631044096,631045119,MD +631043072,631043839,RO +631043840,631045119,MD 631045120,631046143,RO 631046144,631048191,DK 631048192,631050239,FR @@ -5180,7 +5319,9 @@ 633066240,633066495,ES 633066496,633066751,FR 633066752,633067007,IT -633067008,633077759,FR +633067008,633074760,FR +633074761,633074761,ES +633074762,633077759,FR 633077760,633094143,RU 633094144,633098239,NL 633098240,633100287,HU @@ -5298,21 +5439,15 @@ 635200264,635200271,IT 635200272,635200335,GB 635200336,635200343,IT -635200344,635200415,GB -635200416,635200423,IT -635200424,635200431,GB +635200344,635200431,GB 635200432,635200439,IT 635200440,635200631,GB 635200632,635200639,IT 635200640,635200727,GB 635200728,635200735,IT -635200736,635200959,GB -635200960,635200967,IT -635200968,635200991,GB +635200736,635200991,GB 635200992,635200999,IT -635201000,635201087,GB -635201088,635201095,IT -635201096,635201159,GB +635201000,635201159,GB 635201160,635201167,IT 635201168,635201455,GB 635201456,635201463,IT @@ -5364,7 +5499,11 @@ 635856896,635858943,TR 635858944,635860991,RU 635860992,635863039,BE -635863040,635895807,RU +635863040,635893503,RU +635893504,635893759,AZ +635893760,635894527,RU +635894528,635894783,KZ +635894784,635895807,RU 635895808,635961343,KW 635961344,635994111,GE 635994112,636026879,RU @@ -5443,8 +5582,12 @@ 637319168,637321215,AT 637321216,637323263,GB 637323264,637325311,FR -637325312,637325567,US -637325568,637327359,NO +637325312,637325823,US +637325824,637326079,GB +637326080,637326335,DE +637326336,637326591,HK +637326592,637326847,AU +637326848,637327359,NO 637329408,637329663,SI 637329664,637330175,FR 637330176,637330431,DE @@ -5490,7 +5633,9 @@ 642093056,642093311,CA 642093312,642093823,US 642093824,642094591,CA -642094592,642793471,US +642094592,642113535,US +642113536,642115583,AU +642115584,642793471,US 642793472,642793983,CA 642793984,643219519,US 643219520,643219523,CA @@ -5559,8 +5704,8 @@ 644768768,644835071,US 644835072,644835327,CA 644835328,644838655,US -644838656,644840447,CA -644840448,644898815,US +644838656,644839423,CA +644839424,644898815,US 644898816,644899071,CA 644899072,644899839,US 644899840,644900095,CA @@ -5639,7 +5784,13 @@ 666894336,671088639,ID 671088640,671113215,US 671113216,671113471,EU -671113472,687618147,US +671113472,675807231,US +675807232,675938303,SG +675938304,679313407,US +679313408,679346175,SG +679346176,679362559,US +679362560,679378943,SG +679378944,687618147,US 687618148,687618151,EU 687618152,687865855,US 687865856,689963007,ZA @@ -5987,7 +6138,11 @@ 700284928,700301311,GH 700301312,700309503,CD 700309504,700313599,DJ -700313600,700317695,US +700313600,700315584,US +700315585,700315585,DJ +700315586,700317478,US +700317479,700317479,DJ +700317480,700317695,US 700317696,700325887,NG 700325888,700334079,ZW 700334080,700335103,BJ @@ -6049,7 +6204,9 @@ 700593152,700594175,NG 700594176,700595199,A2 700595200,700596223,CD -700596224,700645375,A2 +700596224,700598783,A2 +700598784,700599039,CG +700599040,700645375,A2 700645376,700710911,ZA 700710912,700776447,EG 700776448,700841983,RW @@ -6219,8 +6376,7 @@ 702342260,702342263,KE 702342264,702344199,MU 702344200,702344971,KE -702344972,702345215,MU -702345216,702349311,KE +702344972,702349311,MU 702349312,702353407,ZA 702353408,702357503,DZ 702357504,702365695,TZ @@ -6409,7 +6565,9 @@ 711166592,711169311,JP 711169312,711169327,IN 711169328,711173119,JP -711173120,711173375,SG +711173120,711173210,SG +711173211,711173211,ID +711173212,711173375,SG 711173376,711196671,JP 711196672,711458815,CN 711458816,711983103,IN @@ -6520,7 +6678,6 @@ 736202752,736203775,AU 736203776,736204799,BD 736204800,736205823,SG -736205824,736206847,JP 736206848,736209919,IN 736209920,736210943,CN 736210944,736211967,AU @@ -6591,11 +6748,16 @@ 736398336,736400383,IN 736400384,736402431,CN 736402432,736402559,NZ -736402560,736403455,PK +736402560,736402687,PK +736402688,736402943,SG +736402944,736403071,MY +736403072,736403199,BN +736403200,736403327,AU +736403328,736403455,PK 736403456,736404479,KR 736405504,736408575,IN 736408576,736409599,CN -736409600,736410623,NZ +736409600,736410623,US 736410624,736411647,CN 736411648,736412671,NP 736412672,736413695,TH @@ -6608,7 +6770,6 @@ 736421888,736422911,SG 736422912,736423935,IN 736423936,736424959,CN -736424960,736425983,JP 736425984,736428031,MY 736428032,736429055,IN 736429056,736430079,HK @@ -6626,7 +6787,6 @@ 736441344,736442367,HK 736442368,736443391,CN 736443392,736445439,AU -736445440,736446463,JP 736446464,736447487,IN 736447488,736448511,TH 736448512,736449535,IN @@ -6645,7 +6805,6 @@ 736466944,736467967,HK 736467968,736468991,SG 736468992,736470015,IN -736470016,736471039,JP 736471040,736479231,CN 736479232,736480255,IN 736480256,736481279,ID @@ -6743,7 +6902,38 @@ 736621568,736622591,JP 736622592,736624639,IN 736624640,736886783,JP -736886784,737149951,CN +736886784,737096703,CN +737096704,737099775,IN +737099776,737100799,HK +737100800,737101823,IN +737101824,737102847,BD +737102848,737104895,IN +737104896,737106943,HK +737106944,737108991,NZ +737108992,737110015,SG +737110016,737111039,JP +737111040,737113087,IN +737113088,737115135,CN +737115136,737118207,IN +737118208,737119231,AU +737119232,737119999,NL +737120000,737121279,IN +737121280,737122303,VN +737122304,737123327,IN +737123328,737126399,HK +737126400,737127423,IN +737127424,737129471,CN +737129472,737130495,NZ +737130496,737132543,VN +737132544,737139711,IN +737139712,737141759,VN +737141760,737142783,IN +737142784,737143039,HK +737143040,737143807,MY +737143808,737146879,IN +737146880,737147903,NZ +737147904,737148927,MY +737148928,737149951,CN 737149952,737151999,IN 737152000,737154047,HK 737154048,737155071,MY @@ -6822,7 +7012,7 @@ 737308672,737309695,KR 737309696,737312767,IN 737312768,737313791,HK -737313792,737315839,JP +737314816,737315839,JP 737315840,737316863,HK 737316864,737324031,CN 737324032,737325055,HK @@ -6947,7 +7137,31 @@ 737539072,737540095,BD 737540096,737541119,ID 737541120,737542143,SG -737542144,737574911,CN +737542144,737567743,CN +737567744,737570815,IN +737570816,737571839,SG +737571840,737572863,HK +737572864,737574911,IN +737574912,737575935,JP +737575936,737576959,HK +737576960,737581055,IN +737581056,737582079,KR +737582080,737584127,IN +737584128,737585151,MY +737585152,737587199,HK +737587200,737588223,MY +737588224,737589247,KR +737589248,737590271,TH +737590272,737591295,TW +737591296,737593343,JP +737593344,737594367,BD +737594368,737596415,HK +737596416,737597439,CN +737597440,737598463,TW +737598464,737600511,PK +737600512,737601535,CN +737601536,737602559,AU +737602560,737607679,IN 737607680,737608703,HK 737608704,737610751,CN 737610752,737611775,ID @@ -7017,7 +7231,8 @@ 737744896,737745919,CN 737745920,737746943,HK 737746944,737747967,TH -737747968,737748991,SG +737747968,737748479,HK +737748480,737748991,SG 737748992,737750015,AF 737750016,737751039,JP 737751040,737753087,IN @@ -7134,11 +7349,9 @@ 737905664,737906687,HK 737906688,737908735,IN 737908736,737909759,AU -737909760,737910271,HK -737910272,737910783,MY -737910784,737911807,HK -737911808,737912063,SG -737912064,737912831,AU +737909760,737911807,HK +737911808,737912703,SG +737912704,737912831,MY 737912832,737915903,IN 737915904,737916927,TW 737916928,737917951,JP @@ -7264,7 +7477,10 @@ 738147328,738148095,CN 738148096,738148351,AU 738148352,738152447,CN -738152448,738153471,HK +738152448,738152703,JP +738152704,738152959,AU +738152960,738153215,JP +738153216,738153471,AU 738153472,738154495,CN 738154496,738156543,TW 738156544,738157567,CN @@ -7302,7 +7518,15 @@ 738195456,738197503,KR 738197504,747175935,US 747175936,747241471,NL -747241472,757186559,US +747241472,757071871,US +757071872,757088255,NL +757088256,757090303,US +757090304,757104639,NL +757104640,757106687,US +757106688,757133311,NL +757133312,757135359,AU +757135360,757137407,JP +757137408,757186559,US 757186560,757190655,CA 757190656,757600255,US 757600256,757604351,CA @@ -7312,9 +7536,12 @@ 757645312,757645567,NZ 757645568,757661695,US 757661696,757661951,NZ -757661952,757686271,US +757661952,757662719,US +757662720,757662975,IN +757662976,757686271,US 757686272,757694463,CA -757694464,757696511,US +757694464,757696255,US +757696256,757696511,JP 757696512,757697535,DE 757697536,757711871,US 757711872,757712127,AU @@ -7322,7 +7549,9 @@ 757714176,757714431,JP 757714432,757716735,US 757716736,757716991,NZ -757716992,757729279,US +757716992,757721599,US +757721600,757721855,PH +757721856,757729279,US 757729280,757731327,CA 757731328,757733375,US 757733376,757734399,CA @@ -7336,33 +7565,45 @@ 757760256,757760511,ML 757760512,757761535,US 757761536,757761791,MW -757761792,757762303,US +757761792,757762047,US +757762048,757762303,MV 757762304,757762559,JP -757762560,757762815,US +757762560,757762815,PH 757762816,757763071,CD -757763072,757764095,US +757763072,757763327,US +757763328,757763583,PA +757763584,757763839,MN +757763840,757764095,US 757764096,757764351,ZW 757764352,757765375,US 757765376,757765631,SD -757765632,757766655,US +757765632,757765887,US +757765888,757766143,KP +757766144,757766655,US 757766656,757766911,BI -757766912,757767935,US +757766912,757767167,US +757767168,757767423,CC +757767424,757767935,US 757767936,757768191,MU 757768192,757769215,US 757769216,757769471,SL 757769472,757769727,US 757769728,757769983,NZ -757769984,757770495,US +757769984,757770239,GU +757770240,757770495,US 757770496,757770751,TG -757770752,757771775,US +757770752,757771007,US +757771008,757771263,FJ +757771264,757771519,CW +757771520,757771775,SB 757771776,757772031,ER -757772032,757773055,US +757772032,757772287,US +757772288,757772543,NR +757772544,757773055,US 757773056,757773311,MR 757773312,757774335,US 757774336,757774591,LR -757774592,757775359,US -757775360,757775487,SZ -757775488,757776639,US +757774592,757776639,US 757776640,757776767,GQ 757776768,757777919,US 757777920,757778047,LS @@ -7384,17 +7625,38 @@ 757788160,757788287,LK 757788288,757789439,US 757789440,757789567,NP -757789568,757858303,US +757789568,757790975,US +757790976,757791231,WS +757791232,757858303,US 757858304,757956607,CA -757956608,757956863,AU -757956864,758683647,US +757956608,757956863,HK +757956864,757957631,US +757957632,757957887,JP +757957888,757958399,US +757958400,757958655,DE +757958656,757959679,US +757959680,757959935,IT +757959936,757961471,US +757961472,757961727,HK +757961728,757965311,US +757965312,757965567,IN +757965568,758682111,US +758682112,758682367,PH +758682368,758683647,US 758683648,758683903,HK 758683904,758684159,SG -758684160,758685183,US +758684160,758684671,US +758684672,758684927,BR +758684928,758685183,IN 758685184,758685439,AU -758685440,758779903,US +758685440,758685695,JP +758685696,758691839,US +758691840,758693887,DE +758693888,758779903,US 758779904,758783999,CA -758784000,758796287,US +758784000,758785023,US +758785024,758785535,CA +758785536,758796287,US 758796288,758804479,CA 758804480,758824959,US 758824960,758841343,CA @@ -7402,39 +7664,50 @@ 758874368,758874623,AM 758874624,758875391,US 758875392,758875647,AO -758875648,758875903,US +758875648,758875903,BT 758875904,758876159,AZ 758876160,758876415,AU 758876416,758876671,US 758876672,758876927,SD -758876928,758877439,US +758876928,758877183,MH +758877184,758877439,US 758877440,758877695,KZ -758877696,758878207,US +758877696,758877951,IR +758877952,758878207,PG 758878208,758878463,ET -758878464,758878975,US +758878464,758878719,TO +758878720,758878975,KH 758878976,758879231,KG -758879232,758879743,US +758879232,758879487,US +758879488,758879743,GG 758879744,758879999,CD -758880000,758880511,US +758880000,758880255,SJ +758880256,758880511,AS 758880512,758880767,UZ -758880768,758881535,US +758880768,758881023,GN +758881024,758881535,US 758881536,758881791,PH -758881792,758882047,US +758881792,758882047,CG 758882048,758882303,TM -758882304,758882815,US +758882304,758882559,US +758882560,758882815,CV 758882816,758883071,ZM 758883072,758883583,US 758883584,758883839,TJ -758883840,758884351,US +758883840,758884095,LI +758884096,758884351,MQ 758884352,758884607,MZ -758884608,758885119,US +758884608,758884863,GP +758884864,758885119,RE 758885120,758885375,CN -758885376,758885887,US +758885376,758885631,WF +758885632,758885887,KM 758885888,758886143,SN -758886144,758886655,US +758886144,758886399,TF +758886400,758886655,PA 758886656,758886911,DZ 758886912,758887167,NE -758887168,758887423,US +758887168,758887423,GI 758887424,758887679,TD 758887680,758888191,US 758888192,758888447,LY @@ -7442,13 +7715,18 @@ 758888704,758888959,TZ 758888960,758889215,US 758889216,758889471,MG -758889472,758889727,US +758889472,758889727,LA 758889728,758889983,TN 758889984,758972415,US 758972416,758976511,CA 758976512,758984703,US 758984704,758988799,CA -758988800,759047423,US +758988800,758994943,US +758994944,758996991,IN +758996992,758998015,DE +758998016,759001087,US +759001088,759005183,CN +759005184,759047423,US 759047424,759047679,IN 759047680,759048191,US 759048192,759048447,PK @@ -7526,16 +7804,62 @@ 759234560,759235583,SG 759235584,759236607,NZ 759236608,759237631,IN -759237632,759238655,AU +759237632,759238655,NZ 759693312,759726079,US 759726080,759791615,CA -759791616,759840767,US +759791616,759824639,US +759824640,759824895,SA +759824896,759825151,CR +759825152,759825407,NO +759825408,759825663,BE +759825664,759828735,US +759828736,759828863,GT +759828864,759828991,SV +759828992,759829119,HN +759829120,759829247,NI +759829248,759829375,BO +759829376,759829503,PY +759829504,759829631,SR +759829632,759829759,GY +759829760,759829887,TT +759829888,759830015,GD +759830016,759830143,DM +759830144,759830271,BB +759830272,759830399,LC +759830400,759830527,DO +759830528,759830655,HT +759830656,759830783,TC +759830784,759830911,CV +759830912,759831039,KY +759831040,759831167,BM +759831168,759831295,MS +759831296,759831423,AG +759831424,759831551,BY +759831552,759831679,CM +759831680,759831807,CF +759831808,759831935,US +759831936,759832063,ZW +759832064,759832191,ZM +759832192,759832319,GA +759832320,759832447,RW +759832448,759832575,BW +759832576,759832703,MZ +759832704,759832831,SZ +759832832,759832959,MW +759832960,759833087,BI +759833088,759833215,ER +759833216,759833343,LS +759833344,759840767,US 759840768,759844863,CA 759844864,759848959,US -759848960,759857151,CA -759857152,759889919,US +759848960,759885823,CA +759885824,759889919,US 759889920,759955455,CA -759955456,760217599,US +759955456,760111103,US +760111104,760119295,CA +760119296,760127487,US +760127488,760152063,CA +760152064,760217599,US 761266176,761790463,EG 762314752,762315775,IN 762315776,762316799,JP @@ -7641,10 +7965,12 @@ 762467328,762469375,BD 762469376,762470399,HK 762470400,762471423,CN -762471424,762471679,MY -762471680,762473471,CN +762471424,762472447,MY +762472448,762473471,CN 762473472,762475519,JP -762475520,762476543,ID +762475520,762475775,AU +762475776,762476031,HK +762476032,762476543,ID 762476544,762478591,PK 762478592,762479615,KR 762479616,762480639,PK @@ -7672,7 +7998,11 @@ 762514432,762515455,BD 762515456,762516479,IN 762516480,762517503,AU -762517504,762519551,HK +762517504,762517759,US +762517760,762518015,KR +762518016,762518079,VN +762518080,762518111,ID +762518112,762519551,HK 762519552,762520575,JP 762520576,762522623,HK 762522624,762523647,CN @@ -7691,6 +8021,7 @@ 762540032,762541055,BD 762541056,762541567,AU 762541568,762541823,TH +762541824,762542079,IN 762542080,762543103,CN 762543104,762544127,HK 762544128,762545151,AU @@ -7739,9 +8070,351 @@ 762603520,762604543,IN 762604544,762605567,AU 762605568,762609663,IN +762609664,762610175,AF +762610176,762610431,HK +762610432,762610687,AU +762610688,762611711,JP +762611712,762612735,SG +762612736,762613759,CN +762613760,762614783,HK +762614784,762615807,IN +762615808,762616831,CN +762616832,762617855,ID +762617856,762619903,IN +762619904,762620927,HK +762620928,762622975,MY +762622976,762630143,IN +762630144,762631167,CN +762631168,762632191,HK +762632192,762633215,TH +762633216,762634239,AU +762634240,762635263,JP +762635264,762636287,IN +762636288,762637311,PK +762637312,762640383,MY +762640384,762641407,BD +762641408,762644479,IN +762644480,762645503,CN +762645504,762646527,KR +762646528,762647551,JP +762647552,762648575,CN +762648576,762649599,AU +762649600,762650623,IN +762650624,762651647,MN +762651648,762652671,NZ +762652672,762653695,CN +762653696,762656767,IN +762656768,762658815,BD +762658816,762659839,IN +762659840,762660863,CN +762660864,762661887,IN +762661888,762663935,VN +762663936,762664959,AU +762664960,762665983,PK +762665984,762667007,IN +762667008,762669055,HK +762669056,762670079,PK +762670080,762673151,IN +762673152,762674175,MY +762674176,762675199,CN +762675200,762678271,IN +762678272,762679295,JP +762679296,762680319,HK +762680320,762681343,IN +762681344,762682367,NP +762682368,762688511,VN +762688512,762690559,IN +762690560,762691583,SG +762691584,762692607,HK +762692608,762693631,MP +762693632,762700799,IN +762700800,762701823,MY +762701824,762702847,IN +762702848,762703871,MY +762703872,762705919,FJ +762705920,762706943,IN +762706944,762707967,CN +762707968,762717183,IN +762717184,762718207,PH +762718208,762719231,JP +762719232,762723327,IN +762723328,762724351,BD +762724352,762725375,AU +762725376,762726399,BD +762726400,762736639,IN +762736640,762737663,ID +762737664,762739711,IN +762739712,762740735,HK +762740736,762741759,IN +762741760,762742783,JP +762742784,762746879,VN +762746880,762754047,IN +762754048,762755071,SG +762755072,762756095,AU +762756096,762757119,NZ +762757120,762770431,IN +762770432,762771455,BD +762771456,762775551,HK +762775552,762783743,IN +762783744,762784767,KR +762784768,762786815,IN +762786816,762787839,CN +762787840,762788863,IN +762788864,762792959,CN +762792960,762796031,VN +762796032,762797055,IN +762797056,762799103,HK +762799104,762800127,NZ +762800128,762801151,CN +762801152,762802175,VN +762802176,762803199,IN +762803200,762804223,CN +762804224,762805247,BD +762805248,762806271,HK +762806272,762810367,IN +762810368,762811391,KR +762811392,762812415,IN +762812416,762814463,SG +762814464,762815487,CN +762815488,762816511,JP +762816512,762824703,IN +762824704,762825727,SG +762825728,762827775,JP +762827776,762829823,VN +762829824,762830847,AU +762830848,762832895,IN +762832896,762833919,CN +762833920,762834943,IN +762834944,762835967,VN +762835968,762838015,IN +762838016,762841087,HK +762841088,762846207,IN +762846208,762847231,HK +762847232,762848255,IN +762848256,762848511,AU +762848512,762848767,IN +762848768,762849279,BD +762849280,762850303,IN +762850304,762851327,JP +762851328,762852351,IN +762852352,762853375,HK +762853376,762855423,IN +762855424,762857471,KR +762857472,762858495,IN +762858496,762860543,HK +762860544,762861567,MM +762861568,762863615,IN +762863616,762864639,BD +762864640,762865663,CN +762865664,762866687,AU +762866688,762867711,PH +762867712,762868735,BD +762868736,762869759,NZ +762869760,762871807,IN +762871808,762872831,MY +762872832,762873855,JP +762873856,762874879,NZ +762874880,762875903,CN +762875904,762876927,IN +762876928,762877951,SG +762877952,762879231,HK +762879232,762879487,JP +762879488,762879743,HK +762879744,762879999,CN +762880000,762881023,IN +762881024,762882047,CN +762882048,762883071,HK +762883072,762884095,IN +762884096,762885119,JP +762885120,762887167,HK +762887168,762888191,IN +762888192,762890239,JP +762890240,762891263,AU +762891264,762893311,HK +762893312,762894335,IN +762894336,762895359,HK +762895360,762896383,CN +762896384,762898431,VN +762898432,762900479,IN +762900480,762901503,CN +762901504,762902527,ID +762902528,762909695,IN +762909696,762910719,CN +762910720,762911743,VN +762911744,762912767,IN +762912768,762913791,HK +762913792,762914815,MY +762914816,762915839,ID +762915840,762916863,IN +762916864,762917887,TW +762917888,762918911,CN +762918912,762919935,HK +762919936,762920959,TH +762920960,762924031,CN +762924032,762925055,IN +762925056,762927103,HK +762927104,762928127,LK +762928128,762930175,CN +762930176,762931199,IN +762931200,762932223,CN +762932224,762938367,IN +762938368,762939391,AU +762939392,762941439,HK +762941440,762942463,MY +762942464,762943487,JP +762943488,762944511,VN +762944512,762945535,IN +762945536,762946559,VN +762946560,762947583,KR +762947584,762948607,IN +762948608,762950655,CN +762950656,762951679,AU +762951680,762952703,JP +762952704,762953727,IN +762953728,762957823,HK +762957824,762958847,AU +762958848,762959871,CN +762959872,762960895,ID +762960896,762964991,IN +762964992,762966015,KH +762966016,762981375,CN +762981376,762982399,IN +762982400,762983423,TH +762983424,762984447,HK +762984448,762985471,ID +762985472,763000831,CN +763000832,763003903,IN +763003904,763005951,HK +763005952,763010047,IN +763010048,763011071,HK +763011072,763026431,CN +763026432,763027455,VN +763027456,763028479,JP +763028480,763029503,AU +763029504,763035647,VN +763035648,763040767,IN +763040768,763041791,HK +763041792,763042815,IN +763042816,763045887,CN +763045888,763046911,BD +763046912,763059199,CN +763059200,763060223,IN +763060224,763061247,VN +763061248,763062271,MY +763062272,763063295,AU +763063296,763064319,IN +763064320,763066367,HK +763066368,763067391,CN +763067392,763068415,MY +763068416,763071487,CN +763071488,763073535,IN +763073536,763076607,CN +763076608,763077631,IN +763077632,763083775,CN +763083776,763086847,HK +763086848,763087871,MO +763087872,763088895,CN +763088896,763089919,JP +763089920,763090943,CN +763090944,763091967,IN +763091968,763092991,NP +763092992,763102207,CN +763102208,763103231,IN +763103232,763104255,HK +763104256,763105279,BD +763105280,763106303,PH +763106304,763107327,CN +763107328,763108351,HK +763108352,763111423,CN +763111424,763112447,AU +763112448,763113471,CN +763113472,763114495,IN +763114496,763115519,AU +763115520,763116543,PH +763116544,763117567,JP +763117568,763118591,HK +763118592,763119615,CN +763119616,763120639,HK +763120640,763122687,CN +763122688,763125759,VN +763125760,763126783,IN +763126784,763127807,CN +763127808,763129343,IN +763129344,763129855,AU +763129856,763130879,HK +763130880,763132927,IN +763132928,763133951,CN +763133952,763134975,IN +763134976,763135999,HK +763136000,763137023,JP +763137024,763142143,IN +763142144,763143167,HK +763143168,763144191,AU +763144192,763145215,BD +763145216,763147263,CN +763147264,763152383,IN +763152384,763153407,AU +763153408,763154431,JP +763154432,763155455,CN +763155456,763156479,AU +763156480,763158527,JP +763158528,763164671,IN +763164672,763166719,CN +763166720,763169791,HK +763169792,763171839,CN +763171840,763172863,SG +763172864,763175935,CN +763175936,763177983,IN +763177984,763179007,CN +763179008,763180031,HK +763180032,763182079,CN +763182080,763183103,IN +763183104,763184127,HK +763184128,763185151,IN +763185152,763186175,HK +763186176,763194367,CN +763194368,763196415,HK +763196416,763197439,IN +763197440,763199487,AU +763199488,763201535,IN +763201536,763202559,CN +763202560,763207679,IN +763207680,763209727,HK +763209728,763210751,NZ +763210752,763214847,IN +763214848,763215871,JP +763215872,763217919,SG +763217920,763220991,VN +763220992,763222015,IN +763222016,763223039,HK +763223040,763224063,BD +763224064,763225087,AF +763225088,763226111,TH +763226112,763227135,KR +763227136,763228159,VN +763228160,763229183,JP +763229184,763229439,NZ +763229440,763230207,IN +763230208,763231231,PH +763231232,763232255,IN +763232256,763234303,HK +763234304,763235327,IN +763235328,763236351,HK +763236352,763238399,IN +763238400,763239423,AU +763239424,763243519,IN +763243520,763244543,AU +763244544,763246591,CN +763246592,763247615,ID +763247616,763248639,SG +763248640,763250687,IN +763250688,763251711,AU +763251712,763252735,HK 767557632,768606207,ZA 768606208,768868351,GH +768868352,769130495,ZM 769130496,769392639,MA +770703360,771227647,EG 771751936,771817471,RU 771817472,771948543,TR 771948544,772014079,RU @@ -8007,8 +8680,7 @@ 773646336,773648383,TR 773648384,773650431,PL 773650432,773652479,GB -773652480,773652735,TR -773652736,773653503,SK +773652480,773653503,SK 773653504,773654527,TR 773654528,773656575,RU 773656576,773658623,PL @@ -8116,7 +8788,11 @@ 773931008,773934591,DE 773934592,773935352,FR 773935353,773935353,US -773935354,773938231,FR +773935354,773937663,FR +773937664,773937664,DE +773937665,773937673,FR +773937674,773937674,IE +773937675,773938231,FR 773938232,773938239,GB 773938240,773939199,FR 773939200,773947391,CZ @@ -8170,7 +8846,7 @@ 774160703,774160735,CH 774160736,774160768,GR 774160769,774160801,IL -774160802,774160802,A1 +774160802,774160802,GB 774160803,774160832,BG 774160833,774160864,NO 774160865,774160869,BR @@ -8200,7 +8876,7 @@ 774161127,774161136,SC 774161137,774161146,SG 774161147,774161149,BY -774161150,774161151,A1 +774161150,774161151,GB 774161152,774161162,AQ 774161163,774161172,KR 774161173,774161182,TH @@ -8216,7 +8892,7 @@ 774161273,774161282,MT 774161283,774161292,SE 774161293,774161302,HK -774161303,774161312,A1 +774161303,774161312,GB 774161313,774161322,IE 774161323,774161332,PK 774161333,774161337,KW @@ -8232,9 +8908,9 @@ 774161383,774161387,EE 774161388,774161392,LU 774161393,774161397,SK -774161398,774161402,A1 +774161398,774161402,GB 774161403,774161405,LC -774161406,774161408,A1 +774161406,774161408,GB 774161409,774161418,US 774161419,774161428,GL 774161429,774161438,HU @@ -8255,14 +8931,14 @@ 774161579,774161588,VE 774161589,774161598,TC 774161599,774161618,US -774161619,774161628,A1 +774161619,774161628,GB 774161629,774161638,PA 774161639,774161648,RU 774161649,774161658,HK -774161659,774161664,A1 +774161659,774161664,GB 774161665,774161674,US 774161675,774161675,CL -774161676,774161684,A1 +774161676,774161684,GB 774161685,774161694,GR 774161695,774161704,AG 774161705,774161714,AM @@ -8282,25 +8958,17 @@ 774161845,774161854,VU 774161855,774161864,MX 774161865,774161865,AR -774161866,774161869,A1 +774161866,774161869,GB 774161870,774161874,ES -774161875,774161899,A1 +774161875,774161899,GB 774161900,774161904,FR -774161905,774162060,A1 +774161905,774162060,GB 774162061,774162065,US -774162066,774162105,A1 -774162106,774162110,GB -774162111,774162125,A1 +774162066,774162125,GB 774162126,774162130,MO -774162131,774162170,A1 -774162171,774162173,GB -774162174,774162225,A1 -774162226,774162236,GB -774162237,774162246,A1 +774162131,774162246,GB 774162247,774162256,US -774162257,774162296,A1 -774162297,774162306,GB -774162307,774162336,A1 +774162257,774162336,GB 774162337,774162346,AZ 774162347,774162366,US 774162367,774162376,MX @@ -8311,7 +8979,8 @@ 774162397,774162406,SZ 774162407,774162416,SD 774162417,774162426,BF -774162427,774162432,A1 +774162427,774162431,GB +774162432,774162432,A1 774162433,774162442,GB 774162443,774162452,BA 774162453,774162462,BO @@ -8538,16 +9207,23 @@ 778371072,778403839,GB 778403840,778436607,DE 778436608,778461183,RO -778461184,778463231,EE +778461184,778461439,TR +778461440,778462207,EE +778462208,778462463,TR +778462464,778463231,EE 778463232,778467327,RO 778467328,778473471,IR 778473472,778475519,RO 778475520,778475775,CH 778475776,778476031,RO 778476032,778476287,MD -778476288,778481919,RO +778476288,778480639,RO +778480640,778480895,MD +778480896,778481663,RO +778481664,778481919,MD 778481920,778482943,GB -778482944,778484735,RO +778482944,778483199,MD +778483200,778484735,RO 778484736,778485247,IT 778485248,778485759,RO 778485760,778493951,GB @@ -8593,11 +9269,17 @@ 778673208,778673211,ES 778673212,778673383,FR 778673384,778673387,IT -778673388,778673751,FR +778673388,778673631,FR +778673632,778673647,DE +778673648,778673751,FR 778673752,778673759,DE 778673760,778673883,FR 778673884,778673887,ES -778673888,778675795,FR +778673888,778674767,FR +778674768,778674783,BE +778674784,778675695,FR +778675696,778675711,BE +778675712,778675795,FR 778675796,778675799,ES 778675800,778675891,FR 778675892,778675895,ES @@ -8624,13 +9306,19 @@ 778681504,778681507,DE 778681508,778681519,FR 778681520,778681523,ES -778681524,778681823,FR +778681524,778681535,FR +778681536,778681543,NL +778681544,778681823,FR 778681824,778681827,IT 778681828,778682103,FR 778682104,778682111,DE -778682112,778688627,FR +778682112,778688447,FR +778688448,778688451,CZ +778688452,778688627,FR 778688628,778688631,NL -778688632,778691619,FR +778688632,778689923,FR +778689924,778689927,DE +778689928,778691619,FR 778691620,778691623,IT 778691624,778691711,FR 778691712,778691727,GB @@ -8650,7 +9338,9 @@ 778693428,778693431,ES 778693432,778693759,FR 778693760,778693763,ES -778693764,778695471,FR +778693764,778695135,FR +778695136,778695167,DE +778695168,778695471,FR 778695472,778695475,ES 778695476,778695839,FR 778695840,778695871,DE @@ -8659,14 +9349,16 @@ 778696448,778696495,FR 778696496,778696499,ES 778696500,778696811,FR -778696812,778696812,DE -778696813,778696991,FR +778696812,778696815,DE +778696816,778696991,FR 778696992,778696995,ES 778696996,778697067,FR 778697068,778697071,ES 778697072,778697175,FR 778697176,778697179,ES -778697180,778697815,FR +778697180,778697471,FR +778697472,778697479,CZ +778697480,778697815,FR 778697816,778697819,ES 778697820,778697955,FR 778697956,778697959,ES @@ -8715,7 +9407,7 @@ 781189120,781320191,NL 781320192,781451263,RU 781451264,781455359,PL -781455360,781459455,LT +781455360,781459455,UA 781459456,781463551,IR 781463552,781467647,RU 781467648,781475839,PL @@ -8723,7 +9415,8 @@ 781479936,781484031,UA 781484032,781488127,RU 781488128,781496319,PL -781496320,781516799,RU +781496320,781500415,UA +781500416,781516799,RU 781516800,781520895,SA 781520896,781524991,IS 781524992,781529087,RU @@ -8910,7 +9603,9 @@ 783681536,783683583,IE 783683584,783685631,DE 783685632,783687679,RU -783687680,783689727,PT +783687680,783688447,PT +783688448,783688703,ES +783688704,783689727,PT 783689728,783691775,FR 783691776,783693823,BY 783693824,783694367,GB @@ -9479,8 +10174,8 @@ 793247744,793313279,NZ 793313280,793378815,DE 793378816,794558463,CA -794558464,795934719,CN -795934720,797873663,CA +794558464,796917759,CN +796917760,797873663,CA 797873664,797873919,US 797873920,805306367,CA 805306368,822083583,US @@ -9604,39 +10299,28 @@ 838467584,838729727,JP 838729728,838795263,KR 838795264,838860799,AU -838860800,838995711,US -838995712,838995967,CA -838995968,838996991,US +838860800,838996991,US 838996992,838997247,CA 838997248,839016191,US 839016192,839016447,CA -839016448,839027967,US -839027968,839030015,IN -839030016,839056447,US +839016448,839056447,US 839056448,839056455,CN -839056456,839061503,US -839061504,839061759,CA -839061760,839062271,US -839062272,839064063,CA -839064064,839069183,US -839069184,839071231,CA -839071232,839095807,US -839095808,839096063,CA -839096064,839104255,US -839104256,839104511,CA -839104512,839112191,US -839112192,839112703,CA -839112704,839339607,US +839056456,839112191,US +839112192,839112447,CA +839112448,839339607,US 839339608,839339609,A1 -839339610,839348223,US +839339610,839340031,US +839340032,839341055,ES +839341056,839342079,US +839342080,839343103,DE +839343104,839348223,US 839348224,839348479,DE 839348480,839348735,AT 839348736,839348991,GB 839348992,839349247,AT 839349248,839350271,DE 839350272,839351295,NL -839351296,839351807,US -839351808,839352063,DE +839351296,839352063,DE 839352064,839352319,US 839352320,839357439,NL 839357440,839358463,FR @@ -9667,11 +10351,7 @@ 840838511,840838512,UA 840838513,840865791,US 840865792,840866047,CA -840866048,840898047,US -840898048,840898559,CA -840898560,840909055,US -840909056,840909311,CA -840909312,840953855,US +840866048,840953855,US 840953856,840954367,JP 840954368,840956927,US 840956928,840957951,JP @@ -9687,9 +10367,7 @@ 846442496,846446591,CA 846446592,846537727,US 846537728,846537983,A1 -846537984,846540031,US -846540032,846540287,A1 -846540288,846544127,US +846537984,846544127,US 846544128,846544383,A1 846544384,846546943,US 846546944,846547199,A1 @@ -9700,20 +10378,62 @@ 846627072,855638015,US 855638016,860905167,GB 860905168,860905171,FR -860905172,872415231,GB +860905172,867041279,GB +867041280,867172351,NO +867172352,867368959,GB +867368960,867401727,IT +867401728,869466111,GB +869466112,869531647,SA +869531648,869924863,GB +869924864,869990399,SA +869990400,870252543,GB +870252544,870318079,SA +870318080,871038975,GB +871038976,871104511,SA +871104512,872153087,GB +872153088,872284159,SA +872284160,872288871,FR +872288872,872288875,DE +872288876,872290111,FR +872290112,872290143,ES +872290144,872415231,FR 872415232,873463807,US -873463808,873594879,IE -873594880,874250239,US -874250240,874315775,DE -874315776,876609535,US -876609536,876642303,AU -876642304,876871679,US +873463808,873725951,IE +873725952,874250239,US +874250240,874381311,DE +874381312,876609535,US +876609536,876675071,AU +876675072,876871679,US 876871680,877002751,JP 877002752,877264895,US 877264896,877330431,SG -877330432,878510079,US -878510080,878518271,DE -878518272,880877567,US +877330432,877395967,US +877395968,877428735,SG +877428736,878649855,US +878649856,878650111,JP +878650112,878650367,SG +878650368,878651391,AU +878651392,878655487,US +878655488,878656511,JP +878656512,878702591,US +878702592,878702847,BR +878702848,878703103,AU +878703104,878703359,SG +878703360,878703615,JP +878703616,878703871,IE +878703872,878704639,US +878704640,878704895,DE +878704896,878705151,CN +878705152,878706431,US +878706432,878706447,BR +878706448,878706463,AU +878706464,878706479,SG +878706480,878706495,JP +878706496,878706511,IE +878706512,878706559,US +878706560,878706575,DE +878706576,878706591,CN +878706592,880877567,US 880877568,880878079,EU 880878080,882843337,US 882843338,882843339,EU @@ -9824,13 +10544,7 @@ 922189568,922205775,IE 922205776,922205776,DE 922205777,922222591,IE -922222592,922289836,JP -922289837,922289837,DE -922289838,922289844,JP -922289845,922289845,DE -922289846,922289852,JP -922289853,922289853,DE -922289854,922419199,JP +922222592,922419199,JP 922419200,922427633,SG 922427634,922427634,US 922427635,922427703,SG @@ -10252,7 +10966,9 @@ 1023238144,1023246335,ID 1023246336,1023279103,CN 1023279104,1023311871,IN -1023311872,1023328255,US +1023311872,1023317503,US +1023317504,1023317759,IN +1023317760,1023328255,US 1023328256,1023344639,JP 1023344640,1023410175,CN 1023410176,1023672319,IN @@ -10297,26 +11013,24 @@ 1024196608,1024229375,IN 1024229376,1024262143,JP 1024262144,1024327679,SG -1024327680,1024344063,US +1024327680,1024327935,US +1024327936,1024327943,AU +1024327944,1024344063,US 1024344064,1024352255,SG 1024352256,1024360447,AU 1024360448,1024361167,JP 1024361168,1024361183,HK -1024361184,1024362911,JP -1024362912,1024362943,SG -1024362944,1024364063,JP +1024361184,1024364063,JP 1024364064,1024364079,AU 1024364080,1024365055,JP 1024365056,1024365311,AP 1024365312,1024365567,JP 1024365568,1024365823,SG -1024365824,1024368639,JP -1024368640,1024369407,MY -1024369408,1024371199,JP +1024365824,1024371199,JP 1024371200,1024371455,PH 1024371456,1024372543,JP -1024372544,1024372607,HK -1024372608,1024373263,JP +1024372544,1024372639,HK +1024372640,1024373263,JP 1024373264,1024373279,HK 1024373280,1024376831,JP 1024376832,1024378879,PH @@ -10330,10 +11044,10 @@ 1025245184,1025277951,CN 1025277952,1025294335,PH 1025294336,1025294591,JP -1025294592,1025294847,HK +1025294592,1025294847,SG 1025294848,1025295103,TH 1025295104,1025295615,CN -1025295616,1025295871,MY +1025295616,1025295871,PH 1025295872,1025296127,GB 1025296128,1025296639,FR 1025296640,1025296895,MY @@ -10480,7 +11194,11 @@ 1041784832,1041793023,KE 1041793024,1041825791,GB 1041825792,1041842175,NL -1041842176,1041891327,GB +1041842176,1041858559,GB +1041858560,1041862655,HK +1041862656,1041866751,SG +1041866752,1041870847,JP +1041870848,1041891327,GB 1041891328,1042022399,DE 1042022400,1042087935,PT 1042087936,1042120703,TR @@ -10864,7 +11582,9 @@ 1046531840,1046532095,DE 1046532096,1046533375,GB 1046533376,1046533383,DE -1046533384,1046535295,GB +1046533384,1046533537,GB +1046533538,1046533538,DE +1046533539,1046535295,GB 1046535296,1046535311,DE 1046535312,1046535439,GB 1046535440,1046535447,DE @@ -10977,7 +11697,8 @@ 1048051712,1048117247,SA 1048117248,1048125439,GB 1048125440,1048133631,FI -1048133632,1048158207,PL +1048133632,1048150015,RO +1048150016,1048158207,PL 1048158208,1048166399,DK 1048166400,1048182783,CH 1048182784,1048184831,UA @@ -11052,7 +11773,9 @@ 1049030656,1049031679,DE 1049031680,1049031743,EU 1049031744,1049031871,DE -1049031872,1049034751,EU +1049031872,1049032093,EU +1049032094,1049032094,DE +1049032095,1049034751,EU 1049034752,1049067519,EG 1049067520,1049100287,DK 1049100288,1049231359,GB @@ -11060,7 +11783,9 @@ 1049296896,1049362431,EG 1049362432,1049366527,GB 1049366528,1049368575,DE -1049368576,1049369983,GB +1049368576,1049368656,GB +1049368657,1049368657,DE +1049368658,1049369983,GB 1049369984,1049370047,DE 1049370048,1049370623,GB 1049370624,1049378815,AT @@ -11841,9 +12566,7 @@ 1065906176,1065908223,KY 1065908224,1066254975,US 1066254976,1066255103,GB -1066255104,1066255871,US -1066255872,1066256383,A1 -1066256384,1066311679,US +1066255104,1066311679,US 1066311680,1066315775,CA 1066315776,1066352639,US 1066352640,1066355711,JM @@ -11951,7 +12674,9 @@ 1071477248,1071480831,CA 1071480832,1071522817,US 1071522818,1071522818,MW -1071522819,1071727023,US +1071522819,1071726951,US +1071726952,1071726955,IE +1071726956,1071727023,US 1071727024,1071727027,GB 1071727028,1071954223,US 1071954224,1071954231,GB @@ -11987,9 +12712,7 @@ 1072926208,1072926719,US 1072926720,1072926975,PH 1072926976,1072927487,CA -1072927488,1072927743,US -1072927744,1072927999,CA -1072928000,1072928511,US +1072927488,1072928511,US 1072928512,1072928767,CA 1072928768,1072929023,US 1072929024,1072929535,CA @@ -11998,7 +12721,9 @@ 1072931072,1072931327,US 1072931328,1072931583,CA 1072931584,1072931839,SY -1072931840,1072932607,CA +1072931840,1072932095,CA +1072932096,1072932351,US +1072932352,1072932607,CA 1072932608,1072932863,NG 1072932864,1072933887,US 1072933888,1072934399,CA @@ -12190,9 +12915,9 @@ 1075421184,1075429375,CA 1075429376,1075478527,US 1075478528,1075494911,CA -1075494912,1075558143,US -1075558144,1075558911,VI -1075558912,1075576831,US +1075494912,1075558399,US +1075558400,1075558655,VI +1075558656,1075576831,US 1075576832,1075576895,GB 1075576896,1075576896,SE 1075576897,1075577087,GB @@ -12307,9 +13032,7 @@ 1076174848,1076178943,BM 1076178944,1076183807,US 1076183808,1076184063,CA -1076184064,1076193279,US -1076193280,1076193535,PK -1076193536,1076194559,US +1076184064,1076194559,US 1076194560,1076194815,CA 1076194816,1076195071,US 1076195072,1076195327,IN @@ -12343,11 +13066,7 @@ 1076424704,1076428799,CA 1076428800,1076543487,US 1076543488,1076559871,CA -1076559872,1076628991,US -1076628992,1076629247,VI -1076629248,1076635647,US -1076647680,1076647935,US -1076660224,1076660735,US +1076559872,1076625407,US 1076690944,1076756479,US 1076756480,1076772863,CA 1076772864,1076850687,US @@ -12578,7 +13297,9 @@ 1080024320,1080024575,CA 1080024576,1080033279,US 1080033280,1080164351,KY -1080164352,1080295423,CA +1080164352,1080225791,CA +1080225792,1080229887,US +1080229888,1080295423,CA 1080295424,1080498664,US 1080498665,1080498665,EU 1080498666,1080501503,US @@ -12617,9 +13338,7 @@ 1081037312,1081037567,CA 1081037568,1081038335,US 1081038336,1081040895,CA -1081040896,1081081855,US -1081122560,1081122815,VI -1081126912,1081212927,US +1081040896,1081212927,US 1081212928,1081278463,CA 1081278464,1081369599,US 1081369600,1081370111,CO @@ -12696,7 +13415,9 @@ 1082945536,1082949631,CA 1082949632,1082982399,US 1082982400,1083015167,CA -1083015168,1083396095,US +1083015168,1083267583,US +1083267584,1083268095,JP +1083268096,1083396095,US 1083396096,1083400191,BM 1083400192,1083437055,US 1083437056,1083441151,CA @@ -12728,11 +13449,9 @@ 1085997056,1086013439,CA 1086013440,1086042111,US 1086042112,1086046207,CA -1086046208,1086309887,US -1086309888,1086310143,AU -1086310144,1086317823,US -1086317824,1086318079,CA -1086318080,1086421503,US +1086046208,1086050815,US +1086050816,1086051327,CA +1086051328,1086421503,US 1086421504,1086422015,MP 1086422016,1086922751,US 1086922752,1086930943,CA @@ -12758,7 +13477,9 @@ 1087444224,1087444479,GB 1087444480,1087465727,US 1087465728,1087465983,AU -1087465984,1087496703,US +1087465984,1087466883,US +1087466884,1087466887,GB +1087466888,1087496703,US 1087496704,1087496959,CA 1087496960,1087501567,US 1087501568,1087501695,HK @@ -12804,9 +13525,13 @@ 1088012768,1088012775,PR 1088012776,1088684031,US 1088684032,1088946175,CA -1088946176,1089057279,US +1088946176,1089055999,US +1089056000,1089056255,AP +1089056256,1089057279,US 1089057280,1089057535,EU -1089057536,1089167359,US +1089057536,1089151231,US +1089151232,1089151487,NL +1089151488,1089167359,US 1089167360,1089171455,CA 1089171456,1089171967,A2 1089171968,1089172735,US @@ -12875,9 +13600,7 @@ 1090427392,1090427647,CA 1090427648,1090445311,US 1090445312,1090453503,CA -1090453504,1091798783,US -1091798784,1091799039,CN -1091799040,1091803135,US +1090453504,1091803135,US 1091803136,1091803391,CN 1091803392,1091807231,US 1091807232,1091807487,CA @@ -12896,9 +13619,7 @@ 1093033984,1093055487,US 1093055488,1093055743,AR 1093055744,1093058559,US -1093058560,1093063167,PR -1093063168,1093063679,DO -1093063680,1093066751,PR +1093058560,1093066751,PR 1093066752,1093074943,US 1093074944,1093091327,CA 1093091328,1093107967,US @@ -12992,15 +13713,17 @@ 1093723648,1093724415,BB 1093724416,1093725183,VC 1093725184,1093730303,BB -1093730304,1093733887,US -1093733888,1093734143,A1 -1093734144,1093965960,US +1093730304,1093734053,US +1093734054,1093734054,PH +1093734055,1093965960,US 1093965961,1093965961,NL 1093965962,1093966163,US 1093966164,1093966164,NL 1093966165,1093966216,US 1093966217,1093966217,NL -1093966218,1094074879,US +1093966218,1093984294,US +1093984295,1093984295,IE +1093984296,1094074879,US 1094074880,1094075167,BR 1094075168,1094088959,US 1094088960,1094089023,PR @@ -13054,7 +13777,9 @@ 1098070272,1098070279,GR 1098070280,1098070295,US 1098070296,1098070303,BE -1098070304,1101121535,US +1098070304,1098891623,US +1098891624,1098891631,AU +1098891632,1101121535,US 1101121536,1101121791,EC 1101121792,1101182975,US 1101182976,1101183487,YE @@ -13234,7 +13959,9 @@ 1108525056,1108541439,CA 1108541440,1109688319,US 1109688320,1109696511,CA -1109696512,1109707007,US +1109696512,1109705727,US +1109705728,1109705983,CG +1109705984,1109707007,US 1109707008,1109707263,JM 1109707264,1109707519,US 1109707520,1109707775,MW @@ -13329,9 +14056,7 @@ 1110887424,1110887679,IE 1110887680,1110929407,US 1110929408,1110933503,BM -1110933504,1110937599,US -1110937600,1110937855,A1 -1110937856,1111195647,US +1110933504,1111195647,US 1111195648,1111212031,CA 1111212032,1111228415,US 1111228416,1111244799,AR @@ -13339,13 +14064,19 @@ 1112432640,1112440831,CA 1112440832,1112530943,US 1112530944,1112539135,CA -1112539136,1112867071,US -1112871936,1112872191,US -1112872960,1112873215,US +1112539136,1112870911,US +1112871936,1112873983,US 1112873984,1112875007,CA -1112875008,1112907775,US +1112875008,1112875519,US +1112875520,1112875775,CA +1112875776,1112889855,US +1112890112,1112890367,CA +1112890368,1112907775,US 1112907776,1112907783,CA -1112907784,1113591807,US +1112907784,1112931327,US +1112931328,1112931839,CA +1112931840,1112932095,US +1112932352,1113591807,US 1113591808,1113595903,CA 1113595904,1113596415,CL 1113596416,1113596927,GT @@ -13361,9 +14092,10 @@ 1113603328,1113603583,GT 1113603584,1113603839,US 1113603840,1113604095,CA -1113604096,1113643202,US -1113643203,1113643237,CH -1113643238,1113657343,US +1113604096,1113636863,US +1113636864,1113645055,SG +1113645056,1113653247,ID +1113653248,1113657343,US 1113657344,1113661439,CA 1113661440,1113669631,US 1113669632,1113677823,CA @@ -13467,16 +14199,16 @@ 1117415424,1117416191,CW 1117416192,1117416447,CA 1117416448,1117416703,US -1117416704,1117419775,CA -1117419776,1117420031,US -1117420032,1117420415,CA +1117416704,1117420415,CA 1117420416,1117420447,US 1117420448,1117421567,CA 1117421568,1117458911,US 1117458912,1117458943,GB 1117458944,1117460223,US 1117460224,1117460287,GB -1117460288,1117470719,US +1117460288,1117460991,US +1117460992,1117461247,GB +1117461248,1117470719,US 1117470720,1117471231,CA 1117471232,1117480191,US 1117480192,1117480255,CA @@ -13504,10 +14236,8 @@ 1118031872,1118126335,US 1118126336,1118126591,CA 1118126592,1118130687,US -1118130688,1118131353,CA -1118131354,1118131354,US -1118131355,1118131455,CA -1118131456,1118131967,US +1118130688,1118131199,CA +1118131200,1118131967,US 1118131968,1118132479,CA 1118132480,1118132991,US 1118132992,1118133247,CA @@ -13627,9 +14357,7 @@ 1119558144,1119558655,PR 1119558656,1119568383,US 1119568384,1119568639,GB -1119568640,1119570559,US -1119570560,1119570687,GB -1119570688,1119571967,US +1119568640,1119571967,US 1119571968,1119576063,CA 1119576064,1119580159,US 1119580160,1119584255,CA @@ -13683,9 +14411,7 @@ 1120376480,1120376494,CA 1120376495,1120376559,US 1120376560,1120376575,CA -1120376576,1120376695,US -1120376696,1120376703,CA -1120376704,1120376831,US +1120376576,1120376831,US 1120376832,1120377087,CA 1120377088,1120377343,US 1120377344,1120377599,CA @@ -13925,9 +14651,7 @@ 1125550336,1125552127,CA 1125552128,1125572607,US 1125572608,1125576703,CA -1125576704,1125593371,US -1125593372,1125593375,GB -1125593376,1125613567,US +1125576704,1125613567,US 1125613568,1125617663,CA 1125617664,1126924287,US 1126924288,1126928383,CA @@ -13953,7 +14677,9 @@ 1133785352,1133785359,IE 1133785360,1133785439,US 1133785440,1133785471,GB -1133785472,1133789695,US +1133785472,1133785487,US +1133785488,1133785495,IE +1133785496,1133789695,US 1133789696,1133789823,GB 1133789824,1133789887,US 1133789888,1133789895,NL @@ -14072,9 +14798,7 @@ 1138544896,1138545151,GB 1138545152,1138593791,US 1138593792,1138597887,CA -1138597888,1138600447,US -1138600448,1138600703,BE -1138600704,1138704383,US +1138597888,1138704383,US 1138704384,1138716671,CA 1138716672,1138720767,US 1138720768,1138728959,CA @@ -14171,9 +14895,7 @@ 1157753088,1157753343,GB 1157753344,1157758207,US 1157758208,1157758463,RU -1157758464,1157912703,US -1157912704,1157912831,CA -1157912832,1157913215,US +1157758464,1157913215,US 1157913216,1157913279,CA 1157913280,1157914194,US 1157914195,1157914202,IN @@ -14209,8 +14931,13 @@ 1158348800,1158381567,CA 1158381568,1158422527,US 1158422528,1158423551,CA -1158423552,1158440959,US +1158423552,1158427647,US +1158427648,1158428159,CA +1158428160,1158428415,US +1158428672,1158440959,US +1158440960,1158441215,CA 1158441216,1158441471,US +1158441472,1158441983,CA 1158441984,1158443007,DM 1158443008,1158774783,US 1158774784,1158784703,CA @@ -14226,13 +14953,7 @@ 1159102720,1159102975,A1 1159102976,1159112703,US 1159112704,1159112959,A1 -1159112960,1159113215,US -1159113216,1159113471,A1 -1159113472,1159113727,US -1159113728,1159113983,A1 -1159113984,1159115519,US -1159115520,1159115775,A1 -1159115776,1159117055,US +1159112960,1159117055,US 1159117056,1159117311,A1 1159117312,1159117567,US 1159117568,1159117823,A1 @@ -14390,11 +15111,17 @@ 1161427456,1161428223,AG 1161428224,1161428991,KN 1161428992,1161429247,US -1161429248,1161429503,CA +1161429248,1161429375,CA +1161429376,1161429407,US +1161429408,1161429503,CA 1161429504,1161429951,US 1161429952,1161430015,CA 1161430016,1161430783,US -1161430784,1161431039,CA +1161430784,1161430879,CA +1161430880,1161430911,US +1161430912,1161430943,CA +1161430944,1161430975,US +1161430976,1161431039,CA 1161431040,1161433087,A2 1161433088,1161437183,CA 1161437184,1161453567,US @@ -14495,9 +15222,7 @@ 1162840064,1162853375,US 1162853376,1162854399,PR 1162854400,1162858495,JM -1162858496,1162862591,US -1162862592,1162866687,PR -1162866688,1162870783,US +1162858496,1162870783,US 1162870784,1162871295,BB 1162871296,1162879999,LC 1162880000,1162882559,DM @@ -14548,7 +15273,13 @@ 1163536128,1163536383,CA 1163536384,1163537663,US 1163537664,1163538431,CA -1163538432,1163540351,US +1163538432,1163538463,US +1163538464,1163538479,CA +1163538480,1163538575,US +1163538576,1163538591,CA +1163538592,1163539199,US +1163539200,1163539455,CA +1163539456,1163540351,US 1163540352,1163540479,CA 1163540480,1163540735,US 1163540736,1163541503,CA @@ -14709,8 +15440,8 @@ 1168958528,1168958559,IN 1168958560,1168960671,US 1168960672,1168960703,CA -1168960704,1168961023,US -1168961024,1168961791,CA +1168960704,1168961535,US +1168961536,1168961791,CA 1168961792,1168961807,US 1168961808,1168961815,CA 1168961816,1168961887,US @@ -14748,8 +15479,7 @@ 1170467840,1170468351,DO 1170468352,1170470911,US 1170470912,1170471167,ES -1170471168,1170472703,US -1170472704,1170472959,VG +1170471168,1170472959,US 1170472960,1170481151,CA 1170481152,1170489343,US 1170489344,1170497535,CA @@ -14777,8 +15507,7 @@ 1176626112,1176626127,CA 1176626128,1176630271,US 1176630272,1176631295,CA -1176631296,1176631551,NL -1176631552,1176702975,US +1176631296,1176702975,US 1176702976,1176707071,CA 1176707072,1176731647,US 1176731648,1176735743,PR @@ -14832,12 +15561,12 @@ 1177059328,1177061375,CA 1177061376,1177062143,US 1177062144,1177075455,CA -1177075456,1177164863,US +1177075456,1177164415,US +1177164416,1177164543,CA +1177164544,1177164863,US 1177164864,1177164895,CA 1177164896,1177165055,US -1177165056,1177165061,CA -1177165062,1177165062,US -1177165063,1177165311,CA +1177165056,1177165311,CA 1177165312,1177354239,US 1177354240,1177403391,PR 1177403392,1177403647,US @@ -14881,9 +15610,7 @@ 1208338176,1208590335,US 1208590336,1208598527,CA 1208598528,1208647679,US -1208647680,1208656575,CA -1208656576,1208656583,DO -1208656584,1208657775,CA +1208647680,1208657775,CA 1208657776,1208657783,TR 1208657784,1208659967,CA 1208659968,1208721407,US @@ -15027,7 +15754,13 @@ 1211334656,1211367935,US 1211367936,1211368191,CA 1211368192,1211368447,EE -1211368448,1211432959,US +1211368448,1211390981,US +1211390982,1211390982,DE +1211390983,1211390989,US +1211390990,1211390990,DE +1211390991,1211391216,US +1211391217,1211391217,IT +1211391218,1211432959,US 1211432960,1211473919,CA 1211473920,1211596799,US 1211596800,1211605999,CA @@ -15158,7 +15891,7 @@ 1248915456,1248919551,US 1248919552,1248920575,CA 1248920576,1248921599,US -1248921600,1248923647,CA +1248922624,1248923647,CA 1248923648,1248936959,US 1248936960,1248939007,CA 1248939008,1248946175,US @@ -15246,7 +15979,7 @@ 1249359872,1249361919,CA 1249361920,1249379327,US 1249379328,1249380351,CA -1249380352,1249384447,US +1249380352,1249383423,US 1249384448,1249386495,PR 1249386496,1249391615,US 1249391616,1249392639,CA @@ -15309,7 +16042,9 @@ 1249720600,1249720607,IT 1249720608,1249720663,GB 1249720664,1249720671,SE -1249720672,1249720831,GB +1249720672,1249720711,GB +1249720712,1249720719,NL +1249720720,1249720831,GB 1249720832,1249721343,US 1249721344,1249721351,AT 1249721352,1249721359,BE @@ -15391,9 +16126,7 @@ 1254490112,1254555647,CA 1254555648,1254621183,US 1254621184,1254629375,CA -1254629376,1254704383,US -1254704384,1254704639,PH -1254704640,1254978751,US +1254629376,1254978751,US 1254978752,1254978767,LB 1254978768,1254989823,US 1254989824,1254998015,CA @@ -15443,7 +16176,9 @@ 1264718720,1264718847,CA 1264718848,1264719103,US 1264719104,1264719871,CA -1264719872,1264762879,US +1264719872,1264746527,US +1264746528,1264746543,CA +1264746544,1264762879,US 1264762880,1264763391,CA 1264763392,1264763647,IE 1264763648,1264766975,CA @@ -15607,7 +16342,9 @@ 1296237824,1296237824,GB 1296237825,1296237825,FR 1296237826,1296237826,GB -1296237827,1296238591,FR +1296237827,1296237878,FR +1296237879,1296237879,GB +1296237880,1296238591,FR 1296238592,1296239103,NL 1296239104,1296239231,FR 1296239232,1296239359,NL @@ -15840,7 +16577,11 @@ 1297072128,1297088511,PL 1297088512,1297121279,AT 1297121280,1297154047,SE -1297154048,1297168383,RO +1297154048,1297154815,RO +1297154816,1297155071,MD +1297155072,1297162239,RO +1297162240,1297166335,IR +1297166336,1297168383,RO 1297168384,1297170431,AZ 1297170432,1297170943,RO 1297170944,1297171455,GB @@ -15852,9 +16593,13 @@ 1297176320,1297176831,RO 1297176832,1297177599,GB 1297177600,1297177855,QA -1297177856,1297178623,RO +1297177856,1297178111,US +1297178112,1297178367,QA +1297178368,1297178623,RO 1297178624,1297178879,NL -1297178880,1297182719,RO +1297178880,1297181951,RO +1297181952,1297182463,DE +1297182464,1297182719,RO 1297182720,1297184767,ES 1297184768,1297185279,BZ 1297185280,1297190143,RO @@ -16385,7 +17130,12 @@ 1310707968,1310708223,PL 1310708224,1310708479,RU 1310708480,1310708735,GB -1310708736,1310709247,IE +1310708736,1310708927,IE +1310708928,1310708943,GB +1310708944,1310709199,IE +1310709200,1310709215,DE +1310709216,1310709231,NL +1310709232,1310709247,IE 1310709248,1310709759,PL 1310709760,1310711807,RU 1310711808,1310713855,LT @@ -16418,7 +17168,10 @@ 1311264768,1311266815,RU 1311266816,1311268863,FR 1311268864,1311270911,BE -1311270912,1311272959,RU +1311270912,1311271935,RU +1311271936,1311272447,KZ +1311272448,1311272703,RU +1311272704,1311272959,IE 1311272960,1311275007,GB 1311275008,1311277055,FR 1311277056,1311279103,IT @@ -16569,17 +17322,7 @@ 1317011456,1317044223,BG 1317044224,1317076991,CZ 1317076992,1317109759,BE -1317109760,1317111935,GB -1317111936,1317111999,A1 -1317112000,1317115391,GB -1317115392,1317115647,A1 -1317115648,1317117951,GB -1317117952,1317118207,A1 -1317118208,1317119999,GB -1317120000,1317120255,A1 -1317120256,1317120767,GB -1317120768,1317120895,A1 -1317120896,1317126399,GB +1317109760,1317126399,GB 1317126400,1317126655,US 1317126656,1317142527,GB 1317142528,1317175295,PT @@ -16645,9 +17388,13 @@ 1318593984,1318593991,GB 1318593992,1318594007,NL 1318594008,1318594015,GB -1318594016,1318597343,NL +1318594016,1318596543,NL +1318596544,1318596559,SE +1318596560,1318597343,NL 1318597344,1318597359,US -1318597360,1318600703,NL +1318597360,1318599679,NL +1318599680,1318599687,IE +1318599688,1318600703,NL 1318600704,1318608895,AT 1318608896,1318617087,IT 1318617088,1318625279,FR @@ -16687,10 +17434,9 @@ 1318903808,1318911999,RU 1318912000,1318920191,MK 1318920192,1318928383,IR -1318928384,1318936319,LT -1318936320,1318936383,US +1318928384,1318936383,LT 1318936384,1318936447,BR -1318936448,1318936575,US +1318936448,1318936575,LT 1318936576,1318944767,DK 1318944768,1318958079,CZ 1318958080,1318960127,PL @@ -16843,7 +17589,9 @@ 1334116352,1334124543,AX 1334124544,1334125567,DE 1334125568,1334126591,ES -1334126592,1334130687,DE +1334126592,1334127359,DE +1334127360,1334127615,AT +1334127616,1334130687,DE 1334130688,1334131711,NL 1334131712,1334132735,DE 1334132736,1334165503,RU @@ -16942,13 +17690,12 @@ 1334724352,1334724607,SE 1334724608,1334724863,US 1334724864,1334725631,NL -1334725632,1334725887,SE -1334725888,1334725900,NL -1334725901,1334725901,SE -1334725902,1334726143,NL +1334725632,1334726143,SE 1334726144,1334726399,LU 1334726400,1334726655,SE -1334726656,1334734847,RU +1334726656,1334730239,RU +1334730240,1334730495,KZ +1334730496,1334734847,RU 1334734848,1334738943,LT 1334738944,1334743039,CH 1334743040,1334747135,CZ @@ -16961,7 +17708,9 @@ 1334779904,1334783999,UA 1334784000,1334788095,AT 1334788096,1334792191,RU -1334792192,1334794239,GB +1334792192,1334793320,GB +1334793321,1334793321,IR +1334793322,1334794239,GB 1334794240,1334796287,ES 1334796288,1334800383,ME 1334800384,1334804479,IT @@ -17280,8 +18029,8 @@ 1347010560,1347014655,RU 1347014656,1347018751,GG 1347018752,1347022847,IT -1347022848,1347026943,AT -1347026944,1347035135,GB +1347022848,1347024895,AT +1347024896,1347035135,GB 1347035136,1347039231,CZ 1347039232,1347043327,RO 1347043328,1347047423,FR @@ -17669,7 +18418,9 @@ 1347694592,1347706879,GB 1347706880,1347710975,IT 1347710976,1347715071,RU -1347715072,1347718143,ES +1347715072,1347717375,ES +1347717376,1347717631,BG +1347717632,1347718143,ES 1347718144,1347718399,US 1347718400,1347723263,ES 1347723264,1347727359,GB @@ -17768,7 +18519,11 @@ 1348063232,1348067327,CH 1348067328,1348071423,NL 1348071424,1348075519,DE -1348075520,1348083711,LV +1348075520,1348076287,LV +1348076288,1348076543,RU +1348076544,1348082687,LV +1348082688,1348082943,RU +1348082944,1348083711,LV 1348083712,1348091903,LU 1348091904,1348095999,RU 1348096000,1348100095,AL @@ -17897,7 +18652,9 @@ 1353262296,1353262303,US 1353262304,1353271567,GB 1353271568,1353271575,AT -1353271576,1353271727,GB +1353271576,1353271711,GB +1353271712,1353271719,AT +1353271720,1353271727,GB 1353271728,1353271743,AT 1353271744,1353271775,GB 1353271776,1353271807,AT @@ -17988,9 +18745,13 @@ 1357316096,1357317119,EU 1357317120,1357317375,GB 1357317376,1357317631,A2 -1357317632,1357318399,EU +1357317632,1357318159,EU +1357318160,1357318191,GB +1357318192,1357318399,EU 1357318400,1357318655,FR -1357318656,1357321023,EU +1357318656,1357318911,EU +1357318912,1357319167,DE +1357319168,1357321023,EU 1357321024,1357321087,KE 1357321088,1357321983,EU 1357321984,1357322239,GB @@ -18000,8 +18761,8 @@ 1357323008,1357323015,CG 1357323016,1357323519,EU 1357323520,1357323775,GB -1357323776,1357323779,FI -1357323780,1357324287,EU +1357323776,1357323791,FI +1357323792,1357324287,EU 1357324288,1357325311,GB 1357325312,1357326335,EU 1357326336,1357326337,ES @@ -18046,8 +18807,10 @@ 1357348416,1357348479,EU 1357348480,1357348607,ES 1357348608,1357350399,EU -1357350400,1357350527,GB -1357350528,1357351167,EU +1357350400,1357350607,GB +1357350608,1357350655,EU +1357350656,1357350783,GB +1357350784,1357351167,EU 1357351168,1357351423,PL 1357351424,1357360063,EU 1357360064,1357360127,GB @@ -18078,11 +18841,11 @@ 1357373556,1357373567,EU 1357373568,1357373695,GB 1357373696,1357373951,EU -1357373952,1357374975,GB -1357374976,1357377535,EU +1357373952,1357375135,GB +1357375136,1357377535,EU 1357377536,1357377671,FR -1357377672,1357377791,EU -1357377792,1357378559,FR +1357377672,1357377695,EU +1357377696,1357378559,FR 1357378560,1357381631,EU 1357381632,1357414399,NO 1357414400,1357447167,LV @@ -18205,7 +18968,9 @@ 1357984120,1357984367,GB 1357984368,1357984375,IT 1357984376,1357984527,GB -1357984528,1357984551,IT +1357984528,1357984535,IT +1357984536,1357984543,GB +1357984544,1357984551,IT 1357984552,1357984591,GB 1357984592,1357984599,IT 1357984600,1357984831,GB @@ -18436,8 +19201,10 @@ 1358861568,1358861823,DE 1358861824,1358862335,FR 1358862336,1358862847,US -1358862848,1358863103,DK -1358863104,1358863359,EU +1358862848,1358862911,DK +1358862912,1358862914,EU +1358862915,1358862915,DK +1358862916,1358863359,EU 1358863360,1358863615,US 1358863616,1358864383,GB 1358864384,1358872575,CH @@ -18472,7 +19239,9 @@ 1359036416,1359052799,GB 1359052800,1359101951,RU 1359101952,1359118335,GB -1359118336,1359119199,DE +1359118336,1359118655,DE +1359118656,1359118719,GR +1359118720,1359119199,DE 1359119200,1359119231,NL 1359119232,1359119359,DE 1359119360,1359120383,NL @@ -18612,7 +19381,9 @@ 1360359424,1360363519,AT 1360363520,1360365567,IT 1360365568,1360367615,NL -1360367616,1360371711,IE +1360367616,1360367771,IE +1360367772,1360367772,DE +1360367773,1360371711,IE 1360371712,1360375807,TR 1360375808,1360379903,NL 1360379904,1360383999,PL @@ -18681,7 +19452,8 @@ 1360654336,1360658431,EE 1360658432,1360666623,PL 1360666624,1360674815,NO -1360674816,1360678911,DZ +1360674816,1360676863,DZ +1360676864,1360678911,ZA 1360678912,1360683007,RU 1360683008,1360691199,GB 1360691200,1360698879,RU @@ -18740,7 +19512,17 @@ 1360961536,1360965631,UA 1360965632,1360977919,RU 1360977920,1360986111,CZ -1360986112,1360992255,GB +1360986112,1360986269,GB +1360986270,1360986270,US +1360986271,1360986299,GB +1360986300,1360986300,US +1360986301,1360986356,GB +1360986357,1360986358,US +1360986359,1360986367,GB +1360986368,1360986399,US +1360986400,1360986631,GB +1360986632,1360986635,US +1360986636,1360992255,GB 1360992256,1360992511,DE 1360992512,1360994303,GB 1360994304,1360998399,CZ @@ -19026,7 +19808,9 @@ 1370619904,1370750975,GB 1370750976,1370767359,RO 1370767360,1370771455,MD -1370771456,1370882047,RO +1370771456,1370772479,RO +1370772480,1370772991,MD +1370772992,1370882047,RO 1370882048,1371013119,HU 1371013120,1371078655,ES 1371078656,1371144191,FR @@ -19052,7 +19836,9 @@ 1372004352,1372012543,A2 1372012544,1372013567,ZM 1372013568,1372020735,A2 -1372020736,1372022783,ZM +1372020736,1372020991,ZM +1372020992,1372021247,CD +1372021248,1372022783,ZM 1372022784,1372026623,A2 1372026624,1372026879,KE 1372026880,1372027903,IL @@ -19260,7 +20046,9 @@ 1382367232,1382383615,BG 1382383616,1382399999,DZ 1382400000,1382416383,NL -1382416384,1382432767,PT +1382416384,1382417663,PT +1382417664,1382418175,SE +1382418176,1382432767,PT 1382432768,1382449151,CY 1382449152,1382465535,IL 1382465536,1382481919,PS @@ -19276,7 +20064,9 @@ 1383088128,1383096319,IS 1383096320,1383098879,GB 1383098880,1383099135,DE -1383099136,1383104511,GB +1383099136,1383099163,GB +1383099164,1383099164,NL +1383099165,1383104511,GB 1383104512,1383112703,JE 1383112704,1383114751,LB 1383114752,1383116799,GB @@ -19349,7 +20139,9 @@ 1383497728,1383505919,RU 1383505920,1383514111,SA 1383514112,1383522303,FI -1383522304,1383530495,BG +1383522304,1383523839,BG +1383523840,1383524095,GB +1383524096,1383530495,BG 1383530496,1383538687,DE 1383538688,1383546879,IT 1383546880,1383555071,BG @@ -19422,16 +20214,18 @@ 1385218048,1385226239,UA 1385226240,1385234431,GB 1385234432,1385242623,DE -1385242624,1385250431,GB -1385250432,1385250559,A1 -1385250560,1385250815,GB +1385242624,1385250815,GB 1385250816,1385259007,PL 1385259008,1385267199,IT 1385267200,1385275391,SE 1385275392,1385283583,IT 1385283584,1385286143,DE 1385286144,1385287679,GB -1385287680,1385291775,EU +1385287680,1385290631,EU +1385290632,1385290632,IS +1385290633,1385291343,EU +1385291344,1385291344,IS +1385291345,1385291775,EU 1385291776,1385299967,TR 1385299968,1385308159,BG 1385308160,1385312255,RU @@ -19489,11 +20283,15 @@ 1386217472,1386283007,PL 1386283008,1386348543,NL 1386348544,1386414079,RU -1386414080,1386448895,GB +1386414080,1386438399,GB +1386438400,1386438655,FR +1386438656,1386448895,GB 1386448896,1386450943,IL 1386450944,1386479615,GB 1386479616,1386545151,NO -1386545152,1386610687,DE +1386545152,1386552319,DE +1386552320,1386553087,GB +1386553088,1386610687,DE 1386610688,1386676223,IL 1386676224,1386741759,SA 1386741760,1387249663,NL @@ -19539,7 +20337,9 @@ 1388568576,1388576767,CH 1388576768,1388580863,NL 1388580864,1388581119,GB -1388581120,1388584959,FR +1388581120,1388583167,FR +1388583168,1388583423,DZ +1388583424,1388584959,FR 1388584960,1388587455,EU 1388587456,1388587471,GB 1388587472,1388589055,EU @@ -19584,9 +20384,15 @@ 1388688160,1388691455,CH 1388691456,1388699647,NL 1388699648,1388707839,SE -1388707840,1388709375,RU +1388707840,1388708727,RU +1388708728,1388708743,US +1388708744,1388708859,RU +1388708860,1388708863,US +1388708864,1388709375,RU 1388709376,1388709887,LT -1388709888,1388714239,RU +1388709888,1388712063,RU +1388712064,1388712191,LT +1388712192,1388714239,RU 1388714240,1388714495,LB 1388714496,1388714751,RU 1388714752,1388715007,LT @@ -19675,7 +20481,9 @@ 1389290496,1389297663,A2 1389297664,1389330431,UA 1389330432,1389363199,DE -1389363200,1389379583,CZ +1389363200,1389373498,CZ +1389373499,1389373499,ES +1389373500,1389379583,CZ 1389379584,1389395967,RU 1389395968,1389412351,RO 1389412352,1389428735,RS @@ -19804,28 +20612,8 @@ 1399717888,1399848959,AE 1399848960,1400111103,FR 1400111104,1400373247,NL -1400373248,1400702463,DE -1400702464,1400702975,EU -1400702976,1400705023,DE -1400705024,1400706047,EU -1400706048,1400707071,DE -1400707072,1400709119,EU -1400709120,1400710143,DE -1400710144,1400711167,EU -1400711168,1400712191,DE -1400712192,1400713215,EU -1400713216,1400718335,DE -1400718336,1400719359,EU -1400719360,1400721919,DE -1400721920,1400722687,EU -1400722688,1400727551,DE -1400727552,1400727807,EU -1400727808,1400727935,DE -1400727936,1400729599,EU -1400729600,1400730623,DE -1400730624,1400731647,EU -1400731648,1400733695,DE -1400733696,1400897535,EU +1400373248,1400766463,DE +1400766464,1400897535,EU 1400897536,1400963071,NL 1400963072,1401028607,DE 1401028608,1401094143,IL @@ -19919,7 +20707,13 @@ 1401708288,1401708543,DE 1401708544,1401712895,SE 1401712896,1401713151,DE -1401713152,1401749503,SE +1401713152,1401727743,SE +1401727744,1401727999,GB +1401728000,1401740543,SE +1401740544,1401740799,DE +1401740800,1401747711,SE +1401747712,1401747967,FR +1401747968,1401749503,SE 1401749504,1401765887,DE 1401765888,1401782271,IE 1401782272,1401815039,FR @@ -19999,9 +20793,7 @@ 1402142720,1402159103,ES 1402159104,1402175487,IT 1402175488,1402191871,IE -1402191872,1402194943,IR -1402194944,1402195967,PT -1402195968,1402208255,IR +1402191872,1402208255,IR 1402208256,1402224639,CZ 1402224640,1402241023,BG 1402241024,1402257407,GB @@ -20039,9 +20831,9 @@ 1403420672,1403428863,NL 1403428864,1403437055,GB 1403437056,1403445247,RO -1403445248,1403447811,RU -1403447812,1403447812,MD -1403447813,1403461631,RU +1403445248,1403447295,RU +1403447296,1403448575,MD +1403448576,1403461631,RU 1403461632,1403469823,FR 1403469824,1403486207,RU 1403486208,1403494399,FR @@ -20422,7 +21214,9 @@ 1408761856,1409286143,SE 1409286144,1409362431,HU 1409362432,1409363967,BG -1409363968,1409378679,HU +1409363968,1409377791,HU +1409377792,1409378047,RO +1409378048,1409378679,HU 1409378680,1409378687,RO 1409378688,1409413119,HU 1409413120,1409415167,BG @@ -20637,10 +21431,8 @@ 1412805632,1412806143,EU 1412806144,1412808703,US 1412808704,1412825087,RU -1412825088,1412830463,IQ -1412830464,1412832767,LB +1412825088,1412831231,IQ 1412832768,1412833023,SL -1412833024,1412841471,LB 1412841472,1412857855,UZ 1412857856,1412874239,BG 1412874240,1412890623,RU @@ -20698,15 +21490,11 @@ 1422786560,1422852095,HU 1422852096,1422857087,EU 1422857088,1422857151,FR -1422857152,1422907391,EU -1422907392,1422909439,NL -1422909440,1422910207,EU -1422910208,1422910463,NL -1422910464,1422910975,EU -1422910976,1422911231,NL -1422911232,1422911487,EU -1422911488,1422913535,GB -1422913536,1422916607,EU +1422857152,1422905343,EU +1422905344,1422907391,IE +1422907392,1422911487,NL +1422911488,1422915583,GB +1422915584,1422916607,EU 1422916608,1422916863,GB 1422916864,1422917343,EU 1422917344,1422917375,NL @@ -20716,11 +21504,7 @@ 1423704064,1423966207,IT 1423966208,1424097279,HU 1424097280,1424228351,CH -1424228352,1424286719,IL -1424286720,1424286938,BG -1424286939,1424286939,IL -1424286940,1424287743,BG -1424287744,1424359423,IL +1424228352,1424359423,IL 1424359424,1424490495,FI 1424490496,1424503711,ES 1424503712,1424503715,PT @@ -20845,11 +21629,11 @@ 1425467392,1425469439,CH 1425469440,1425471487,DK 1425471488,1425473535,DE -1425473536,1425479679,RO -1425479680,1425480703,MD -1425480704,1425484799,RO +1425473536,1425484799,RO 1425484800,1425485311,MD -1425485312,1425489407,RO +1425485312,1425486847,RO +1425486848,1425487359,MD +1425487360,1425489407,RO 1425489408,1425489663,NL 1425489664,1425506303,RO 1425506304,1425522687,NO @@ -20888,7 +21672,9 @@ 1426660659,1426669567,RO 1426669568,1426685951,IR 1426685952,1426702335,TJ -1426702336,1426718719,LV +1426702336,1426716159,LV +1426716160,1426716415,RU +1426716416,1426718719,LV 1426718720,1426731007,SI 1426731008,1426735103,HR 1426735104,1426743295,BE @@ -21030,7 +21816,9 @@ 1431994368,1432002559,AT 1432002560,1432010751,HU 1432010752,1432018943,UA -1432018944,1432027135,GB +1432018944,1432024063,GB +1432024064,1432025087,DE +1432025088,1432027135,GB 1432027136,1432035327,IE 1432035328,1432043519,GB 1432043520,1432051711,ES @@ -21038,8 +21826,7 @@ 1432054016,1432054271,RO 1432054272,1432056831,RU 1432056832,1432057343,RO -1432057344,1432058623,RU -1432058624,1432059903,RO +1432057344,1432059903,RU 1432059904,1432068095,BG 1432068096,1432076287,BE 1432076288,1432084479,RU @@ -21126,7 +21913,7 @@ 1433731072,1433739263,PL 1433739264,1433747455,GE 1433747456,1433755647,RU -1433755648,1433763839,EE +1433755648,1433763839,KZ 1433763840,1433772031,FR 1433772032,1433788415,SE 1433796608,1433804799,GB @@ -21294,7 +22081,8 @@ 1438515200,1438560255,DE 1438560256,1438562303,US 1438562304,1438580735,DE -1438580736,1438646271,NL +1438580736,1438613503,NL +1438613504,1438646271,DK 1438646272,1438662655,RU 1438662656,1438679039,ES 1438679040,1438695423,RU @@ -21308,9 +22096,12 @@ 1438777344,1438793727,SE 1438793728,1438810111,SA 1438810112,1438826495,SE -1438826496,1438838783,FI +1438826496,1438827519,FI +1438827520,1438828543,IQ +1438828544,1438829567,EE +1438829568,1438838783,FI 1438838784,1438840831,PL -1438840832,1438841855,FI +1438840832,1438841855,IQ 1438841856,1438842367,DE 1438842368,1438842879,DK 1438842880,1438859263,SE @@ -21322,14 +22113,10 @@ 1438878208,1438885887,RU 1438885888,1438889983,LT 1438889984,1438892031,RU -1438892032,1438893823,IS -1438893824,1438894079,CH -1438894080,1438896127,IS +1438892032,1438896127,CH 1438896128,1438900223,AQ 1438900224,1438908415,CH -1438908416,1438914815,BG -1438914816,1438917887,GR -1438917888,1438924799,BG +1438908416,1438924799,GR 1438924800,1438941183,NO 1438941184,1438957567,BG 1438957568,1438973951,EE @@ -21364,7 +22151,9 @@ 1439371520,1439371775,FR 1439371776,1439372031,SE 1439372032,1439372287,TR -1439372288,1439373311,NL +1439372288,1439372543,IT +1439372544,1439372799,JP +1439372800,1439373311,NL 1439373312,1439373567,SE 1439373568,1439383551,NL 1439383552,1439399935,FR @@ -21390,17 +22179,24 @@ 1439459328,1439459839,IR 1439459840,1439460607,RO 1439460608,1439460863,MD -1439460864,1439463423,RO +1439460864,1439462655,RO +1439462656,1439462911,MD +1439462912,1439463423,RO 1439463424,1439463935,DK 1439463936,1439466495,RO 1439466496,1439467007,DK 1439467008,1439467519,RO 1439467520,1439468031,DK -1439468032,1439477759,RO +1439468032,1439468543,RO +1439468544,1439469567,ES +1439469568,1439475711,RO +1439475712,1439475967,IN +1439475968,1439477759,RO 1439477760,1439479807,MD 1439479808,1439482367,RO 1439482368,1439482879,DK -1439482880,1439485951,RO +1439482880,1439483903,RO +1439483904,1439485951,ES 1439485952,1439490047,IR 1439490048,1439498239,RO 1439498240,1439513599,DE @@ -21440,9 +22236,7 @@ 1439629312,1439694847,CZ 1439694848,1439825919,SA 1439825920,1439956991,GB -1439956992,1440204799,DE -1440204800,1440215039,EU -1440215040,1440251903,DE +1439956992,1440251903,DE 1440251904,1440284671,SK 1440284672,1440317439,FI 1440317440,1440350207,BG @@ -21483,7 +22277,9 @@ 1441439744,1441447935,LV 1441447936,1441456127,BE 1441456128,1441464319,NL -1441464320,1441472511,SE +1441464320,1441469439,SE +1441469440,1441469695,DK +1441469696,1441472511,SE 1441472512,1441480703,RU 1441480704,1441488895,TR 1441488896,1441497087,GB @@ -21632,12 +22428,16 @@ 1449714176,1449715711,RO 1449715712,1449719807,IR 1449719808,1449722111,RO -1449722112,1449722367,NL +1449722112,1449722367,IT 1449722368,1449723135,RO -1449723136,1449723391,NL +1449723136,1449723391,DE 1449723392,1449724927,RO 1449724928,1449725183,GB -1449725184,1449734143,RO +1449725184,1449726463,RO +1449726464,1449726719,NL +1449726720,1449727999,RO +1449728000,1449728255,MD +1449728256,1449734143,RO 1449734144,1449736191,IT 1449736192,1449742335,RO 1449742336,1449744383,MD @@ -21645,15 +22445,29 @@ 1449750528,1449752575,SE 1449752576,1449754623,RO 1449754624,1449758719,IR -1449758720,1449765887,RO +1449758720,1449759743,RO +1449759744,1449760511,MD +1449760512,1449764863,RO +1449764864,1449765119,MD +1449765120,1449765887,RO 1449765888,1449766911,MD 1449766912,1449768959,RO 1449768960,1449769471,GB -1449769472,1449776127,RO +1449769472,1449772031,RO +1449772032,1449772287,GB +1449772288,1449776127,RO 1449776128,1449776639,FR -1449776640,1449780479,RO +1449776640,1449778431,RO +1449778432,1449778687,MD +1449778688,1449779455,RO +1449779456,1449779711,GB +1449779712,1449779967,RO +1449779968,1449780223,RU +1449780224,1449780479,RO 1449780480,1449780991,GB -1449780992,1449782015,RO +1449780992,1449781247,RO +1449781248,1449781503,MD +1449781504,1449782015,RO 1449782016,1449782271,GB 1449782272,1449783295,RO 1449783296,1449783551,DE @@ -21666,12 +22480,16 @@ 1449791488,1449793279,RO 1449793280,1449793535,NL 1449793536,1449794047,IR -1449794048,1449811199,RO +1449794048,1449794303,PH +1449794304,1449810943,RO +1449810944,1449811199,MD 1449811200,1449811455,BG 1449811456,1449811967,GB -1449811968,1449812991,RO +1449811968,1449812223,DK +1449812224,1449812991,RO 1449812992,1449813503,GB -1449813504,1449814271,RO +1449813504,1449813759,RU +1449813760,1449814271,RO 1449814272,1449815039,GB 1449815040,1449815295,RO 1449815296,1449816063,GB @@ -21694,7 +22512,9 @@ 1449859584,1449860607,GB 1449860608,1449863679,RO 1449863680,1449863935,GB -1449863936,1449870847,RO +1449863936,1449869311,RO +1449869312,1449870335,MD +1449870336,1449870847,RO 1449870848,1449871615,GB 1449871616,1449871871,RO 1449871872,1449872383,GB @@ -21704,16 +22524,21 @@ 1449878528,1449879039,RO 1449879040,1449879167,PH 1449879168,1449879295,TH -1449879296,1449883647,RO +1449879296,1449880319,RO +1449880320,1449880575,MD +1449880576,1449883647,RO 1449883648,1449885695,BE 1449885696,1449889791,GB 1449889792,1449893887,IR 1449893888,1449895935,MD -1449895936,1449901823,RO +1449895936,1449900543,RO +1449900544,1449901055,MD +1449901056,1449901823,RO 1449901824,1449902079,DE 1449902080,1449902335,RO 1449902336,1449903103,GB -1449903104,1449906175,RO +1449903104,1449903359,MD +1449903360,1449906175,RO 1449906176,1449910271,IR 1449910272,1449918463,RO 1449918464,1449951231,JO @@ -21829,9 +22654,7 @@ 1467285504,1467301887,RU 1467301888,1467318271,GB 1467318272,1467334655,RU -1467334656,1467345023,GB -1467345024,1467345151,A1 -1467345152,1467346495,GB +1467334656,1467346495,GB 1467346496,1467346559,A1 1467346560,1467351039,GB 1467351040,1467367423,NO @@ -22259,9 +23082,7 @@ 1485242368,1485246463,RU 1485246464,1485250559,UA 1485250560,1485254655,IR -1485254656,1485259007,RU -1485259008,1485262847,UA -1485262848,1485266943,RU +1485254656,1485266943,RU 1485266944,1485271039,RO 1485271040,1485275135,UA 1485275136,1485283327,LV @@ -22270,7 +23091,15 @@ 1485307904,1485832191,FR 1485832192,1485963263,GB 1485963264,1486028799,CZ -1486028800,1486061567,BE +1486028800,1486031615,IT +1486031616,1486031871,BE +1486031872,1486032383,IT +1486032384,1486032639,BE +1486032640,1486038271,IT +1486038272,1486038527,BE +1486038528,1486040319,IT +1486040320,1486040575,BE +1486040576,1486061567,IT 1486061568,1486094335,RU 1486094336,1486127103,ES 1486127104,1486159871,FI @@ -22369,7 +23198,11 @@ 1489665024,1489666047,EU 1489666048,1489674239,GB 1489674240,1489676287,NL -1489676288,1489698815,GB +1489676288,1489692415,GB +1489692416,1489692431,AU +1489692432,1489692447,GB +1489692448,1489692463,AU +1489692464,1489698815,GB 1489698816,1489731583,MT 1489731584,1489764351,BG 1489764352,1489797119,RU @@ -22399,7 +23232,9 @@ 1490173952,1490190335,PT 1490190336,1490193616,GB 1490193617,1490193617,DE -1490193618,1490206719,GB +1490193618,1490196991,GB +1490196992,1490197247,IE +1490197248,1490206719,GB 1490206720,1490223103,GE 1490223104,1490255871,GB 1490255872,1490272255,NL @@ -22610,7 +23445,9 @@ 1495293952,1495298047,IR 1495298048,1495300095,RO 1495300096,1495300351,SE -1495300352,1495304191,RO +1495300352,1495300607,US +1495300608,1495300863,SE +1495300864,1495304191,RO 1495304192,1495306239,MD 1495306240,1495306573,GB 1495306574,1495306574,RO @@ -22618,29 +23455,42 @@ 1495308288,1495312383,RO 1495312384,1495312895,IT 1495312896,1495313151,GB -1495313152,1495316991,RO +1495313152,1495313407,MD +1495313408,1495316991,RO 1495316992,1495317503,IT -1495317504,1495319551,RO +1495317504,1495319039,RO +1495319040,1495319167,FR +1495319168,1495319295,RO +1495319296,1495319551,SE 1495319552,1495320063,IR -1495320064,1495330815,RO -1495330816,1495332863,MD -1495332864,1495334911,RO +1495320064,1495326719,RO +1495326720,1495332863,MD +1495332864,1495333375,RO +1495333376,1495333631,CH +1495333632,1495334911,RO 1495334912,1495335167,MD 1495335168,1495336447,RO 1495336448,1495336959,NL 1495336960,1495339007,RO 1495339008,1495339263,DE -1495339264,1495339519,RO +1495339264,1495339519,MD 1495339520,1495340031,IR -1495340032,1495345151,RO +1495340032,1495342591,RO +1495342592,1495342847,MD +1495342848,1495345151,RO 1495345152,1495345407,FI -1495345408,1495346687,RO +1495345408,1495345663,US +1495345664,1495345919,FI +1495345920,1495346687,RO 1495346688,1495347199,GB 1495347200,1495351295,RO 1495351296,1495351551,GB -1495351552,1495351807,RO +1495351552,1495351807,MD 1495351808,1495352319,IQ -1495352320,1495362559,RO +1495352320,1495352447,FR +1495352448,1495352831,RO +1495352832,1495353087,FI +1495353088,1495362559,RO 1495362560,1495363583,ES 1495363584,1495364607,RO 1495364608,1495364863,GB @@ -22674,9 +23524,7 @@ 1495406080,1495408639,RO 1495408640,1495416831,IR 1495416832,1495418879,MD -1495418880,1495419391,RO -1495419392,1495419903,EU -1495419904,1495422975,RO +1495418880,1495422975,RO 1495422976,1495423487,IR 1495423488,1495424511,RO 1495424512,1495425023,IR @@ -22690,58 +23538,95 @@ 1495428864,1495429119,DE 1495429120,1495433215,RO 1495433216,1495441407,IR -1495441408,1495443455,RO +1495441408,1495442431,RO +1495442432,1495442559,FR +1495442560,1495442943,RO +1495442944,1495443199,AE +1495443200,1495443455,RO 1495443456,1495443967,IR 1495443968,1495444479,RO 1495444480,1495444607,KR 1495444608,1495444735,IN 1495444736,1495445503,RO 1495445504,1495446015,IR -1495446016,1495447551,RO +1495446016,1495446271,RO +1495446272,1495446527,MD +1495446528,1495447551,RO 1495447552,1495449599,SE 1495449600,1495451647,MD 1495451648,1495452159,IR -1495452160,1495461887,RO +1495452160,1495455743,RO +1495455744,1495456255,MD +1495456256,1495459839,RO +1495459840,1495460863,MD +1495460864,1495461887,RO 1495461888,1495463935,SE -1495463936,1495480831,RO +1495463936,1495466495,RO +1495466496,1495467007,DE +1495467008,1495474687,RO +1495474688,1495474943,MD +1495474944,1495480831,RO 1495480832,1495481343,IR -1495481344,1495487487,RO -1495487488,1495488511,MD -1495488512,1495488767,RO +1495481344,1495485439,RO +1495485440,1495485695,MD +1495485696,1495487487,RO +1495487488,1495488767,MD 1495488768,1495489279,GB 1495489280,1495489535,MD 1495489536,1495493119,RO 1495493120,1495493375,US 1495493376,1495493631,RO 1495493632,1495494655,AE -1495494656,1495498239,RO +1495494656,1495495167,RO +1495495168,1495495423,MD +1495495424,1495498239,RO 1495498240,1495498367,IN 1495498368,1495498495,BD 1495498496,1495499775,RO 1495499776,1495500287,IR -1495500288,1495505151,RO +1495500288,1495502847,RO +1495502848,1495503871,PL +1495503872,1495505151,RO 1495505152,1495505407,GB 1495505408,1495505919,RO 1495505920,1495506431,IR -1495506432,1495508991,RO +1495506432,1495507711,RO +1495507712,1495507967,MD +1495507968,1495508991,RO 1495508992,1495510015,IT -1495510016,1495511039,RO +1495510016,1495510527,RO +1495510528,1495511039,DE 1495511040,1495511551,IR 1495511552,1495511807,LT 1495511808,1495515647,RO 1495515648,1495516159,IR -1495516160,1495517183,RO +1495516160,1495516287,FR +1495516288,1495516671,RO +1495516672,1495516927,GR +1495516928,1495517183,RO 1495517184,1495518207,MD -1495518208,1495535615,RO +1495518208,1495529471,RO +1495529472,1495529727,MD +1495529728,1495535615,RO 1495535616,1495536127,IR 1495536128,1495541247,RO 1495541248,1495541759,GB 1495541760,1495543807,RO 1495543808,1495547903,IR 1495547904,1495548159,US -1495548160,1495556095,RO +1495548160,1495548671,RO +1495548672,1495548927,RU +1495548928,1495549695,RO +1495549696,1495549951,RU +1495549952,1495551999,RO +1495552000,1495554047,ES +1495554048,1495554559,RO +1495554560,1495555071,SE +1495555072,1495556095,RO 1495556096,1495560191,IR -1495560192,1495566847,RO +1495560192,1495566335,RO +1495566336,1495566591,GB +1495566592,1495566847,RO 1495566848,1495567359,GB 1495567360,1495571455,RO 1495571456,1495572479,MD @@ -22753,13 +23638,15 @@ 1495589376,1495589887,IR 1495589888,1495596031,RO 1495596032,1495596543,IR -1495596544,1495597055,RO +1495596544,1495596799,RO +1495596800,1495597055,MD 1495597056,1495601151,IR 1495601152,1495603199,AZ 1495603200,1495604735,RO 1495604736,1495605247,IR 1495605248,1495607295,AZ -1495607296,1495607807,RO +1495607296,1495607551,MD +1495607552,1495607807,RO 1495607808,1495608319,IR 1495608320,1495617535,RO 1495617536,1495618559,ES @@ -22767,10 +23654,10 @@ 1495620608,1495621375,GB 1495621376,1495623167,RO 1495623168,1495623679,IR -1495623680,1495623935,MD -1495623936,1495630079,RO -1495630080,1495631359,GB -1495631360,1495632127,RO +1495623680,1495624191,MD +1495624192,1495630079,RO +1495630080,1495631615,GB +1495631616,1495632127,RO 1495632128,1495632639,MD 1495632640,1495642111,RO 1495642112,1495644159,SE @@ -22785,7 +23672,8 @@ 1495669248,1495669503,GB 1495669504,1495670783,RO 1495670784,1495671807,MD -1495671808,1495672831,RO +1495671808,1495672575,RO +1495672576,1495672831,MD 1495672832,1495674879,ES 1495674880,1495682047,RO 1495682048,1495683071,MD @@ -22794,7 +23682,11 @@ 1495688704,1495689215,IR 1495689216,1495724543,RO 1495724544,1495725055,IR -1495725056,1495745791,RO +1495725056,1495732223,RO +1495732224,1495732991,ES +1495732992,1495733247,RO +1495733248,1495734271,ES +1495734272,1495745791,RO 1495745792,1495746047,GB 1495746048,1495747583,RO 1495747584,1495748607,MD @@ -22810,10 +23702,14 @@ 1495760128,1495760895,RO 1495760896,1495762943,DE 1495762944,1495763967,GB -1495763968,1495765503,RO +1495763968,1495764735,RO +1495764736,1495764991,AU +1495764992,1495765503,RO 1495765504,1495765759,GB 1495765760,1495766015,NL -1495766016,1495771135,RO +1495766016,1495767039,RO +1495767040,1495769087,ES +1495769088,1495771135,RO 1495771136,1495772159,PL 1495772160,1495775743,RO 1495775744,1495776255,IR @@ -22829,9 +23725,15 @@ 1495791360,1495791615,GB 1495791616,1495793663,RO 1495793664,1495794687,DE -1495794688,1495803391,RO +1495794688,1495795199,RO +1495795200,1495795327,FR +1495795328,1495795455,RO +1495795456,1495795711,RU +1495795712,1495803391,RO 1495803392,1495803903,IR -1495803904,1495805951,RO +1495803904,1495804927,RO +1495804928,1495805439,GB +1495805440,1495805951,RO 1495805952,1495810047,KZ 1495810048,1495813631,RO 1495813632,1495814143,IR @@ -22845,7 +23747,9 @@ 1495821824,1495822335,IR 1495822336,1495826431,RO 1495826432,1495826943,IR -1495826944,1495829503,RO +1495826944,1495827967,RO +1495827968,1495828479,DE +1495828480,1495829503,RO 1495829504,1495830015,GB 1495830016,1495837695,RO 1495837696,1495838719,IT @@ -22853,7 +23757,9 @@ 1495845632,1495845887,GB 1495845888,1495846911,RO 1495846912,1495847423,GB -1495847424,1495855103,RO +1495847424,1495848959,RO +1495848960,1495849471,SE +1495849472,1495855103,RO 1495855104,1495859199,IR 1495859200,1495860223,ES 1495860224,1495861247,AZ @@ -22890,7 +23796,9 @@ 1495951360,1495952383,MD 1495952384,1495953919,RO 1495953920,1495954175,GB -1495954176,1495963135,RO +1495954176,1495960575,RO +1495960576,1495961087,SE +1495961088,1495963135,RO 1495963136,1495963647,IR 1495963648,1495964415,GB 1495964416,1495967743,RO @@ -22899,7 +23807,11 @@ 1495970816,1495971839,MD 1495971840,1495983103,RO 1495983104,1495983615,IR -1495983616,1495990271,RO +1495983616,1495985663,RO +1495985664,1495985791,FR +1495985792,1495985919,RO +1495985920,1495986175,JP +1495986176,1495990271,RO 1495990272,1495994367,IR 1495994368,1495998463,RO 1495998464,1495998719,SG @@ -22913,7 +23825,9 @@ 1496012800,1496016895,IR 1496016896,1496018943,RO 1496018944,1496019967,FR -1496019968,1496036863,RO +1496019968,1496020735,RO +1496020736,1496020991,AU +1496020992,1496036863,RO 1496036864,1496037375,IR 1496037376,1496038399,RO 1496038400,1496038911,IR @@ -22927,14 +23841,22 @@ 1496051712,1496055807,RO 1496055808,1496057855,SE 1496057856,1496058111,DE -1496058112,1496084479,RO +1496058112,1496066815,RO +1496066816,1496067071,QA +1496067072,1496073983,RO +1496073984,1496074239,ES +1496074240,1496084479,RO 1496084480,1496084991,IR 1496084992,1496085247,MD 1496085248,1496086015,RO 1496086016,1496086527,IR -1496086528,1496093183,RO +1496086528,1496088063,RO +1496088064,1496088575,MD +1496088576,1496093183,RO 1496093184,1496093695,IR -1496093696,1496104447,RO +1496093696,1496094719,RO +1496094720,1496095743,MD +1496095744,1496104447,RO 1496104448,1496104959,IR 1496104960,1496107519,RO 1496107520,1496108031,IR @@ -22955,10 +23877,13 @@ 1496150016,1496152063,IR 1496152064,1496153599,RO 1496153600,1496154111,IR -1496154112,1496180223,RO +1496154112,1496179199,RO +1496179200,1496179711,SE +1496179712,1496180223,RO 1496180224,1496180735,IR 1496180736,1496182783,SE -1496182784,1496188927,RO +1496182784,1496183039,ES +1496183040,1496188927,RO 1496188928,1496189951,ES 1496189952,1496190975,RO 1496190976,1496193023,SE @@ -22966,7 +23891,9 @@ 1496197120,1496197631,MD 1496197632,1496198143,RO 1496198144,1496198655,IR -1496198656,1496202239,RO +1496198656,1496198911,RO +1496198912,1496199167,GB +1496199168,1496202239,RO 1496202240,1496202751,IR 1496202752,1496203263,RO 1496203264,1496205311,IT @@ -22974,16 +23901,24 @@ 1496210944,1496211455,IR 1496211456,1496213503,RO 1496213504,1496215551,IT -1496215552,1496228863,RO +1496215552,1496216319,RO +1496216320,1496216575,MD +1496216576,1496221695,RO +1496221696,1496223743,ES +1496223744,1496228863,RO 1496228864,1496229887,MD 1496229888,1496231935,RO 1496231936,1496233983,PS 1496233984,1496236031,RO 1496236032,1496238079,IT 1496238080,1496240127,IQ -1496240128,1496268799,RO +1496240128,1496253439,RO +1496253440,1496254463,ES +1496254464,1496268799,RO 1496268800,1496272895,IR -1496272896,1496276735,RO +1496272896,1496275455,RO +1496275456,1496275711,MD +1496275712,1496276735,RO 1496276736,1496276991,MD 1496276992,1496285183,RO 1496285184,1496293375,IR @@ -23001,9 +23936,7 @@ 1499856896,1499987967,CZ 1499987968,1499996159,AT 1499996160,1500004351,GB -1500004352,1500008447,RU -1500008448,1500012543,IR -1500012544,1500020735,RU +1500004352,1500020735,RU 1500020736,1500028927,IS 1500028928,1500037119,NL 1500037120,1500045311,DK @@ -23465,7 +24398,9 @@ 1506410496,1506422063,DE 1506422064,1506422079,GB 1506422080,1506443263,DE -1506443264,1506444757,GB +1506443264,1506444397,GB +1506444398,1506444398,DE +1506444399,1506444757,GB 1506444758,1506444758,DE 1506444759,1506445103,GB 1506445104,1506445119,DE @@ -23515,7 +24450,9 @@ 1506463680,1506463695,DE 1506463696,1506464895,GB 1506464896,1506464911,NL -1506464912,1506465023,GB +1506464912,1506464999,GB +1506465000,1506465007,NL +1506465008,1506465023,GB 1506465024,1506465187,EU 1506465188,1506465188,NL 1506465189,1506465279,EU @@ -23527,11 +24464,15 @@ 1506469664,1506469695,IT 1506469696,1506469759,GB 1506469760,1506469775,IT -1506469776,1506471983,GB +1506469776,1506471871,GB +1506471872,1506471903,IT +1506471904,1506471983,GB 1506471984,1506471999,NL 1506472000,1506472031,GB 1506472032,1506472047,NL -1506472048,1506476031,GB +1506472048,1506475873,GB +1506475874,1506475874,DE +1506475875,1506476031,GB 1506476032,1506508799,KW 1506508800,1506541567,CZ 1506541568,1506574335,RU @@ -23585,10 +24526,17 @@ 1507393536,1507459071,CH 1507459072,1507524607,KZ 1507524608,1507525631,EE -1507525632,1507531775,KZ -1507531776,1507540991,EE +1507525632,1507533823,KZ +1507533824,1507540991,AZ 1507540992,1507557375,IR -1507557376,1507573759,EE +1507557376,1507558399,EE +1507558400,1507558911,AZ +1507558912,1507564287,EE +1507564288,1507565823,AZ +1507565824,1507566335,EE +1507566336,1507567615,AZ +1507567616,1507567871,EE +1507567872,1507573759,AZ 1507573760,1507590143,IR 1507590144,1507655679,NL 1507655680,1507659775,DE @@ -23726,7 +24674,8 @@ 1509883904,1509900287,NL 1509900288,1509916671,RU 1509916672,1509933055,GB -1509933056,1509941247,NL +1509933056,1509935103,CH +1509935104,1509941247,NL 1509941248,1509947391,SE 1509947392,1509949439,NL 1509949440,1510608639,FR @@ -24130,7 +25079,11 @@ 1533730816,1533732863,NL 1533732864,1533734911,RU 1533734912,1533739007,CZ -1533739008,1533820927,RU +1533739008,1533805567,RU +1533805568,1533806591,NL +1533806592,1533818879,RU +1533818880,1533819903,NL +1533819904,1533820927,RU 1533820928,1533837311,DE 1533837312,1533845503,IR 1533845504,1533847551,GB @@ -24164,7 +25117,9 @@ 1534590976,1534656511,HU 1534656512,1534711807,FR 1534711808,1534712831,BE -1534712832,1534714415,FR +1534712832,1534714207,FR +1534714208,1534714223,NL +1534714224,1534714415,FR 1534714416,1534714431,ES 1534714432,1534714639,FR 1534714640,1534714655,IE @@ -24380,7 +25335,7 @@ 1538850816,1538859007,KZ 1538859008,1538875391,RU 1538875392,1538883583,RS -1538883584,1538891775,BE +1538883584,1538891775,IR 1538891776,1538897919,GB 1538897920,1538899967,PL 1538899968,1538908159,SI @@ -24641,7 +25596,8 @@ 1539482624,1539483135,RU 1539483648,1539484159,UA 1539484672,1539485695,RU -1539485696,1539486207,RO +1539485696,1539485951,LV +1539485952,1539486207,RO 1539486208,1539486719,FR 1539486720,1539487231,DE 1539487744,1539488255,RU @@ -24751,7 +25707,6 @@ 1539549184,1539549695,GB 1539549696,1539550207,RU 1539550208,1539550719,UA -1539550720,1539551231,ES 1539551232,1539551743,RS 1539551744,1539552255,RU 1539552256,1539552767,RO @@ -24771,7 +25726,6 @@ 1539560960,1539561471,UA 1539561472,1539561983,RO 1539561984,1539563007,DE -1539563008,1539563519,RU 1539563520,1539564031,SE 1539564032,1539564543,KZ 1539564544,1539565055,GB @@ -25092,7 +26046,7 @@ 1539763968,1539764223,PT 1539764224,1539764479,AT 1539764480,1539764735,GB -1539764736,1539764991,RO +1539764736,1539764991,DE 1539764992,1539765247,BE 1539765248,1539765503,GB 1539765504,1539766015,PL @@ -25121,7 +26075,6 @@ 1539772160,1539772415,BE 1539772416,1539772671,RU 1539772672,1539772927,RS -1539772928,1539773183,RU 1539773184,1539773439,GB 1539773440,1539773695,KZ 1539773696,1539773951,DE @@ -25338,7 +26291,9 @@ 1539851264,1539852287,PL 1539852288,1539853311,UA 1539853312,1539854335,PL -1539854336,1539855359,UA +1539854336,1539855103,UA +1539855104,1539855231,US +1539855232,1539855359,UA 1539855360,1539856383,RU 1539857408,1539858431,PL 1539858432,1539859455,RO @@ -25421,8 +26376,8 @@ 1539956736,1539957759,UA 1539957760,1539958783,RU 1539958784,1539960063,UA -1539960064,1539960575,RU -1539960576,1539962879,UA +1539960064,1539960831,RU +1539960832,1539962879,UA 1539962880,1539964927,RU 1539964928,1539965951,UA 1539965952,1539966975,RU @@ -26472,12 +27427,10 @@ 1540654080,1540654335,EU 1540654336,1540654591,RU 1540654592,1540654847,SI -1540654848,1540655103,RU 1540655104,1540655359,AT 1540655360,1540655615,RU 1540655616,1540655871,GB 1540655872,1540656383,NL -1540656640,1540656895,RU 1540656896,1540657151,RO 1540657152,1540657407,DE 1540657408,1540657663,CY @@ -26486,7 +27439,7 @@ 1540658176,1540658431,RO 1540658432,1540659199,RU 1540659200,1540659455,FR -1540659456,1540659967,UA +1540659712,1540659967,UA 1540659968,1540660223,PL 1540660224,1540660479,RU 1540660480,1540660735,FR @@ -26567,7 +27520,7 @@ 1540682496,1540682751,DE 1540682752,1540683007,EE 1540683008,1540683263,DE -1540683264,1540683775,HR +1540683520,1540683775,HR 1540683776,1540684031,UA 1540684032,1540684287,IT 1540684288,1540684543,HU @@ -26674,7 +27627,6 @@ 1540713216,1540713727,PL 1540713728,1540713983,RU 1540713984,1540714239,GB -1540714240,1540714495,RO 1540714496,1540714751,NL 1540714752,1540715263,RU 1540715264,1540715519,NL @@ -26725,7 +27677,6 @@ 1540729600,1540729855,CH 1540729856,1540730111,RU 1540730112,1540730367,GB -1540730368,1540730623,RU 1540730624,1540730879,UA 1540730880,1540731135,IL 1540731136,1540731391,DE @@ -26765,7 +27716,6 @@ 1540740608,1540740863,NL 1540740864,1540741119,RO 1540741120,1540741375,GB -1540741376,1540741631,EU 1540741632,1540742143,NL 1540742144,1540742399,RU 1540742400,1540742655,DE @@ -26877,7 +27827,7 @@ 1540851712,1540853759,RU 1540853760,1540854783,UA 1540854784,1540855807,NL -1540855808,1540856831,UA +1540855808,1540856831,BG 1540856832,1540857855,NL 1540857856,1540858879,DK 1540858880,1540859903,GB @@ -27288,10 +28238,9 @@ 1541010944,1541011199,CY 1541011200,1541011455,CH 1541011456,1541011711,FI -1541011712,1541011967,RU 1541012224,1541012479,DE 1541012480,1541012735,FI -1541012736,1541013247,UA +1541012992,1541013247,UA 1541013248,1541013503,SI 1541013504,1541014527,RO 1541014528,1541015551,AM @@ -27350,7 +28299,8 @@ 1541082112,1541083135,RU 1541083136,1541084159,RO 1541084160,1541086207,RU -1541086208,1541088255,UA +1541086208,1541086463,NL +1541086464,1541088255,UA 1541088256,1541089279,RU 1541089280,1541090303,GB 1541090304,1541091327,CZ @@ -27669,7 +28619,6 @@ 1541232128,1541232639,RU 1541232640,1541233151,PL 1541233152,1541233663,RU -1541233664,1541234175,SK 1541234176,1541234687,RO 1541234688,1541235199,NL 1541235200,1541235455,RU @@ -27822,11 +28771,10 @@ 1541347584,1541347839,RU 1541347840,1541348095,SI 1541348096,1541348351,UA -1541348352,1541348607,RU 1541348608,1541348863,HR 1541348864,1541349119,UA 1541349120,1541349375,PL -1541349376,1541349631,ES +1541349376,1541349631,RU 1541349632,1541349887,PL 1541349888,1541350143,RU 1541350144,1541350399,FR @@ -28257,7 +29205,6 @@ 1541583872,1541584127,SE 1541584128,1541584383,GB 1541584384,1541584895,NL -1541584896,1541585151,DE 1541585152,1541585663,RU 1541585664,1541585919,UA 1541585920,1541586431,RU @@ -28347,10 +29294,8 @@ 1541635072,1541636095,GB 1541636096,1541636863,AT 1541636864,1541637119,RO -1541637120,1541637631,PL 1541637632,1541638143,CZ 1541638144,1541638399,RU -1541638400,1541638655,FR 1541638656,1541639167,HU 1541639168,1541640191,RU 1541640192,1541641215,KZ @@ -28389,7 +29334,7 @@ 1541660672,1541661695,SK 1541661696,1541661951,RU 1541661952,1541662207,NL -1541662208,1541662719,RO +1541662208,1541662719,AT 1541662720,1541663743,CZ 1541663744,1541664767,RO 1541664768,1541666047,RU @@ -28511,7 +29456,6 @@ 1541734912,1541735167,RU 1541735168,1541735423,DE 1541735424,1541735679,GB -1541735680,1541735935,RU 1541735936,1541736447,RO 1541736448,1541737471,RU 1541737472,1541739519,RO @@ -28816,7 +29760,6 @@ 1541904384,1541904639,PL 1541904640,1541904895,SE 1541904896,1541905407,GB -1541905408,1541905663,RU 1541905664,1541905919,PL 1541905920,1541906431,RS 1541906432,1541906687,UA @@ -29006,7 +29949,7 @@ 1542017792,1542018047,GB 1542018048,1542019071,DE 1542019072,1542019327,RU -1542019328,1542020095,UA +1542019584,1542020095,UA 1542020096,1542021119,RU 1542021120,1542023167,UA 1542023168,1542023423,PL @@ -29134,7 +30077,7 @@ 1542106112,1542107135,RU 1542107136,1542107391,PL 1542107392,1542107903,RU -1542107904,1542108159,SK +1542107904,1542108159,AT 1542108160,1542109183,RU 1542109184,1542109695,GB 1542109696,1542110207,PL @@ -29173,7 +30116,6 @@ 1542124800,1542125567,PL 1542125568,1542126591,CZ 1542126592,1542127103,PL -1542127360,1542127615,RU 1542127616,1542128127,PL 1542128128,1542128383,RU 1542128384,1542129151,RO @@ -29360,7 +30302,8 @@ 1542237184,1542238207,PL 1542238208,1542239743,RU 1542239744,1542239999,HU -1542240000,1542240767,RU +1542240000,1542240255,RU +1542240256,1542240767,UA 1542240768,1542241023,DK 1542241024,1542241279,GB 1542241280,1542241535,LV @@ -29421,7 +30364,7 @@ 1542273024,1542274047,BG 1542274048,1542275071,PL 1542275072,1542275327,UA -1542275328,1542275583,DE +1542275328,1542275583,AT 1542275584,1542276095,SE 1542276096,1542277631,PL 1542277632,1542278143,GB @@ -29535,7 +30478,7 @@ 1542343680,1542344447,PL 1542344448,1542345727,RU 1542345984,1542346239,PL -1542346240,1542348287,RU +1542346240,1542347775,RU 1542348288,1542348799,MD 1542348800,1542349823,RU 1542349824,1542350847,UA @@ -29781,8 +30724,7 @@ 1542475776,1542476799,LB 1542476800,1542477823,RU 1542477824,1542478079,DK -1542478336,1542478847,UA -1542478848,1542479103,RU +1542478336,1542479103,RU 1542479104,1542479359,PL 1542479360,1542479615,RO 1542479616,1542479871,RU @@ -30092,8 +31034,8 @@ 1545895936,1545928703,BA 1545928704,1545961471,SI 1545961472,1545994751,RU -1545994752,1545995263,CZ -1545995264,1545995519,RU +1545994752,1545995007,CZ +1545995008,1545995519,RU 1545995520,1545996287,CZ 1545996288,1545998335,RU 1545998336,1546000383,CZ @@ -30103,12 +31045,15 @@ 1546003200,1546003967,RU 1546003968,1546004479,CZ 1546004480,1546004735,UA -1546004736,1546005247,CZ +1546004736,1546004795,CZ +1546004796,1546004796,UA +1546004797,1546005247,CZ 1546005248,1546006527,RU 1546006528,1546008575,UA 1546008576,1546014719,BY 1546014720,1546015743,RU -1546015744,1546027007,CZ +1546015744,1546018815,CZ +1546018816,1546027007,UA 1546027008,1546059775,RU 1546059776,1546063871,SE 1546063872,1546067967,DE @@ -30136,7 +31081,9 @@ 1546122650,1546122650,PT 1546122651,1546122696,FR 1546122697,1546122704,ES -1546122705,1546125311,FR +1546122705,1546124191,FR +1546124192,1546124223,DZ +1546124224,1546125311,FR 1546125312,1546256383,GB 1546256384,1546264575,RU 1546264576,1546266623,TR @@ -30179,7 +31126,9 @@ 1546342400,1546344447,TR 1546344448,1546346495,DK 1546346496,1546348543,AT -1546348544,1546350591,DE +1546348544,1546348607,DE +1546348608,1546348623,CH +1546348624,1546350591,DE 1546350592,1546352639,PL 1546352640,1546354687,DK 1546354688,1546356735,FR @@ -30381,21 +31330,20 @@ 1550843904,1550974975,UA 1550974976,1550975999,RO 1550976000,1550976255,EG -1550976256,1550979071,RO +1550976256,1550976767,RO +1550976768,1550977023,US +1550977024,1550979071,RO 1550979072,1550983167,IR 1550983168,1550984191,RO -1550984192,1550984319,KR -1550984320,1550984447,VG +1550984192,1550984447,KR 1550984448,1550985215,RO 1550985216,1550987263,PS 1550987264,1550988543,RO -1550988544,1550988671,VG -1550988672,1550988799,JP +1550988544,1550988799,JP 1550988800,1550996223,RO -1550996224,1550996351,VG -1550996352,1550996479,AU +1550996224,1550996479,AU 1550996480,1550998527,RO -1550998528,1550998783,NL +1550998528,1550998783,IT 1550998784,1551014143,RO 1551014144,1551014399,MD 1551014400,1551015167,RO @@ -30464,7 +31412,9 @@ 1558056104,1558079407,FR 1558079408,1558079415,PL 1558079416,1558079423,GB -1558079424,1558081175,FR +1558079424,1558079871,FR +1558079872,1558079887,GB +1558079888,1558081175,FR 1558081176,1558081183,BE 1558081184,1558083775,FR 1558083776,1558083791,DE @@ -30476,17 +31426,29 @@ 1558091352,1558091352,ES 1558091353,1558093531,FR 1558093532,1558093532,HR -1558093533,1558097919,FR +1558093533,1558093609,FR +1558093610,1558093610,ES +1558093611,1558097919,FR 1558097920,1558098175,GB 1558098176,1558103159,FR 1558103160,1558103167,GB -1558103168,1558118399,FR +1558103168,1558112095,FR +1558112096,1558112127,ES +1558112128,1558112191,FR +1558112192,1558112192,ES +1558112193,1558112207,FR +1558112208,1558112208,ES +1558112209,1558112209,FR +1558112210,1558112211,ES +1558112212,1558118399,FR 1558118400,1558119423,DE 1558119424,1558122495,RU 1558122496,1558123007,SG 1558123008,1558123519,RU 1558123520,1558125567,LU -1558125568,1558147071,AT +1558125568,1558141439,AT +1558141440,1558141695,CY +1558141696,1558147071,AT 1558147072,1558147327,LU 1558147328,1558147583,AT 1558147584,1558147839,RU @@ -30500,7 +31462,9 @@ 1558151168,1558172927,IT 1558172928,1558173183,US 1558173184,1558179839,IT -1558179840,1558180023,NL +1558179840,1558179955,NL +1558179956,1558179959,IT +1558179960,1558180023,NL 1558180024,1558180039,IT 1558180040,1558180863,NL 1558180864,1558183935,IT @@ -30585,7 +31549,8 @@ 1560135680,1560135807,UA 1560135808,1560135935,CZ 1560135936,1560137727,RU -1560137728,1560150015,CZ +1560137728,1560137983,DE +1560137984,1560150015,CZ 1560150016,1560182783,NL 1560182784,1560215551,SE 1560215552,1560281087,RU @@ -30699,12 +31664,33 @@ 1566394533,1566394533,NL 1566394534,1566394534,SE 1566394535,1566394535,PT -1566394536,1566394538,NO +1566394536,1566394536,GB +1566394537,1566394538,NO 1566394539,1566394539,RU 1566394540,1566396415,NO 1566396416,1566398463,GB 1566398464,1566400511,RU -1566400512,1566402559,NO +1566400512,1566400607,NO +1566400608,1566400639,GB +1566400640,1566400671,NO +1566400672,1566400703,DE +1566400704,1566400735,NL +1566400736,1566401023,NO +1566401024,1566401087,US +1566401088,1566401151,NO +1566401152,1566401279,US +1566401280,1566401599,NO +1566401600,1566401631,HK +1566401632,1566401663,NO +1566401664,1566401695,SG +1566401696,1566401727,NO +1566401728,1566401759,AU +1566401760,1566401887,NO +1566401888,1566401919,A2 +1566401920,1566402143,NO +1566402144,1566402175,A2 +1566402176,1566402303,NO +1566402304,1566402559,SG 1566404608,1566406655,ES 1566406656,1566408703,NL 1566408704,1566410751,GB @@ -30825,20 +31811,34 @@ 1567766272,1567767039,RO 1567767040,1567767551,GB 1567767552,1567768575,ES -1567768576,1567826175,RO +1567768576,1567769343,RO +1567769344,1567769599,MD +1567769600,1567773951,RO +1567773952,1567774207,MD +1567774208,1567785983,RO +1567785984,1567786239,MD +1567786240,1567789055,RO +1567789056,1567793151,ES +1567793152,1567826175,RO 1567826176,1567826431,DE 1567826432,1567827455,RO 1567827456,1567827711,BG -1567827712,1567833087,RO +1567827712,1567832831,RO +1567832832,1567833087,GB 1567833088,1567833599,NL 1567833600,1567834111,IT 1567834112,1567838207,RO 1567838208,1567842303,A1 -1567842304,1567852543,RO +1567842304,1567842815,FR +1567842816,1567852543,RO 1567852544,1567856639,MD 1567856640,1567858687,RO 1567858688,1567860735,SE -1567860736,1567871999,RO +1567860736,1567866879,RO +1567866880,1567867135,IN +1567867136,1567869183,RO +1567869184,1567869439,NL +1567869440,1567871999,RO 1567872000,1567873023,ES 1567873024,1567879167,MD 1567879168,1567883263,RO @@ -30859,16 +31859,20 @@ 1567993856,1567997951,IR 1567997952,1568014335,NL 1568014336,1568022527,DE -1568022528,1568024063,RO +1568022528,1568023551,FR +1568023552,1568024063,RO 1568024064,1568024319,SG 1568024320,1568038911,RO 1568038912,1568059391,IR 1568059392,1568060415,RO -1568060416,1568062463,MD -1568062464,1568088063,RO +1568060416,1568063487,MD +1568063488,1568083967,RO +1568083968,1568084223,CN +1568084224,1568088063,RO 1568088064,1568104447,IR 1568104448,1568106495,MD -1568106496,1568108543,RO +1568106496,1568107519,RO +1568107520,1568108543,MD 1568108544,1568109055,GB 1568109056,1568110079,RO 1568110080,1568111103,GB @@ -30942,7 +31946,9 @@ 1570645248,1570652159,FR 1570652160,1570660863,SE 1570660864,1570661375,NO -1570661376,1570668543,SE +1570661376,1570662143,SE +1570662144,1570662399,DE +1570662400,1570668543,SE 1570668544,1570686975,RU 1570686976,1570693119,NL 1570693120,1570695167,RU @@ -30963,7 +31969,7 @@ 1571422208,1571422463,CZ 1571422464,1571422719,UA 1571422720,1571423231,RU -1571423232,1571423487,CZ +1571423232,1571423487,UA 1571423488,1571423999,RU 1571424000,1571424255,KZ 1571424256,1571424511,KG @@ -30977,11 +31983,16 @@ 1571425233,1571425279,CZ 1571425280,1571425535,RU 1571425536,1571425791,NL -1571425792,1571426047,CZ +1571425792,1571425871,CZ +1571425872,1571425872,RU +1571425873,1571426047,CZ 1571426048,1571426303,UA 1571426304,1571428607,CZ 1571428608,1571428863,UA -1571428864,1571432447,CZ +1571428864,1571430399,CZ +1571430400,1571430911,UA +1571430912,1571431423,CZ +1571431424,1571432447,KZ 1571432448,1571434495,RU 1571434496,1571435519,UA 1571435520,1571436031,RU @@ -31005,7 +32016,8 @@ 1571447296,1571447807,RU 1571447808,1571448063,CZ 1571448064,1571448319,RU -1571448320,1571448831,CZ +1571448320,1571448575,CZ +1571448576,1571448831,RU 1571448832,1571449343,NL 1571449344,1571449855,CZ 1571449856,1571451391,RU @@ -31031,16 +32043,19 @@ 1571469312,1571469823,BY 1571469824,1571470335,CZ 1571470336,1571470847,UA -1571470848,1571471103,RU -1571471104,1571471359,CZ -1571471360,1571475455,RU +1571470848,1571475455,RU 1571475456,1571476479,CZ 1571476480,1571479551,RU 1571479552,1571483647,CZ 1571483648,1571484159,RU 1571484160,1571487743,CZ -1571487744,1571489791,SK -1571489792,1571491327,CZ +1571487744,1571489023,SK +1571489024,1571489279,UA +1571489280,1571489535,BY +1571489536,1571490047,RU +1571490048,1571490303,CZ +1571490304,1571491071,RU +1571491072,1571491327,CZ 1571491328,1571495935,UA 1571495936,1571496447,RU 1571496448,1571497983,BY @@ -31051,9 +32066,12 @@ 1571514368,1571520511,BY 1571520512,1571522047,UA 1571522048,1571522815,RU -1571522816,1571524607,CZ +1571522816,1571524095,CZ +1571524096,1571524351,RU +1571524352,1571524607,CZ 1571524608,1571526655,RU -1571526656,1571528703,CZ +1571526656,1571528191,CZ +1571528192,1571528703,UA 1571528704,1571529215,BY 1571529216,1571529471,CZ 1571529472,1571529727,UA @@ -31073,7 +32091,11 @@ 1571535872,1571538943,RU 1571538944,1571539967,CZ 1571539968,1571540223,UA -1571540224,1571540991,CZ +1571540224,1571540693,CZ +1571540694,1571540695,RU +1571540696,1571540696,CZ +1571540697,1571540697,RU +1571540698,1571540991,CZ 1571540992,1571541247,RU 1571541248,1571541503,UA 1571541504,1571542015,CZ @@ -31158,7 +32180,7 @@ 1572030464,1572034815,RU 1572034816,1572034943,BY 1572034944,1572035071,US -1572035072,1572035199,RU +1572035072,1572035199,CZ 1572035200,1572035327,NG 1572035328,1572035455,US 1572035456,1572035583,RU @@ -31377,8 +32399,8 @@ 1572794368,1572796415,RU 1572796416,1572798463,DE 1572798464,1572800511,NL -1572800512,1572800739,RU -1572800740,1572800740,UA +1572800512,1572800738,RU +1572800739,1572800740,UA 1572800741,1572804607,RU 1572804608,1572808703,GB 1572808704,1572810751,FR @@ -31453,7 +32475,9 @@ 1578592200,1578592207,CH 1578592208,1578592295,FR 1578592296,1578592303,NL -1578592304,1578593023,FR +1578592304,1578592783,FR +1578592784,1578592799,BE +1578592800,1578593023,FR 1578593024,1578593279,DE 1578593280,1578593415,FR 1578593416,1578593423,IT @@ -31496,7 +32520,20 @@ 1578613736,1578613739,ES 1578613740,1578613931,FR 1578613932,1578613935,NL -1578613936,1578614495,FR +1578613936,1578614319,FR +1578614320,1578614323,RU +1578614324,1578614327,HU +1578614328,1578614399,FR +1578614400,1578614403,EE +1578614404,1578614423,FR +1578614424,1578614427,IS +1578614428,1578614431,LV +1578614432,1578614459,FR +1578614460,1578614463,NO +1578614464,1578614471,FR +1578614472,1578614475,SI +1578614476,1578614479,UA +1578614480,1578614495,FR 1578614496,1578614511,DE 1578614512,1578631167,FR 1578631168,1578659839,RO @@ -31524,10 +32561,12 @@ 1580048384,1580064767,RU 1580064768,1580072959,GB 1580072960,1580083199,PT -1580083200,1580089343,DE -1580089344,1580101631,PT -1580101632,1580105727,GB -1580105728,1580109823,PT +1580083200,1580085247,DE +1580085248,1580089343,US +1580089344,1580097535,PT +1580097536,1580105727,GB +1580105728,1580109567,PT +1580109568,1580109823,SE 1580109824,1580113919,US 1580113920,1580138495,PT 1580138496,1580204031,IT @@ -31633,7 +32672,9 @@ 1583782704,1583782711,IT 1583782712,1583782975,GB 1583782976,1583782983,IT -1583782984,1583783495,GB +1583782984,1583783095,GB +1583783096,1583783103,IT +1583783104,1583783495,GB 1583783496,1583783503,IT 1583783504,1583783935,GB 1583783936,1583788031,EU @@ -31910,7 +32951,10 @@ 1587478528,1587511295,RU 1587511296,1587544063,IL 1587544064,1588068351,IT -1588068352,1588592639,GB +1588068352,1588092159,NL +1588092160,1588092415,GB +1588092416,1588133887,NL +1588133888,1588592639,GB 1588592640,1588593663,RO 1588593664,1588593919,MD 1588593920,1588594687,RO @@ -31920,24 +32964,30 @@ 1588609024,1588613119,MD 1588613120,1588617215,IR 1588617216,1588619775,RO -1588619776,1588620159,SG -1588620160,1588620287,VG -1588620288,1588641535,RO +1588619776,1588620287,SG +1588620288,1588637695,RO +1588637696,1588638719,ES +1588638720,1588641535,RO 1588641536,1588641791,GB 1588641792,1588643839,ES 1588643840,1588649983,RO 1588649984,1588652031,SE -1588652032,1588659199,RO +1588652032,1588654079,RO +1588654080,1588658175,DE +1588658176,1588659199,RO 1588659200,1588659711,NL 1588659712,1588664319,RO -1588664320,1588664831,VG +1588664320,1588664575,TH +1588664576,1588664831,VG 1588664832,1588673535,RO 1588673536,1588674559,MD 1588674560,1588676607,RO 1588676608,1588678655,IR 1588678656,1588684799,RO -1588684800,1588685311,VG -1588685312,1588689919,RO +1588684800,1588685055,TH +1588685056,1588685311,VG +1588685312,1588689663,RO +1588689664,1588689919,RU 1588689920,1588690687,GB 1588690688,1588723711,RO 1588723712,1588854783,UA @@ -32090,7 +33140,7 @@ 1592221696,1592225791,DK 1592225792,1592242175,RU 1592242176,1592246271,UA -1592246272,1592254463,RU +1592246272,1592250367,RU 1592254464,1592258559,PL 1592258560,1592262655,NL 1592262656,1592270847,RU @@ -32120,7 +33170,9 @@ 1592459264,1592524799,TR 1592524800,1592557567,GB 1592557568,1592590335,BG -1592590336,1592623103,FI +1592590336,1592594431,FI +1592594432,1592598527,DE +1592598528,1592623103,FI 1592623104,1592655871,RU 1592655872,1592786943,FR 1592786944,1592803327,PL @@ -32141,9 +33193,7 @@ 1593065472,1593081855,LT 1593081856,1593098239,UA 1593098240,1593114623,CH -1593114624,1593118719,SE -1593118720,1593122815,DK -1593122816,1593131007,SE +1593114624,1593131007,SE 1593131008,1593131023,CH 1593131024,1593131519,GB 1593131520,1593131775,CH @@ -32166,7 +33216,9 @@ 1593180160,1593196543,NO 1593196544,1593203103,SE 1593203104,1593203135,FI -1593203136,1593212927,SE +1593203136,1593206783,SE +1593206784,1593207039,FI +1593207040,1593212927,SE 1593212928,1593229311,PL 1593229312,1593245695,EE 1593245696,1593247743,NL @@ -32248,9 +33300,13 @@ 1596456960,1596588031,PL 1596588032,1596719103,BG 1596719104,1596850175,IE -1596850176,1596866559,CZ -1596866560,1596876799,RU -1596876800,1596881919,CZ +1596850176,1596858879,CZ +1596858880,1596859391,RU +1596859392,1596862463,CZ +1596862464,1596876799,RU +1596876800,1596878079,CZ +1596878080,1596878335,RU +1596878336,1596881919,CZ 1596881920,1596887295,RU 1596887296,1596887551,KZ 1596887552,1596888063,UA @@ -32261,12 +33317,14 @@ 1596890112,1596890623,RU 1596890624,1596890879,CZ 1596890880,1596900351,RU -1596900352,1596900863,CZ +1596900352,1596900607,CZ +1596900608,1596900863,RU 1596900864,1596901375,NL 1596901376,1596907519,BY 1596907520,1596909567,RU 1596909568,1596911615,KZ -1596911616,1596915711,RU +1596911616,1596911871,BY +1596911872,1596915711,RU 1596915712,1596923903,UA 1596923904,1596925951,CZ 1596925952,1596932095,RU @@ -32401,7 +33459,9 @@ 1600978944,1601011711,SE 1601011712,1601044479,UA 1601044480,1601077247,RU -1601077248,1601110015,IT +1601077248,1601109567,IT +1601109568,1601109631,FR +1601109632,1601110015,IT 1601110016,1601142783,BG 1601142784,1601175551,UA 1601175552,1601699839,DE @@ -32626,7 +33686,10 @@ 1603215360,1603219455,DE 1603219456,1603223551,CH 1603223552,1603223807,FR -1603223808,1603227647,GB +1603223808,1603226255,GB +1603226256,1603226263,DE +1603226264,1603226271,NL +1603226272,1603227647,GB 1603227648,1603231743,AT 1603231744,1603235839,IT 1603235840,1603239935,RU @@ -32648,9 +33711,7 @@ 1603895296,1603928063,RU 1603928064,1603944447,DK 1603944448,1603977215,RU -1603977216,1603990847,GB -1603990848,1603990911,A1 -1603990912,1603993599,GB +1603977216,1603993599,GB 1603993600,1604009983,ME 1604009984,1604026367,PL 1604026368,1604042751,NL @@ -32658,7 +33719,9 @@ 1604059136,1604075519,MK 1604075520,1604091903,RU 1604091904,1604108287,BA -1604108288,1604141055,DE +1604108288,1604120575,DE +1604120576,1604122623,PL +1604122624,1604141055,DE 1604141056,1604157439,IT 1604157440,1604190207,FR 1604190208,1604206591,UA @@ -32716,7 +33779,9 @@ 1605108408,1605108415,IT 1605108416,1605108567,GB 1605108568,1605108575,IT -1605108576,1605109223,GB +1605108576,1605108903,GB +1605108904,1605108911,IT +1605108912,1605109223,GB 1605109224,1605109231,IT 1605109232,1605109495,GB 1605109496,1605109503,IT @@ -32730,13 +33795,9 @@ 1605110264,1605110271,IT 1605110272,1605111023,GB 1605111024,1605111031,IT -1605111032,1605111087,GB -1605111088,1605111095,IT -1605111096,1605111199,GB +1605111032,1605111199,GB 1605111200,1605111207,IT -1605111208,1605111375,GB -1605111376,1605111383,IT -1605111384,1605111799,GB +1605111208,1605111799,GB 1605111800,1605111807,IT 1605111808,1605111879,GB 1605111880,1605111887,IT @@ -32744,7 +33805,9 @@ 1605111920,1605111927,IT 1605111928,1605111935,GB 1605111936,1605111943,IT -1605111944,1605112847,GB +1605111944,1605112423,GB +1605112424,1605112431,IT +1605112432,1605112847,GB 1605112848,1605112855,IT 1605112856,1605113087,GB 1605113088,1605113095,IT @@ -32752,7 +33815,9 @@ 1605113384,1605113391,IT 1605113392,1605113407,GB 1605113408,1605113415,IT -1605113416,1605113815,GB +1605113416,1605113567,GB +1605113568,1605113583,IT +1605113584,1605113815,GB 1605113816,1605113823,IT 1605113824,1605114199,GB 1605114200,1605114207,IT @@ -32778,9 +33843,13 @@ 1605125277,1605125375,DE 1605125376,1605125903,GB 1605125904,1605125919,DE -1605125920,1605130239,GB +1605125920,1605126701,GB +1605126702,1605126702,US +1605126703,1605130239,GB 1605130240,1605130271,NL -1605130272,1605132287,GB +1605130272,1605131263,GB +1605131264,1605131519,DE +1605131520,1605132287,GB 1605132288,1605148671,RU 1605148672,1605156863,PT 1605156864,1605165055,JO @@ -32820,7 +33889,9 @@ 1605599232,1605631999,GR 1605632000,1605664767,RS 1605664768,1605697535,MK -1605697536,1605753855,RU +1605697536,1605753343,RU +1605753344,1605753471,US +1605753472,1605753855,RU 1605753856,1605754879,FR 1605754880,1605763071,RU 1605763072,1605769215,KZ @@ -32828,8 +33899,10 @@ 1605771264,1605795839,RU 1605795840,1605828607,BE 1605828608,1605828863,GB -1605828864,1605829375,US -1605829376,1605830399,IL +1605828864,1605829631,US +1605829632,1605829887,GB +1605829888,1605830143,US +1605830144,1605830399,IL 1605830400,1605830655,US 1605830656,1605840895,RU 1605840896,1605844991,CH @@ -32845,9 +33918,10 @@ 1607575552,1607577599,GB 1607577600,1607581695,SE 1607581696,1607598079,DK -1607598080,1607598335,IT +1607598080,1607598335,GB 1607598336,1607598591,EU -1607598592,1607600383,IT +1607598592,1607599103,GB +1607599104,1607600383,IT 1607600384,1607600639,DE 1607600640,1607600895,AT 1607600896,1607601151,CH @@ -32855,7 +33929,9 @@ 1607601920,1607602175,GB 1607602176,1607606015,IT 1607606016,1607606271,FR -1607606272,1607608319,IT +1607606272,1607606783,DE +1607606784,1607607039,GB +1607607040,1607608319,IT 1607608320,1607608575,HU 1607608576,1607608831,SK 1607608832,1607610367,EU @@ -32873,8 +33949,9 @@ 1607625216,1607625471,EU 1607625472,1607625727,IT 1607625728,1607626751,ES -1607626752,1607627519,EU -1607627520,1607628543,IT +1607626752,1607627519,FR +1607627520,1607627775,FI +1607627776,1607628543,IT 1607628544,1607628799,EU 1607628800,1607629567,IT 1607629568,1607634431,EU @@ -32882,7 +33959,9 @@ 1607636480,1607639039,EU 1607639040,1607640805,IT 1607640806,1607640806,CH -1607640807,1607647231,IT +1607640807,1607642388,IT +1607642389,1607642389,NL +1607642390,1607647231,IT 1607647232,1607651327,DE 1607651328,1607655423,FR 1607655424,1607663615,IT @@ -32979,9 +34058,11 @@ 1611116544,1611117567,NL 1611117568,1611128831,US 1611128832,1611130879,NL -1611130880,1611227135,US +1611130880,1611218943,US +1611218944,1611227135,KH 1611227136,1611235327,CA -1611235328,1611662335,US +1611235328,1611251711,SG +1611251712,1611662335,US 1611662336,1611662847,NL 1611662848,1611692543,US 1611692544,1611693567,NL @@ -33066,7 +34147,8 @@ 1653555200,1653567487,CA 1653567488,1653571583,US 1653571584,1653575679,CA -1653575680,1653592063,US +1653575680,1653579775,US +1653583872,1653592063,US 1653592064,1653596159,CA 1653596160,1653600255,US 1653600256,1653604351,CA @@ -33399,7 +34481,9 @@ 1728346624,1728347135,AU 1728347136,1728347147,SG 1728347148,1728347148,AP -1728347149,1728347421,SG +1728347149,1728347416,SG +1728347417,1728347417,AP +1728347418,1728347421,SG 1728347422,1728347422,AP 1728347423,1728348159,SG 1728348160,1728349183,VN @@ -33434,7 +34518,8 @@ 1728375040,1728375295,IN 1728375296,1728376831,AU 1728376832,1728377855,ID -1728377856,1728378879,HK +1728377856,1728378623,HK +1728378624,1728378879,US 1728378880,1728380927,IN 1728380928,1728382975,PH 1728382976,1728383999,SG @@ -33603,7 +34688,7 @@ 1728538624,1728539647,AF 1728539648,1728540671,IN 1728540672,1728541695,BD -1728541696,1728543743,JP +1728541696,1728542719,JP 1728543744,1728544767,SG 1728544768,1728545791,IN 1728545792,1728546815,JP @@ -33643,7 +34728,6 @@ 1728574464,1728575487,KR 1728575488,1728576511,BD 1728576512,1728577535,BT -1728577536,1728578559,LA 1728578560,1728580607,CN 1728580608,1728580863,ID 1728580864,1728581119,VN @@ -33744,7 +34828,8 @@ 1728684032,1728685055,AU 1728685056,1728686079,JP 1728686080,1728687103,AU -1728687104,1728689407,JP +1728687104,1728688127,JP +1728689152,1728689407,JP 1728689408,1728689663,BD 1728689664,1728689919,PK 1728690176,1728691199,BD @@ -33839,7 +34924,6 @@ 1728775168,1728776191,JP 1728776192,1728777215,AU 1728777216,1728778239,TH -1728778240,1728779263,JP 1728779264,1728779519,IN 1728779776,1728780287,ID 1728780288,1728781311,KR @@ -33849,7 +34933,8 @@ 1728784384,1728785407,PH 1728785408,1728786431,KR 1728786432,1728787455,SG -1728787456,1728788479,AU +1728787456,1728787711,AU +1728787712,1728788479,NZ 1728788480,1728789503,KR 1728789504,1728790527,PK 1728790528,1728791551,PH @@ -33906,7 +34991,11 @@ 1728838656,1728839679,ID 1728839936,1728840191,IN 1728840192,1728840447,SG -1728840448,1728842751,AU +1728840448,1728841727,AU +1728841728,1728841983,NZ +1728841984,1728842239,AU +1728842240,1728842495,NZ +1728842496,1728842751,AU 1728842752,1728843775,ID 1728843776,1728844799,JP 1728844800,1728845311,ID @@ -33918,7 +35007,7 @@ 1728848896,1728849919,AU 1728849920,1728850943,PK 1728850944,1728851967,BD -1728851968,1728854015,JP +1728852992,1728854015,JP 1728854016,1728854527,AU 1728854528,1728854783,PK 1728854784,1728855039,AU @@ -33979,12 +35068,10 @@ 1728902400,1728902655,IN 1728902912,1728903167,BD 1728903168,1728905215,KR -1728905472,1728905727,PK 1728905728,1728906239,IN 1728907264,1728908287,NZ 1728909312,1728912383,JP 1728912384,1728913407,TH -1728913408,1728914431,PH 1728914432,1728915199,ID 1728915200,1728915455,NZ 1728915456,1728917503,JP @@ -34022,9 +35109,8 @@ 1728951552,1728951807,ID 1728951808,1728952063,SG 1728952064,1728952319,IN -1728952832,1728953343,AU -1728953344,1728954112,GB -1728954113,1728954367,HK +1728952832,1728953343,NZ +1728953344,1728954367,HK 1728954368,1728955391,JP 1728955392,1728956415,CN 1728956416,1728957439,ID @@ -34047,9 +35133,7 @@ 1728973824,1728974847,JP 1728974848,1728976383,ID 1728976384,1728976895,AU -1728976896,1728977151,AF 1728977920,1728978943,MY -1728978944,1728979967,JP 1728979968,1728980991,MN 1728980992,1728982015,AU 1728982016,1728982527,ID @@ -34168,7 +35252,8 @@ 1729079296,1729080319,AU 1729080320,1729081343,ID 1729081344,1729081599,IN -1729081600,1729082111,AU +1729081600,1729081855,AU +1729081856,1729082111,NZ 1729082112,1729082367,IN 1729082368,1729083391,HK 1729083392,1729083647,JP @@ -34279,7 +35364,6 @@ 1729182208,1729182463,ID 1729182464,1729182719,AU 1729182720,1729183743,AF -1729183744,1729184767,JP 1729184768,1729185791,BD 1729185792,1729186815,HK 1729186816,1729187327,ID @@ -34295,7 +35379,6 @@ 1729198080,1729199103,CN 1729199104,1729199615,MY 1729199616,1729199871,JP -1729199872,1729200127,TH 1729200128,1729201151,IN 1729201152,1729202175,AU 1729203200,1729205247,SG @@ -34340,7 +35423,6 @@ 1729239040,1729240063,JP 1729240064,1729242111,ID 1729242112,1729244159,AU -1729244160,1729245183,SG 1729245184,1729247231,AU 1729247232,1729247487,NZ 1729247488,1729247743,AU @@ -34438,7 +35520,7 @@ 1729352704,1729353727,IN 1729353728,1729353983,AU 1729353984,1729354239,IN -1729354240,1729354751,AU +1729354240,1729354495,AU 1729354752,1729355775,VN 1729355776,1729356799,IN 1729356800,1729357823,ID @@ -34605,7 +35687,6 @@ 1729546240,1729546495,JP 1729546496,1729547263,HK 1729548288,1729549311,AU -1729549312,1729550335,JP 1729550336,1729551359,MY 1729551360,1729552383,KR 1729552384,1729553407,AU @@ -34675,7 +35756,7 @@ 1729613824,1729614847,SG 1729614848,1729615103,NZ 1729615104,1729615359,KH -1729615360,1729615871,IN +1729615360,1729615615,IN 1729615872,1729616895,AU 1729616896,1729617919,JP 1729617920,1729618943,ID @@ -34691,11 +35772,10 @@ 1729627136,1729628159,SG 1729628160,1729629183,KR 1729629184,1729629695,ID -1729629696,1729629951,AU +1729629696,1729629951,NZ 1729629952,1729630207,HK 1729630208,1729631231,PH 1729631232,1729632255,IN -1729632256,1729633279,SG 1729633280,1729634303,NZ 1729634304,1729635327,KH 1729635328,1729636351,IN @@ -34782,7 +35862,6 @@ 1729723392,1729726463,IN 1729726464,1729727487,PK 1729727488,1729728511,KI -1729728512,1729729535,JP 1729729536,1729730559,CN 1729730560,1729731583,IN 1729731584,1729732607,CN @@ -34915,7 +35994,6 @@ 1729864704,1729866751,IN 1729866752,1729867775,AU 1729867776,1729869823,HK -1729869824,1729870847,JP 1729870848,1729871871,AU 1729871872,1729872895,JP 1729872896,1729873919,AU @@ -34923,7 +36001,6 @@ 1729874944,1729875455,MY 1729875456,1729875967,ID 1729875968,1729876991,CN -1729876992,1729878015,JP 1729878016,1729879039,NZ 1729879040,1729879295,AU 1729879296,1729879423,KR @@ -34961,7 +36038,6 @@ 1729902080,1729902591,SG 1729902592,1729903615,ID 1729903616,1729905663,KR -1729905664,1729906687,PH 1729906688,1729906943,AU 1729906944,1729907199,JP 1729907200,1729907711,ID @@ -35010,7 +36086,6 @@ 1729952000,1729952511,JP 1729952512,1729952767,NZ 1729952768,1729953791,IN -1729953792,1729954815,MY 1729954816,1729955839,ID 1729955840,1729956863,BD 1729956864,1729957887,HK @@ -35027,7 +36102,7 @@ 1729968128,1729969151,MY 1729969152,1729970175,LK 1729970176,1729971199,AU -1729971200,1729972223,JP +1729971200,1729972223,SG 1729972224,1729973247,HK 1729973248,1729974271,AU 1729974272,1729975295,PH @@ -35101,7 +36176,7 @@ 1730043904,1730044927,CN 1730044928,1730046975,HK 1730046976,1730047999,KR -1730048000,1730049023,ID +1730048000,1730049023,TL 1730050048,1730050303,AU 1730050304,1730050559,SG 1730050560,1730051071,ID @@ -35127,7 +36202,6 @@ 1730073600,1730073855,HK 1730074112,1730074367,AU 1730074368,1730074623,SG -1730074624,1730075647,CN 1730075648,1730076671,ID 1730077696,1730078719,CN 1730078720,1730079743,HK @@ -35193,7 +36267,62 @@ 1730147328,1730148351,JP 1730148352,1730149375,ID 1730149376,1730150399,JP -1730150400,1730412543,CN +1730150400,1730360319,CN +1730360320,1730361343,IN +1730361344,1730362367,SG +1730362368,1730363391,JP +1730363392,1730364415,VN +1730364416,1730365439,IN +1730365440,1730367487,HK +1730367488,1730368511,AU +1730368512,1730369535,HK +1730369536,1730370047,NZ +1730370048,1730370303,IN +1730370304,1730370559,JP +1730370560,1730371583,AU +1730371584,1730372607,TH +1730372608,1730373631,IN +1730373632,1730374655,CN +1730374656,1730375679,BD +1730375680,1730376191,AU +1730376192,1730376703,VU +1730376704,1730377727,CN +1730377728,1730378239,IN +1730378240,1730378495,HK +1730378496,1730378751,IN +1730378752,1730379775,HK +1730379776,1730380799,AU +1730380800,1730381823,IN +1730381824,1730382847,MY +1730382848,1730383359,ID +1730383360,1730383615,IN +1730383616,1730383871,MY +1730383872,1730385919,HK +1730385920,1730386943,AU +1730386944,1730387967,BD +1730387968,1730389503,IN +1730389504,1730390015,AF +1730390016,1730391039,BD +1730391040,1730392063,HK +1730392064,1730393087,AU +1730393088,1730394111,SG +1730394112,1730395135,HK +1730395136,1730396159,JP +1730396160,1730398207,IN +1730398208,1730399231,CN +1730399232,1730400255,TW +1730400256,1730402303,PK +1730402304,1730402559,NZ +1730402560,1730402815,IN +1730402816,1730403071,ID +1730403072,1730403327,AU +1730403328,1730404351,CN +1730404352,1730406399,AU +1730406400,1730407423,IN +1730407424,1730408447,ID +1730408448,1730410495,IN +1730410496,1730411519,SG +1730411520,1730412543,HK 1730412544,1730414591,AU 1730414592,1730415615,ID 1730415616,1730416127,AU @@ -35273,7 +36402,7 @@ 1730522112,1730524159,CN 1730524160,1730525183,IN 1730525184,1730526207,HK -1730526208,1730528255,JP +1730527232,1730528255,JP 1730528256,1730529279,SG 1730529280,1730529791,IN 1730529792,1730530303,AU @@ -35297,7 +36426,6 @@ 1730552832,1730553855,IN 1730553856,1730555903,CN 1730555904,1730556415,IN -1730556416,1730556927,HK 1730556928,1730557951,JP 1730557952,1730558975,CN 1730558976,1730559999,MY @@ -35548,7 +36676,7 @@ 1730858240,1730858495,ID 1730858496,1730859007,IN 1730859008,1730860031,BN -1730860032,1730861055,MY +1730860032,1730861055,HK 1730861056,1730862079,MM 1730862080,1730863103,JP 1730863104,1730864127,AU @@ -35584,8 +36712,8 @@ 1730893824,1730895103,AU 1730895104,1730895359,BD 1730895360,1730895871,NL -1730895872,1730899455,CN -1730899456,1730899967,MO +1730895872,1730898943,CN +1730898944,1730899967,MO 1730899968,1730900991,IN 1730900992,1730901503,AU 1730901504,1730901759,DE @@ -35756,9 +36884,10 @@ 1731167232,1731168255,ID 1731168256,1731170559,CN 1731170560,1731170687,HK -1731170688,1731170815,PK +1731170688,1731170815,MY 1731170816,1731171071,AU -1731171072,1731171327,PK +1731171072,1731171199,TH +1731171200,1731171327,MY 1731171328,1731172863,IN 1731172864,1731173375,MY 1731173376,1731178495,IN @@ -35771,7 +36900,7 @@ 1731182592,1731183615,VN 1731183616,1731184639,IN 1731184640,1731185663,CN -1731185664,1731186687,NZ +1731185664,1731186687,US 1731186688,1731187711,SG 1731187712,1731188735,CN 1731188736,1731189759,IN @@ -36092,7 +37221,11 @@ 1731557376,1731558399,JP 1731558400,1731564543,CN 1731564544,1731565567,NZ -1731565568,1731566079,HK +1731565568,1731565600,HK +1731565601,1731565605,JP +1731565606,1731565611,HK +1731565612,1731565613,JP +1731565614,1731566079,HK 1731566080,1731566591,PH 1731566592,1731567615,IN 1731567616,1731568639,CN @@ -36107,7 +37240,8 @@ 1731574784,1731576831,ID 1731576832,1731577087,AU 1731577088,1731577599,SG -1731577600,1731578879,AU +1731577600,1731577855,HK +1731577856,1731578879,AU 1731578880,1731580927,CN 1731581952,1731582975,CN 1731582976,1731583999,PH @@ -36125,8 +37259,7 @@ 1731601408,1731603455,BD 1731603456,1731604479,HK 1731604480,1731605503,CN -1731605504,1731605759,MY -1731605760,1731606527,CN +1731605504,1731606527,MY 1731606528,1731607551,JP 1731607552,1731608575,CN 1731608576,1731609599,IN @@ -36173,7 +37306,10 @@ 1731655680,1731657727,VN 1731657728,1731658751,TH 1731658752,1731659775,JP -1731659776,1731660799,HK +1731659776,1731660031,HK +1731660032,1731660287,SG +1731660288,1731660543,MY +1731660544,1731660799,BN 1731660800,1731661823,JP 1731661824,1731662847,AU 1731662848,1731663871,HK @@ -36275,8 +37411,470 @@ 1731761664,1731762175,AU 1731762176,1731763199,CN 1731763200,1731767295,VN -1731767296,1731767551,IN -1731768320,1731770367,IN +1731767296,1731767807,IN +1731767808,1731768063,KH +1731768064,1731770367,IN +1731770368,1731771391,CN +1731771392,1731772415,ID +1731772416,1731773439,HK +1731773440,1731774463,IN +1731774464,1731775487,CN +1731775488,1731776511,ID +1731776512,1731777023,BD +1731777024,1731777535,IN +1731777536,1731778559,JP +1731778560,1731779071,HK +1731779072,1731779583,JP +1731779584,1731782655,IN +1731782656,1731783679,ID +1731783680,1731788799,IN +1731788800,1731789823,AU +1731789824,1731790847,JP +1731790848,1731791871,ID +1731791872,1731792895,CN +1731792896,1731793919,IN +1731793920,1731794943,BD +1731794944,1731795967,HK +1731795968,1731796991,JP +1731796992,1731798015,AU +1731798016,1731799039,ID +1731799040,1731800063,BD +1731800064,1731802111,JP +1731802112,1731804159,CN +1731804160,1731805183,KR +1731805184,1731806207,IN +1731806208,1731806463,AU +1731806464,1731807231,IN +1731807232,1731808255,SG +1731808256,1731809279,CN +1731809280,1731811583,IN +1731811584,1731811839,AU +1731811840,1731812095,HK +1731812096,1731812351,AU +1731812352,1731813375,MN +1731813376,1731815423,JP +1731815424,1731816447,VN +1731816448,1731817471,CN +1731817472,1731818495,VN +1731818496,1731820543,BD +1731820544,1731821567,IN +1731821568,1731822591,JP +1731822592,1731823615,IN +1731823616,1731824639,CN +1731824640,1731825663,IN +1731825664,1731826687,JP +1731826688,1731827199,AU +1731827200,1731827455,IN +1731827456,1731827711,BD +1731827712,1731828735,PK +1731828736,1731829759,SG +1731829760,1731830783,IN +1731830784,1731831039,SG +1731831040,1731831807,AU +1731831808,1731832831,PK +1731832832,1731836927,IN +1731836928,1731837951,MY +1731837952,1731838975,ID +1731838976,1731839999,CN +1731840000,1731841023,HK +1731841024,1731842047,NP +1731842048,1731843071,VN +1731843072,1731845119,IN +1731845120,1731846143,VN +1731846144,1731846655,HK +1731846656,1731846911,IN +1731846912,1731847167,PH +1731847168,1731848191,HK +1731848192,1731849215,MP +1731849216,1731858431,IN +1731858432,1731859455,MY +1731859456,1731860479,FJ +1731860480,1731861503,CN +1731861504,1731862527,IN +1731862528,1731862783,AU +1731862784,1731863039,ID +1731863040,1731863551,AU +1731863552,1731871743,IN +1731871744,1731872767,JP +1731872768,1731873791,BD +1731873792,1731877887,IN +1731877888,1731878911,BD +1731878912,1731879935,IN +1731879936,1731881983,ID +1731881984,1731882495,BD +1731882496,1731882751,SG +1731882752,1731883007,ID +1731883008,1731883263,SG +1731883264,1731883519,MY +1731883520,1731891199,IN +1731891200,1731891711,NP +1731891712,1731892223,ID +1731892224,1731893247,TH +1731893248,1731895295,IN +1731895296,1731896319,ID +1731896320,1731899391,IN +1731899392,1731900415,HK +1731900416,1731900671,IN +1731900672,1731900927,HK +1731900928,1731901439,CN +1731901440,1731903487,IN +1731903488,1731905535,AU +1731905536,1731908607,IN +1731908608,1731911679,AU +1731911680,1731912703,KH +1731912704,1731913727,NZ +1731913728,1731913983,AU +1731913984,1731928063,IN +1731928064,1731929087,JP +1731929088,1731930111,BD +1731930112,1731933183,HK +1731933184,1731934207,LA +1731934208,1731939327,IN +1731939328,1731940351,CN +1731940352,1731942655,IN +1731942656,1731942911,JP +1731942912,1731943423,HK +1731943424,1731944447,KR +1731944448,1731945471,IN +1731945472,1731946495,CN +1731946496,1731947519,IN +1731947520,1731948543,AU +1731948544,1731953663,CN +1731953664,1731954687,IN +1731954688,1731955711,JP +1731956736,1731957759,HK +1731957760,1731958783,CN +1731958784,1731959807,IN +1731959808,1731960831,KR +1731960832,1731961855,AU +1731961856,1731962879,CN +1731962880,1731963903,BD +1731963904,1731964927,KH +1731964928,1731965951,BD +1731965952,1731966463,IN +1731966464,1731966975,AU +1731966976,1731975167,IN +1731975168,1731976191,CN +1731976192,1731977215,TW +1731977216,1731979519,IN +1731979520,1731979775,BD +1731979776,1731980287,ID +1731980288,1731986431,IN +1731986432,1731987455,JP +1731987456,1731988479,SG +1731988480,1731989503,JP +1731989504,1731990527,VN +1731990528,1731990783,AU +1731990784,1731991039,IN +1731991040,1731991551,AU +1731991552,1731992575,MY +1731992576,1731993599,IN +1731993600,1731994623,CN +1731994624,1731995647,JP +1731995648,1731996671,IN +1731996672,1731997695,CN +1731997696,1731999743,IN +1731999744,1732002815,HK +1732002816,1732007935,IN +1732007936,1732009983,JP +1732009984,1732010239,AU +1732010240,1732010495,MN +1732010496,1732010751,AU +1732010752,1732011007,NZ +1732011008,1732012287,IN +1732012288,1732013055,AU +1732013056,1732014079,HK +1732014080,1732016127,IN +1732016128,1732018175,KR +1732018176,1732019199,IN +1732019200,1732019967,AU +1732019968,1732022271,IN +1732022272,1732024319,HK +1732024320,1732025343,AU +1732025344,1732026367,IN +1732026368,1732027391,BD +1732027392,1732028415,CN +1732028416,1732029439,PH +1732029440,1732030463,BD +1732030464,1732031487,IN +1732031488,1732032511,ID +1732032512,1732032767,PH +1732032768,1732033023,TH +1732033024,1732033535,IN +1732033536,1732034559,JP +1732034560,1732035583,NZ +1732035584,1732036607,IN +1732036608,1732037631,AU +1732037632,1732038655,JP +1732038656,1732040703,IN +1732040704,1732040959,AU +1732040960,1732041215,SG +1732041216,1732041727,IN +1732041728,1732042751,HK +1732042752,1732043775,JP +1732043776,1732044799,CN +1732044800,1732045823,HK +1732045824,1732046847,CN +1732046848,1732047871,AU +1732047872,1732048895,IN +1732048896,1732049919,HK +1732049920,1732050943,PH +1732050944,1732051967,HK +1732051968,1732052991,SG +1732052992,1732054015,MM +1732054016,1732055039,IN +1732055040,1732056063,ID +1732056064,1732057087,HK +1732057088,1732058111,KH +1732058112,1732059135,HK +1732059136,1732060159,IN +1732060160,1732061183,HK +1732061184,1732061439,AU +1732061440,1732061695,ID +1732061696,1732062207,AU +1732062208,1732064255,VN +1732064256,1732066303,IN +1732066304,1732067327,CN +1732067328,1732068607,IN +1732068608,1732068863,NZ +1732068864,1732069119,AU +1732069120,1732069375,ID +1732069376,1732074495,IN +1732074496,1732075519,KH +1732075520,1732076543,AU +1732076544,1732077567,IN +1732077568,1732078591,CN +1732078592,1732080639,IN +1732080640,1732081663,ID +1732081664,1732082687,HK +1732082688,1732083711,MY +1732083712,1732084735,AU +1732084736,1732085759,IN +1732085760,1732086783,TW +1732086784,1732087807,CN +1732087808,1732088831,HK +1732088832,1732089599,IN +1732089600,1732089855,JP +1732089856,1732092927,CN +1732092928,1732093951,IN +1732093952,1732094975,HK +1732094976,1732097023,CN +1732097024,1732098047,IN +1732098048,1732100095,CN +1732100096,1732100607,SG +1732100608,1732107263,IN +1732107264,1732108287,HK +1732108288,1732109823,AU +1732109824,1732110335,IN +1732110336,1732111359,JP +1732111360,1732113407,HK +1732113408,1732114431,JP +1732114432,1732115455,ID +1732115456,1732116479,IN +1732116480,1732117503,PH +1732117504,1732118527,SG +1732118528,1732119551,VN +1732119552,1732122623,IN +1732122624,1732123647,CN +1732123648,1732124159,AU +1732124160,1732124671,PH +1732124672,1732126719,AU +1732126720,1732127743,IN +1732127744,1732128767,HK +1732128768,1732129023,SG +1732129024,1732129791,HK +1732129792,1732130815,CN +1732130816,1732134911,IN +1732134912,1732140031,CN +1732140032,1732141055,IN +1732141056,1732151295,CN +1732151296,1732152319,IN +1732152320,1732153855,BD +1732153856,1732154367,IN +1732154368,1732155391,HK +1732155392,1732156415,PH +1732156416,1732166655,CN +1732166656,1732167167,ID +1732167168,1732167679,IN +1732167680,1732168191,AU +1732168192,1732168703,ID +1732168704,1732174847,CN +1732174848,1732175871,KR +1732175872,1732176895,PK +1732176896,1732177919,IN +1732177920,1732178943,SG +1732178944,1732179967,JP +1732179968,1732182015,IN +1732182016,1732184063,HK +1732184064,1732188671,IN +1732188672,1732188927,AU +1732188928,1732189183,WS +1732189184,1732190207,IN +1732190208,1732205567,CN +1732205568,1732206591,NZ +1732206592,1732207615,ID +1732207616,1732207871,AU +1732207872,1732208127,IN +1732208128,1732208383,PH +1732208384,1732208639,AU +1732208640,1732213759,VN +1732213760,1732215807,IN +1732215808,1732217855,HK +1732217856,1732219903,CN +1732219904,1732220927,IN +1732220928,1732221951,CN +1732221952,1732222975,BD +1732222976,1732230143,CN +1732230144,1732230399,LA +1732230400,1732230655,AU +1732230656,1732230911,KH +1732230912,1732231167,AU +1732231168,1732236287,CN +1732236288,1732237311,VN +1732237312,1732240383,JP +1732240384,1732241407,AU +1732241408,1732241663,IN +1732241664,1732241919,ID +1732241920,1732242431,BD +1732242432,1732243455,HK +1732243456,1732247551,CN +1740636160,1740644351,CN +1740644352,1740645375,IN +1740645376,1740647423,HK +1740647424,1740648447,MO +1740648448,1740651519,CN +1740651520,1740653567,IN +1740653568,1740654591,JP +1740654592,1740655615,IN +1740655616,1740656639,NP +1740656640,1740656895,NZ +1740656896,1740657151,AF +1740657152,1740657663,AU +1740657664,1740665855,CN +1740665856,1740666879,IN +1740666880,1740667903,JP +1740667904,1740668927,PH +1740668928,1740674047,CN +1740674048,1740675071,JP +1740675072,1740676095,AU +1740676096,1740677119,BD +1740677120,1740678143,HK +1740678144,1740679167,CN +1740679168,1740680447,IN +1740680448,1740680703,AU +1740680704,1740680959,MM +1740680960,1740681215,AU +1740681216,1740682239,HK +1740682240,1740683263,KH +1740683264,1740684287,PH +1740684288,1740685311,CN +1740685312,1740686591,AU +1740686592,1740686847,NZ +1740686848,1740687359,IN +1740687360,1740688383,HK +1740688384,1740689407,IN +1740689408,1740692479,CN +1740692480,1740693503,IN +1740693504,1740694527,HK +1740694528,1740696575,JP +1740696576,1740697599,VN +1740697600,1740698623,NZ +1740698624,1740700671,IN +1740700672,1740701695,CN +1740701696,1740702719,IN +1740702720,1740703743,MX +1740703744,1740704255,NZ +1740704256,1740704767,AU +1740704768,1740705791,JP +1740705792,1740706047,NZ +1740706048,1740706303,AU +1740706304,1740706559,PK +1740706560,1740706815,ID +1740706816,1740709887,IN +1740709888,1740710911,HK +1740710912,1740711423,IN +1740711424,1740711935,NZ +1740711936,1740713983,CN +1740713984,1740719103,IN +1740719104,1740720127,HK +1740720128,1740721151,JP +1740721152,1740721407,AU +1740721408,1740721663,IN +1740721664,1740721919,AU +1740721920,1740722175,IN +1740722176,1740723199,AU +1740723200,1740731391,IN +1740731392,1740732415,ID +1740732416,1740734463,CN +1740734464,1740736511,HK +1740736512,1740737535,NZ +1740737536,1740740607,CN +1740740608,1740742655,IN +1740742656,1740743679,CN +1740743680,1740743935,NZ +1740743936,1740744191,PH +1740744192,1740744703,AU +1740744704,1740745727,BD +1740745728,1740746751,HK +1740746752,1740747775,JP +1740747776,1740748799,KH +1740748800,1740749823,JP +1740749824,1740751871,CN +1740751872,1740753919,IN +1740753920,1740754943,KH +1740754944,1740755967,AU +1740755968,1740764159,CN +1740764160,1740766207,HK +1740766208,1740767231,IN +1740767232,1740769279,AU +1740769280,1740771327,IN +1740771328,1740772351,CN +1740772352,1740776447,IN +1740776448,1740777471,HK +1740777472,1740777983,JP +1740777984,1740778495,HK +1740778496,1740779519,IN +1740779520,1740780543,AU +1740780544,1740784639,IN +1740784640,1740784895,AU +1740784896,1740785663,IN +1740785664,1740786687,JP +1740786688,1740787711,SG +1740787712,1740788735,MY +1740788736,1740789759,KH +1740789760,1740790783,IN +1740791808,1740792831,IN +1740792832,1740794879,HK +1740794880,1740795903,KR +1740795904,1740796159,NZ +1740796160,1740798207,IN +1740798208,1740798463,AU +1740798464,1740798975,IN +1740798976,1740799999,AU +1740800000,1740800511,IN +1740800512,1740800767,ID +1740800768,1740805119,IN +1740805120,1740806143,HK +1740806144,1740809215,IN +1740809216,1740810239,JP +1740810240,1740811263,IN +1740811264,1740812287,ID +1740812288,1740813311,MN +1740813312,1740814335,IN +1740815360,1740816383,VN +1740816384,1740821503,IN +1740821504,1740822015,HK +1740822016,1740822527,AU +1740822528,1740825599,IN +1740825600,1740825855,SG +1740825856,1740826111,AU +1740826112,1740826623,CN +1740826624,1740827647,IN +1740827648,1740828671,HK +1740828672,1740829695,IN +1740829696,1740830719,HK +1740830720,1740831743,IN +1740831744,1740832767,KR 1742734336,1742735359,IN 1742735360,1742736383,JP 1742736384,1742737407,PK @@ -36299,7 +37897,7 @@ 1742750720,1742751743,IN 1742751744,1742752767,HK 1742752768,1742753791,NZ -1742753792,1742754815,CN +1742753792,1742754815,HK 1742754816,1742756863,AU 1742756864,1742757887,JP 1742757888,1742758911,BN @@ -36465,13 +38063,13 @@ 1742928896,1742929919,NZ 1742929920,1742930175,IN 1742930432,1742930943,PH -1742930944,1742931967,KH 1742931968,1742932991,JP 1742932992,1742933503,SG 1742933504,1742933759,ID 1742933760,1742934015,NZ 1742934016,1742935039,AF -1742935040,1742938111,AU +1742935040,1742937087,AU +1742937088,1742938111,NZ 1742938112,1742939135,TW 1742939136,1742940159,IN 1742940160,1742941183,JP @@ -36502,8 +38100,6 @@ 1742972928,1742973439,AU 1742973440,1742973951,NZ 1742973952,1742975999,SG -1742976000,1742977023,JP -1742977024,1742978047,HK 1742978048,1742979071,JP 1742979072,1742980095,HK 1742980096,1742981119,CN @@ -36525,7 +38121,6 @@ 1742994432,1742995455,ID 1742995456,1742996479,BD 1742996480,1742997503,TH -1742997504,1742998527,JP 1742998528,1742999551,CN 1742999552,1742999807,AU 1742999808,1743000063,ID @@ -36544,27 +38139,22 @@ 1743015936,1743016447,ID 1743016448,1743016703,HK 1743016704,1743016959,IN -1743016960,1743017983,KH 1743017984,1743019007,CN 1743019008,1743021055,HK 1743021056,1743021311,SG 1743021312,1743021567,NZ 1743021568,1743021823,PH 1743021824,1743022079,IN -1743022080,1743023103,AU 1743023104,1743024127,HK 1743024128,1743025151,IN 1743025152,1743026175,ID 1743026176,1743027199,BD 1743027200,1743028223,AU 1743028224,1743029247,CN -1743029248,1743029503,AU -1743030272,1743031295,HK 1743031296,1743035391,IN 1743035392,1743036415,PK 1743036416,1743037439,CN 1743037440,1743038463,AU -1743038464,1743039487,JP 1743039488,1743040511,IN 1743040512,1743041535,CN 1743041536,1743042559,HK @@ -36578,7 +38168,6 @@ 1743049728,1743050751,AU 1743050752,1743051775,TW 1743051776,1743052799,IN -1743052800,1743053823,JP 1743053824,1743055871,CN 1743055872,1743059199,ID 1743059200,1743059967,IN @@ -36603,9 +38192,7 @@ 1743074048,1743074303,IN 1743074304,1743075327,HK 1743075328,1743076351,MY -1743076352,1743077375,JP 1743077376,1743078399,IN -1743078400,1743079423,JP 1743079424,1743080959,ID 1743080960,1743081471,IN 1743081472,1743083519,BD @@ -36629,7 +38216,6 @@ 1743095808,1743096831,CN 1743096832,1743098879,HK 1743098880,1743099903,CN -1743099904,1743100927,KH 1743100928,1743101951,KR 1743101952,1743103999,ID 1743104000,1743105023,IN @@ -36660,7 +38246,6 @@ 1743126528,1743127551,CN 1743127552,1743128575,BD 1743128576,1743129599,JP -1743129600,1743131647,HK 1743131648,1743132671,IN 1743132672,1743133695,JP 1743133696,1743134719,CN @@ -36675,7 +38260,6 @@ 1743140864,1743141887,MY 1743141888,1743142911,BD 1743142912,1743143935,BN -1743143936,1743144959,HK 1743144960,1743145983,AU 1743145984,1743147007,NZ 1743147008,1743147263,AU @@ -36690,24 +38274,21 @@ 1743153152,1743154175,BD 1743154176,1743155199,HK 1743155200,1743156223,KR -1743156224,1743157247,KH 1743157248,1743158271,HK -1743158272,1743160319,JP +1743159296,1743160319,JP 1743160320,1743161343,TH -1743161344,1743163391,HK +1743161344,1743162367,HK 1743163392,1743166463,IN 1743166464,1743167487,AU 1743167488,1743168511,HK 1743169024,1743169535,IN 1743169536,1743170559,JP -1743170560,1743171583,KR 1743171584,1743172607,AU 1743172608,1743173631,BD 1743173632,1743174655,AU 1743174656,1743175679,ID 1743175680,1743176703,HK 1743176704,1743179775,CN -1743179776,1743180799,JP 1743180800,1743181823,CN 1743181824,1743182847,HK 1743182848,1743184895,IN @@ -36729,7 +38310,6 @@ 1743201280,1743202303,PH 1743202304,1743204351,IN 1743204352,1743205375,TW -1743205376,1743206399,JP 1743206400,1743207423,HK 1743207424,1743208447,KH 1743208448,1743210495,CN @@ -36751,8 +38331,7 @@ 1743225856,1743226367,IN 1743226368,1743226623,PH 1743226624,1743226879,BD -1743226880,1743227647,AF -1743227648,1743227903,IR +1743226880,1743227903,AF 1743227904,1743228927,HK 1743228928,1743229951,CN 1743229952,1743230975,VN @@ -36767,7 +38346,6 @@ 1743237120,1743238143,BD 1743238144,1743240191,CN 1743240192,1743241215,SG -1743241216,1743242239,JP 1743242240,1743244287,ID 1743244288,1743245311,AU 1743245312,1743248383,IN @@ -36784,8 +38362,9 @@ 1743256576,1743258623,HK 1743258624,1743259647,CN 1743259648,1743260671,IN -1743260672,1743261695,JP -1743261696,1743262719,HK +1743260672,1743261703,JP +1743261704,1743261711,PH +1743261712,1743262719,HK 1743262720,1743264767,IN 1743264768,1743265279,MY 1743265280,1743265535,ID @@ -36799,12 +38378,10 @@ 1743273984,1743275007,ID 1743275008,1743276031,HK 1743276032,1743277055,JP -1743277056,1743278079,PH 1743278080,1743279103,LA 1743279104,1743281151,HK 1743281152,1743283199,AU 1743283200,1743284223,BD -1743284224,1743285247,JP 1743285248,1743286271,NZ 1743286272,1743287295,IN 1743287296,1743288319,AU @@ -36818,12 +38395,10 @@ 1743296512,1743297535,NP 1743297536,1743298303,NZ 1743298304,1743299583,AU -1743299584,1743300607,KH 1743300608,1743301631,AU 1743301632,1743303679,IN 1743303680,1743304703,NZ 1743304704,1743305727,IN -1743305728,1743306751,JP 1743306752,1743307775,KH 1743307776,1743308799,AU 1743308800,1743309823,JP @@ -36842,7 +38417,6 @@ 1743319296,1743319551,IN 1743319552,1743320063,ID 1743320064,1743321087,IN -1743321088,1743322111,JP 1743322112,1743323135,AU 1743323136,1743324159,MY 1743324160,1743325183,CN @@ -36852,7 +38426,6 @@ 1743329280,1743330303,IN 1743330304,1743331327,AU 1743331328,1743333375,PH -1743333376,1743334399,JP 1743334400,1743335423,CN 1743335424,1743336447,VN 1743336448,1743337471,CN @@ -36880,7 +38453,6 @@ 1743355904,1743356927,CN 1743356928,1743357951,NZ 1743357952,1743358975,CN -1743358976,1743359487,AF 1743359488,1743361023,ID 1743361024,1743362047,AU 1743362048,1743364095,ID @@ -36895,7 +38467,7 @@ 1743370240,1743371263,HK 1743371264,1743372287,MO 1743372288,1743373311,TH -1743373312,1743375359,JP +1743373312,1743374335,JP 1743375360,1743376383,MM 1743376384,1743377407,AU 1743377408,1743378431,JP @@ -36912,23 +38484,19 @@ 1743387648,1743388671,JP 1743388672,1743389695,CN 1743389696,1743390719,KR -1743390720,1743391743,JP 1743391744,1743391999,PK 1743392000,1743392767,AU 1743392768,1743393791,HK 1743393792,1743394815,CN 1743394816,1743395839,BD -1743395840,1743396863,JP 1743396864,1743397887,HK 1743397888,1743398911,VN 1743398912,1743399935,TW -1743399936,1743400959,JP 1743400960,1743401983,PG 1743401984,1743403007,HK 1743403008,1743404031,CN 1743404032,1743405055,AU 1743405056,1743407103,IN -1743407104,1743408127,JP 1743408128,1743410175,TW 1743410176,1743411199,SG 1743411200,1743412223,VN @@ -36967,7 +38535,7 @@ 1743446016,1743448063,TW 1743448064,1743449087,AU 1743449088,1743451135,IN -1743451136,1743452159,HK +1743451136,1743452159,CN 1743452160,1743453183,AU 1743453184,1743454207,ID 1743454208,1743455231,IN @@ -37023,7 +38591,31 @@ 1743506944,1743507455,IN 1743507456,1743509503,VN 1743509504,1743510527,HK -1743510528,1743552511,CN +1743510528,1743545343,CN +1743545344,1743546367,HK +1743546368,1743549951,IN +1743549952,1743550207,AU +1743550208,1743550463,SG +1743550464,1743551487,CN +1743551488,1743552511,IN +1743552512,1743553535,JP +1743553536,1743554559,PK +1743554560,1743555583,HK +1743555584,1743557631,JP +1743557632,1743558655,ID +1743558656,1743560703,IN +1743560704,1743561215,ID +1743561216,1743561727,AU +1743561728,1743564799,IN +1743564800,1743565823,PH +1743565824,1743566847,JP +1743566848,1743567871,CN +1743567872,1743569151,ID +1743569152,1743569919,IN +1743569920,1743570943,SG +1743570944,1743574015,IN +1743574016,1743575039,AU +1743575040,1743576063,HK 1743585280,1743589375,CN 1743589376,1743590399,AU 1743590400,1743591423,KR @@ -37084,7 +38676,7 @@ 1743682560,1743683583,MY 1743683584,1743683839,JP 1743683840,1743684095,AU -1743684096,1743684351,HK +1743684096,1743684351,JP 1743684352,1743684607,AU 1743684608,1743685631,CN 1743685632,1743686655,ID @@ -37157,7 +38749,6 @@ 1743767552,1743768575,PH 1743768576,1743770623,CN 1743770624,1743770879,AU -1743770880,1743771135,PH 1743771136,1743771647,NZ 1743771648,1743772671,JP 1743772672,1743773695,SG @@ -37397,7 +38988,7 @@ 1744041984,1744043007,TW 1744043008,1744044031,CN 1744044032,1744045055,HK -1744045056,1744047103,SG +1744046080,1744047103,SG 1744047104,1744048127,BD 1744048128,1744049151,CN 1744049152,1744050175,BD @@ -37564,7 +39155,6 @@ 1744218112,1744218367,AU 1744218368,1744218623,ID 1744218624,1744219135,IN -1744219136,1744220159,PH 1744220160,1744220927,HK 1744220928,1744221183,JP 1744221184,1744222207,NZ @@ -37664,7 +39254,7 @@ 1744315392,1744316415,HK 1744316416,1744317439,KH 1744317440,1744318463,AU -1744318464,1744320511,JP +1744318464,1744319487,JP 1744320512,1744321535,ID 1744321536,1744322559,IN 1744322560,1744323583,CN @@ -37681,7 +39271,7 @@ 1744337920,1744338943,CN 1744338944,1744339967,AU 1744339968,1744340991,SG -1744340992,1744343039,HK +1744342016,1744343039,HK 1744343040,1744343551,SG 1744343552,1744343807,ID 1744343808,1744344063,AU @@ -37693,11 +39283,11 @@ 1744350208,1744351231,IN 1744351232,1744352255,NZ 1744353280,1744354303,HK -1744354304,1744355327,AU +1744354304,1744354559,AU +1744354560,1744355327,NZ 1744355328,1744356351,CN -1744356352,1744357375,JP 1744357376,1744357631,NZ -1744357632,1744358399,AU +1744357632,1744357887,AU 1744358400,1744359423,BD 1744359424,1744360447,IN 1744360448,1744361471,CN @@ -37708,7 +39298,7 @@ 1744367616,1744368639,HK 1744368640,1744369663,IN 1744369664,1744369919,ID -1744369920,1744370431,AU +1744369920,1744370175,AU 1744370432,1744370687,JP 1744370688,1744371711,HK 1744371712,1744372735,BD @@ -37769,7 +39359,6 @@ 1744434176,1744435199,CN 1744435200,1744436223,IN 1744436224,1744437247,CN -1744438272,1744439295,JP 1744439296,1744439807,AU 1744439808,1744440319,IN 1744440320,1744441343,HK @@ -37821,7 +39410,6 @@ 1744490496,1744491519,IN 1744491520,1744492543,AU 1744492544,1744493567,CN -1744493568,1744494079,AU 1744494080,1744494591,PK 1744494592,1744495615,CN 1744495616,1744497663,NZ @@ -37913,7 +39501,12 @@ 1744594432,1744594943,AU 1744594944,1744595967,CN 1744595968,1744596991,IN -1744596992,1744598015,SG +1744596992,1744597123,SG +1744597124,1744597124,US +1744597125,1744597151,SG +1744597152,1744597183,IN +1744597184,1744597215,JP +1744597216,1744598015,SG 1744599040,1744601087,JP 1744602112,1744603135,HK 1744603136,1744604159,JP @@ -38052,12 +39645,11 @@ 1744747520,1744748543,CN 1744749056,1744749567,NZ 1744749568,1744749823,CN -1744749824,1744750591,AU 1744750592,1744752639,IN 1744752640,1744753663,HK 1744753664,1744754687,SG 1744754688,1744755711,VN -1744755712,1744756735,CN +1744755712,1744756735,HK 1744756736,1744757759,PF 1744757760,1744758271,NZ 1744758272,1744758527,IN @@ -38119,7 +39711,7 @@ 1744825344,1744826367,VN 1744826368,1744827391,ID 1744827392,1744828415,JP -1744828416,1744828927,AU +1744828416,1744828927,NZ 1744828928,1744829183,SG 1744829184,1744829439,AU 1744829440,1744830463,HK @@ -38190,7 +39782,9 @@ 1749397504,1749406719,NL 1749406720,1749413887,US 1749413888,1749422079,NL -1749422080,1749476863,US +1749422080,1749449727,US +1749449728,1749450239,NL +1749450240,1749476863,US 1749476864,1749496319,NL 1749496320,1749497855,US 1749497856,1749499391,NL @@ -38214,19 +39808,66 @@ 1749685248,1749686783,NL 1749686784,1749696511,US 1749696512,1749698047,NL -1749698048,1749749247,US +1749698048,1749698559,US +1749698560,1749718015,NL +1749718016,1749749247,US 1749749248,1749749759,NL 1749749760,1749757951,US 1749757952,1749767167,NL -1749767168,1749816831,US +1749767168,1749767679,US +1749767680,1749769215,NL +1749769216,1749770239,US +1749770240,1749778431,NL +1749778432,1749816831,US 1749816832,1749818367,NL 1749818368,1749819391,US 1749819392,1749827583,NL -1749827584,1749862143,US +1749827584,1749837823,US +1749837824,1749838847,NL +1749838848,1749862143,US 1749862144,1749862399,NL -1749862400,1749866239,US +1749862400,1749863423,US +1749863424,1749863679,NL +1749863680,1749866239,US 1749866240,1749866495,NL -1749866496,1753251839,US +1749866496,1749867263,US +1749867264,1749867519,NL +1749867520,1749868031,US +1749868032,1749868287,NL +1749868288,1750079999,US +1750080000,1750081535,NL +1750081536,1750089727,US +1750089728,1750106111,NL +1750106112,1750241279,US +1750241280,1750252543,NL +1750252544,1750253567,US +1750253568,1750261759,NL +1750261760,1750270975,US +1750270976,1750290943,NL +1750290944,1750292479,US +1750292480,1750294527,NL +1750294528,1750302719,US +1750302720,1750321663,NL +1750321664,1750323199,US +1750323200,1750331391,NL +1750331392,1750372351,US +1750372352,1750373375,NL +1750373376,1750374399,US +1750374400,1750374911,NL +1750374912,1750494719,US +1750494720,1750495231,NL +1750495232,1750515199,US +1750515200,1750515711,NL +1750515712,1750523903,US +1750523904,1750533119,NL +1750533120,1750581247,US +1750581248,1750597631,NL +1750597632,1750705151,US +1750705152,1750724607,NL +1750724608,1751505919,US +1751505920,1751506175,IN +1751506176,1751506431,HK +1751506432,1753251839,US 1753251840,1753252095,MN 1753252096,1753252351,SY 1753252352,1753252607,BY @@ -38262,7 +39903,13 @@ 1753489664,1753490175,US 1753490176,1753490431,AU 1753490432,1753490687,IL -1753490688,1753735167,US +1753490688,1753494527,US +1753494528,1753494783,IL +1753494784,1753517567,US +1753517568,1753517823,NO +1753517824,1753522431,US +1753522432,1753522687,FR +1753522688,1753735167,US 1753735168,1753743359,IE 1753743360,1754136575,US 1754136576,1754169343,CA @@ -38285,7 +39932,10 @@ 1754209536,1754209791,BR 1754209792,1754210047,AR 1754210048,1754210303,BJ -1754210304,1754230783,US +1754210304,1754223615,US +1754223616,1754223623,MX +1754223624,1754223631,AU +1754223632,1754230783,US 1754230784,1754234879,VG 1754234880,1754251519,US 1754251520,1754251775,LY @@ -38435,7 +40085,7 @@ 1755824128,1755824383,TV 1755824384,1755824639,SY 1755824640,1755824895,ZW -1755824896,1755825151,TG +1755824896,1755825151,US 1755825152,1755825407,GM 1755825408,1755825663,AO 1755825664,1755825919,LB @@ -38600,7 +40250,9 @@ 1758420224,1758420479,HU 1758420480,1758420735,CH 1758420736,1758420991,MM -1758420992,1759128575,US +1758420992,1758429695,US +1758429696,1758430207,DE +1758430208,1759128575,US 1759128576,1759129599,CA 1759129600,1759131647,US 1759131648,1759133695,CA @@ -38734,7 +40386,7 @@ 1759522560,1759522815,PN 1759522816,1759523071,MP 1759523072,1759523327,NF -1759523328,1759523583,US +1759523328,1759523583,PR 1759523584,1759523839,NU 1759523840,1759524095,NC 1759524096,1759524351,NL @@ -38751,8 +40403,8 @@ 1759526912,1759535103,US 1759535104,1759543295,CA 1759543296,1759547391,US -1759547392,1759549439,NL -1759549440,1760047103,US +1759547392,1759548415,NL +1759548416,1760047103,US 1760047104,1760051199,CA 1760051200,1760083967,US 1760083968,1760086015,SE @@ -38779,22 +40431,25 @@ 1760440832,1760441343,AU 1760441344,1760443391,US 1760443392,1760444415,DE -1760444416,1760468991,US +1760444416,1760465919,US +1760465920,1760466943,JP +1760466944,1760468479,US +1760468480,1760468991,DE 1760468992,1760469503,JP 1760469504,1760470527,US 1760470528,1760471039,DE 1760471040,1760473087,GB 1760473088,1760473599,DE 1760473600,1760475135,US -1760475136,1760477183,GB +1760475136,1760476159,GB +1760476160,1760477183,FR 1760477184,1760657407,US 1760657408,1760677887,CA 1760677888,1760690175,US 1760690176,1760755711,CA 1760755712,1760776191,US 1760776192,1760784383,CA -1760784384,1760817151,US -1760817152,1760817407,MO +1760784384,1760817407,US 1760817408,1760817663,BZ 1760817664,1760817919,BS 1760817920,1760818175,PA @@ -38810,7 +40465,9 @@ 1760820480,1760820735,CA 1760820736,1760837631,US 1760837632,1760839679,CA -1760839680,1760867327,US +1760839680,1760840379,US +1760840380,1760840380,LU +1760840381,1760867327,US 1760867328,1760868351,PR 1760868352,1760869375,US 1760869376,1760870399,CA @@ -38853,25 +40510,41 @@ 1761019648,1761019903,VE 1761019904,1761023231,US 1761023232,1761023487,JP -1761023488,1761044479,US +1761023488,1761043711,US +1761043712,1761043967,PH +1761043968,1761044479,US 1761044480,1761044735,AU 1761044736,1761046527,US 1761046528,1761046783,JP -1761046784,1761075199,US +1761046784,1761048063,US +1761048064,1761048319,IN +1761048320,1761075199,US 1761075200,1761083391,CA 1761083392,1761181695,US 1761181696,1761181951,MX 1761181952,1761183743,US 1761183744,1761183999,AU -1761184000,1761185791,US +1761184000,1761185023,US +1761185024,1761185279,RU +1761185280,1761185535,US +1761185536,1761185791,AE 1761185792,1761186047,MX -1761186048,1761187327,US +1761186048,1761186815,US +1761186816,1761187071,MX +1761187072,1761187327,US 1761187328,1761187583,PK -1761187584,1761189887,US +1761187584,1761188095,US +1761188096,1761188351,RU +1761188352,1761189887,US 1761189888,1761190143,JP -1761190144,1761192703,US +1761190144,1761191679,US +1761191680,1761191935,MX +1761191936,1761192703,US 1761192704,1761192959,AU -1761192960,1761195007,US +1761192960,1761194239,US +1761194240,1761194495,PH +1761194496,1761194751,HK +1761194752,1761195007,US 1761195008,1761195263,HK 1761195264,1761198079,US 1761198080,1761214463,CA @@ -38898,7 +40571,7 @@ 1761259520,1761259775,KH 1761259776,1761260031,AZ 1761260032,1761260287,ET -1761260288,1761260543,CU +1761260288,1761260543,US 1761260544,1761260799,EC 1761260800,1761261055,MU 1761261056,1761261311,JM @@ -38907,7 +40580,11 @@ 1761261824,1761262079,SG 1761262080,1761262335,IN 1761262336,1761262591,PK -1761262592,1761273599,US +1761262592,1761262847,US +1761262848,1761263103,RU +1761263104,1761273087,US +1761273088,1761273343,PH +1761273344,1761273599,US 1761273600,1761273855,AU 1761273856,1761275391,US 1761275392,1761275647,JP @@ -38917,7 +40594,9 @@ 1761302016,1761302271,CA 1761302272,1761304575,US 1761304576,1761308671,CA -1761308672,1761478655,US +1761308672,1761328639,US +1761328640,1761328895,AU +1761328896,1761478655,US 1761478656,1761479679,CA 1761479680,1761484799,US 1761484800,1761485823,CA @@ -38966,7 +40645,7 @@ 1762681088,1762681599,DE 1762681600,1762684927,MU 1762684928,1762689023,KE -1762689024,1762691071,MU +1762689024,1762691071,DJ 1762691072,1762693119,TZ 1762693120,1762695167,MZ 1762695168,1762701311,ZA @@ -38977,14 +40656,15 @@ 1762770944,1762783231,MU 1762783232,1762791423,KE 1762791424,1762795519,DJ -1762795520,1762803711,MU -1762803712,1762807807,ZA -1762807808,1762815999,MU +1762795520,1762799615,TZ +1762799616,1762803711,MZ +1762803712,1762815999,ZA 1762816000,1762820095,FR 1762820096,1762942975,MU 1762942976,1762947071,NL 1762947072,1762951167,SE -1762951168,1762983935,MU +1762951168,1762955263,DE +1762955264,1762983935,MU 1762983936,1763000319,KE 1763000320,1763008511,UG 1763008512,1763016703,RW @@ -39004,7 +40684,8 @@ 1763344896,1763352575,DE 1763352576,1763385343,MU 1763385344,1763393535,AE -1763393536,1763402239,MU +1763393536,1763401727,GB +1763401728,1763402239,MU 1763402240,1763402751,KE 1763402752,1763406335,MU 1763406336,1763406847,ZA @@ -39013,16 +40694,21 @@ 1763428864,1763430399,MU 1763430400,1763438591,KE 1763438592,1763442687,UG -1763442688,1763450879,MU +1763442688,1763446783,RW +1763446784,1763450879,DJ 1763450880,1763459071,TZ 1763459072,1763463167,MZ 1763463168,1763475455,ZA 1763475456,1763479551,FR -1763479552,1763573759,MU +1763479552,1763483647,GB +1763483648,1763573759,MU 1763573760,1763577855,US -1763577856,1763602431,MU +1763577856,1763598335,MU +1763598336,1763602431,IN 1763602432,1763606527,NL -1763606528,1763631103,MU +1763606528,1763610623,MU +1763610624,1763614719,DE +1763614720,1763631103,MU 1763631104,1763635199,AE 1763635200,1763657727,MU 1763657728,1763659775,ZA @@ -39104,8 +40790,8 @@ 1795560448,1795560959,CA 1795560960,1795561247,US 1795561248,1795561343,CA -1795561344,1795561471,US -1795561472,1795562495,CA +1795561344,1795561983,US +1795561984,1795562495,CA 1795562496,1795562911,US 1795562912,1795562943,CA 1795562944,1795564031,US @@ -39175,7 +40861,7 @@ 1805253120,1805253375,DE 1805253376,1805253631,GB 1805253632,1805253887,DE -1805253888,1805254143,GB +1805253888,1805254143,US 1805254144,1805254399,DE 1805254400,1805254655,GB 1805254656,1805582335,US @@ -39263,14 +40949,15 @@ 1815962112,1815962623,NL 1815962624,1815963391,US 1815963392,1815963647,NL -1815963648,1815964159,US +1815963648,1815963903,US +1815963904,1815964159,FR 1815964160,1815964415,DK 1815964416,1815964671,PL 1815964672,1815965695,US 1815965696,1815966207,DE 1815966208,1815966719,US 1815966720,1815966975,GB -1815966976,1815967231,US +1815966976,1815967231,NL 1815967232,1815967487,CA 1815967488,1815968255,US 1815968256,1815968767,FR @@ -39310,7 +40997,9 @@ 1815996160,1815996415,CA 1815996416,1815997695,US 1815997696,1815997951,FR -1815997952,1816001023,US +1815997952,1816000063,US +1816000064,1816000511,JP +1816000512,1816001023,US 1816001024,1816001279,JP 1816001280,1816001535,AU 1816001536,1816001791,US @@ -39653,10 +41342,13 @@ 1835597824,1835606015,HU 1835606016,1835614207,CZ 1835614208,1835622399,RU -1835622400,1835630591,SE +1835622400,1835627007,SE +1835627008,1835627263,DK +1835627264,1835630591,SE 1835630592,1835636735,RU 1835636736,1835638527,LU -1835638528,1835646975,RU +1835638528,1835638783,AM +1835638784,1835646975,RU 1835646976,1835655167,BA 1835655168,1835663359,CY 1835663360,1835671551,UA @@ -39696,7 +41388,9 @@ 1835917856,1835917863,IT 1835917864,1835917919,GB 1835917920,1835917935,IT -1835917936,1835918383,GB +1835917936,1835918031,GB +1835918032,1835918039,IT +1835918040,1835918383,GB 1835918384,1835918391,IT 1835918392,1835918439,GB 1835918440,1835918447,IT @@ -39716,9 +41410,7 @@ 1835919752,1835919759,IT 1835919760,1835920479,GB 1835920480,1835920487,IT -1835920488,1835920991,GB -1835920992,1835920999,IT -1835921000,1835921119,GB +1835920488,1835921119,GB 1835921120,1835921127,IT 1835921128,1835921343,GB 1835921344,1835921351,IT @@ -39763,7 +41455,153 @@ 1836023808,1836040191,RU 1836040192,1836048383,GB 1836048384,1836056575,RS -1836056576,1836580863,IT +1836056576,1836450337,IT +1836450338,1836450338,CN +1836450339,1836450371,IT +1836450372,1836450372,CN +1836450373,1836450450,IT +1836450451,1836450451,CN +1836450452,1836450470,IT +1836450471,1836450471,CN +1836450472,1836450511,IT +1836450512,1836450512,CN +1836450513,1836450869,IT +1836450870,1836450870,CN +1836450871,1836450881,IT +1836450882,1836450882,CN +1836450883,1836450883,IT +1836450884,1836450884,CN +1836450885,1836450926,IT +1836450927,1836450927,CN +1836450928,1836450931,IT +1836450932,1836450932,CN +1836450933,1836450940,IT +1836450941,1836450941,CN +1836450942,1836450955,IT +1836450956,1836450956,CN +1836450957,1836451346,IT +1836451347,1836451348,CN +1836451349,1836451350,IT +1836451351,1836451351,CN +1836451352,1836451406,IT +1836451407,1836451407,CN +1836451408,1836451417,IT +1836451418,1836451418,CN +1836451419,1836451461,IT +1836451462,1836451462,CN +1836451463,1836451463,IT +1836451464,1836451464,CN +1836451465,1836451521,IT +1836451522,1836451522,CN +1836451523,1836452122,IT +1836452123,1836452123,CN +1836452124,1836452147,IT +1836452148,1836452148,CN +1836452149,1836452186,IT +1836452187,1836452187,CN +1836452188,1836452315,IT +1836452316,1836452316,CN +1836452317,1836452343,IT +1836452344,1836452345,CN +1836452346,1836452445,IT +1836452446,1836452446,CN +1836452447,1836452447,IT +1836452448,1836452448,CN +1836452449,1836452450,IT +1836452451,1836452451,CN +1836452452,1836452546,IT +1836452547,1836452547,CN +1836452548,1836452751,IT +1836452752,1836452752,CN +1836452753,1836452755,IT +1836452756,1836452757,CN +1836452758,1836453483,IT +1836453484,1836453484,CN +1836453485,1836453539,IT +1836453540,1836453540,CN +1836453541,1836453573,IT +1836453574,1836453574,CN +1836453575,1836454695,IT +1836454696,1836454696,CN +1836454697,1836454740,IT +1836454741,1836454741,CN +1836454742,1836454755,IT +1836454756,1836454756,CN +1836454757,1836455219,IT +1836455220,1836455220,CN +1836455221,1836455228,IT +1836455229,1836455229,CN +1836455230,1836455233,IT +1836455234,1836455234,CN +1836455235,1836455263,IT +1836455264,1836455264,CN +1836455265,1836455272,IT +1836455273,1836455274,CN +1836455275,1836455281,IT +1836455282,1836455282,CN +1836455283,1836455305,IT +1836455306,1836455306,CN +1836455307,1836455309,IT +1836455310,1836455310,CN +1836455311,1836455378,IT +1836455379,1836455379,CN +1836455380,1836455454,IT +1836455455,1836455455,CN +1836455456,1836455458,IT +1836455459,1836455460,CN +1836455461,1836455516,IT +1836455517,1836455517,CN +1836455518,1836455546,IT +1836455547,1836455547,CN +1836455548,1836455556,IT +1836455557,1836455557,CN +1836455558,1836455562,IT +1836455563,1836455563,CN +1836455564,1836455565,IT +1836455566,1836455566,CN +1836455567,1836455568,IT +1836455569,1836455570,CN +1836455571,1836455589,IT +1836455590,1836455590,CN +1836455591,1836455631,IT +1836455632,1836455632,CN +1836455633,1836455987,IT +1836455988,1836455988,CN +1836455989,1836455993,IT +1836455994,1836455995,CN +1836455996,1836455997,IT +1836455998,1836455998,CN +1836455999,1836456001,IT +1836456002,1836456002,CN +1836456003,1836456021,IT +1836456022,1836456022,CN +1836456023,1836456097,IT +1836456098,1836456098,CN +1836456099,1836456117,IT +1836456118,1836456118,CN +1836456119,1836456131,IT +1836456132,1836456135,CN +1836456136,1836456136,IT +1836456137,1836456137,CN +1836456138,1836458047,IT +1836458048,1836458048,CN +1836458049,1836459294,IT +1836459295,1836459295,CN +1836459296,1836459383,IT +1836459384,1836459384,CN +1836459385,1836459399,IT +1836459400,1836459400,CN +1836459401,1836466454,IT +1836466455,1836466455,CN +1836466456,1836466465,IT +1836466466,1836466466,CN +1836466467,1836466529,IT +1836466530,1836466530,CN +1836466531,1836466532,IT +1836466533,1836466533,CN +1836466534,1836466551,IT +1836466552,1836466552,CN +1836466553,1836580863,IT 1836580864,1836597247,RU 1836597248,1836598271,LU 1836598272,1836605439,FR @@ -39793,7 +41631,9 @@ 1836794595,1836794595,FR 1836794596,1836797951,GB 1836797952,1836798207,DE -1836798208,1836810239,GB +1836798208,1836807087,GB +1836807088,1836807088,CN +1836807089,1836810239,GB 1836810240,1836826623,RU 1836826624,1836843007,CZ 1836843008,1836875775,RU @@ -39811,7 +41651,77 @@ 1837056000,1837072383,IQ 1837072384,1837088767,RU 1837088768,1837105151,SI -1837105152,1838153727,BE +1837105152,1837500953,BE +1837500954,1837500954,CN +1837500955,1837501019,BE +1837501020,1837501020,CN +1837501021,1837501040,BE +1837501041,1837501041,CN +1837501042,1837501119,BE +1837501120,1837501120,CN +1837501121,1837501584,BE +1837501585,1837501585,CN +1837501586,1837501588,BE +1837501589,1837501589,CN +1837501590,1837501623,BE +1837501624,1837501624,CN +1837501625,1837501643,BE +1837501644,1837501644,CN +1837501645,1837501998,BE +1837501999,1837501999,CN +1837502000,1837502022,BE +1837502023,1837502023,CN +1837502024,1837502041,BE +1837502042,1837502042,CN +1837502043,1837502052,BE +1837502053,1837502053,CN +1837502054,1837502126,BE +1837502127,1837502127,CN +1837502128,1837502164,BE +1837502165,1837502165,CN +1837502166,1837502539,BE +1837502540,1837502540,CN +1837502541,1837502574,BE +1837502575,1837502575,CN +1837502576,1837502606,BE +1837502607,1837502607,CN +1837502608,1837502610,BE +1837502611,1837502611,CN +1837502612,1837502639,BE +1837502640,1837502640,CN +1837502641,1837502702,BE +1837502703,1837502703,CN +1837502704,1837502818,BE +1837502819,1837502819,CN +1837502820,1837502913,BE +1837502914,1837502914,CN +1837502915,1837502931,BE +1837502932,1837502932,CN +1837502933,1837503116,BE +1837503117,1837503117,CN +1837503118,1837503125,BE +1837503126,1837503127,CN +1837503128,1837503129,BE +1837503130,1837503131,CN +1837503132,1837503136,BE +1837503137,1837503137,CN +1837503138,1837503153,BE +1837503154,1837503154,CN +1837503155,1837503156,BE +1837503157,1837503157,CN +1837503158,1837503163,BE +1837503164,1837503165,CN +1837503166,1837503166,BE +1837503167,1837503167,CN +1837503168,1837503175,BE +1837503176,1837503176,CN +1837503177,1837503184,BE +1837503185,1837503185,CN +1837503186,1837503186,BE +1837503187,1837503187,CN +1837503188,1837503188,BE +1837503189,1837503189,CN +1837503190,1838153727,BE 1838153728,1839202303,GB 1839202304,1839235071,BG 1839235072,1839267839,IL @@ -39836,17 +41746,17 @@ 1839603712,1839618047,RO 1839618048,1839628287,SA 1839628288,1839661055,RO -1839661056,1839693823,UA +1839661056,1839686655,UA +1839686656,1839687167,ES +1839687168,1839693055,UA +1839693056,1839693311,ES +1839693312,1839693823,UA 1839693824,1839726591,RU 1839726592,1839759359,IT 1839759360,1839792127,RU -1839792128,1839793279,GB -1839793280,1839793407,A1 -1839793408,1839794847,GB +1839792128,1839794847,GB 1839794848,1839794879,CH -1839794880,1839796479,GB -1839796480,1839796671,A1 -1839796672,1839816703,GB +1839794880,1839816703,GB 1839816704,1839824895,NO 1839824896,1839890431,RU 1839890432,1839923199,GB @@ -39977,9 +41887,18 @@ 1842085888,1842118655,GB 1842118656,1842151423,FI 1842151424,1842153471,FR -1842153472,1842154271,NO +1842153472,1842153983,NO +1842153984,1842154239,US +1842154240,1842154271,NO 1842154272,1842154303,HK -1842154304,1842155519,NO +1842154304,1842154335,NO +1842154336,1842154343,SG +1842154344,1842154351,NO +1842154352,1842154367,SG +1842154368,1842154495,NO +1842154496,1842155007,US +1842155008,1842155263,AU +1842155264,1842155519,NL 1842155520,1842157567,IT 1842157568,1842159615,AE 1842159616,1842161663,BA @@ -40017,7 +41936,7 @@ 1842233344,1842241535,SA 1842241536,1842249727,RS 1842249728,1842257919,RU -1842257920,1842266111,EU +1842257920,1842266111,NL 1842266112,1842274303,PL 1842282496,1842286591,RU 1842286592,1842290687,GB @@ -40253,9 +42172,19 @@ 1844772864,1844838399,RS 1844838400,1844903935,GB 1844903936,1844969471,NO -1844969472,1845029887,RU +1844969472,1845006335,RU +1845006336,1845010431,KZ +1845010432,1845022719,RU +1845022720,1845023743,KZ +1845023744,1845025535,RU +1845025536,1845025791,KZ +1845025792,1845027583,RU +1845027584,1845027839,ES +1845027840,1845029887,RU 1845029888,1845030143,KZ -1845030144,1845034751,RU +1845030144,1845030911,RU +1845030912,1845031935,GE +1845031936,1845034751,RU 1845034752,1845035007,BY 1845035008,1845100543,GB 1845100544,1845166079,DE @@ -40562,7 +42491,6 @@ 1876934656,1876942847,JP 1876942848,1876946943,AU 1876946944,1876947967,CN -1876947968,1876948991,AF 1876948992,1876950015,CN 1876950016,1876951039,ID 1876951040,1877475327,CN @@ -41017,7 +42945,11 @@ 1933922304,1933926399,IN 1933926400,1933934591,KR 1933934592,1933942783,IN -1933942784,1933950975,AU +1933942784,1933944319,NZ +1933944320,1933944575,AU +1933944576,1933946879,NZ +1933946880,1933948927,AU +1933948928,1933950975,NZ 1933950976,1933955071,JP 1933955072,1933957119,BD 1933957120,1933959167,ID @@ -41039,7 +42971,8 @@ 1934966784,1934974975,ID 1934974976,1934983167,JP 1934983168,1934983423,MY -1934983424,1934985215,AU +1934983424,1934984959,AU +1934984960,1934985215,US 1934985216,1934987263,JP 1934987264,1934991359,TW 1934991360,1934999551,KR @@ -41135,18 +43068,23 @@ 1946163200,1946165247,CN 1946165248,1946173439,PK 1946173440,1946173695,PG -1946173696,1946175487,SG -1946175488,1946176511,SY +1946173696,1946173951,TW +1946173952,1946174463,SG +1946174464,1946174719,TW +1946174720,1946175487,SG +1946175488,1946175615,HK +1946175616,1946176511,SG 1946176512,1946176639,AU 1946176640,1946176767,PH 1946176768,1946178047,SG 1946178048,1946178303,HK -1946178304,1946181631,SG +1946178304,1946179583,SG +1946179584,1946179839,AU +1946179840,1946181631,SG 1946181632,1946189823,MY 1946189824,1946222591,JP 1946222592,1946943487,CN 1946943488,1946951679,JP -1946951680,1946953727,BD 1946953728,1946955775,ID 1946955776,1946957823,SG 1946957824,1946959871,NZ @@ -41162,7 +43100,9 @@ 1949440000,1949442047,ID 1949442048,1949446143,TW 1949446144,1949448191,JP -1949448192,1949449471,AU +1949448192,1949449395,AU +1949449396,1949449396,AP +1949449397,1949449471,AU 1949449472,1949449727,JP 1949449728,1949450239,AU 1949450240,1949466623,IN @@ -41287,7 +43227,7 @@ 1959239680,1959241727,KR 1959241728,1959243775,IN 1959243776,1959247871,JP -1959247872,1959251967,ID +1959247872,1959249919,ID 1959251968,1959256063,NZ 1959256064,1959260159,AU 1959260160,1959264255,JP @@ -41337,15 +43277,11 @@ 1962622976,1962639359,CN 1962639360,1962658815,NZ 1962658816,1962659839,HK -1962659840,1962660863,SG -1962660864,1962661375,HK -1962661376,1962663935,SG +1962659840,1962663935,SG 1962663936,1962672127,HK 1962672128,1962803199,CN 1962803200,1962827775,JP -1962827776,1962829823,ID -1962829824,1962831871,JP -1962831872,1962835967,ID +1962827776,1962835967,ID 1962835968,1962868735,CN 1962868736,1962885119,AU 1962885120,1962901503,KR @@ -41474,7 +43410,11 @@ 1970798592,1970800639,SG 1970800640,1970802943,AU 1970802944,1970803199,SG -1970803200,1970804735,AU +1970803200,1970803711,AU +1970803712,1970803967,HK +1970803968,1970804519,AU +1970804520,1970804520,SG +1970804521,1970804735,AU 1970804736,1970806783,KH 1970806784,1970808831,NZ 1970808832,1970810879,AU @@ -41489,7 +43429,8 @@ 1970926336,1970926591,US 1970926592,1970926847,SG 1970926848,1970927103,IL -1970927104,1970927615,SG +1970927104,1970927359,SG +1970927360,1970927615,US 1970927616,1970929663,AU 1970929664,1970962431,VN 1970962432,1970995199,CN @@ -41551,7 +43492,8 @@ 1986498560,1986502655,HK 1986510848,1986519039,KR 1986519040,1986523135,PK -1986523136,1986525183,CN +1986523136,1986523904,HK +1986523905,1986525183,CN 1986525184,1986527231,BN 1986527232,1986723839,JP 1986723840,1986740223,AU @@ -41621,7 +43563,9 @@ 1996685312,1996750847,HK 1996750848,1997078527,CN 1997078528,1997094911,AU -1997094912,1997144063,HK +1997094912,1997111295,HK +1997111296,1997127679,AU +1997127680,1997144063,HK 1997144064,1997176831,CN 1997176832,1997180927,AU 1997180928,1997185023,HK @@ -41709,7 +43653,6 @@ 1999136768,1999138815,AU 1999138816,1999142911,MY 1999142912,1999249407,CN -1999249408,1999257599,PH 1999257600,1999273983,TH 1999273984,1999278079,CN 1999278080,1999280127,HK @@ -41766,61 +43709,39 @@ 2001829888,2001841247,HK 2001841248,2001841248,SA 2001841249,2001846271,HK -2001846272,2001855231,SG +2001846272,2001854943,SG +2001854944,2001854951,CN +2001854952,2001855231,SG 2001855232,2001855263,US -2001855264,2001855775,SG -2001855776,2001855791,US -2001855792,2001855807,SG -2001855808,2001855823,GB -2001855824,2001857439,SG -2001857440,2001857503,US -2001857504,2001857975,SG -2001857976,2001857983,US -2001857984,2001858007,SG -2001858008,2001858011,US -2001858012,2001858111,SG -2001858112,2001858143,US -2001858144,2001859007,SG -2001859008,2001859015,NL -2001859016,2001859039,SG -2001859040,2001859071,US -2001859072,2001859791,SG -2001859792,2001859799,US -2001859800,2001859807,SG -2001859808,2001859811,US -2001859812,2001859899,SG -2001859900,2001859903,US -2001859904,2001860119,SG -2001860120,2001860127,US -2001860128,2001860227,SG -2001860228,2001860231,US -2001860232,2001860335,SG -2001860336,2001860343,US -2001860344,2001860439,SG -2001860440,2001860443,US -2001860444,2001860527,SG -2001860528,2001860531,US -2001860532,2001860603,SG -2001860604,2001860607,US -2001860608,2001860791,SG -2001860792,2001860795,US -2001860796,2001860855,SG -2001860856,2001860863,US -2001860864,2001860903,SG -2001860904,2001860907,US -2001860908,2001860959,SG -2001860960,2001860963,US -2001860964,2001861087,SG -2001861088,2001861095,US -2001861096,2001861207,SG -2001861208,2001861215,US -2001861216,2001861399,SG -2001861400,2001861415,US -2001861416,2001861439,SG -2001861440,2001861447,AU -2001861448,2001862015,SG -2001862016,2001862047,US -2001862048,2001862655,SG +2001855264,2001855743,SG +2001855744,2001855999,HK +2001856000,2001857255,SG +2001857256,2001857263,A1 +2001857264,2001857439,SG +2001857440,2001857471,US +2001857472,2001857791,SG +2001857792,2001858047,HK +2001858048,2001858335,SG +2001858336,2001858367,US +2001858368,2001858639,SG +2001858640,2001858655,US +2001858656,2001859071,SG +2001859072,2001859327,HK +2001859328,2001860031,SG +2001860032,2001860047,HK +2001860048,2001860351,SG +2001860352,2001860607,HK +2001860608,2001860655,SG +2001860656,2001860671,US +2001860672,2001860991,SG +2001860992,2001861007,US +2001861008,2001861263,SG +2001861264,2001861279,US +2001861280,2001862079,SG +2001862080,2001862124,US +2001862125,2001862125,HK +2001862126,2001862143,US +2001862144,2001862655,SG 2001862656,2001864703,AU 2001864704,2001870847,JP 2001870848,2001879039,KR @@ -42149,9 +44070,7 @@ 2047496192,2047504383,HK 2047504384,2047506431,CN 2047506432,2047508479,US -2047508480,2047517695,CN -2047517696,2047518719,HK -2047518720,2047574015,CN +2047508480,2047574015,CN 2047574016,2047606783,SG 2047606784,2047770879,CN 2047770880,2047773184,HK @@ -42565,7 +44484,6 @@ 2084569088,2084732927,CN 2084732928,2084741119,SG 2084741120,2084743167,ID -2084743168,2084745215,JP 2084745216,2084749311,KR 2084749312,2084753407,JP 2084753408,2084757503,KR @@ -42786,9 +44704,13 @@ 2113688000,2113688031,AU 2113688032,2113688959,JP 2113688960,2113688991,SG -2113688992,2113693599,JP +2113688992,2113691135,JP +2113691136,2113691391,SG +2113691392,2113693599,JP 2113693600,2113693615,HK -2113693616,2113694175,JP +2113693616,2113693879,JP +2113693880,2113693887,AU +2113693888,2113694175,JP 2113694176,2113694191,HK 2113694192,2113716223,JP 2113716224,2113724927,SG @@ -42811,8 +44733,8 @@ 2147491840,2147494911,DE 2147494912,2147495167,RO 2147495168,2147495423,DE -2147495424,2147495935,RO -2147495936,2147497215,DE +2147495424,2147496959,RO +2147496960,2147497215,DE 2147497216,2147497471,RO 2147497472,2147498239,DE 2147498240,2147498495,RO @@ -42885,10 +44807,15 @@ 2153387008,2153387263,CH 2153387264,2153387775,US 2153387776,2153388031,CH -2153388032,2153406463,US +2153388032,2153397247,US +2153397248,2153397503,IN +2153397504,2153397759,SA +2153397760,2153398015,QA +2153398016,2153398271,BH +2153398272,2153406463,US 2153406464,2153407487,JP 2153407488,2153407743,HK -2153407744,2153407999,US +2153407744,2153407999,AE 2153408000,2153408511,BR 2153408512,2153408767,AU 2153408768,2153409023,PA @@ -42948,7 +44875,9 @@ 2156331008,2156593151,US 2156593152,2156658687,IL 2156658688,2156691455,IR -2156691456,2156695551,A2 +2156691456,2156694271,A2 +2156694272,2156694783,FR +2156694784,2156695551,A2 2156695552,2156697599,FR 2156697600,2156699647,GR 2156699648,2156703743,RU @@ -43003,7 +44932,9 @@ 2163638528,2163671039,DE 2163671040,2163867647,US 2163867648,2163933183,AU -2163933184,2164981759,US +2163933184,2164260863,US +2164260864,2164326399,CM +2164326400,2164981759,US 2164981760,2165112831,GB 2165112832,2165178367,DE 2165178368,2165309439,US @@ -43084,6 +45015,10 @@ 2177105920,2177302527,US 2177302528,2177368063,FR 2177368064,2177695743,US +2177695744,2177703935,UG +2177703936,2177712127,ZA +2177728512,2177744895,ZA +2177744896,2177761279,BW 2177761280,2177826815,DE 2177826816,2177892351,US 2177892352,2177957887,SA @@ -43199,7 +45134,15 @@ 2188509184,2188574719,US 2188574720,2188640255,NL 2188640256,2188705791,AU -2188705792,2188724463,EU +2188705792,2188706153,EU +2188706154,2188706154,SI +2188706155,2188718161,EU +2188718162,2188718162,SI +2188718163,2188718337,EU +2188718338,2188718338,AT +2188718339,2188718473,EU +2188718474,2188718474,AT +2188718475,2188724463,EU 2188724464,2188724464,NL 2188724465,2188724991,EU 2188724992,2188725247,RS @@ -43266,7 +45209,9 @@ 2193205248,2193207295,FR 2193207296,2193209343,CZ 2193209344,2193211391,FR -2193211392,2193227775,BG +2193211392,2193223423,BG +2193223424,2193223679,GB +2193223680,2193227775,BG 2193227776,2193293311,IT 2193293312,2193358847,US 2193358848,2193424383,FI @@ -43283,17 +45228,19 @@ 2193707408,2193707415,IT 2193707416,2193707559,GB 2193707560,2193707567,IT -2193707568,2193707631,GB -2193707632,2193707639,IT -2193707640,2193707655,GB +2193707568,2193707655,GB 2193707656,2193707663,IT 2193707664,2193707751,GB 2193707752,2193707759,IT 2193707760,2193708735,GB 2193708736,2193708743,IT -2193708744,2193709087,GB +2193708744,2193708967,GB +2193708968,2193708975,IT +2193708976,2193709087,GB 2193709088,2193709095,IT -2193709096,2193709631,GB +2193709096,2193709199,GB +2193709200,2193709215,IT +2193709216,2193709631,GB 2193709632,2193709639,IT 2193709640,2193711103,GB 2193711104,2193713151,DE @@ -43339,7 +45286,9 @@ 2197751808,2197753855,RU 2197753856,2197754879,GB 2197754880,2197755135,DK -2197755136,2197757951,GB +2197755136,2197756159,GB +2197756160,2197756175,PT +2197756176,2197757951,GB 2197757952,2197766143,RU 2197766144,2197768191,PS 2197768192,2197770239,DE @@ -43487,7 +45436,7 @@ 2206400512,2206466047,US 2206466048,2207121407,CA 2207121408,2207449087,US -2207449088,2207514623,HK +2207449088,2207514623,JP 2207514624,2207647487,CA 2207647488,2207647743,US 2207647744,2207648511,CA @@ -43569,7 +45518,7 @@ 2211446784,2211643391,US 2211643392,2211708927,NL 2211708928,2211774463,US -2211774464,2211839999,HK +2211774464,2211839999,JP 2211840000,2212036607,US 2212036608,2212102143,AU 2212102144,2212233215,US @@ -43746,7 +45695,9 @@ 2231362560,2231364607,BR 2231364608,2231365631,CL 2231365632,2231369727,BR -2231369728,2248146943,JP +2231369728,2239889407,JP +2239889408,2239890431,US +2239890432,2248146943,JP 2248146944,2248148991,IT 2248148992,2248151039,ES 2248151040,2248153087,GB @@ -44047,7 +45998,11 @@ 2258614816,2258615039,AU 2258615040,2258615055,IN 2258615056,2258616319,AU -2258616320,2258632703,HK +2258616320,2258621951,HK +2258621952,2258622207,NZ +2258622208,2258622719,HK +2258622720,2258623231,NZ +2258623232,2258632703,HK 2258632704,2258698239,JP 2258698240,2259222527,US 2259222528,2259288063,DE @@ -44106,7 +46061,7 @@ 2263613440,2263678975,TH 2263678976,2263744511,JP 2263744512,2263810047,US -2263810048,2263875583,GB +2263810048,2263875583,RO 2263875584,2264203263,US 2264203264,2264268799,DE 2264268800,2264334335,FR @@ -44504,8 +46459,7 @@ 2321447936,2321452031,BR 2321452032,2321453055,MX 2321453056,2321454079,HN -2321454080,2321456127,BR -2321457152,2321471487,BR +2321454080,2321471487,BR 2321471488,2321472511,HN 2321472512,2321477631,BR 2321477632,2321478655,TT @@ -44520,11 +46474,14 @@ 2321633280,2321634303,CO 2321634304,2321648639,BR 2321648640,2321649663,SV -2321649664,2321653759,BR +2321649664,2321652735,BR +2321652736,2321653759,BZ 2321653760,2321654783,NI 2321654784,2321655807,BR 2321655808,2321656831,MX -2321656832,2321663999,BR +2321656832,2321657855,BR +2321657856,2321658879,AR +2321658880,2321663999,BR 2321664000,2321665023,AR 2321665024,2321673215,BR 2321673216,2321674239,AR @@ -44540,24 +46497,36 @@ 2321755136,2321756159,UY 2321756160,2321769471,BR 2321769472,2321770495,PY -2321770496,2321774591,BR -2321774592,2321775615,BZ +2321770496,2321774719,BR +2321774720,2321774847,PE +2321774848,2321774975,AR +2321774976,2321775103,VE +2321775104,2321775231,PE +2321775232,2321775359,BR +2321775360,2321775487,EC +2321775488,2321775615,AR 2321775616,2321776639,VE 2321776640,2321777663,AR 2321777664,2321778687,BR 2321778688,2321779711,PA +2321779712,2321780735,BR +2321780736,2321780991,PA +2321780992,2321781247,BR +2321781248,2321781503,PA +2321781504,2321781759,BR +2321781760,2321782783,MX 2321782784,2321787903,BR 2321787904,2321788927,AR 2321788928,2321789951,CL 2321789952,2321790975,SV 2321790976,2321791999,AR -2321793024,2321797119,BR +2321792000,2321797119,BR 2321797120,2321798143,BZ 2321798144,2321799167,CW 2321799168,2321800191,BZ 2321800192,2321801215,VE 2321801216,2321802239,CL -2321802240,2321803263,BR +2321802240,2321804287,BR 2321804288,2321805311,DO 2321805312,2321809407,BR 2321809408,2321874943,ES @@ -44574,15 +46543,19 @@ 2322368512,2322368767,MY 2322368768,2322923519,US 2322923520,2322924543,BR +2322924544,2322925567,NI 2322925568,2322929663,AR -2322930688,2322931711,BR -2322932736,2322933759,BR +2322929664,2322933759,BR +2322933760,2322934783,CO 2322934784,2322935807,VE 2322935808,2322936831,AR -2322936832,2322939903,BR +2322936832,2322940927,BR 2322940928,2322941951,CL 2322941952,2322942975,BR -2322947072,2322948095,BR +2322942976,2322943999,AR +2322944000,2322945023,BR +2322945024,2322946047,CO +2322946048,2322948095,BR 2322948096,2322949119,HN 2322949120,2322951167,BR 2322951168,2322952191,CO @@ -44592,11 +46565,98 @@ 2322957312,2322958335,BR 2322958336,2322959359,CO 2322959360,2322960383,GT +2322960384,2322961407,BR 2322961408,2322962431,CL +2322962432,2322963455,BR +2322963456,2322964479,AR +2322964480,2322965503,PE +2322965504,2322974719,BR +2322974720,2322975743,AR +2322975744,2322980863,BR +2322989056,2322991103,BR +2322991104,2322992127,CL +2322992128,2322998271,BR +2322998272,2322999295,AR +2322999296,2323001343,BR +2323001344,2323002367,AR +2323002368,2323009535,BR +2323009536,2323010559,CR +2323010560,2323015679,BR +2323015680,2323016703,GT +2323016704,2323017727,BR +2323017728,2323018751,AR +2323018752,2323020799,BR +2323020800,2323021823,PA +2323021824,2323025919,BR +2323025920,2323026943,AR +2323026944,2323028991,BR +2323028992,2323030015,CR +2323030016,2323042303,BR +2323042304,2323045375,AR +2323045376,2323054591,BR 2323054592,2323120127,CA +2323120128,2323185663,US +2323185664,2323186687,BR +2323186688,2323187711,CO +2323187712,2323188735,BR +2323188736,2323189759,CO +2323189760,2323205119,BR +2323205120,2323208191,AR +2323209216,2323210239,BR +2323210240,2323211263,CL +2323211264,2323213311,AR +2323213312,2323214335,CL +2323214336,2323215359,AR +2323215360,2323217407,BR +2323217408,2323218431,AR +2323218432,2323221503,BR +2323221504,2323222527,CR +2323222528,2323225599,BR +2323225600,2323226623,CO +2323226624,2323227647,AR +2323227648,2323228671,BR +2323228672,2323229695,CL +2323229696,2323230719,BR +2323230720,2323231743,CL +2323231744,2323236863,BR +2323236864,2323237887,CO +2323237888,2323244031,BR +2323244032,2323245055,AR +2323245056,2323247103,BR +2323247104,2323248127,AR +2323248128,2323252223,BR +2323252224,2323253247,VE +2323253248,2323257343,BR +2323257344,2323258367,CR +2323258368,2323275775,BR +2323275776,2323276799,MX +2323276800,2323278847,BR +2323278848,2323279871,EC +2323279872,2323283967,BR +2323283968,2323284991,AR +2323284992,2323288063,BR +2323288064,2323289087,MX +2323289088,2323291135,BR +2323291136,2323292159,AR +2323292160,2323293183,PY +2323293184,2323298303,BR +2323298304,2323299327,PY +2323299328,2323300351,AR +2323300352,2323301375,HN +2323301376,2323302399,BR +2323302400,2323303423,CO +2323303424,2323308543,BR +2323308544,2323309567,CL +2323309568,2323310591,AR +2323310592,2323313663,BR +2323313664,2323314687,CR +2323314688,2323315711,BR +2323315712,2323316735,MX 2323316736,2323382271,US 2323382272,2323447807,NO -2323447808,2323699711,US +2323447808,2323690495,US +2323690496,2323690751,IN +2323690752,2323699711,US 2323699712,2323700735,NL 2323700736,2323701759,US 2323701760,2323709951,VG @@ -44607,6 +46667,68 @@ 2323972096,2324037631,US 2324037632,2324103167,IL 2324103168,2327379967,US +2327379968,2327380991,MX +2327380992,2327383039,BR +2327383040,2327384063,CL +2327384064,2327387135,BR +2327387136,2327388159,NI +2327388160,2327396351,BR +2327396352,2327398399,VE +2327398400,2327399423,BR +2327399424,2327400447,BZ +2327400448,2327401471,AR +2327401472,2327406591,BR +2327406592,2327407615,NI +2327407616,2327408639,BR +2327408640,2327409663,AR +2327409664,2327410687,PE +2327410688,2327414783,BR +2327414784,2327415807,EC +2327415808,2327416831,AR +2327416832,2327432191,BR +2327432192,2327433215,AR +2327433216,2327434239,BQ +2327434240,2327437311,BR +2327437312,2327438335,MX +2327438336,2327443455,BR +2327443456,2327444479,CR +2327444480,2327446527,BR +2327446528,2327447551,VE +2327447552,2327448575,CL +2327448576,2327449599,PA +2327449600,2327450623,BR +2327450624,2327451647,CO +2327451648,2327452671,BR +2327452672,2327453695,MX +2327453696,2327460863,BR +2327460864,2327461887,PY +2327461888,2327462911,MX +2327462912,2327468031,BR +2327468032,2327469055,PA +2327469056,2327471103,BR +2327471104,2327472127,MX +2327472128,2327476223,BR +2327476224,2327477247,CL +2327477248,2327480319,BR +2327480320,2327481343,HN +2327481344,2327482367,AR +2327482368,2327483391,BR +2327483392,2327485439,AR +2327485440,2327486463,BR +2327486464,2327487487,AR +2327487488,2327490559,BR +2327490560,2327491583,VE +2327491584,2327493631,BR +2327493632,2327494655,CO +2327494656,2327496703,BR +2327496704,2327497727,MX +2327497728,2327498751,BR +2327498752,2327499775,HN +2327499776,2327501823,AR +2327501824,2327507967,BR +2327507968,2327508991,AR +2327508992,2327510015,SV +2327510016,2327511039,AR 2327511040,2327838719,CH 2327838720,2327969791,US 2327969792,2328035327,AU @@ -44619,6 +46741,27 @@ 2328363008,2328494079,DE 2328494080,2328559615,US 2328559616,2328625151,BE +2328625152,2328627199,AR +2328627200,2328628223,BR +2328628224,2328629247,BZ +2328629248,2328635391,BR +2328635392,2328636415,AR +2328636416,2328652799,BR +2328652800,2328653823,PA +2328653824,2328664063,BR +2328664064,2328667135,AR +2328667136,2328668159,BR +2328668160,2328669183,MX +2328669184,2328671231,BR +2328671232,2328672255,HN +2328672256,2328677375,BR +2328677376,2328678399,MX +2328678400,2328680447,BR +2328680448,2328681471,AR +2328681472,2328683519,BR +2328684544,2328685567,BR +2328685568,2328686591,VE +2328686592,2328687615,BR 2328690688,2328756223,BE 2328756224,2328797439,CH 2328797440,2328797695,AU @@ -44631,6 +46774,32 @@ 2329411584,2329477119,FI 2329477120,2329542655,AU 2329542656,2329608191,CA +2329609216,2329610239,AR +2329610240,2329611263,PY +2329612288,2329613311,AR +2329613312,2329614335,BR +2329615360,2329617407,BR +2329617408,2329618431,MX +2329618432,2329619455,AR +2329619456,2329622527,BR +2329623552,2329624575,AR +2329624576,2329626623,BR +2329626624,2329627647,HN +2329627648,2329628671,BR +2329628672,2329629695,AR +2329629696,2329638911,BR +2329638912,2329639935,HN +2329639936,2329644031,BR +2329644032,2329645055,CW +2329645056,2329649151,BR +2329649152,2329650175,AR +2329650176,2329651199,BR +2329653248,2329662463,BR +2329662464,2329664511,AR +2329664512,2329666559,BR +2329666560,2329667583,CL +2329668608,2329671679,BR +2329671680,2329672703,AR 2329673728,2329739263,US 2329739264,2329804799,CH 2329804800,2329870335,DE @@ -44663,6 +46832,15 @@ 2331639808,2331770879,GB 2331836416,2331901951,GB 2331901952,2331967487,US +2331967488,2331980799,BR +2331980800,2331981823,PA +2331981824,2331982847,BR +2331982848,2331983871,MX +2331983872,2331992063,BR +2331993088,2331994111,CL +2331994112,2332006399,BR +2332006400,2332007423,SV +2332016640,2332020735,BR 2332033024,2332098559,ID 2332098560,2332622847,DE 2332622848,2332688383,CN @@ -44685,7 +46863,9 @@ 2335965184,2336161791,US 2336161792,2336227327,NL 2336292864,2336358399,US -2336358400,2336423935,FI +2336358400,2336411647,FI +2336411648,2336412671,SG +2336412672,2336423935,FI 2336423936,2336882687,US 2336882688,2336948223,FI 2336948224,2337013759,DE @@ -44767,7 +46947,11 @@ 2342518784,2342584319,FR 2342584320,2342649856,US 2342649857,2342658047,SG -2342658048,2342715391,US +2342658048,2342682623,US +2342682624,2342690815,DE +2342690816,2342700247,US +2342700248,2342700248,GB +2342700249,2342715391,US 2342715392,2342780927,AU 2342780928,2342846463,NO 2342846464,2342911999,BE @@ -44907,8 +47091,8 @@ 2365587456,2365589503,JO 2365589504,2365590527,US 2365590528,2365591039,NO -2365591040,2365591455,EU -2365591456,2365591551,NO +2365591040,2365591295,EU +2365591296,2365591551,NO 2365591552,2365593599,DE 2365593600,2365595647,NL 2365595648,2365603839,GB @@ -45195,13 +47379,13 @@ 2382692352,2383085567,CA 2383085568,2383151103,US 2383151104,2385903615,CA -2385903616,2385908223,US +2385903616,2385908735,US 2385908736,2385909759,VG 2385909760,2385915903,US 2385915904,2385919999,CA 2385920000,2385952767,US 2385952768,2385954815,BM -2385954816,2385955327,US +2385954816,2385955839,US 2385955840,2385956863,TC 2385956864,2385969151,US 2385969152,2386624511,CA @@ -45239,23 +47423,31 @@ 2391015424,2391277567,CA 2391277568,2391343103,US 2391343104,2391998463,CA -2391998464,2392001535,US -2392002304,2392012799,CA -2392012800,2392013823,US +2391998464,2392002303,US +2392002304,2392010751,CA +2392010752,2392011263,US +2392011264,2392011519,CA +2392011776,2392012543,CA +2392012544,2392014079,US 2392014080,2392014335,CA -2392015360,2392015615,CA -2392015872,2392016895,US -2392016896,2392019199,CA -2392019968,2392020991,US -2392020992,2392021247,HK -2392021248,2392021503,JP -2392021504,2392021759,US +2392015360,2392015871,CA +2392015872,2392017407,US +2392017408,2392017663,CA +2392017920,2392018431,US +2392018432,2392018687,CA +2392018688,2392018943,US +2392018944,2392019199,CA +2392019200,2392019455,US +2392019456,2392019967,CA +2392019968,2392021759,US 2392021760,2392022015,NL 2392022016,2392022271,FR 2392022272,2392022527,DE 2392022528,2392022783,GB 2392022784,2392023039,US -2392023040,2392025087,CA +2392023040,2392024319,CA +2392024320,2392024575,US +2392024576,2392025087,VI 2392025088,2392063999,US 2392064000,2392096767,CA 2392096768,2392129535,US @@ -45350,7 +47542,9 @@ 2413428736,2413494271,AU 2413494272,2413625343,US 2413625344,2413690879,JP -2413690880,2413821951,US +2413690880,2413758463,US +2413758464,2413758975,GB +2413758976,2413821951,US 2413821952,2413887487,AT 2413887488,2413953023,IT 2413953024,2414411775,US @@ -45391,41 +47585,127 @@ 2417688576,2417754111,SE 2417754112,2418016255,US 2418016256,2418081791,GB -2418081792,2418296319,US +2418081792,2418278655,US +2418278656,2418278911,ZA +2418278912,2418279487,US +2418279488,2418279491,ES +2418279492,2418281151,US +2418281152,2418281215,IN +2418281216,2418281983,US +2418281984,2418282239,ES +2418282240,2418284543,US +2418284544,2418285055,CA +2418285056,2418285567,MX +2418285568,2418286335,US +2418286336,2418286591,MX +2418286592,2418287103,CA +2418287104,2418287295,US +2418287296,2418287359,GB +2418287360,2418291199,US +2418291200,2418292223,AR +2418292224,2418292735,PH +2418292736,2418294015,US +2418294016,2418294783,AR +2418294784,2418294911,US +2418294912,2418295039,GB +2418295040,2418295807,US +2418295808,2418295935,GB +2418295936,2418295947,US +2418295948,2418295951,GB +2418295952,2418296063,US +2418296064,2418296319,DE 2418296320,2418297343,IN -2418297344,2418305023,US -2418305024,2418305279,IN -2418305280,2418311167,US +2418297344,2418297855,US +2418297856,2418298367,BR +2418298368,2418298623,ZA +2418298624,2418301439,US +2418301440,2418301695,PH +2418301696,2418302463,US +2418302464,2418302719,PH +2418302720,2418302975,US +2418302976,2418303231,IN +2418303232,2418303487,ZA +2418303488,2418303871,US +2418303872,2418303879,GB +2418303880,2418304511,US +2418304512,2418304671,GB +2418304672,2418304767,US +2418304768,2418304895,DE +2418304896,2418305151,US +2418305152,2418305279,IN +2418305280,2418305535,ES +2418305536,2418306303,US +2418306304,2418306559,GB +2418306560,2418307327,MU +2418307328,2418307455,US +2418307456,2418307583,PH +2418307584,2418308095,LV +2418308096,2418308351,PH +2418308352,2418308383,GB +2418308384,2418308607,US +2418308608,2418309119,RO +2418309120,2418309631,PL +2418309632,2418310143,US +2418310144,2418310655,PH +2418310656,2418311167,US 2418311168,2418311679,IN -2418311680,2418312703,US +2418311680,2418312703,CZ 2418312704,2418313215,IN -2418313216,2418314239,US +2418313216,2418314239,PH 2418314240,2418314751,IN -2418314752,2418315263,US +2418314752,2418315007,PH +2418315008,2418315135,IN +2418315136,2418315263,US 2418315264,2418315775,IN -2418315776,2418316287,US +2418315776,2418316287,CN 2418316288,2418316799,IN -2418316800,2418323455,US +2418316800,2418317055,AU +2418317056,2418317311,JP +2418317312,2418317823,PH +2418317824,2418318079,US +2418318080,2418318335,IN +2418318336,2418319871,PH +2418319872,2418320127,KR +2418320128,2418320191,US +2418320192,2418320255,AU +2418320256,2418320319,IN +2418320320,2418320383,PH +2418320384,2418321407,US +2418321408,2418322431,PH +2418322432,2418322687,US +2418322688,2418322847,IN +2418322848,2418323455,US 2418323456,2418323711,IN 2418323712,2418323967,US -2418323968,2418324223,IN -2418324224,2418324991,US +2418323968,2418324479,IN +2418324480,2418324735,PH +2418324736,2418324799,IN +2418324800,2418324991,US 2418324992,2418326015,IN -2418326016,2418326527,US +2418326016,2418326527,PH 2418326528,2418327039,IN -2418327040,2418331135,US +2418327040,2418327423,US +2418327424,2418327487,PH +2418327488,2418328063,US +2418328064,2418328831,SK +2418328832,2418329599,US +2418329600,2418330367,SK +2418330368,2418331135,US 2418331136,2418331647,IN 2418331648,2418332159,US 2418332160,2418332671,IN -2418332672,2418333183,US +2418332672,2418333183,PH 2418333184,2418334207,IN -2418334208,2418334719,US +2418334208,2418334463,CN +2418334464,2418334719,PH 2418334720,2418339071,IN -2418339072,2418340863,US +2418339072,2418339839,MU +2418339840,2418340351,CN +2418340352,2418340863,US 2418340864,2418341375,IN -2418341376,2418341887,US +2418341376,2418341887,PH 2418341888,2418342911,IN -2418342912,2418343423,US +2418342912,2418343423,PH 2418343424,2418343935,IN 2418343936,2418606079,US 2418606080,2418671615,DE @@ -45588,8 +47868,7 @@ 2449420288,2449422335,DE 2449422336,2449424383,DK 2449424384,2449440767,OM -2449440768,2449441279,NL -2449441280,2449442815,RO +2449440768,2449442815,NL 2449442816,2449444863,RU 2449444864,2449448959,SK 2449448960,2449457151,KZ @@ -45708,13 +47987,16 @@ 2455265280,2455273471,US 2455273472,2455275519,AU 2455275520,2455279615,US -2455279616,2455281663,MO +2455279616,2455280127,MO +2455280128,2455280383,MY +2455280384,2455281663,MO 2455281664,2455285759,IN 2455285760,2455371775,US 2455371776,2455437311,GB 2455437312,2455830527,US 2455830528,2455896063,GB -2455896064,2456027135,US +2455896064,2455961599,US +2455961600,2456027135,JP 2456027136,2456092671,IT 2456092672,2456158207,GB 2456158208,2456223743,CZ @@ -45780,7 +48062,7 @@ 2459828224,2459860991,RU 2459860992,2459893759,ES 2459893760,2459959295,CH -2459959296,2460024831,US +2459959296,2460024831,JP 2460024832,2460090367,FI 2460090368,2460155903,GB 2460155904,2460221439,US @@ -46090,7 +48372,9 @@ 2486960128,2487025663,FR 2487025664,2487369727,US 2487369728,2487386111,PF -2487386112,2488205311,US +2487386112,2487418879,US +2487418880,2487549951,JP +2487549952,2488205311,US 2488205312,2488270847,GB 2488270848,2488336383,US 2488336384,2488401919,PL @@ -46132,10 +48416,9 @@ 2492989440,2493513727,US 2493513728,2493579263,SE 2493579264,2493644799,JP -2493644800,2493755391,US -2493755904,2493756415,US +2493644800,2493756415,US 2493756416,2493757439,CA -2493759488,2494103551,US +2493757440,2494103551,US 2494103552,2494169087,FR 2494169088,2494562303,US 2494562304,2494627839,GB @@ -46204,7 +48487,9 @@ 2500149504,2500149759,GB 2500149760,2500150655,US 2500150656,2500150719,GB -2500150720,2500161023,US +2500150720,2500155647,US +2500155648,2500155903,GB +2500155904,2500161023,US 2500161024,2500162047,GB 2500162048,2500162559,US 2500162560,2500162815,GB @@ -46214,7 +48499,9 @@ 2500170752,2500170752,FI 2500170753,2500177935,US 2500177936,2500177943,PL -2500177944,2500188679,US +2500177944,2500180735,US +2500180736,2500180991,HR +2500180992,2500188679,US 2500188680,2500188687,CH 2500188688,2500196351,US 2500196352,2500198399,FI @@ -46339,12 +48626,16 @@ 2500728320,2500743215,US 2500743216,2500743223,GB 2500743224,2500984831,US -2500984832,2501001215,GB -2501001216,2501574655,US +2500984832,2501017599,GB +2501017600,2501574655,US 2501574656,2501640191,KZ -2501640192,2503016447,US -2503016448,2503081983,IL -2503081984,2503671807,US +2501640192,2502033407,US +2502033408,2502037503,LU +2502037504,2502041599,US +2502041600,2502043647,ES +2502043648,2503016447,US +2503016448,2503147519,IL +2503147520,2503671807,US 2503671808,2503737343,NL 2503737344,2503868415,US 2503868416,2503876607,RU @@ -46367,7 +48658,9 @@ 2504482816,2504486911,ES 2504486912,2504491007,US 2504491008,2504499199,IT -2504499200,2504949759,US +2504499200,2504918642,US +2504918643,2504918643,IL +2504918644,2504949759,US 2504949760,2504982527,IL 2504982528,2505457663,US 2505457664,2505459711,IE @@ -46389,15 +48682,15 @@ 2505790464,2505791487,US 2505791488,2505792511,FR 2505792512,2505793535,US -2505793536,2505801727,ES -2505801728,2506293247,US +2505793536,2505803775,ES +2505803776,2506293247,US 2506293248,2506358783,CA 2506358784,2506359039,ES 2506359040,2506360831,US 2506360832,2506361087,ES 2506361088,2506401791,US -2506401792,2506402815,IT -2506402816,2506489855,US +2506401792,2506403839,IT +2506403840,2506489855,US 2506489856,2506498047,ES 2506498048,2506499071,FR 2506499072,2506506239,ES @@ -46486,7 +48779,47 @@ 2512912384,2512945151,HU 2512945152,2512977919,JO 2512977920,2513043455,DE -2513043456,2513108991,FR +2513043456,2513044691,FR +2513044692,2513044695,IT +2513044696,2513044703,FR +2513044704,2513044735,DE +2513044736,2513044751,FR +2513044752,2513044767,BE +2513044768,2513044799,ES +2513044800,2513044815,FR +2513044816,2513044831,IT +2513044832,2513045247,FR +2513045248,2513045255,CZ +2513045256,2513046591,FR +2513046592,2513046623,ES +2513046624,2513048047,FR +2513048048,2513048063,ES +2513048064,2513049375,FR +2513049376,2513049407,DE +2513049408,2513049551,FR +2513049552,2513049567,ES +2513049568,2513051487,FR +2513051488,2513051519,GB +2513051520,2513068207,FR +2513068208,2513068223,DE +2513068224,2513068287,NL +2513068288,2513070559,FR +2513070560,2513070591,ES +2513070592,2513070623,FR +2513070624,2513070655,ES +2513070656,2513076471,FR +2513076472,2513076479,ES +2513076480,2513078367,FR +2513078368,2513078371,GB +2513078372,2513079250,FR +2513079251,2513079254,ES +2513079255,2513081327,FR +2513081328,2513081343,ES +2513081344,2513082561,FR +2513082562,2513082562,GB +2513082563,2513102899,FR +2513102900,2513102903,CZ +2513102904,2513108991,FR 2513108992,2513502207,DE 2513502208,2513567743,NO 2513567744,2513600511,GR @@ -46599,7 +48932,8 @@ 2524971008,2525036543,ES 2525036544,2525037567,IN 2525037568,2525038591,PK -2525038592,2525039615,HK +2525038592,2525039359,CN +2525039360,2525039615,HK 2525039616,2525040639,AU 2525040640,2525041151,BD 2525041152,2525041407,ID @@ -46620,7 +48954,7 @@ 2525060096,2525061119,AU 2525061120,2525062143,TW 2525062144,2525071359,IN -2525071360,2525072383,HK +2525071360,2525072383,CN 2525072384,2525073407,MN 2525073408,2525075455,IN 2525075456,2525076479,CN @@ -46730,23 +49064,33 @@ 2533097472,2533228543,US 2533228544,2533294079,PL 2533294080,2533359615,CN -2533359616,2533369855,UA -2533369856,2533371903,BG -2533371904,2533375999,UA +2533359616,2533367807,UA +2533367808,2533369855,BG +2533369856,2533375999,UA 2533376000,2533392383,HU 2533392384,2538602495,IT 2538602496,2538604967,FR 2538604968,2538604975,ES -2538604976,2538606027,FR +2538604976,2538605271,FR +2538605272,2538605279,ES +2538605280,2538606027,FR 2538606028,2538606031,DE 2538606032,2538606039,ES 2538606040,2538606043,FR 2538606044,2538606047,DE -2538606048,2538619359,FR +2538606048,2538606403,FR +2538606404,2538606407,GB +2538606408,2538619359,FR 2538619360,2538619375,ES -2538619376,2538619903,FR +2538619376,2538619431,FR +2538619432,2538619435,DE +2538619436,2538619903,FR 2538619904,2538619911,ES -2538619912,2538634227,FR +2538619912,2538625527,FR +2538625528,2538625535,DE +2538625536,2538626687,FR +2538626688,2538626703,ES +2538626704,2538634227,FR 2538634228,2538634231,DE 2538634232,2538644015,FR 2538644016,2538644039,ES @@ -46762,7 +49106,9 @@ 2538646272,2538646399,BE 2538646400,2538646783,FR 2538646784,2538647039,CZ -2538647040,2538648591,FR +2538647040,2538648239,FR +2538648240,2538648255,DE +2538648256,2538648591,FR 2538648592,2538648623,BE 2538648624,2538649767,FR 2538649768,2538649775,DE @@ -46793,9 +49139,13 @@ 2538656516,2538656519,IT 2538656520,2538656959,FR 2538656960,2538656975,ES -2538656976,2538658347,FR +2538656976,2538657135,FR +2538657136,2538657139,RO +2538657140,2538658347,FR 2538658348,2538658351,DE -2538658352,2538664847,FR +2538658352,2538658623,FR +2538658624,2538658655,NL +2538658656,2538664847,FR 2538664848,2538664863,NL 2538664864,2538664895,DE 2538664896,2538668031,FR @@ -46842,7 +49192,8 @@ 2546039040,2547187711,US 2547187712,2547318783,GB 2547318784,2547515391,US -2547515392,2547548159,GB +2547523584,2547535871,GB +2547535872,2547548159,BG 2547548160,2547580927,NO 2548039680,2548563967,GB 2548563968,2548826111,IR @@ -46931,7 +49282,7 @@ 2549901312,2549903359,RU 2549903360,2549905407,ES 2549905408,2549907455,GB -2549907456,2549923839,DE +2549907456,2549923839,SE 2549923840,2549927935,BG 2549927936,2549929983,HR 2549929984,2549932031,DE @@ -47056,13 +49407,22 @@ 2570190848,2572681215,US 2572681216,2572746751,SE 2572746752,2572943359,US -2572943360,2572955647,DE +2572943360,2572951551,DE +2572951552,2572953599,US +2572953600,2572953855,BY +2572953856,2572954111,HK +2572954112,2572954367,DE +2572954368,2572954623,HK +2572954624,2572954879,AU +2572954880,2572955135,HK +2572955136,2572955647,DE 2572955648,2572959743,BR 2572959744,2572968447,DE 2572968448,2572968959,CZ 2572968960,2572975103,BR -2572975104,2572976127,DE -2572976128,2572989439,NL +2572975104,2572975615,DE +2572975616,2572975871,SE +2572975872,2572989439,NL 2572989440,2572989951,GR 2572989952,2572991487,NL 2572991488,2573000703,BR @@ -47112,7 +49472,8 @@ 2584739904,2584740095,ZA 2584740096,2584740351,US 2584740352,2584740415,AU -2584740416,2584740607,ZA +2584740416,2584740479,DE +2584740480,2584740607,ZA 2584740608,2584740863,US 2584740864,2584740927,AU 2584740928,2584741119,ZA @@ -47124,7 +49485,8 @@ 2584741952,2584742143,ZA 2584742144,2584742399,US 2584742400,2584742463,AU -2584742464,2584742655,ZA +2584742464,2584742527,DE +2584742528,2584742655,ZA 2584742656,2584742911,US 2584742912,2584742975,KR 2584742976,2584743167,ZA @@ -47136,7 +49498,8 @@ 2584744000,2584744191,ZA 2584744192,2584744447,US 2584744448,2584744511,AU -2584744512,2584744703,ZA +2584744512,2584744575,ZA +2584744576,2584744703,DE 2584744704,2584744959,US 2584744960,2584745023,AU 2584745024,2584745215,ZA @@ -47249,10 +49612,8 @@ 2584763968,2584764159,ZA 2584764160,2584764415,US 2584764416,2584764671,ZA -2584764672,2584768511,US -2584768512,2584770559,ZA -2584770560,2584775423,US -2584775424,2584775679,ZA +2584764672,2584775423,US +2584775424,2584775679,KE 2584775680,2585001983,US 2585001984,2585067519,CA 2585067520,2585788415,US @@ -47263,7 +49624,9 @@ 2586484736,2586486783,GB 2586486784,2586510335,US 2586510336,2586511359,ES -2586511360,2586566655,US +2586511360,2586544127,US +2586544128,2586546175,SE +2586546176,2586566655,US 2586566656,2586566687,FR 2586566688,2586610431,US 2586610432,2586610687,GB @@ -47282,7 +49645,11 @@ 2586650880,2586651135,NL 2586651136,2586714879,US 2586714880,2586715135,NL -2586715136,2586733567,US +2586715136,2586716159,US +2586716160,2586716671,ES +2586716672,2586717183,US +2586717184,2586717439,ES +2586717440,2586733567,US 2586733568,2586733823,LT 2586733824,2586734591,US 2586734592,2586735615,LT @@ -47294,8 +49661,10 @@ 2586804224,2586804479,ES 2586804480,2586828799,US 2586828800,2586829055,CH -2586829056,2586870783,US -2586870784,2586875903,ES +2586829056,2586869759,US +2586869760,2586870015,ES +2586870016,2586870271,US +2586870272,2586875903,ES 2586875904,2586876415,US 2586876416,2586876671,ES 2586876672,2586876927,US @@ -47313,7 +49682,9 @@ 2587018672,2587018687,IE 2587018688,2587019263,US 2587019264,2587019775,IE -2587019776,2587021823,US +2587019776,2587020287,US +2587020288,2587020799,IE +2587020800,2587021823,US 2587021824,2587022335,IE 2587022336,2587066879,US 2587066880,2587067135,GB @@ -47323,7 +49694,9 @@ 2587068416,2587068479,GB 2587068480,2587071759,US 2587071760,2587071775,GB -2587071776,2587131903,US +2587071776,2587128522,US +2587128523,2587128523,TR +2587128524,2587131903,US 2587131904,2587132159,FR 2587132160,2587197439,US 2587197440,2587197695,ES @@ -47331,7 +49704,9 @@ 2587240390,2587240390,FR 2587240391,2587249417,US 2587249418,2587249418,FR -2587249419,2587394047,US +2587249419,2587361791,US +2587361792,2587362047,MD +2587362048,2587394047,US 2587394048,2587394303,ES 2587394304,2587394815,US 2587394816,2587395071,ES @@ -47355,10 +49730,10 @@ 2587496448,2587508735,US 2587508736,2587525119,GB 2587525120,2587542527,US -2587542528,2587544063,ES -2587544064,2587545599,US -2587545600,2587546623,ES -2587546624,2587582463,US +2587542528,2587544575,ES +2587544576,2587545599,US +2587545600,2587549695,ES +2587549696,2587582463,US 2587582464,2587586559,NL 2587586560,2587592703,US 2587592704,2587594751,GB @@ -47394,6 +49769,7 @@ 2588042240,2588043263,SS 2588043264,2588044287,AO 2588044288,2588045311,LS +2588045312,2588046335,ZA 2588046336,2588047359,TD 2588047360,2588049407,MW 2588049408,2588053503,BJ @@ -47418,7 +49794,8 @@ 2588303360,2588311551,CM 2588311552,2588315647,ZA 2588315648,2588317695,BW -2588317696,2588318207,MU +2588317696,2588317951,ZA +2588317952,2588318207,MU 2588318208,2588318719,ZA 2588318720,2588319743,UG 2588319744,2588327935,SC @@ -47502,6 +49879,7 @@ 2590507008,2591031295,TN 2591031296,2591096831,GA 2591096832,2591162367,NG +2591162368,2591293439,ZA 2591293440,2591326207,GA 2591326208,2591358975,AO 2591358976,2591375359,GH @@ -47545,12 +49923,10 @@ 2592026624,2592026879,US 2592026880,2592027391,ZA 2592027392,2592027647,GB -2592027648,2592028159,US -2592028160,2592028415,CA -2592028416,2592028671,US +2592027648,2592028671,US 2592028672,2592028799,NG 2592028800,2592028927,KE -2592028928,2592029183,ZA +2592028928,2592029183,US 2592029184,2592029311,CI 2592029312,2592030207,ZA 2592030208,2592030335,GH @@ -47608,6 +49984,7 @@ 2605187072,2605252607,US 2605252608,2605318143,AT 2605318144,2606301183,US +2606301184,2606366719,AO 2606366720,2606448649,US 2606448650,2606448651,EU 2606448652,2606467071,US @@ -47682,7 +50059,9 @@ 2616885530,2616918015,DE 2616983552,2617049087,US 2617049088,2617114623,IT -2617114624,2617123839,US +2617114624,2617115135,US +2617115136,2617115647,CA +2617115648,2617123839,US 2617123840,2617124095,DE 2617124096,2617124863,US 2617124864,2617126911,NL @@ -47721,7 +50100,7 @@ 2617146880,2617147135,DE 2617147136,2617147391,AO 2617147392,2617149439,US -2617151488,2617155583,CA +2617149440,2617155583,CA 2617155584,2617163775,US 2617163776,2617164031,SK 2617164032,2617164287,MC @@ -47736,7 +50115,7 @@ 2617166336,2617166591,KH 2617166592,2617166847,TJ 2617166848,2617167103,KG -2617167104,2617167359,IS +2617167104,2617167359,IN 2617167360,2617167615,DK 2617167616,2617167871,IL 2617167872,2617168127,PL @@ -47781,7 +50160,7 @@ 2617177856,2617178111,BE 2617178112,2617178367,IM 2617178368,2617178623,BN -2617178624,2617178879,AD +2617178624,2617178879,US 2617178880,2617179135,LT 2617179136,2617179391,MD 2617179392,2617179647,SI @@ -47858,16 +50237,14 @@ 2625961984,2626027519,LU 2626027520,2626093055,US 2626093056,2626158591,CH -2626158592,2626224127,US -2626224128,2626289663,CZ -2626289664,2626879487,US +2626158592,2626879487,US 2626879488,2626945023,KR 2626945024,2627010559,IT 2627010560,2627076095,NZ 2627076096,2627141631,NL 2627141632,2627469311,US 2627469312,2627731455,TZ -2627731456,2629828607,EG +2627731456,2631925759,EG 2634022912,2634088447,CN 2634088448,2635202559,JP 2635202560,2635268095,CN @@ -47887,7 +50264,15 @@ 2637733152,2637733183,JP 2637733184,2637733375,US 2637733376,2637733407,SG -2637733408,2638020607,US +2637733408,2637997055,US +2637997056,2637997311,AU +2637997312,2637998591,US +2637998592,2637998847,AU +2637998848,2638000127,US +2638000128,2638000255,AU +2638000256,2638002175,US +2638002176,2638002687,AU +2638002688,2638020607,US 2638020608,2638086143,CN 2638086144,2638151679,US 2638151680,2639331327,JP @@ -47907,7 +50292,10 @@ 2640445440,2640510975,US 2640510976,2640576511,FR 2640576512,2640642047,EC -2640642048,2641952767,JP +2640642048,2641928191,JP +2641928192,2641936383,SG +2641936384,2641944575,US +2641944576,2641952767,JP 2641952768,2642018303,US 2642018304,2642083839,CN 2642083840,2642149375,US @@ -48031,7 +50419,15 @@ 2655059968,2655125503,US 2655125504,2655191039,PL 2655191040,2655256575,EU -2655256576,2655715327,US +2655256576,2655323135,US +2655323136,2655323647,CA +2655323648,2655324671,US +2655324672,2655324799,CA +2655324800,2655325695,US +2655325696,2655325823,CA +2655325824,2655326207,US +2655326208,2655326463,CA +2655326464,2655715327,US 2655715328,2655780863,PL 2655780864,2656387071,US 2656387072,2656403455,CA @@ -48104,7 +50500,11 @@ 2662203392,2662662143,GB 2662662144,2662670335,KG 2662670336,2662674431,AZ -2662674432,2662686719,DE +2662674432,2662677087,DE +2662677088,2662677279,US +2662677280,2662677375,DE +2662677376,2662678527,US +2662678528,2662686719,DE 2662686720,2662694911,CH 2662694912,2662727679,KG 2662727680,2662793215,HK @@ -48121,7 +50521,11 @@ 2665086976,2665152511,GB 2665152512,2665218047,US 2665218048,2665283583,CH -2665283584,2665414655,US +2665283584,2665359359,US +2665359360,2665359871,MF +2665359872,2665375743,US +2665375744,2665377791,CA +2665377792,2665414655,US 2665414656,2665480191,GB 2665480192,2665545727,US 2665545728,2665611263,DE @@ -48265,7 +50669,9 @@ 2674130944,2674147327,GB 2674147328,2674163711,NL 2674163712,2674175999,GB -2674176000,2674192383,US +2674176000,2674177286,US +2674177287,2674177287,GB +2674177288,2674192383,US 2674192384,2674196479,CH 2674196480,2674249727,GB 2674249728,2674251775,US @@ -48284,11 +50690,17 @@ 2675245056,2675310591,NZ 2675310592,2675574239,US 2675574240,2675574271,IT -2675574272,2675577999,US -2675578000,2675578015,ES -2675578016,2675589119,US +2675574272,2675576703,US +2675576704,2675576711,JO +2675576712,2675578527,US +2675578528,2675578535,CO +2675578536,2675580063,US +2675580064,2675580095,AE +2675580096,2675589119,US 2675589120,2675605503,DE -2675605504,2675835135,US +2675605504,2675606271,US +2675606272,2675606527,IT +2675606528,2675835135,US 2675835136,2675835391,CA 2675835392,2675965951,US 2675965952,2676031487,CA @@ -48399,7 +50811,9 @@ 2680487936,2680553471,GB 2680553472,2680684543,US 2680684544,2680750079,SE -2680750080,2681012223,US +2680750080,2680881151,US +2680881152,2680897535,CA +2680897536,2681012223,US 2681012224,2681077759,PL 2681077760,2681143295,CA 2681143296,2681208831,AU @@ -48547,7 +50961,9 @@ 2689594112,2689594879,GB 2689594880,2689597439,US 2689597440,2689662975,IT -2689662976,2689802751,US +2689662976,2689801904,US +2689801905,2689801905,DE +2689801906,2689802751,US 2689802752,2689803263,TR 2689803264,2689803519,GB 2689803520,2689804799,US @@ -48588,7 +51004,8 @@ 2697789440,2697854975,US 2697854976,2697889791,AU 2697889792,2697891839,US -2697891840,2697892863,AU +2697891840,2697892095,GB +2697892096,2697892863,AU 2697892864,2697894399,US 2697894400,2697920511,AU 2697920512,2698117119,US @@ -48605,17 +51022,20 @@ 2698903552,2698969087,AU 2698969088,2699034623,CA 2699034624,2699165695,AO +2699165696,2699198463,NG 2699231232,2699296767,US 2699296768,2699362303,FR 2699362304,2699624447,US 2699624448,2699689983,JP -2699755520,2700935167,JP +2699755520,2700214271,JP +2700214272,2700247039,NA +2700247040,2700263423,UG +2700279808,2700935167,JP 2700935168,2701066239,US -2701066240,2701074431,ZA -2701074432,2701099007,BG -2701099008,2701123583,ZA -2701123584,2701131775,BG -2701131776,2701139967,HN +2701066240,2701131775,BG +2701131776,2701132543,HN +2701132544,2701132559,CR +2701132560,2701139967,HN 2701139968,2701148159,NI 2701148160,2701149183,AR 2701149184,2701150207,HN @@ -48650,7 +51070,9 @@ 2702508032,2702573567,US 2702573568,2702581759,AR 2702581760,2702585855,VE -2702585856,2702587903,CW +2702585856,2702586111,CW +2702586112,2702586367,PA +2702586368,2702587903,CW 2702587904,2702589951,BR 2702589952,2702606335,GF 2702606336,2702639103,BO @@ -48695,7 +51117,9 @@ 2705522688,2705588223,ES 2705588224,2705596159,US 2705596160,2705596415,CA -2705596416,2705691647,US +2705596416,2705688319,US +2705688320,2705688575,DE +2705688576,2705691647,US 2705691648,2705692671,GB 2705692672,2705710079,US 2705710080,2705711103,IN @@ -48767,7 +51191,9 @@ 2714370800,2714370815,PH 2714370816,2714370895,US 2714370896,2714370911,CN -2714370912,2714386431,US +2714370912,2714373127,US +2714373128,2714373128,SG +2714373129,2714386431,US 2714386432,2714402815,JP 2714402816,2714697727,US 2714697728,2714763263,CN @@ -48887,7 +51313,7 @@ 2731792384,2731795455,US 2731795456,2731796479,DE 2731796480,2731797503,CA -2731797504,2731800575,US +2731798528,2731800575,US 2731800576,2731801599,CA 2731801600,2731804671,US 2731804672,2731805695,CA @@ -48937,8 +51363,8 @@ 2732201984,2732203007,VG 2732203008,2732204031,US 2732204032,2732206079,CA -2732206080,2732220159,US -2732220160,2732220400,CA +2732206080,2732220287,US +2732220288,2732220400,CA 2732220401,2732220401,US 2732220402,2732220415,CA 2732220416,2732227583,US @@ -49014,7 +51440,9 @@ 2732549120,2732550143,CA 2732550144,2732580863,US 2732580864,2732582911,CA -2732582912,2733903871,US +2732582912,2733882879,US +2733882880,2733883135,CA +2733883136,2733903871,US 2733903872,2733904895,PR 2733904896,2733907967,CA 2733907968,2733911039,US @@ -49183,13 +51611,7 @@ 2734633984,2734635007,CA 2734635008,2734649343,US 2734649344,2734650367,CA -2734650368,2734655927,US -2734655928,2734655935,GB -2734655936,2734656127,US -2734656128,2734656255,GB -2734656256,2734656383,US -2734656384,2734656511,GB -2734656512,2734657535,US +2734650368,2734657535,US 2734657536,2734658559,VG 2734658560,2734659583,CA 2734659584,2734665727,US @@ -49217,11 +51639,12 @@ 2736848896,2736914431,US 2736914432,2736979967,NO 2736979968,2737438719,US -2737438720,2737602559,JP +2737438720,2737594367,JP +2737594368,2737602559,US 2737602560,2737610751,SG 2737610752,2737767423,JP 2737767424,2737768447,CN -2737768448,2737769471,AU +2737768448,2737769471,SG 2737769472,2737770495,IN 2737770496,2737771263,AU 2737771264,2737771519,JP @@ -49260,7 +51683,9 @@ 2737813504,2737815551,NZ 2737815552,2737816575,MY 2737816576,2737817599,AU -2737817600,2737818623,MY +2737817600,2737818111,MY +2737818112,2737818367,AU +2737818368,2737818623,MY 2737818624,2737819647,NZ 2737819648,2737821695,IN 2737821696,2737822719,AU @@ -49296,7 +51721,8 @@ 2738214912,2738215935,HK 2738215936,2738216959,CN 2738216960,2738217983,HK -2738217984,2738220031,AU +2738217984,2738219007,AU +2738219008,2738220031,NZ 2738220032,2738221055,PK 2738221056,2738222079,CN 2738222080,2738223103,MO @@ -49365,7 +51791,9 @@ 2750349312,2750414847,KR 2750414848,2750692863,US 2750692864,2750693375,EU -2750693376,2750873599,US +2750693376,2750739967,US +2750739968,2750740223,CN +2750740224,2750873599,US 2750873600,2750939135,CL 2750939136,2751070207,US 2751070208,2751135743,CL @@ -49557,7 +51985,8 @@ 2773286912,2773745663,US 2773745664,2773794815,NZ 2773794816,2773798911,IN -2773798912,2773807103,NZ +2773798912,2773805055,NZ +2773805056,2773807103,JP 2773807104,2773811199,IN 2773811200,2773876735,US 2773876736,2773942271,AU @@ -49593,7 +52022,9 @@ 2778333184,2778398719,CA 2778398720,2779054079,US 2779054080,2779119615,ZA -2779119616,2779906047,US +2779119616,2779316223,US +2779316224,2779381759,RE +2779381760,2779906047,US 2779906048,2779971583,CA 2779971584,2780037119,US 2780037120,2780102655,ZA @@ -49628,7 +52059,10 @@ 2780934912,2780935167,GB 2780935168,2780954623,US 2780954624,2781020159,KR -2781020160,2781478911,US +2781020160,2781206527,US +2781206528,2781207551,GB +2781207552,2781208575,DE +2781208576,2781478911,US 2781478912,2781544447,HK 2781544448,2781629951,US 2781629952,2781630207,EU @@ -49654,7 +52088,11 @@ 2783003648,2783003903,SE 2783003904,2783004159,US 2783004160,2783004671,CH -2783004672,2783010815,US +2783004672,2783005439,DE +2783005440,2783005695,US +2783005696,2783006719,FR +2783006720,2783007743,GB +2783007744,2783010815,US 2783010816,2783011327,HK 2783011328,2783011583,AU 2783011584,2783011839,US @@ -49674,10 +52112,10 @@ 2783399936,2783404031,FR 2783404032,2783408127,NL 2783408128,2783412223,NO -2783412224,2783416319,SC +2783412224,2783416319,SE 2783416320,2783420415,RU 2783420416,2783424511,EE -2783424512,2783428607,SC +2783424512,2783428607,JP 2783428608,2783436799,US 2783436800,2783440895,IT 2783440896,2783444991,IN @@ -49691,6 +52129,7 @@ 2784362496,2784428031,KR 2784428032,2784952063,US 2784952064,2784952319,NL +2784952320,2785017855,ZA 2785017856,2785804287,US 2785804288,2786066431,CH 2786066432,2788163583,US @@ -49802,13 +52241,18 @@ 2809282653,2809282653,US 2809282654,2809286975,CA 2809286976,2809286991,US -2809286992,2809291823,CA +2809286992,2809291732,CA +2809291733,2809291733,US +2809291734,2809291823,CA 2809291824,2809291824,US 2809291825,2809291891,CA 2809291892,2809291892,US 2809291893,2809308599,CA 2809308600,2809308607,US -2809308608,2809331711,CA +2809308608,2809321007,CA +2809321008,2809321015,US +2809321016,2809323519,CA +2809323520,2809331711,FR 2809331712,2809397247,US 2809397248,2809462783,UY 2809462784,2809855999,US @@ -49828,7 +52272,9 @@ 2811559936,2811625471,CH 2811625472,2812084223,US 2812084224,2812149759,BO -2812149760,2812293119,US +2812149760,2812291071,US +2812291072,2812292095,DE +2812292096,2812293119,US 2812293120,2812295167,IN 2812295168,2812297215,GB 2812297216,2812411903,US @@ -49856,7 +52302,9 @@ 2815229952,2815295487,ID 2815295488,2815986943,US 2815986944,2815987199,GB -2815987200,2816159743,US +2815987200,2815988863,US +2815988864,2815988895,GB +2815988896,2816159743,US 2816159744,2816159999,IN 2816160000,2816262143,US 2816262144,2816263167,IE @@ -49871,7 +52319,8 @@ 2816272384,2816273407,JP 2816273408,2816274431,IN 2816274432,2816275455,AU -2816275456,2816278527,SG +2816275456,2816276479,CN +2816276480,2816278527,SG 2816278528,2816671743,US 2816671744,2816737279,CA 2816737280,2817059071,US @@ -50023,13 +52472,21 @@ 2834825216,2834956287,KR 2834956288,2835087359,US 2835087360,2835152895,AU +2835152896,2835161087,LR +2835161088,2835169279,ZW +2835169280,2835177471,ZA +2835177472,2835181567,DZ +2835181568,2835183615,NG +2835183616,2835185663,ZA +2835185664,2835202047,RE 2835202048,2835206143,ZA 2835206144,2835208191,NG 2835208192,2835210239,ZA 2835210240,2835218431,MW 2835218432,2835283967,US 2835283968,2835349503,MX -2835349504,2837446655,US +2835349504,2835480575,ZA +2835480576,2837446655,US 2837446656,2837839871,CH 2837839872,2837905407,US 2837905408,2837970943,CH @@ -50042,15 +52499,19 @@ 2838757376,2838822911,CH 2838822912,2838865599,US 2838865600,2838865615,KR -2838865616,2838881055,US +2838865616,2838871295,US +2838871296,2838871311,CA +2838871312,2838881055,US 2838881056,2838881087,AT -2838881088,2838904831,US +2838881088,2838887871,US +2838887872,2838887887,EC +2838887888,2838904831,US 2838904832,2838921215,CA -2838921216,2838938991,US +2838921216,2838930495,US +2838930496,2838930511,HK +2838930512,2838938991,US 2838938992,2838939007,AU -2838939008,2838939615,US -2838939616,2838939647,IE -2838939648,2838942527,US +2838939008,2838942527,US 2838942528,2838942559,AU 2838942560,2838943263,US 2838943264,2838943279,GB @@ -50058,17 +52519,29 @@ 2838946432,2838946447,CA 2838946448,2838946735,US 2838946736,2838946751,CA -2838946752,2839085055,US +2838946752,2838958927,US +2838958928,2838958943,AF +2838958944,2838962111,US +2838962112,2838962127,BR +2838962128,2838962527,US +2838962528,2838962543,GB +2838962544,2838964047,US +2838964048,2838964063,PE +2838964064,2839085055,US 2839085056,2839117823,MX -2839117824,2839150591,US +2839117824,2839150591,BR 2839150592,2839543807,CH 2839543808,2843803647,US 2843803648,2843869183,ZA 2843869184,2844524543,US 2844524544,2844590079,KR -2844590080,2844884991,US +2844590080,2844783615,US +2844783616,2844784639,EU +2844784640,2844884991,US 2844884992,2844885247,FR -2844885248,2845704191,US +2844885248,2844902655,US +2844902656,2844902911,AP +2844902912,2845704191,US 2845704192,2845755391,CU 2845755392,2845755647,EU 2845755648,2845769727,CU @@ -50084,7 +52557,24 @@ 2848587776,2848653311,ZA 2848653312,2848980991,US 2848980992,2850029567,KR -2850029568,2851995647,US +2850029568,2851012607,US +2851012608,2851013631,TZ +2851013632,2851015679,ZA +2851015680,2851016703,CV +2851016704,2851017727,NG +2851017728,2851018751,SC +2851018752,2851019775,ZW +2851019776,2851020799,ZA +2851020800,2851021823,AO +2851021824,2851022847,EG +2851022848,2851023871,CM +2851023872,2851024895,ZA +2851024896,2851025919,NG +2851025920,2851026943,GH +2851026944,2851027967,DZ +2851027968,2851028991,ZA +2851028992,2851030015,CI +2851078144,2851995647,US 2852061184,2852062207,ZA 2852062208,2852063231,CM 2852063232,2852064255,KE @@ -50107,7 +52597,7 @@ 2852083712,2852084735,AO 2852084736,2852085759,TN 2852085760,2852086783,KE -2852086784,2852087807,SD +2852086784,2852087807,SS 2852087808,2852088831,KE 2852088832,2852089855,LY 2852089856,2852090879,TZ @@ -50128,6 +52618,16 @@ 2852107264,2852108287,NG 2852108288,2852109311,TZ 2852109312,2852110335,CD +2852110336,2852112383,ZA +2852112384,2852113407,KE +2852113408,2852114431,CD +2852114432,2852115455,NG +2852115456,2852116479,KE +2852116480,2852118527,ZA +2852118528,2852119551,NG +2852119552,2852121599,ZA +2852121600,2852122623,NG +2852122624,2852126719,ZA 2852126720,2853306367,US 2853306368,2853371903,CL 2853371904,2853765119,US @@ -50195,51 +52695,161 @@ 2867593216,2867724287,CH 2867855360,2868117503,US 2868379648,2868380159,IN -2868380160,2868382719,US +2868380160,2868380671,BR +2868380672,2868380927,US +2868380928,2868381055,MX +2868381056,2868381183,IN +2868381184,2868381695,MX +2868381696,2868382463,US +2868382464,2868382719,CL 2868382720,2868383231,IN -2868383232,2868390399,US +2868383232,2868383743,US +2868383744,2868384255,PH +2868384256,2868384767,BR +2868384768,2868390143,US +2868390144,2868390399,GB 2868390400,2868390911,IN 2868390912,2868391423,US 2868391424,2868391935,IN -2868391936,2868414975,US +2868391936,2868399615,US +2868399616,2868399871,BR +2868399872,2868400127,US +2868400128,2868400639,BR +2868400640,2868401151,US +2868401152,2868401663,BR +2868401664,2868401919,PH +2868401920,2868402175,AR +2868402176,2868410367,US +2868410368,2868410879,BR +2868410880,2868411391,AR +2868411392,2868411903,PL +2868411904,2868414719,US +2868414720,2868414975,MU 2868414976,2868415487,IN -2868415488,2868420607,US +2868415488,2868415999,US +2868416000,2868416255,AU +2868416256,2868416767,US +2868416768,2868417023,PL +2868417024,2868417535,JP +2868417536,2868418815,US +2868418816,2868419071,TR +2868419072,2868419327,PH +2868419328,2868419583,IN +2868419584,2868420607,PH 2868420608,2868423679,IN 2868423680,2868428287,US 2868428288,2868428799,IN -2868428800,2868578815,US +2868428800,2868432895,US +2868432896,2868433407,AR +2868433408,2868437503,US +2868437504,2868437759,BR +2868437760,2868576255,US +2868576256,2868578303,IN +2868578304,2868578815,BR 2868578816,2868579327,IN 2868579328,2868581375,US 2868581376,2868581887,IN -2868581888,2868586495,US +2868581888,2868582143,US +2868582144,2868582399,RO +2868582400,2868585471,US +2868585472,2868585727,GB +2868585728,2868585983,PH +2868585984,2868586495,GB 2868586496,2868588543,IN -2868588544,2868591615,US -2868591616,2868592127,IN -2868592128,2868599295,US +2868588544,2868589055,PH +2868589056,2868591615,US +2868591616,2868592383,IN +2868592384,2868592447,DE +2868592448,2868592511,IN +2868592512,2868592639,US +2868592640,2868593663,NL +2868593664,2868593919,IN +2868593920,2868595711,US +2868595712,2868596223,FR +2868596224,2868596735,ES +2868596736,2868597759,DE +2868597760,2868598271,PH +2868598272,2868599295,US 2868599296,2868599807,IN -2868599808,2868604415,US +2868599808,2868600319,FR +2868600320,2868600831,AU +2868600832,2868601343,FR +2868601344,2868601855,CR +2868601856,2868602367,ES +2868602368,2868602623,US +2868602624,2868603007,ES +2868603008,2868603071,IN +2868603072,2868603135,ES +2868603136,2868603391,PH +2868603392,2868603647,US +2868603648,2868604159,DE +2868604160,2868604415,PH 2868604416,2868604927,IN -2868604928,2868612607,US +2868604928,2868605183,PH +2868605184,2868605951,SE +2868605952,2868606207,PL +2868606208,2868609023,ES +2868609024,2868610047,AU +2868610048,2868611327,US +2868611328,2868611583,AU +2868611584,2868611839,US +2868611840,2868612095,IN +2868612096,2868612607,US 2868612608,2868613119,IN -2868613120,2868614399,US +2868613120,2868613631,US +2868613632,2868614143,PH +2868614144,2868614399,US 2868614400,2868615167,IN 2868615168,2868615679,US 2868615680,2868616703,IN -2868616704,2868619775,US +2868616704,2868617215,US +2868617216,2868617471,PH +2868617472,2868617727,AU +2868617728,2868618239,US +2868618240,2868618367,PH +2868618368,2868618431,US +2868618432,2868618751,PH +2868618752,2868619263,US +2868619264,2868619775,PH 2868619776,2868620287,IN 2868620288,2868620799,US -2868620800,2868621311,IN -2868621312,2868658175,US -2868658176,2868658431,GB -2868658432,2868660223,US +2868620800,2868621503,IN +2868621504,2868621567,ES +2868621568,2868621823,ID +2868621824,2868621855,IN +2868621856,2868621919,US +2868621920,2868621951,IN +2868621952,2868622335,US +2868622336,2868622847,DE +2868622848,2868623359,US +2868623360,2868623871,PH +2868623872,2868624383,IN +2868624384,2868625407,ES +2868625408,2868649983,US +2868649984,2868651263,DE +2868651264,2868651391,US +2868651392,2868652031,DE +2868652032,2868658175,US +2868658176,2868660223,GB 2868660224,2868660479,EU -2868660480,2868662271,US +2868660480,2868662271,GB 2868662272,2868662527,EU -2868662528,2868674336,US +2868662528,2868664319,DE +2868664320,2868667903,GB +2868667904,2868668927,US +2868668928,2868669439,GB +2868669440,2868669951,US +2868669952,2868670975,GB +2868670976,2868671487,US +2868671488,2868674336,GB 2868674337,2868674337,SE -2868674338,2868682752,US +2868674338,2868674559,GB +2868674560,2868682752,PH 2868682753,2868682753,AP -2868682754,2868772863,US +2868682754,2868689151,PH +2868689152,2868689663,AU +2868689664,2868690943,PH +2868690944,2868772863,US 2868838400,2868903935,BE 2868903936,2869035007,SG 2869035008,2869166079,JP @@ -50333,10 +52943,110 @@ 2885681152,2886667007,US 2886667008,2886667263,DE 2886667264,2886729727,US -2887778304,2890414079,US -2890414080,2890415103,ZA -2890415104,2890924031,US -2894069760,2894921727,US +2887778304,2891034623,US +2891034624,2891036671,CA +2891036672,2891056383,US +2891056384,2891056639,ES +2891056640,2891058943,US +2891058944,2891059199,FR +2891059200,2891120639,US +2891251712,2891272191,US +2891272192,2891274239,CA +2891274240,2891282431,US +2891282432,2891283455,PR +2891283456,2891284479,CA +2891284480,2891364351,US +2891364352,2891374591,CA +2891374592,2891378687,US +2891378688,2891380735,CA +2891380736,2891403263,US +2891403264,2891407359,CA +2891407360,2891796479,US +2891796480,2891800575,CA +2891800576,2891807743,US +2891807744,2891808767,CA +2891808768,2891841535,US +2891841536,2891842303,SE +2891842304,2891843327,GB +2891843328,2891843839,SE +2891843840,2891844095,GB +2891844096,2891845119,FR +2891845120,2891846399,DE +2891846400,2891846911,CH +2891846912,2891847679,NL +2891847680,2891847935,SG +2891847936,2891848447,MY +2891848448,2891848959,JP +2891848960,2891849471,BN +2891849472,2891849983,PH +2891849984,2891850495,TH +2891850496,2891850751,SG +2891850752,2891854335,US +2891854336,2891855615,NL +2891855616,2891856127,SE +2891856128,2891856383,LU +2891856384,2891857919,US +2891857920,2891858175,ES +2891858176,2891858431,TR +2891858432,2891858687,RO +2891858688,2891862527,US +2891862528,2891863039,KR +2891863040,2891863551,AU +2891863552,2891864063,JP +2891864064,2891864575,SG +2891864576,2891871231,US +2891871232,2891871487,CA +2891871488,2891974655,US +2891974656,2891976703,CA +2891976704,2891982847,US +2891982848,2891984895,CA +2891984896,2892021759,US +2892021760,2892038143,CA +2892038144,2892040191,US +2892040192,2892042239,CA +2892042240,2892050431,US +2892050432,2892052479,CA +2892052480,2892053503,US +2892053504,2892054527,CA +2892054528,2892068863,US +2892068864,2892069887,CA +2892069888,2892070911,US +2892070912,2892103679,CA +2892103680,2892120831,US +2892120832,2892121087,CA +2892121088,2892140543,US +2892140544,2892144895,CA +2892144896,2892145407,US +2892145408,2892145663,CA +2892145664,2892146943,US +2892146944,2892147199,NL +2892147200,2892149503,US +2892149504,2892149759,NL +2892149760,2892171263,US +2892171264,2892172287,CA +2892172288,2892174335,US +2892174336,2892177407,CA +2892177408,2892369919,US +2892369920,2892374015,CA +2892374016,2892423167,US +2892423168,2892424191,VI +2892424192,2892425215,CA +2892425216,2892443647,US +2892443648,2892447743,CA +2892447744,2892464127,VG +2892464128,2892496895,CA +2892496896,2892906495,US +2892906496,2892910591,CA +2892910592,2892988415,US +2892988416,2892988671,SC +2892988672,2892988927,PA +2892988928,2892989183,SA +2892989184,2892989439,PE +2892989440,2892989695,CO +2892989696,2892989951,VE +2892989952,2893676543,US +2893676544,2893807615,CA +2893807616,2894921727,US 2894921728,2895118335,GB 2895118336,2895301887,US 2895301888,2895302143,AR @@ -50345,7 +53055,9 @@ 2895708160,2896035839,US 2896035840,2896101375,DE 2896101376,2896166911,GB -2896166912,2896429280,US +2896166912,2896301499,US +2896301500,2896301500,DE +2896301501,2896429280,US 2896429281,2896429281,CA 2896429282,2897018879,US 2897018880,2897149951,DE @@ -50366,7 +53078,9 @@ 2899574784,2899902463,GB 2899902464,2899967999,US 2899968000,2900099071,CA -2900099072,2902458367,US +2900099072,2901740455,US +2901740456,2901740463,CA +2901740464,2902458367,US 2902458368,2902462463,A1 2902462464,2902476543,US 2902476544,2902476799,CW @@ -50390,17 +53104,13 @@ 2905345280,2905345535,AU 2905345536,2905346815,US 2905346816,2905347071,JP -2905347072,2905348863,US +2905347072,2905348095,US +2905348096,2905348351,PH +2905348352,2905348863,US 2905348864,2905349119,NZ -2905349120,2905379071,US -2905379072,2905379327,CA -2905379328,2905380607,US -2905380608,2905380863,CA -2905380864,2905387519,US +2905349120,2905387519,US 2905387520,2905388031,CA -2905388032,2905394175,US -2905394176,2905394687,CA -2905394688,2905401855,US +2905388032,2905401855,US 2905401856,2905402111,CA 2905402112,2905405679,US 2905405680,2905405687,CN @@ -50429,7 +53139,8 @@ 2915250176,2915254271,CA 2915254272,2915516415,US 2915516416,2915516671,NL -2915516672,2915517183,US +2915516672,2915516927,CA +2915516928,2915517183,US 2915517184,2915517439,RU 2915517440,2915518463,DK 2915518464,2915520511,GB @@ -50447,7 +53158,9 @@ 2915528768,2915528791,NL 2915528792,2915528863,US 2915528864,2915528879,NL -2915528880,2915795013,US +2915528880,2915528927,US +2915528928,2915528943,NL +2915528944,2915795013,US 2915795014,2915795014,MX 2915795015,2915894575,US 2915894576,2915894591,CA @@ -50637,8 +53350,8 @@ 2918621184,2918653951,US 2918653952,2918662143,CA 2918662144,2918678527,US -2918678528,2918679039,CA -2918679040,2918699007,US +2918678528,2918686719,CA +2918686720,2918699007,US 2918699008,2918703103,CA 2918703104,2918760447,US 2918760448,2918776831,CA @@ -50729,9 +53442,7 @@ 2926575616,2927099903,CA 2927099904,2927242751,US 2927242752,2927243263,AE -2927243264,2927254783,US -2927254784,2927255039,AE -2927255040,2927581183,US +2927243264,2927581183,US 2927581184,2927581439,SG 2927581440,2927981567,US 2927981568,2927982591,SG @@ -50745,7 +53456,9 @@ 2928201984,2928202239,JP 2928202240,2928204799,US 2928204800,2928205055,NZ -2928205056,2928226303,US +2928205056,2928206335,US +2928206336,2928206591,PH +2928206592,2928226303,US 2928226304,2928230399,CA 2928230400,2928261375,US 2928261376,2928261887,CA @@ -50759,9 +53472,7 @@ 2928336896,2928455679,US 2928455680,2928459775,CA 2928459776,2928541695,US -2928541696,2928570671,CA -2928570672,2928570687,FR -2928570688,2928607231,CA +2928541696,2928607231,CA 2928607232,2928633199,US 2928633200,2928633215,CA 2928633216,2936012799,US @@ -50815,7 +53526,9 @@ 2942304256,2942566399,TW 2942566400,2942599167,KH 2942599168,2942608383,IN -2942608384,2942609407,HK +2942608384,2942608639,HK +2942608640,2942608895,US +2942608896,2942609407,HK 2942609408,2942615551,IN 2942615552,2942619647,HK 2942619648,2942631935,JP @@ -51001,7 +53714,9 @@ 2954830524,2954830527,DE 2954830528,2954830735,FR 2954830736,2954830751,NL -2954830752,2954831247,FR +2954830752,2954830879,FR +2954830880,2954830887,BE +2954830888,2954831247,FR 2954831248,2954831251,ES 2954831252,2954831807,FR 2954831808,2954831823,ES @@ -51028,13 +53743,17 @@ 2954834984,2954834991,IT 2954834992,2954835039,FR 2954835040,2954835043,DE -2954835044,2954835295,FR +2954835044,2954835067,FR +2954835068,2954835071,FI +2954835072,2954835295,FR 2954835296,2954835299,ES 2954835300,2954835443,FR 2954835444,2954835447,ES 2954835448,2954835451,FR 2954835452,2954835455,ES -2954835456,2954837071,FR +2954835456,2954835619,FR +2954835620,2954835620,ES +2954835621,2954837071,FR 2954837072,2954837075,ES 2954837076,2954837615,FR 2954837616,2954837619,IT @@ -51077,7 +53796,9 @@ 2954843760,2954843771,ES 2954843772,2954844147,FR 2954844148,2954844151,DE -2954844152,2954844999,FR +2954844152,2954844192,FR +2954844193,2954844193,NL +2954844194,2954844999,FR 2954845000,2954845003,ES 2954845004,2954845183,FR 2954845184,2954845199,DE @@ -51113,7 +53834,9 @@ 2954859872,2954859903,ES 2954859904,2954861623,FR 2954861624,2954861631,IT -2954861632,2954861875,FR +2954861632,2954861867,FR +2954861868,2954861871,CZ +2954861872,2954861875,FR 2954861876,2954861879,CH 2954861880,2954862415,FR 2954862416,2954862419,ES @@ -51126,7 +53849,11 @@ 2954870844,2954870847,ES 2954870848,2954870903,FR 2954870904,2954870907,ES -2954870908,2954875879,FR +2954870908,2954874431,FR +2954874432,2954874447,GB +2954874448,2954874655,FR +2954874656,2954874663,DE +2954874664,2954875879,FR 2954875880,2954875883,ES 2954875884,2954876871,FR 2954876872,2954876875,ES @@ -51206,7 +53933,7 @@ 2956500992,2956503039,NL 2956503040,2956504063,CY 2956504064,2956504319,CH -2956504320,2956504575,RU +2956504320,2956504575,NL 2956504576,2956504831,A1 2956504832,2956505087,RU 2956505088,2956506111,NL @@ -51557,7 +54284,7 @@ 2960160768,2960162815,UA 2960162816,2960175103,RU 2960175104,2960179199,SK -2960179200,2960187391,EU +2960179200,2960187391,IR 2960187392,2960211967,RU 2960220160,2960224255,RO 2960224256,2960228351,RU @@ -51694,11 +54421,11 @@ 2960916480,2960924671,UA 2960932864,2960933887,IR 2960933888,2960934655,GB -2960934656,2960934911,DE +2960934656,2960934911,NL 2960934912,2960941055,RO 2960941056,2960943103,AM 2960943104,2960945151,RO -2960945152,2960945663,LI +2960945152,2960945663,GB 2960945664,2960949247,RU 2960949248,2960951295,UA 2960951296,2960951807,RU @@ -51734,10 +54461,11 @@ 2961057792,2961061887,RU 2961061888,2961062911,PL 2961062912,2961063935,UA -2961063936,2961072127,DE +2961063936,2961072127,NL 2961072128,2961088511,UA 2961088512,2961088767,SE -2961088768,2961089535,UA +2961088768,2961089023,RU +2961089024,2961089535,UA 2961089536,2961090559,KG 2961090560,2961096703,RO 2961096704,2961097471,GB @@ -51778,7 +54506,7 @@ 2967345152,2967347199,ES 2967347200,2967351295,HR 2967351296,2967355391,FR -2967355392,2967363583,RO +2967355392,2967363583,ES 2967363584,2967371775,SE 2967371776,2967388159,KZ 2967388160,2967392255,RU @@ -51800,7 +54528,9 @@ 2967435008,2967441407,RO 2967441408,2967445503,MD 2967445504,2967446015,GB -2967446016,2967470079,RO +2967446016,2967446783,RO +2967446784,2967447039,DE +2967447040,2967470079,RO 2967470080,2967601151,SA 2967601152,2967633919,HU 2967633920,2967666687,RU @@ -52068,7 +54798,9 @@ 2988444672,2988444679,ES 2988444680,2988446719,FR 2988446720,2988446723,DE -2988446724,2988448607,FR +2988446724,2988446871,FR +2988446872,2988446872,IE +2988446873,2988448607,FR 2988448608,2988448639,ES 2988448640,2988448799,FR 2988448800,2988448815,ES @@ -52088,7 +54820,9 @@ 2988459688,2988459691,PL 2988459692,2988459863,FR 2988459864,2988459867,ES -2988459868,2988460575,FR +2988459868,2988460063,FR +2988460064,2988460095,PT +2988460096,2988460575,FR 2988460576,2988460591,PT 2988460592,2988460651,FR 2988460652,2988460655,ES @@ -52107,11 +54841,11 @@ 2988464624,2988464627,ES 2988464628,2988465215,FR 2988465216,2988465219,ES -2988465220,2988465279,FR -2988465280,2988465295,DE -2988465296,2988465559,FR +2988465220,2988465559,FR 2988465560,2988465563,ES -2988465564,2988476415,FR +2988465564,2988466098,FR +2988466099,2988466099,BE +2988466100,2988476415,FR 2988476416,2988478463,IT 2988478464,2988478579,FR 2988478580,2988478583,DE @@ -52153,11 +54887,15 @@ 2988487236,2988487239,NL 2988487240,2988487303,FR 2988487304,2988487311,NL -2988487312,2988487883,FR +2988487312,2988487407,FR +2988487408,2988487415,IT +2988487416,2988487883,FR 2988487884,2988487887,NL 2988487888,2988487919,FR 2988487920,2988487923,DE -2988487924,2988489479,FR +2988487924,2988488971,FR +2988488972,2988488975,MT +2988488976,2988489479,FR 2988489480,2988489483,DE 2988489484,2988489675,FR 2988489676,2988489679,ES @@ -52169,7 +54907,9 @@ 2988490688,2988490719,ES 2988490720,2988491151,FR 2988491152,2988491155,NL -2988491156,2988492799,FR +2988491156,2988491251,FR +2988491252,2988491252,ES +2988491253,2988492799,FR 2988492800,2988494847,PL 2988494848,2988499535,FR 2988499536,2988499551,ES @@ -52247,7 +54987,9 @@ 2988525888,2988525951,GB 2988525952,2988526415,FR 2988526416,2988526423,ES -2988526424,2988527527,FR +2988526424,2988527447,FR +2988527448,2988527455,NL +2988527456,2988527527,FR 2988527528,2988527531,NL 2988527532,2988527723,FR 2988527724,2988527727,ES @@ -52262,7 +55004,9 @@ 2988529360,2988529375,FR 2988529376,2988529383,GB 2988529384,2988529387,ES -2988529388,2988531275,FR +2988529388,2988530087,FR +2988530088,2988530091,NL +2988530092,2988531275,FR 2988531276,2988531279,PT 2988531280,2988535807,FR 2988535808,2988537855,ES @@ -52336,7 +55080,9 @@ 2988557508,2988557511,ES 2988557512,2988557539,FR 2988557540,2988557543,ES -2988557544,2988558203,FR +2988557544,2988557983,FR +2988557984,2988557999,IT +2988558000,2988558203,FR 2988558204,2988558207,DE 2988558208,2988558623,FR 2988558624,2988558655,NL @@ -52383,7 +55129,11 @@ 2989883392,2989948927,UA 2989948928,2990014463,FI 2990014464,2990079999,PL -2990080000,2990145535,RU +2990080000,2990096895,RU +2990096896,2990097023,KZ +2990097024,2990097151,RU +2990097152,2990097279,KZ +2990097280,2990145535,RU 2990145536,2990211071,SI 2990211072,2990276607,GR 2990276608,2990342143,ES @@ -52584,7 +55334,8 @@ 2997522944,2997523199,NO 2997523200,2997523455,NL 2997523456,2997524479,DE -2997524480,2997526527,NL +2997524480,2997525503,NL +2997525504,2997526527,TR 2997526528,2997583871,RU 2997583872,2997616639,SY 2997616640,2997649407,SI @@ -52953,7 +55704,11 @@ 3002826752,3002828799,SE 3002828800,3002830847,RU 3002830848,3002834943,FI -3002834944,3002836991,LU +3002834944,3002835063,BE +3002835064,3002835067,LU +3002835068,3002836319,BE +3002836320,3002836335,LU +3002836336,3002836991,BE 3002836992,3002841087,GB 3002841088,3002843135,CZ 3002843136,3002845183,NL @@ -53117,17 +55872,15 @@ 3005888256,3005890047,PA 3005890048,3005890303,CO 3005890304,3005890559,PA -3005890560,3005891327,CO -3005891328,3005893119,PA +3005890560,3005891583,CO +3005891584,3005893119,PA 3005893120,3005893631,CO 3005893632,3005893887,PA 3005893888,3005894911,CO 3005894912,3005895167,PA 3005895168,3005895423,CO 3005895424,3005896703,PA -3005896704,3005896959,CO -3005896960,3005897215,PA -3005897216,3005897727,CO +3005896704,3005897727,CO 3005897728,3005897983,PA 3005897984,3005898239,CO 3005898240,3005899007,PA @@ -53190,8 +55943,8 @@ 3006284544,3006284799,PA 3006284800,3006285055,CR 3006285056,3006285311,PA -3006285312,3006286079,CR -3006286080,3006286847,PA +3006285312,3006286335,CR +3006286336,3006286847,PA 3006286848,3006287615,CR 3006287616,3006287871,PA 3006287872,3006288127,CR @@ -53229,8 +55982,8 @@ 3006322432,3006323199,CR 3006323200,3006323455,PA 3006323456,3006323711,CR -3006323712,3006324223,PA -3006324224,3006324479,CR +3006323712,3006323967,PA +3006323968,3006324479,CR 3006324480,3006328831,PA 3006328832,3006330623,NI 3006330624,3006330879,PA @@ -53336,12 +56089,11 @@ 3007155200,3007155215,CL 3007155216,3007155231,DE 3007155232,3007155327,CL -3007155328,3007155455,US -3007155456,3007155711,GB +3007155328,3007155711,US 3007155712,3007155727,CL 3007155728,3007155743,DE 3007155744,3007155967,CL -3007155968,3007156223,DE +3007155968,3007156223,US 3007156224,3007156239,CL 3007156240,3007156255,DE 3007156256,3007156351,CL @@ -53525,12 +56277,12 @@ 3007168768,3007169023,CL 3007169024,3007169151,US 3007169152,3007169279,CL -3007169280,3007169535,US -3007169536,3007170047,CL +3007169280,3007169791,US +3007169792,3007170047,CL 3007170048,3007170303,MX 3007170304,3007170559,CL 3007170560,3007171071,DE -3007171072,3007171327,CL +3007171072,3007171327,US 3007171328,3007171583,ES 3007171584,3007171855,CL 3007171856,3007171871,US @@ -53538,7 +56290,8 @@ 3007171874,3007171875,CL 3007171876,3007171903,BR 3007171904,3007172607,CL -3007172608,3007175679,BR +3007172608,3007172863,US +3007172864,3007175679,BR 3007175680,3007175935,GB 3007175936,3007183359,BR 3007183360,3007183615,AU @@ -53567,10 +56320,8 @@ 3007280640,3007280895,PA 3007280896,3007281151,CR 3007281152,3007281919,PA -3007281920,3007283455,CR -3007283456,3007283711,PA -3007283712,3007283967,CR -3007283968,3007284479,PA +3007281920,3007283199,CR +3007283200,3007284479,PA 3007284480,3007285759,CR 3007285760,3007286271,PA 3007286272,3007286783,CR @@ -53611,12 +56362,16 @@ 3024879616,3025141759,CN 3025141760,3025403903,KR 3025403904,3025600511,CN -3025600512,3025603071,IN +3025600512,3025602047,IN +3025602048,3025602303,HK +3025602304,3025603071,IN 3025603072,3025603091,HK 3025603092,3025603095,CN 3025603096,3025603103,IN 3025603104,3025603215,HK -3025603216,3025603839,IN +3025603216,3025603327,IN +3025603328,3025603335,GU +3025603336,3025603839,IN 3025603840,3025604095,HK 3025604096,3025604607,IN 3025604608,3025606655,SG @@ -53636,16 +56391,23 @@ 3025612832,3025612895,IN 3025612896,3025613063,SG 3025613064,3025616895,IN -3025616896,3025617423,SG -3025617424,3025618943,IN -3025618944,3025619487,SG -3025619488,3025620991,IN +3025616896,3025617439,SG +3025617440,3025617447,IN +3025617448,3025617455,SG +3025617456,3025618943,IN +3025618944,3025619519,SG +3025619520,3025619583,IN +3025619584,3025619711,SG +3025619712,3025620991,IN 3025620992,3025621247,PH 3025621248,3025621503,IN 3025621504,3025621759,PH -3025621760,3025623295,IN +3025621760,3025623055,IN +3025623056,3025623087,SG +3025623088,3025623295,IN 3025623296,3025623551,JP -3025623552,3025625343,IN +3025623552,3025623807,SG +3025623808,3025625343,IN 3025625344,3025625375,SG 3025625376,3025625391,IN 3025625392,3025625395,CA @@ -53653,8 +56415,8 @@ 3025625400,3025625407,TH 3025625408,3025625471,SG 3025625472,3025625503,MY -3025625504,3025625519,SG -3025625520,3025625535,IN +3025625504,3025625527,SG +3025625528,3025625535,IN 3025625536,3025625599,CA 3025625600,3025625855,SG 3025625856,3025626111,IN @@ -53670,19 +56432,20 @@ 3025630976,3025631239,IN 3025631240,3025631247,AU 3025631248,3025631747,IN -3025631748,3025631759,HK -3025631760,3025632255,IN -3025632256,3025632271,SG -3025632272,3025632287,IN -3025632288,3025632383,SG -3025632384,3025632511,IN +3025631748,3025631767,HK +3025631768,3025631999,IN +3025632000,3025632255,HK +3025632256,3025632399,SG +3025632400,3025632511,IN 3025632512,3025632767,SG 3025632768,3025633535,IN 3025633536,3025633791,HK 3025633792,3025633807,AU 3025633808,3025633823,IN 3025633824,3025633855,AU -3025633856,3025637151,IN +3025633856,3025633919,IN +3025633920,3025634047,MY +3025634048,3025637151,IN 3025637152,3025637183,MY 3025637184,3025637375,IN 3025637376,3025637631,HK @@ -53702,7 +56465,9 @@ 3025639536,3025639551,HK 3025639552,3025639679,SG 3025639680,3025639807,HK -3025639808,3025640191,IN +3025639808,3025639839,IN +3025639840,3025639871,HK +3025639872,3025640191,IN 3025640192,3025640447,JP 3025640448,3025640799,MY 3025640800,3025641727,IN @@ -53922,8 +56687,7 @@ 3034456064,3034464255,JP 3034464256,3034466303,NZ 3034466304,3034472447,JP -3034472448,3034478591,IN -3034478592,3034480639,JP +3034472448,3034480639,IN 3034480640,3034482687,SG 3034482688,3034483967,AF 3034483968,3034484223,US @@ -53983,26 +56747,34 @@ 3039166464,3039231999,PA 3039232000,3039297535,EC 3039297536,3039363071,PY -3039363072,3039411199,BZ +3039363072,3039379455,BZ +3039379456,3039395839,GY +3039395840,3039411199,BZ 3039411200,3039412223,US 3039412224,3039412735,CL -3039412736,3039414015,BR +3039412736,3039412991,BR +3039412992,3039413247,US +3039413248,3039414015,BR 3039414016,3039414271,CL -3039414272,3039414527,BR -3039414528,3039414783,CL -3039414784,3039415039,BR +3039414272,3039415039,BR 3039415040,3039415295,CL 3039415296,3039416319,BR -3039416320,3039416713,CL +3039416320,3039416591,CL +3039416592,3039416607,SG +3039416608,3039416713,CL 3039416714,3039416715,US -3039416716,3039416735,CL +3039416716,3039416719,SG +3039416720,3039416735,CL 3039416736,3039416739,US -3039416740,3039416831,CL +3039416740,3039416741,SG +3039416742,3039416831,CL 3039416832,3039417599,BR 3039417600,3039417855,CL -3039417856,3039418879,BR -3039418880,3039419135,CL -3039419136,3039420415,BR +3039417856,3039419583,BR +3039419584,3039419647,SG +3039419648,3039419839,BR +3039419840,3039419903,SG +3039419904,3039420415,BR 3039420416,3039428607,AR 3039428608,3039559679,CL 3039559680,3039821823,AR @@ -54103,192 +56875,236 @@ 3050569728,3050635263,CL 3050635264,3050700799,BR 3050700800,3050700815,JP -3050700816,3050700831,CL -3050700832,3050700832,BR -3050700833,3050700835,CL -3050700836,3050700847,BR -3050700848,3050701055,CL +3050700816,3050701055,BR 3050701056,3050701311,US 3050701312,3050701327,IE 3050701328,3050701343,US -3050701344,3050701344,BR -3050701345,3050701567,CL +3050701344,3050701567,BR 3050701568,3050701823,US 3050701824,3050701839,SG -3050701840,3050702079,CL +3050701840,3050702079,BR 3050702080,3050702335,US 3050702336,3050702351,DK -3050702352,3050702591,CL +3050702352,3050702591,BR 3050702592,3050702847,US 3050702848,3050702863,FR -3050702864,3050703103,CL +3050702864,3050703103,BR 3050703104,3050703359,US 3050703360,3050703375,AT -3050703376,3050703871,CL +3050703376,3050703615,BR +3050703616,3050703871,US 3050703872,3050703887,PE -3050703888,3050704127,CL +3050703888,3050704127,BR 3050704128,3050704383,US 3050704384,3050704399,KR -3050704400,3050704639,CL +3050704400,3050704639,BR 3050704640,3050704895,US 3050704896,3050704911,IT -3050704912,3050705151,CL +3050704912,3050705151,BR 3050705152,3050705407,US 3050705408,3050705423,JP -3050705424,3050705663,CL +3050705424,3050705663,BR 3050705664,3050705919,US 3050705920,3050705935,AU -3050705936,3050706175,CL +3050705936,3050706175,BR 3050706176,3050706431,US 3050706432,3050706447,NL -3050706448,3050706687,CL +3050706448,3050706687,BR 3050706688,3050706943,US 3050706944,3050706959,HK -3050706960,3050707199,CL +3050706960,3050707199,BR 3050707200,3050707455,US 3050707456,3050707471,IT -3050707472,3050707711,CL +3050707472,3050707711,BR 3050707712,3050707967,US 3050707968,3050707983,CH -3050707984,3050708223,CL +3050707984,3050708223,BR 3050708224,3050708479,US 3050708480,3050708495,FR -3050708496,3050708735,CL +3050708496,3050708735,BR 3050708736,3050708991,US 3050708992,3050709007,AT -3050709008,3050709023,BR -3050709024,3050709247,CL +3050709008,3050709247,BR 3050709248,3050709375,DE -3050709376,3050709503,CL +3050709376,3050709503,BR 3050709504,3050709519,TH -3050709520,3050709759,CL +3050709520,3050709759,BR 3050709760,3050710015,NL 3050710016,3050710031,ES -3050710032,3050710271,CL +3050710032,3050710271,BR 3050710272,3050710527,US 3050710528,3050710543,FR -3050710544,3050710783,CL +3050710544,3050710783,BR 3050710784,3050711039,US 3050711040,3050711055,AU -3050711056,3050711295,CL +3050711056,3050711295,BR 3050711296,3050711551,US 3050711552,3050711567,EE -3050711568,3050711807,CL +3050711568,3050711807,BR 3050711808,3050712063,US 3050712064,3050712079,FR -3050712080,3050712319,CL +3050712080,3050712319,BR 3050712320,3050712575,US 3050712576,3050712591,PL -3050712592,3050712831,CL +3050712592,3050712831,BR 3050712832,3050713087,US 3050713088,3050713103,LV -3050713104,3050713343,CL +3050713104,3050713343,BR 3050713344,3050713599,US 3050713600,3050713855,NL -3050713856,3050714367,CL +3050713856,3050714111,BR +3050714112,3050714367,US 3050714368,3050714623,GB 3050714624,3050714879,BR 3050714880,3050715135,ES -3050715136,3050715647,CL -3050715648,3050725375,US -3050725376,3050733567,CL -3050733568,3050760959,US -3050760960,3050764287,CL -3050764288,3050766335,US +3050715136,3050715647,BR +3050715648,3050766335,US 3050766336,3050766351,NO -3050766352,3050766591,CL +3050766352,3050766591,BR 3050766592,3050766847,US 3050766848,3050766863,KR -3050766864,3050767359,CL +3050766864,3050767359,BR 3050767360,3050767375,AT -3050767376,3050767615,CL +3050767376,3050767615,BR 3050767616,3050767871,US 3050767872,3050767887,MY -3050767888,3050768127,CL +3050767888,3050768127,BR 3050768128,3050768383,US 3050768384,3050768399,AT -3050768400,3050768639,CL +3050768400,3050768639,BR 3050768640,3050768895,US 3050768896,3050768911,CZ -3050768912,3050769151,CL +3050768912,3050769151,BR 3050769152,3050769407,US 3050769408,3050769423,AU -3050769424,3050769663,CL +3050769424,3050769663,BR 3050769664,3050769919,US 3050769920,3050769935,MY -3050769936,3050770175,CL +3050769936,3050770175,BR 3050770176,3050770431,US 3050770432,3050770447,LV -3050770448,3050770687,CL +3050770448,3050770687,BR 3050770688,3050770943,US 3050770944,3050770959,HK -3050770960,3050771199,CL +3050770960,3050771199,BR 3050771200,3050771455,US 3050771456,3050771471,SG -3050771472,3050771711,CL +3050771472,3050771711,BR 3050771712,3050771967,US 3050771968,3050771983,EE -3050771984,3050772223,CL +3050771984,3050772223,BR 3050772224,3050772479,US 3050772480,3050772495,MY -3050772496,3050772735,CL +3050772496,3050772735,BR 3050772736,3050772991,US 3050772992,3050773007,HK -3050773008,3050773247,CL +3050773008,3050773247,BR 3050773248,3050773503,US 3050773504,3050773519,NL -3050773520,3050773759,CL +3050773520,3050773759,BR 3050773760,3050774015,US 3050774016,3050774031,TR -3050774032,3050774271,CL +3050774032,3050774271,BR 3050774272,3050774527,US 3050774528,3050774543,ES -3050774544,3050774783,CL +3050774544,3050774783,BR 3050774784,3050775039,US 3050775040,3050775055,KR -3050775056,3050775295,CL +3050775056,3050775295,BR 3050775296,3050775551,US 3050775552,3050775567,FR -3050775568,3050775807,CL +3050775568,3050775807,BR 3050775808,3050776063,US 3050776064,3050776079,MY -3050776080,3050776319,CL +3050776080,3050776319,BR 3050776320,3050776575,US 3050776576,3050776591,TH -3050776592,3050776831,CL +3050776592,3050776831,BR 3050776832,3050777087,US 3050777088,3050777103,AU -3050777104,3050777343,CL +3050777104,3050777343,BR 3050777344,3050777599,US 3050777600,3050777615,HK -3050777616,3050777855,CL +3050777616,3050777855,BR 3050777856,3050778111,US 3050778112,3050778127,KR -3050778128,3050778367,CL +3050778128,3050778367,BR 3050778368,3050778623,US 3050778624,3050778639,TR -3050778640,3050778879,CL -3050778880,3050788863,US -3050788864,3050788991,CL -3050788992,3050789119,US -3050789120,3050789247,CL -3050789248,3050789375,US -3050789376,3050789503,CL -3050789504,3050789631,US -3050789632,3050789759,CL -3050789760,3050789887,US -3050789888,3050790015,CL -3050790016,3050790143,US -3050790144,3050790271,CL -3050790272,3050790399,US -3050790400,3050790527,CL -3050790528,3050790655,US -3050790656,3050790783,CL -3050790784,3050825215,US -3050825216,3050825471,CL -3050825472,3050826751,US -3050826752,3050827007,CL -3050827008,3050831871,US +3050778640,3050778879,BR +3050778880,3050800383,US +3050800384,3050800399,AL +3050800400,3050800415,AD +3050800416,3050800431,AI +3050800432,3050800447,AG +3050800448,3050800463,AR +3050800464,3050800479,AM +3050800480,3050800495,AZ +3050800496,3050800511,BS +3050800512,3050800639,US +3050800640,3050800655,BB +3050800656,3050800671,BY +3050800672,3050800687,BZ +3050800688,3050800703,BM +3050800704,3050800719,BO +3050800720,3050800735,BA +3050800736,3050800751,VG +3050800752,3050800767,KY +3050800768,3050800895,US +3050800896,3050800911,CN +3050800912,3050800927,CO +3050800928,3050800943,GG +3050800944,3050800959,CU +3050800960,3050800975,CY +3050800976,3050800991,DK +3050800992,3050801007,DO +3050801008,3050801023,EC +3050801024,3050801151,US +3050801152,3050801167,EG +3050801168,3050801183,GQ +3050801184,3050801199,GF +3050801200,3050801215,PF +3050801216,3050801231,GE +3050801232,3050801247,SV +3050801248,3050801263,GD +3050801264,3050801279,GT +3050801280,3050801407,US +3050801408,3050801423,HN +3050801424,3050801439,IR +3050801440,3050801455,JM +3050801456,3050801471,JO +3050801472,3050801487,KG +3050801488,3050801503,LB +3050801504,3050801519,LI +3050801520,3050801535,MG +3050801536,3050801663,US +3050801664,3050801679,MT +3050801680,3050801695,MQ +3050801696,3050801711,MU +3050801712,3050801727,MX +3050801728,3050801743,MC +3050801744,3050801759,ME +3050801760,3050801775,NC +3050801776,3050801791,NI +3050801792,3050802175,US +3050802176,3050802191,OM +3050802192,3050802207,PK +3050802208,3050802223,PE +3050802224,3050802239,PH +3050802240,3050802255,PR +3050802256,3050802271,QA +3050802272,3050802287,LC +3050802288,3050802303,RS +3050802304,3050802431,US +3050802432,3050802447,SC +3050802448,3050802463,SI +3050802464,3050802479,KR +3050802480,3050802495,LK +3050802496,3050802511,TW +3050802512,3050802527,TT +3050802528,3050802543,UY +3050802544,3050802559,VE +3050802560,3050831871,US 3050831872,3051356159,BR 3051356160,3051372543,CR 3051372544,3051372799,PA @@ -54414,14 +57230,12 @@ 3056772096,3056773119,JP 3056773120,3056774143,WS 3056774144,3056775167,JP -3056775168,3056779007,AF -3056779008,3056779263,AU +3056775168,3056779263,AF 3056779264,3056791551,JP 3056791552,3056795647,ID 3056795648,3056861183,CN 3056861184,3056992255,TH 3056992256,3057025023,CN -3057025024,3057033215,PH 3057033216,3057037311,NZ 3057037312,3057041407,JP 3057041408,3057049599,MY @@ -54516,7 +57330,6 @@ 3070170112,3070171135,MY 3070171136,3070172159,HK 3070172160,3070173183,AU -3070173184,3070181375,PH 3070181376,3070185471,JP 3070185472,3070197759,AU 3070197760,3070230527,KR @@ -54588,13 +57401,23 @@ 3082174464,3082178559,BZ 3082178560,3082178823,HK 3082178824,3082178824,SG -3082178825,3082179583,HK +3082178825,3082179047,HK +3082179048,3082179055,SG +3082179056,3082179583,HK 3082179584,3082181631,IN 3082181632,3082182655,ID 3082182656,3082190847,LA 3082190848,3082289151,JP 3082289152,3087007743,CN -3087007744,3088605183,US +3087007744,3088449535,US +3088449536,3088462847,TH +3088462848,3088463103,US +3088463104,3088474111,TH +3088474112,3088478207,US +3088478208,3088489471,TH +3088489472,3088489727,US +3088489728,3088506879,TH +3088506880,3088605183,US 3088605184,3088609279,NL 3088609280,3088629759,US 3088629760,3088633855,NL @@ -54660,7 +57483,9 @@ 3090387968,3090388479,NL 3090388480,3090389503,US 3090389504,3090389631,CA -3090389632,3090415103,US +3090389632,3090401791,US +3090401792,3090402047,IN +3090402048,3090415103,US 3090415104,3090415615,NL 3090415616,3091202047,US 3091202048,3091726335,CA @@ -54668,7 +57493,9 @@ 3091955712,3091959807,CA 3091959808,3091976191,US 3091976192,3091980287,CA -3091980288,3092559359,US +3091980288,3092381695,US +3092381696,3092439039,TH +3092439040,3092559359,US 3092559360,3092559615,NL 3092559616,3092567039,US 3092567040,3092568063,NL @@ -54722,7 +57549,19 @@ 3093282816,3093299199,CA 3093299200,3093908991,US 3093908992,3093909247,PR -3093909248,3094020095,US +3093909248,3093909528,US +3093909529,3093909529,AT +3093909530,3093909597,US +3093909598,3093909598,DE +3093909599,3093909656,US +3093909657,3093909657,FR +3093909658,3093909812,US +3093909813,3093909813,AT +3093909814,3093943785,US +3093943786,3093943786,CZ +3093943787,3093945989,US +3093945990,3093945990,AT +3093945991,3094020095,US 3094020096,3094023303,CA 3094023304,3094023311,BD 3094023312,3094032759,CA @@ -54759,26 +57598,13 @@ 3098107136,3098107391,FR 3098107392,3098107647,EU 3098107648,3098107903,SE -3098107904,3098108159,ES -3098108160,3098108415,IL -3098108416,3098108671,US -3098108672,3098108927,SG -3098108928,3098109183,JP -3098109184,3098109439,AU -3098109440,3098109695,HK -3098109696,3098110719,QA -3098110720,3098111743,IT -3098111744,3098112767,US -3098112768,3098113791,AU -3098113792,3098148863,US +3098107904,3098148863,US 3098148864,3098165247,JM 3098165248,3098181631,US 3098181632,3098185727,CA 3098185728,3098263551,US 3098263552,3098271743,CA -3098271744,3098278847,US -3098278848,3098278911,CA -3098278912,3098411007,US +3098271744,3098411007,US 3098411008,3098415103,PK 3098415104,3098476543,US 3098476544,3098492927,CA @@ -54828,6 +57654,12 @@ 3103860992,3103861247,RU 3103861248,3103861503,PL 3103861504,3103861759,AT +3103861760,3103862015,ME +3103862016,3103862271,MD +3103862272,3103862527,IT +3103862528,3103862783,FR +3103862784,3103863039,DE +3103863040,3103863295,RU 3103916032,3103917055,CH 3103917056,3103918079,IT 3103918080,3103919103,DE @@ -54840,7 +57672,9 @@ 3103924224,3103924479,DE 3103924480,3103925247,RU 3103925248,3103926271,PL -3103926272,3103927295,CZ +3103926272,3103926783,CZ +3103926784,3103927039,SK +3103927040,3103927295,CZ 3103927296,3103929343,NL 3103929344,3103930367,BE 3103930368,3103931391,DE @@ -54920,7 +57754,7 @@ 3104004864,3104005119,EU 3104005120,3104006143,GB 3104006144,3104007167,DE -3104007168,3104008191,GB +3104007168,3104008191,GG 3104008192,3104009215,NL 3104009216,3104010239,IT 3104010240,3104011263,PL @@ -55017,6 +57851,7 @@ 3104103424,3104104447,IR 3104104448,3104105471,TR 3104105472,3104106495,FI +3104106496,3104107519,DE 3104107520,3104108543,UA 3104108544,3104109567,GB 3104109568,3104110591,ES @@ -55292,7 +58127,9 @@ 3104401408,3104403455,DE 3104403456,3104404479,SK 3104404480,3104405503,CZ -3104405504,3104406527,KZ +3104405504,3104405759,KZ +3104405760,3104406015,RU +3104406016,3104406527,KZ 3104406528,3104407551,PL 3104407552,3104408575,DE 3104408576,3104409599,AT @@ -55302,7 +58139,7 @@ 3104412672,3104413695,IT 3104413696,3104414719,FR 3104414720,3104415743,TR -3104415744,3104416767,UA +3104415744,3104416767,RU 3104416768,3104417791,SE 3104417792,3104418815,US 3104418816,3104419839,GB @@ -55337,22 +58174,15 @@ 3104451584,3104452607,RU 3104452608,3104453631,NL 3104453632,3104454655,CH -3104454656,3104454660,NL -3104454661,3104454782,SE -3104454783,3104455050,NL -3104455051,3104455082,SE -3104455083,3104455146,NL -3104455147,3104455162,SE -3104455163,3104455294,NL -3104455295,3104455423,SE -3104455424,3104455679,NL +3104454656,3104455294,NL +3104455295,3104455298,SE +3104455299,3104455679,NL 3104455680,3104456703,RU 3104456704,3104457727,IL 3104457728,3104458751,DE 3104458752,3104459775,IR 3104459776,3104460799,IT -3104460800,3104461823,ES -3104461824,3104462847,CZ +3104460800,3104462847,ES 3104462848,3104463871,GB 3104463872,3104464895,DE 3104464896,3104465919,NL @@ -55371,6 +58201,7 @@ 3104478208,3104479231,DE 3104479232,3104480255,RU 3104480256,3104483327,NL +3104483328,3104484351,ES 3104484352,3104485375,RU 3104485376,3104486399,FR 3104486400,3104488447,RU @@ -55863,7 +58694,24 @@ 3105008640,3105009663,CH 3105009664,3105010687,PL 3105010688,3105011711,AT -3105011712,3105012735,CY +3105011712,3105012229,CY +3105012230,3105012230,US +3105012231,3105012231,CY +3105012232,3105012235,US +3105012236,3105012257,CY +3105012258,3105012258,US +3105012259,3105012259,CY +3105012260,3105012267,US +3105012268,3105012485,CY +3105012486,3105012486,GB +3105012487,3105012487,CY +3105012488,3105012491,GB +3105012492,3105012543,CY +3105012544,3105012557,DE +3105012558,3105012559,US +3105012560,3105012560,CY +3105012561,3105012563,DE +3105012564,3105012735,CY 3105012736,3105013759,GL 3105013760,3105014783,SE 3105014784,3105015807,ES @@ -56339,7 +59187,8 @@ 3105517568,3105518591,RU 3105518592,3105519615,RS 3105519616,3105520639,RU -3105520640,3105521663,FR +3105520640,3105521151,LU +3105521152,3105521663,FR 3105521664,3105522687,NO 3105522688,3105523711,LT 3105523712,3105524735,ES @@ -56747,11 +59596,7 @@ 3105932288,3105933311,SE 3105933312,3105933351,GB 3105933352,3105933359,IT -3105933360,3105933463,GB -3105933464,3105933471,IT -3105933472,3105933871,GB -3105933872,3105933879,IT -3105933880,3105934215,GB +3105933360,3105934215,GB 3105934216,3105934223,IT 3105934224,3105934231,GB 3105934232,3105934239,IT @@ -56793,7 +59638,9 @@ 3105966080,3105967103,FI 3105967104,3105968127,GB 3105968128,3105969151,HU -3105969152,3105970175,GB +3105969152,3105969663,GB +3105969664,3105969695,DE +3105969696,3105970175,GB 3105970176,3105971199,FR 3105971200,3105972223,GB 3105972224,3105973247,FI @@ -56938,7 +59785,7 @@ 3106108416,3106110463,RU 3106110464,3106111487,GB 3106111488,3106112511,RU -3106112512,3106113535,CZ +3106112512,3106113535,DE 3106113536,3106114559,NL 3106114560,3106115583,ES 3106115584,3106116607,DE @@ -56975,7 +59822,9 @@ 3106146304,3106147327,GB 3106147328,3106148351,FR 3106148352,3106149375,AT -3106149376,3106150399,EU +3106149376,3106149631,EU +3106149632,3106149887,DE +3106149888,3106150399,EU 3106150400,3106151423,GB 3106151424,3106152447,NO 3106152448,3106153471,GB @@ -57122,7 +59971,8 @@ 3106299904,3106300927,GB 3106300928,3106301951,NL 3106301952,3106302975,GB -3106302976,3106303999,CZ +3106302976,3106303231,A2 +3106303232,3106303999,CZ 3106304000,3106305023,GB 3106305024,3106306047,DE 3106306048,3106307071,NO @@ -57173,7 +60023,17 @@ 3106351104,3106352127,ES 3106352128,3106353151,NL 3106353152,3106354175,DE -3106354176,3106355199,NL +3106354176,3106354316,NL +3106354317,3106354317,BE +3106354318,3106354943,NL +3106354944,3106354951,GB +3106354952,3106354959,AT +3106354960,3106355023,NL +3106355024,3106355031,GB +3106355032,3106355039,AT +3106355040,3106355051,NL +3106355052,3106355103,GB +3106355104,3106355199,NL 3106355200,3106356223,DE 3106356224,3106357247,ES 3106357248,3106358271,DE @@ -57260,7 +60120,6 @@ 3106449408,3106450431,AT 3106450432,3106451455,DE 3106451456,3106452479,AZ -3106452480,3106453503,UA 3106453504,3106454527,SE 3106454528,3106455551,ME 3106455552,3106456575,PS @@ -57420,7 +60279,10 @@ 3106599936,3106601983,CH 3106601984,3106603007,DE 3106603008,3106604031,BE -3106604032,3106606079,RU +3106604032,3106604543,DE +3106604544,3106604799,RU +3106604800,3106605055,DE +3106605056,3106606079,RU 3106606080,3106607103,AT 3106607104,3106608127,IT 3106608128,3106609151,NL @@ -57478,7 +60340,8 @@ 3106661376,3106662399,TR 3106662400,3106663423,IE 3106663424,3106664447,UA -3106664448,3106666495,FR +3106664448,3106665471,FR +3106665472,3106666495,CH 3106666496,3106667519,UA 3106667520,3106668543,ES 3106668544,3106669567,RU @@ -57532,7 +60395,9 @@ 3106716672,3106717695,CZ 3106717696,3106718719,TR 3106718720,3106719743,CH -3106719744,3106720767,DE +3106719744,3106720245,DE +3106720246,3106720246,US +3106720247,3106720767,DE 3106720768,3106722815,AT 3106722816,3106723839,IT 3106723840,3106724863,PL @@ -57545,7 +60410,8 @@ 3106731008,3106732031,NL 3106732032,3106735167,GB 3106735168,3106735199,IE -3106735200,3106736127,GB +3106735200,3106735231,DE +3106735232,3106736127,GB 3106736128,3106737151,IE 3106737152,3106738175,RO 3106738176,3106739199,DE @@ -57571,7 +60437,6 @@ 3106758656,3106759679,GB 3106759680,3106760703,RU 3106760704,3106761727,IE -3106761728,3106762751,GB 3106762752,3106763775,DE 3106763776,3106764799,NL 3106764800,3106765823,SE @@ -57662,8 +60527,7 @@ 3106850816,3106851839,GB 3106851840,3106852863,PL 3106852864,3106853887,GB -3106853888,3106854015,EU -3106854016,3106854143,NL +3106853888,3106854143,NL 3106854144,3106854911,CH 3106854912,3106855935,IR 3106855936,3106856959,UA @@ -57685,7 +60549,7 @@ 3106873344,3106874367,ES 3106874368,3106875391,RU 3106875392,3106876415,NO -3106876416,3106877439,CZ +3106876416,3106877439,DE 3106877440,3106878463,IR 3106878464,3106879487,RU 3106879488,3106880511,MK @@ -57862,8 +60726,8 @@ 3107067904,3107068927,RU 3107068928,3107069951,HU 3107069952,3107070975,FR -3107070976,3107071487,SE -3107071488,3107071999,IR +3107070976,3107071231,SE +3107071232,3107071999,IR 3107072000,3107073023,SE 3107073024,3107074047,ES 3107074048,3107075071,PL @@ -57879,7 +60743,7 @@ 3107085312,3107086335,NL 3107086336,3107087359,EE 3107087360,3107088383,IE -3107088384,3107089407,NL +3107088384,3107089407,BR 3107089408,3107090431,IT 3107090432,3107091455,FR 3107091456,3107092479,ES @@ -57891,7 +60755,9 @@ 3107097600,3107098623,DE 3107098624,3107099647,ES 3107099648,3107099903,UA -3107099904,3107101695,CZ +3107099904,3107100159,CZ +3107100160,3107100415,RU +3107100416,3107101695,CZ 3107101696,3107102719,RU 3107102720,3107103743,GB 3107103744,3107104767,PL @@ -57972,6 +60838,7 @@ 3107183616,3107184639,IQ 3107184640,3107185663,SE 3107185664,3107186687,CZ +3107186688,3107187711,NO 3107187712,3107188735,MT 3107188736,3107189759,CZ 3107189760,3107190783,NL @@ -57990,7 +60857,6 @@ 3107204096,3107205119,FR 3107205120,3107206143,BG 3107206144,3107207167,NL -3107207168,3107208191,DE 3107208192,3107209215,NL 3107209216,3107210239,IT 3107210240,3107213311,RU @@ -58004,7 +60870,9 @@ 3107220480,3107221503,GB 3107221504,3107222527,IT 3107222528,3107223551,IQ -3107223552,3107224575,AT +3107223552,3107224063,AT +3107224064,3107224319,DE +3107224320,3107224575,AT 3107224576,3107225599,FR 3107225600,3107226623,AZ 3107226624,3107227647,RU @@ -58090,7 +60958,9 @@ 3107316736,3107317759,KG 3107317760,3107318783,RU 3107318784,3107318799,IE -3107318800,3107319807,NL +3107318800,3107319039,NL +3107319040,3107319295,GB +3107319296,3107319807,NL 3107319808,3107320831,OM 3107320832,3107321855,SA 3107321856,3107322879,NL @@ -58236,7 +61106,9 @@ 3107473408,3107474431,IL 3107474432,3107475455,ES 3107475456,3107476479,NL -3107476480,3107477503,BG +3107476480,3107476765,BG +3107476766,3107476766,US +3107476767,3107477503,BG 3107477504,3107478527,AE 3107478528,3107480575,IR 3107480576,3107481599,DK @@ -58268,14 +61140,15 @@ 3107496320,3107496447,NL 3107496448,3107496463,CL 3107496464,3107496479,ES -3107496480,3107496511,GB +3107496480,3107496495,RO +3107496496,3107496511,IN 3107496512,3107496703,NL 3107496704,3107496719,PE 3107496720,3107496735,PK 3107496736,3107496751,FJ 3107496752,3107496783,PA -3107496784,3107496799,AQ -3107496800,3107496815,MX +3107496784,3107496799,BE +3107496800,3107496815,IL 3107496816,3107496831,CN 3107496832,3107496847,BR 3107496848,3107496863,KP @@ -58599,8 +61472,7 @@ 3107826688,3107827711,RU 3107827712,3107828735,FR 3107828736,3107829759,IT -3107829760,3107830783,FR -3107830784,3107831807,GB +3107829760,3107831807,FR 3107831808,3107832831,RU 3107832832,3107833855,NL 3107833856,3107834879,PS @@ -58642,7 +61514,8 @@ 3107874816,3107875839,CH 3107875840,3107876863,CZ 3107876864,3107877887,RS -3107877888,3107878911,NL +3107877888,3107878143,GB +3107878144,3107878911,NL 3107878912,3107879935,IL 3107879936,3107880959,DE 3107880960,3107881983,HU @@ -58731,7 +61604,7 @@ 3107971072,3107972095,UZ 3107972096,3107973119,IT 3107973120,3107974143,SA -3107974144,3107976191,IR +3107974144,3107975167,IR 3107976192,3107977215,NL 3107977216,3107978239,AT 3107978240,3107979263,NL @@ -58761,7 +61634,8 @@ 3108002816,3108003839,RO 3108003840,3108004863,DE 3108004864,3108005887,RU -3108005888,3108006911,LT +3108005888,3108006910,US +3108006911,3108006911,LT 3108006912,3108007935,NL 3108007936,3108008959,DE 3108008960,3108009983,CH @@ -58842,8 +61716,7 @@ 3108092928,3108093951,SE 3108093952,3108095999,DE 3108096000,3108096511,LT -3108096512,3108096767,RU -3108096768,3108097023,ES +3108096512,3108097023,RU 3108097024,3108098047,TR 3108098048,3108099071,DE 3108099072,3108100095,NL @@ -59017,7 +61890,7 @@ 3108278272,3108279295,RU 3108279296,3108280319,FR 3108280320,3108281343,RU -3108281344,3108282367,CZ +3108281344,3108282367,DE 3108282368,3108283391,NL 3108283392,3108284415,CZ 3108284416,3108285439,NO @@ -59180,7 +62053,7 @@ 3108457472,3108459519,RU 3108459520,3108460543,DE 3108460544,3108461567,RO -3108461568,3108462591,GB +3108461568,3108462591,DE 3108462592,3108463615,RU 3108463616,3108464639,GB 3108464640,3108465663,HU @@ -59236,7 +62109,7 @@ 3108517888,3108518911,BG 3108518912,3108519935,SI 3108519936,3108520959,CH -3108520960,3108521983,CZ +3108520960,3108521983,DE 3108521984,3108523007,AT 3108523008,3108524031,IT 3108524032,3108525055,FR @@ -59523,7 +62396,9 @@ 3108846592,3108847615,BE 3108847616,3108847639,GB 3108847640,3108847647,IT -3108847648,3108848639,GB +3108847648,3108847959,GB +3108847960,3108847967,IT +3108847968,3108848639,GB 3108848640,3108849663,CH 3108849664,3108850687,GB 3108850688,3108851711,PL @@ -59654,7 +62529,7 @@ 3108969472,3108970495,ES 3108970496,3108971519,PL 3108971520,3108972543,ES -3108972544,3108973567,MD +3108972544,3108973567,NL 3108973568,3108974591,DE 3108974592,3108975615,RU 3108975616,3108976639,IT @@ -59774,7 +62649,7 @@ 3109098496,3109099519,HU 3109099520,3109100543,RU 3109100544,3109101567,SI -3109101568,3109102591,CY +3109101568,3109102591,TR 3109102592,3109103615,DK 3109103616,3109104639,IR 3109104640,3109105663,FR @@ -59799,7 +62674,33 @@ 3109124096,3109126143,ES 3109126144,3109127167,LV 3109127168,3109128191,ES -3109128192,3109129215,NL +3109128192,3109128207,NL +3109128208,3109128215,GB +3109128216,3109128223,AT +3109128224,3109128231,DK +3109128232,3109128239,SE +3109128240,3109128247,IS +3109128248,3109128319,NL +3109128320,3109128383,GB +3109128384,3109128503,NL +3109128504,3109128511,IE +3109128512,3109128719,NL +3109128720,3109128727,GB +3109128728,3109128735,AT +3109128736,3109128743,DK +3109128744,3109128751,SE +3109128752,3109128759,IE +3109128760,3109128760,IT +3109128761,3109128831,NL +3109128832,3109128895,BE +3109128896,3109128975,NL +3109128976,3109128983,DK +3109128984,3109128991,SE +3109128992,3109128999,IT +3109129000,3109129007,DK +3109129008,3109129015,SE +3109129016,3109129023,IE +3109129024,3109129215,NL 3109129216,3109130239,LB 3109130240,3109131263,RU 3109131264,3109132287,DE @@ -60100,7 +63001,8 @@ 3109455872,3109456895,FR 3109456896,3109457919,PS 3109457920,3109458943,RU -3109458944,3109459967,SE +3109458944,3109459711,SE +3109459712,3109459967,GB 3109459968,3109460991,TR 3109460992,3109462015,DE 3109462016,3109463039,LB @@ -60272,7 +63174,8 @@ 3109640192,3109641215,IQ 3109641216,3109642239,NO 3109642240,3109643263,US -3109643264,3109644287,UA +3109643264,3109643775,EU +3109643776,3109644287,UA 3109644288,3109646335,RU 3109646336,3109647359,IR 3109647360,3109648383,CZ @@ -60460,7 +63363,9 @@ 3109846016,3109847039,GB 3109847040,3109848063,IE 3109848064,3109849087,BG -3109849088,3109852159,RU +3109849088,3109850111,UA +3109850112,3109851135,RU +3109851136,3109852159,UA 3109852160,3109853183,NL 3109853184,3109854207,DE 3109854208,3109855231,PL @@ -60481,7 +63386,9 @@ 3109869568,3109870591,CZ 3109870592,3109871615,NL 3109871616,3109872639,AZ -3109872640,3109874687,SI +3109872640,3109872895,SI +3109872896,3109873151,SE +3109873152,3109874687,SI 3109874688,3109875711,ES 3109875712,3109876735,DK 3109876736,3109877759,ES @@ -60553,7 +63460,9 @@ 3109946368,3109947391,CZ 3109947392,3109948415,CH 3109948416,3109949439,SE -3109949440,3109950463,GB +3109949440,3109949695,IT +3109949696,3109950207,GB +3109950208,3109950463,DE 3109950464,3109951487,IT 3109951488,3109952511,DE 3109952512,3109952767,US @@ -60561,15 +63470,25 @@ 3109953024,3109953279,CA 3109953280,3109953280,GB 3109953281,3109953281,US -3109953282,3109953319,GB +3109953282,3109953284,GB +3109953285,3109953285,IT +3109953286,3109953288,GB +3109953289,3109953289,US +3109953290,3109953319,GB 3109953320,3109953320,MX 3109953321,3109953359,GB 3109953360,3109953360,SG -3109953361,3109953379,GB +3109953361,3109953375,GB +3109953376,3109953376,US +3109953377,3109953379,GB 3109953380,3109953380,US -3109953381,3109953483,GB +3109953381,3109953471,GB +3109953472,3109953472,HK +3109953473,3109953483,GB 3109953484,3109953484,AU -3109953485,3109953531,GB +3109953485,3109953491,GB +3109953492,3109953492,AU +3109953493,3109953531,GB 3109953532,3109953532,CA 3109953533,3109953535,GB 3109953536,3109954559,RU @@ -60788,20 +63707,24 @@ 3110182912,3110183935,GB 3110183936,3110184959,RU 3110184960,3110185983,ES -3110185984,3110189055,DE +3110185984,3110187007,DE +3110187008,3110187263,BE +3110187264,3110189055,DE 3110189056,3110190079,FR 3110190080,3110193151,NO 3110193152,3110194175,RU 3110194176,3110195199,FR 3110195200,3110196223,HU -3110196224,3110197247,NL +3110196224,3110196479,LT +3110196480,3110196735,GB +3110196736,3110197247,NL 3110197248,3110199295,IT 3110199296,3110200319,DE 3110200320,3110201343,NL 3110201344,3110202367,IT 3110202368,3110203391,IE 3110203392,3110204415,DE -3110204416,3110205439,LU +3110204416,3110205439,BE 3110205440,3110206463,EE 3110206464,3110207487,RU 3110207488,3110208511,BA @@ -60826,7 +63749,8 @@ 3110226944,3110231039,RU 3110231040,3110232063,DE 3110232064,3110233087,DK -3110233088,3110235135,NL +3110233088,3110234111,NL +3110234112,3110235135,EU 3110235136,3110236159,GB 3110236160,3110237183,IR 3110237184,3110238207,FR @@ -60854,7 +63778,991 @@ 3110263808,3110265855,JO 3110265856,3110266879,FI 3110266880,3110267903,ES -3110267904,3110268927,DE +3110267904,3110269951,DE +3110269952,3110270975,SE +3110270976,3110271999,PT +3110272000,3110273023,TR +3110273024,3110274047,BA +3110274048,3110277119,RU +3110277120,3110278143,LB +3110278144,3110279167,TR +3110279168,3110279183,PL +3110279184,3110279199,GB +3110279200,3110279215,DE +3110279216,3110279423,GB +3110279424,3110279439,ES +3110279440,3110279455,GB +3110279456,3110279471,NL +3110279472,3110279679,GB +3110279680,3110279695,ES +3110279696,3110279711,GB +3110279712,3110279727,NL +3110279728,3110279935,GB +3110279936,3110279951,PL +3110279952,3110279967,GB +3110279968,3110279983,DE +3110279984,3110280191,GB +3110280192,3110281215,RU +3110281216,3110282239,LB +3110282240,3110283263,SE +3110284288,3110285311,PS +3110285312,3110286335,BE +3110286336,3110288383,DE +3110288384,3110289407,ES +3110289408,3110291455,CZ +3110291456,3110292479,AT +3110292480,3110293503,GB +3110293504,3110294527,AT +3110294528,3110295551,GB +3110295552,3110296575,RO +3110296576,3110297599,RU +3110297600,3110298623,NL +3110298624,3110299647,RO +3110299648,3110300671,PL +3110300672,3110301695,IE +3110301696,3110302719,FR +3110302720,3110303743,CZ +3110303744,3110304767,DK +3110304768,3110305791,KZ +3110305792,3110306815,NL +3110306816,3110307071,NZ +3110307072,3110307839,BY +3110307840,3110308863,IE +3110308864,3110309887,RS +3110309888,3110310911,DE +3110310912,3110311935,FR +3110311936,3110315007,RU +3110315008,3110316031,GB +3110316032,3110317055,RU +3110317056,3110318079,PL +3110318080,3110319103,CZ +3110319104,3110320127,US +3110320128,3110321151,NL +3110321152,3110322175,SE +3110322176,3110323199,PL +3110323200,3110324223,IT +3110324224,3110325247,GB +3110325248,3110326271,NL +3110326272,3110327295,DE +3110327296,3110328319,IR +3110328320,3110329343,FR +3110329344,3110330367,LB +3110330368,3110331391,IT +3110331392,3110332415,DE +3110332416,3110333439,PT +3110333440,3110334463,GB +3110334464,3110335487,ES +3110335488,3110336511,GB +3110336512,3110337535,GE +3110337536,3110338559,PT +3110338560,3110339583,CH +3110339584,3110340607,FR +3110340608,3110341631,DE +3110341632,3110343679,IT +3110343680,3110344703,IQ +3110344704,3110345727,RU +3110345728,3110346751,FR +3110346752,3110347775,IT +3110347776,3110348799,NL +3110348800,3110349823,US +3110349824,3110350847,IR +3110350848,3110351871,DE +3110351872,3110353919,RU +3110353920,3110354943,GB +3110354944,3110355967,RU +3110355968,3110356991,GB +3110356992,3110358015,ES +3110358016,3110359039,GE +3110359040,3110360063,IT +3110360064,3110360575,RO +3110360576,3110361087,FI +3110361088,3110362111,ES +3110362112,3110363135,CZ +3110363136,3110364159,KW +3110364160,3110366207,RU +3110366208,3110371327,IT +3110371328,3110372351,NL +3110372352,3110373375,LU +3110373376,3110374399,ES +3110374400,3110375423,NL +3110375424,3110376447,AT +3110376448,3110377471,GB +3110377472,3110378495,SA +3110378496,3110379519,RU +3110379520,3110380543,DE +3110380544,3110381567,IT +3110381568,3110382591,LB +3110382592,3110383615,GB +3110383616,3110384639,IT +3110384640,3110385663,ES +3110385664,3110386687,FR +3110386688,3110387711,GB +3110387712,3110388735,NL +3110388736,3110389759,CZ +3110389760,3110390783,LB +3110390784,3110391807,NO +3110391808,3110392831,AE +3110392832,3110393855,GB +3110393856,3110394879,LB +3110394880,3110395903,DE +3110395904,3110396927,KZ +3110396928,3110397951,PL +3110397952,3110398975,NL +3110398976,3110399999,IT +3110400000,3110401023,AT +3110401024,3110402047,MK +3110402048,3110403071,GB +3110403072,3110404095,IT +3110404096,3110405119,NO +3110405120,3110406143,DE +3110406144,3110407167,LI +3110407168,3110408191,GB +3110408192,3110409215,LB +3110409216,3110411263,RU +3110411264,3110412287,FR +3110412288,3110413311,NO +3110413312,3110414335,IT +3110414336,3110415359,NL +3110415360,3110416383,GB +3110416384,3110417407,LI +3110417408,3110418431,DE +3110418432,3110419455,SE +3110419456,3110420479,NL +3110420480,3110421503,FR +3110421504,3110422527,RU +3110422528,3110423551,PL +3110423552,3110425599,GB +3110425600,3110426623,IE +3110426624,3110427647,DK +3110427648,3110428671,DE +3110428672,3110429695,NL +3110429696,3110430719,DE +3110430720,3110431743,RO +3110431744,3110432767,NL +3110432768,3110433791,DE +3110433792,3110434815,CH +3110434816,3110435839,GB +3110435840,3110436863,IS +3110436864,3110437887,PL +3110437888,3110438911,DE +3110438912,3110439935,GE +3110439936,3110440959,SK +3110440960,3110441983,BE +3110441984,3110443007,GB +3110443008,3110444031,DK +3110444032,3110445055,CH +3110445056,3110447103,ES +3110447104,3110448127,RO +3110448128,3110449151,DE +3110449152,3110450175,PT +3110450176,3110451199,FR +3110451200,3110452223,DE +3110452224,3110453247,PL +3110453248,3110454271,GB +3110454272,3110455295,NL +3110455296,3110457343,RU +3110457344,3110458367,FR +3110458368,3110459391,IT +3110459392,3110460415,RU +3110460416,3110461439,CZ +3110461440,3110462463,GB +3110462464,3110463487,IR +3110463488,3110464511,PL +3110464512,3110465535,RU +3110465536,3110466559,IE +3110466560,3110467583,RU +3110467584,3110468607,DE +3110468608,3110469631,RU +3110469632,3110470655,IL +3110470656,3110472703,RU +3110472704,3110473727,AT +3110473728,3110474751,SE +3110474752,3110475775,CZ +3110475776,3110476799,NL +3110476800,3110477823,NO +3110477824,3110478847,SE +3110478848,3110479871,TR +3110479872,3110480895,IT +3110480896,3110481919,NL +3110481920,3110482943,RO +3110482944,3110483967,NO +3110483968,3110487039,DE +3110487040,3110488063,NL +3110488064,3110489087,KZ +3110489088,3110490111,CZ +3110490112,3110491135,FR +3110491136,3110492159,GB +3110492160,3110493183,UA +3110493184,3110494207,DE +3110494208,3110495231,CZ +3110495232,3110496255,SE +3110496256,3110497279,DE +3110497280,3110498303,NO +3110498304,3110501375,RU +3110501376,3110502399,RS +3110502400,3110503423,RU +3110503424,3110504447,GB +3110504448,3110505471,RU +3110505472,3110506495,IT +3110506496,3110507519,GE +3110507520,3110508543,GB +3110508544,3110509567,DE +3110509568,3110510591,RO +3110510592,3110511615,FR +3110511616,3110512639,UA +3110512640,3110514687,NL +3110514688,3110515711,FR +3110515712,3110516735,RU +3110516736,3110517759,UA +3110517760,3110518783,PL +3110518784,3110521855,GB +3110521856,3110523903,ES +3110523904,3110524927,SE +3110524928,3110525951,US +3110525952,3110526975,GB +3110526976,3110527999,DE +3110528000,3110529023,AT +3110529024,3110530047,FI +3110530048,3110531071,RS +3110531072,3110532095,DE +3110532096,3110534143,GB +3110534144,3110535167,DE +3110535168,3110536191,LU +3110536192,3110537215,GB +3110537216,3110538239,ES +3110538240,3110539263,LB +3110539264,3110540287,NL +3110540288,3110541311,LB +3110541312,3110542335,RU +3110542336,3110543359,HK +3110543360,3110545407,NL +3110545408,3110546431,UA +3110546432,3110547455,DE +3110547456,3110548479,SE +3110548480,3110549503,IT +3110549504,3110550527,NL +3110550528,3110551551,RU +3110551552,3110552575,FR +3110552576,3110553599,RU +3110553600,3110554623,DE +3110554624,3110555647,NL +3110555648,3110556671,IT +3110556672,3110557695,IR +3110557696,3110558719,LB +3110558720,3110559743,DE +3110559744,3110560767,GB +3110560768,3110561791,RU +3110561792,3110562815,IE +3110562816,3110563839,RU +3110563840,3110564863,IT +3110564864,3110565887,GB +3110565888,3110566911,DK +3110566912,3110567935,ES +3110567936,3110568959,IR +3110568960,3110569983,RU +3110569984,3110571007,RS +3110571008,3110572031,FR +3110572032,3110573055,SK +3110573056,3110574079,ES +3110574080,3110575103,PL +3110575104,3110576127,LU +3110576128,3110578175,RU +3110578176,3110579199,KZ +3110579200,3110580223,NL +3110580224,3110581247,KZ +3110581248,3110582271,ES +3110582272,3110583295,KZ +3110583296,3110584319,SE +3110584320,3110585343,DE +3110585344,3110586367,TR +3110586368,3110587391,NL +3110587392,3110588415,ES +3110588416,3110590463,SE +3110590464,3110591487,HR +3110591488,3110592511,GB +3110592512,3110593535,DE +3110593536,3110594303,GB +3110594304,3110594559,SE +3110594560,3110595583,DE +3110595584,3110596607,NL +3110596608,3110597631,SE +3110597632,3110599679,IR +3110599680,3110600703,RU +3110600704,3110601727,GR +3110601728,3110602751,RU +3110602752,3110603775,NL +3110603776,3110604799,RU +3110604800,3110605823,CH +3110605824,3110606847,TR +3110606848,3110607871,IT +3110607872,3110608895,NL +3110608896,3110611967,RO +3110611968,3110612991,GB +3110612992,3110615039,RO +3110615040,3110616063,QA +3110616064,3110617087,ES +3110617088,3110618111,PL +3110618112,3110619135,LB +3110619136,3110620159,DE +3110620160,3110621183,FR +3110621184,3110622207,GB +3110622208,3110623231,CH +3110623232,3110624255,DE +3110624256,3110625279,RU +3110625280,3110626303,GB +3110626304,3110627327,NL +3110627328,3110628351,RU +3110628352,3110629375,LU +3110629376,3110630399,UA +3110630400,3110631423,IT +3110631424,3110632447,GB +3110632448,3110633471,BG +3110633472,3110636543,NL +3110636544,3110637567,DE +3110637568,3110638591,GR +3110638592,3110639615,RU +3110639616,3110640639,ES +3110640640,3110641663,IQ +3110641664,3110642687,DE +3110642688,3110643711,ES +3110643712,3110644735,RO +3110644736,3110645759,RU +3110645760,3110646783,LT +3110646784,3110647807,RO +3110647808,3110648831,GB +3110648832,3110649855,NL +3110649856,3110650879,IR +3110650880,3110651903,RO +3110651904,3110652927,GG +3110652928,3110653951,DE +3110653952,3110654975,NO +3110654976,3110655999,UA +3110656000,3110657023,GB +3110657024,3110658047,GI +3110658048,3110659071,AT +3110659072,3110661119,IR +3110661120,3110662143,ES +3110662144,3110663167,IR +3110663168,3110664191,LB +3110664192,3110665215,RU +3110665216,3110666239,LB +3110666240,3110667263,DK +3110667264,3110668287,RO +3110668288,3110669311,PL +3110669312,3110671359,ES +3110671360,3110672383,AT +3110672384,3110673407,ES +3110673408,3110674431,FR +3110674432,3110676479,RO +3110676480,3110677503,DE +3110677504,3110679551,RU +3110679552,3110680575,BE +3110680576,3110681599,GB +3110681600,3110682623,SE +3110682624,3110683647,GB +3110683648,3110684671,TR +3110684672,3110685695,GB +3110685696,3110686719,NL +3110686720,3110687743,BE +3110687744,3110688767,RO +3110688768,3110689791,RU +3110689792,3110690815,BG +3110690816,3110691839,GB +3110691840,3110692863,RU +3110692864,3110693887,HU +3110693888,3110694911,UA +3110694912,3110695935,DE +3110695936,3110696959,RU +3110696960,3110697983,IR +3110697984,3110699007,GB +3110699008,3110700031,HU +3110700032,3110701055,CH +3110701056,3110702079,FR +3110702080,3110703103,PL +3110703104,3110704127,CH +3110704128,3110705151,GE +3110705152,3110706175,FR +3110706176,3110707199,BE +3110707200,3110708223,CZ +3110708224,3110709247,GB +3110709248,3110710271,RU +3110710272,3110711295,CY +3110711296,3110712319,IL +3110712320,3110713343,CZ +3110713344,3110714367,IR +3110714368,3110715391,RO +3110715392,3110716415,NL +3110716416,3110717439,AZ +3110717440,3110718463,BE +3110718464,3110719487,NL +3110719488,3110720511,IT +3110720512,3110721535,CZ +3110721536,3110723583,NL +3110723584,3110724607,RU +3110724608,3110725631,TJ +3110725632,3110726655,ES +3110726656,3110727679,IR +3110727680,3110728703,IT +3110728704,3110729727,SE +3110729728,3110730751,NL +3110730752,3110731775,DE +3110731776,3110733823,ES +3110733824,3110734847,DE +3110734848,3110735871,IQ +3110735872,3110736895,GR +3110736896,3110737919,TR +3110737920,3110738943,LU +3110738944,3110739967,IQ +3110739968,3110740991,IL +3110740992,3110742015,ES +3110742016,3110743039,RU +3110743040,3110744063,ES +3110744064,3110745087,AT +3110745088,3110746111,NL +3110746112,3110747135,IT +3110747136,3110748159,CZ +3110748160,3110749183,CH +3110749184,3110750207,BE +3110750208,3110751231,NL +3110751232,3110752255,DE +3110752256,3110753279,RO +3110753280,3110754303,DE +3110754304,3110755327,IE +3110755328,3110756351,RU +3110756352,3110757375,HU +3110757376,3110758399,CY +3110758400,3110759423,RU +3110759424,3110760447,AT +3110760448,3110761471,HU +3110761472,3110762495,IQ +3110762496,3110763007,NL +3110763008,3110763263,RO +3110763264,3110763519,NL +3110763520,3110764543,AD +3110764544,3110765567,RU +3110765568,3110766591,PL +3110766592,3110767615,IR +3110767616,3110768639,RS +3110768640,3110769663,IR +3110769664,3110770687,DE +3110770688,3110771711,NL +3110771712,3110772735,KZ +3110772736,3110773759,AT +3110773760,3110774783,DE +3110774784,3110775807,RE +3110775808,3110776831,RU +3110776832,3110777855,GB +3110777856,3110778879,SE +3110778880,3110779903,DE +3110779904,3110780927,AT +3110780928,3110781951,PS +3110781952,3110782975,RU +3110782976,3110783999,IR +3110784000,3110785023,RU +3110785024,3110786047,TR +3110786048,3110787071,AT +3110787072,3110788095,FR +3110788096,3110790143,NL +3110790144,3110791167,IR +3110791168,3110792191,DE +3110792192,3110793215,BE +3110793216,3110794239,NL +3110794240,3110795263,DE +3110795264,3110796287,AT +3110796288,3110797311,DE +3110797312,3110798335,ES +3110798336,3110799359,DE +3110799360,3110800383,GB +3110800384,3110801407,DK +3110801408,3110802431,ES +3110802432,3110803455,DE +3110803456,3110804479,NL +3110804480,3110806527,IR +3110806528,3110809599,NL +3110809600,3110810623,LB +3110810624,3110811647,DE +3110811648,3110812671,NL +3110812672,3110813695,IS +3110813696,3110814719,PL +3110814720,3110815743,NL +3110815744,3110816767,RU +3110816768,3110817791,QA +3110817792,3110818815,NL +3110818816,3110819839,FR +3110819840,3110821887,NL +3110821888,3110822911,DE +3110822912,3110823935,NL +3110823936,3110825983,ES +3110825984,3110829055,NL +3110829056,3110831103,RU +3110831104,3110832127,TR +3110832128,3110833151,RU +3110833152,3110834175,PL +3110834176,3110836223,IT +3110836224,3110837247,ES +3110837248,3110838271,RU +3110838272,3110839295,ES +3110839296,3110840319,RU +3110840320,3110841343,DK +3110841344,3110842367,KZ +3110842368,3110843391,DK +3110843392,3110845439,IT +3110845440,3110846463,NL +3110846464,3110847487,DE +3110847488,3110848511,GB +3110848512,3110849535,DK +3110849536,3110850559,IT +3110850560,3110851583,BE +3110851584,3110852607,NL +3110852608,3110853631,MK +3110853632,3110854655,DE +3110854656,3110855679,NL +3110855680,3110856703,GB +3110856704,3110857727,FR +3110857728,3110858751,IT +3110858752,3110859775,RU +3110859776,3110861823,IR +3110861824,3110862847,UA +3110862848,3110864895,RU +3110864896,3110865919,DE +3110865920,3110866943,GB +3110866944,3110868991,RU +3110868992,3110870015,PS +3110870016,3110871039,CZ +3110871040,3110872063,FR +3110872064,3110873087,MD +3110873088,3110874111,IE +3110874112,3110875135,GB +3110875136,3110876159,PL +3110876160,3110878207,GB +3110878208,3110879231,CZ +3110879232,3110880255,LV +3110880256,3110881279,PL +3110881280,3110883327,DE +3110883328,3110884351,IL +3110884352,3110886399,RU +3110886400,3110887423,GB +3110887424,3110888447,IR +3110888448,3110889471,DK +3110889472,3110890495,PT +3110890496,3110891519,DK +3110891520,3110892543,RO +3110892544,3110893567,NL +3110893568,3110894591,CZ +3110894592,3110895615,TR +3110895616,3110896639,IE +3110896640,3110897663,GB +3110897664,3110898687,MD +3110898688,3110899711,BG +3110899712,3110900735,MD +3110900736,3110901759,TR +3110901760,3110902783,MD +3110902784,3110903807,TR +3110903808,3110904831,RU +3110904832,3110905855,IR +3110905856,3110906879,GB +3110906880,3110907903,DE +3110907904,3110908927,GB +3110908928,3110909951,MD +3110909952,3110910975,DE +3110910976,3110911999,BG +3110912000,3110914047,RU +3110914048,3110915071,AT +3110915072,3110916095,ES +3110916096,3110917119,RU +3110917120,3110918143,UA +3110918144,3110919167,DE +3110919168,3110920191,RU +3110920192,3110921215,NL +3110921216,3110922239,DE +3110922240,3110923263,GB +3110923264,3110924287,FR +3110924288,3110925311,SA +3110925312,3110926335,CH +3110926336,3110927359,LU +3110927360,3110928383,DK +3110928384,3110929407,CH +3110929408,3110930431,IE +3110930432,3110931455,GB +3110931456,3110932479,DK +3110932480,3110933503,IE +3110933504,3110934527,RU +3110934528,3110935551,IT +3110935552,3110936575,TR +3110936576,3110937599,DE +3110937600,3110938623,CH +3110938624,3110941695,GB +3110941696,3110942719,UA +3110942720,3110943743,IT +3110943744,3110944767,IR +3110944768,3110945791,DK +3110945792,3110946815,IT +3110946816,3110947839,IR +3110947840,3110948863,DK +3110948864,3110949887,IR +3110949888,3110950911,SE +3110950912,3110951935,DK +3110951936,3110952959,GB +3110952960,3110953983,NL +3110953984,3110955007,IS +3110955008,3110956031,GB +3110956032,3110957055,DE +3110957056,3110958079,RU +3110958080,3110959103,GB +3110959104,3110960127,JO +3110960128,3110961151,GB +3110961152,3110962175,IR +3110962176,3110963199,DK +3110963200,3110965247,GB +3110965248,3110966271,NL +3110966272,3110967295,IL +3110967296,3110968319,PT +3110968320,3110969343,DE +3110969344,3110970367,NL +3110970368,3110971391,CH +3110971392,3110972415,GB +3110972416,3110973439,FR +3110973440,3110974463,SA +3110974464,3110975487,DE +3110975488,3110977535,IT +3110977536,3110978559,JO +3110978560,3110979583,DE +3110979584,3110980607,FR +3110980608,3110982655,UA +3110982656,3110983679,RO +3110983680,3110984703,PL +3110984704,3110985727,IT +3110985728,3110986751,IE +3110986752,3110987775,GB +3110987776,3110988799,NL +3110988800,3110989823,DE +3110989824,3110990847,CH +3110990848,3110992895,IR +3110992896,3110993919,RO +3110993920,3110994943,GB +3110994944,3110995967,PL +3110995968,3110996991,RU +3110996992,3110998015,DE +3110998016,3110999039,ES +3110999040,3111000063,IT +3111000064,3111001087,RO +3111001088,3111002111,IR +3111002112,3111003135,DE +3111003136,3111004159,GG +3111004160,3111005183,DE +3111005184,3111006207,RU +3111006208,3111007231,PL +3111007232,3111008255,GB +3111008256,3111009279,RU +3111009280,3111010303,BG +3111010304,3111012351,ES +3111012352,3111013375,CH +3111013376,3111014399,ES +3111014400,3111015423,DK +3111015424,3111016447,FR +3111016448,3111017471,CH +3111017472,3111018495,NL +3111018496,3111019519,FR +3111019520,3111020543,CH +3111020544,3111021567,SY +3111021568,3111022591,IL +3111022592,3111023615,NL +3111023616,3111024639,IT +3111024640,3111025663,AT +3111025664,3111026687,DE +3111026688,3111027711,RU +3111027712,3111028735,UA +3111028736,3111029759,AT +3111029760,3111031807,SK +3111031808,3111032831,NO +3111032832,3111033855,DE +3111033856,3111035903,ES +3111035904,3111036927,GE +3111036928,3111037951,RU +3111037952,3111038975,NL +3111038976,3111041023,GB +3111041024,3111042047,CH +3111042048,3111043071,GB +3111043072,3111044095,FR +3111044096,3111045119,CH +3111045120,3111046143,NL +3111046144,3111047167,CZ +3111047168,3111048191,RU +3111048192,3111049215,ES +3111049216,3111050239,IR +3111050240,3111051263,CH +3111051264,3111052287,ES +3111052288,3111053311,IR +3111053312,3111054335,SA +3111054336,3111055359,IR +3111055360,3111056383,TR +3111056384,3111057407,IR +3111057408,3111058431,GB +3111058432,3111059455,IR +3111059456,3111060479,ES +3111060480,3111061503,LB +3111061504,3111063551,IR +3111063552,3111064575,FR +3111064576,3111065599,GB +3111065600,3111066623,RU +3111066624,3111067647,NL +3111067648,3111068671,DE +3111068672,3111069695,IS +3111069696,3111070719,IR +3111070720,3111071743,FR +3111071744,3111072767,UA +3111072768,3111074815,FR +3111074816,3111075839,DE +3111075840,3111076863,IR +3111076864,3111077887,AZ +3111077888,3111078911,NL +3111078912,3111079935,IT +3111079936,3111080959,NL +3111080960,3111081983,RU +3111081984,3111083007,HU +3111083008,3111084031,UA +3111084032,3111085055,CZ +3111085056,3111086079,RU +3111086080,3111087103,KZ +3111087104,3111088127,CZ +3111088128,3111089151,IE +3111089152,3111090175,UA +3111090176,3111091199,NL +3111091200,3111092223,AT +3111092224,3111093247,IR +3111093248,3111094271,PL +3111094272,3111095295,IR +3111095296,3111096319,IE +3111096320,3111097343,AT +3111097344,3111098367,ES +3111098368,3111099391,SE +3111099392,3111100415,CH +3111100416,3111101439,LB +3111101440,3111102463,UA +3111102464,3111103487,DE +3111103488,3111104511,DK +3111104512,3111105535,CH +3111105536,3111106559,LT +3111106560,3111107583,ES +3111107584,3111108607,HR +3111108608,3111109631,DE +3111109632,3111110655,BE +3111110656,3111111679,NL +3111111680,3111112703,BE +3111112704,3111113727,HU +3111113728,3111114751,BG +3111114752,3111115775,RU +3111115776,3111116799,DE +3111116800,3111117823,GB +3111117824,3111118847,ES +3111118848,3111119871,TR +3111119872,3111120895,FR +3111120896,3111121919,SE +3111121920,3111122943,TR +3111122944,3111123967,IT +3111123968,3111126015,ES +3111126016,3111127039,IT +3111127040,3111128063,CH +3111128064,3111129087,UA +3111129088,3111130111,FR +3111130112,3111131135,RS +3111131136,3111132159,NO +3111132160,3111133183,CZ +3111133184,3111135231,IR +3111135232,3111136255,PL +3111136256,3111137279,DE +3111137280,3111138303,LI +3111138304,3111139327,CH +3111139328,3111140351,RU +3111140352,3111141375,IT +3111141376,3111142399,NL +3111142400,3111143423,DE +3111143424,3111144447,CH +3111144448,3111145471,ES +3111145472,3111146495,RU +3111146496,3111149567,IT +3111149568,3111150591,GB +3111150592,3111151615,RU +3111151616,3111152639,OM +3111152640,3111153663,NL +3111153664,3111154687,SE +3111154688,3111155711,PL +3111155712,3111156735,UA +3111156736,3111157759,DE +3111157760,3111158783,IR +3111158784,3111159807,CH +3111159808,3111160831,SE +3111160832,3111161855,RU +3111161856,3111162879,IS +3111162880,3111163903,IR +3111163904,3111164927,DE +3111164928,3111165951,HU +3111165952,3111166975,GB +3111166976,3111167999,CZ +3111168000,3111169023,IR +3111169024,3111170047,UA +3111170048,3111171071,DE +3111171072,3111172095,PL +3111172096,3111173119,RO +3111173120,3111174143,IQ +3111174144,3111175167,AZ +3111175168,3111176191,IT +3111176192,3111177215,YE +3111177216,3111178239,IS +3111178240,3111179263,DK +3111179264,3111180287,IT +3111180288,3111181311,DE +3111181312,3111182335,GB +3111182336,3111183359,RU +3111183360,3111184383,FR +3111184384,3111185407,IQ +3111185408,3111186431,RU +3111186432,3111189503,GB +3111189504,3111190527,DE +3111190528,3111191551,GB +3111191552,3111192575,DE +3111192576,3111193599,TR +3111193600,3111194623,RU +3111194624,3111195647,GB +3111195648,3111196671,CH +3111196672,3111197695,GB +3111197696,3111198719,RU +3111198720,3111199743,PL +3111199744,3111200767,KZ +3111200768,3111201791,ES +3111201792,3111202815,SK +3111202816,3111203839,FR +3111203840,3111204863,NL +3111204864,3111205887,IR +3111205888,3111206911,GB +3111206912,3111207935,FR +3111207936,3111208959,GB +3111208960,3111211007,RU +3111211008,3111212031,GB +3111212032,3111214079,NL +3111214080,3111215103,GB +3111215104,3111216127,SE +3111216128,3111217151,AT +3111217152,3111218175,IR +3111218176,3111219199,RU +3111219200,3111220223,IR +3111220224,3111221247,RU +3111221248,3111223295,DE +3111223296,3111224319,GB +3111224320,3111225343,KZ +3111225344,3111226367,RU +3111226368,3111227391,PT +3111227392,3111228415,DE +3111228416,3111230463,IR +3111230464,3111231487,PT +3111231488,3111232511,FR +3111232512,3111233535,DE +3111233536,3111234559,LV +3111234560,3111235583,NL +3111235584,3111236607,SE +3111236608,3111237631,GB +3111237632,3111238655,ES +3111238656,3111239679,GB +3111239680,3111240703,ES +3111240704,3111241727,NL +3111241728,3111242751,RU +3111242752,3111243775,GB +3111243776,3111244799,RU +3111244800,3111245823,NL +3111245824,3111246847,GB +3111246848,3111247871,TR +3111247872,3111248895,NL +3111248896,3111249919,DK +3111249920,3111250943,IE +3111250944,3111251967,ES +3111251968,3111252991,GB +3111252992,3111254015,RU +3111254016,3111255039,IE +3111255040,3111256063,EE +3111256064,3111257087,IT +3111257088,3111259135,FR +3111259136,3111261183,DE +3111261184,3111262207,TR +3111262208,3111266303,NL +3111266304,3111267327,DE +3111267328,3111268351,DK +3111268352,3111269375,BE +3111269376,3111270399,RO +3111270400,3111271423,NO +3111271424,3111272447,NL +3111272448,3111273471,ES +3111273472,3111274495,SA +3111274496,3111275519,IR +3111275520,3111276543,NL +3111276544,3111277567,IT +3111277568,3111278591,RO +3111278592,3111279615,LB +3111279616,3111280639,PL +3111280640,3111281663,GB +3111281664,3111282687,FR +3111282688,3111283711,SE +3111283712,3111284735,IT +3111284736,3111285759,AL +3111285760,3111286783,IT +3111286784,3111287807,IL +3111287808,3111288831,DE +3111288832,3111289855,FR +3111289856,3111290879,DE +3111290880,3111291903,UA +3111291904,3111292927,NL +3111292928,3111293951,SI +3111293952,3111294975,GB +3111294976,3111295999,US +3111296000,3111297023,NL +3111297024,3111298047,IE +3111298048,3111299071,NL +3111299072,3111300095,DE +3111300096,3111301119,ES +3111301120,3111302143,EE +3111302144,3111303167,BG +3111303168,3111304191,NL +3111304192,3111305215,IR +3111305216,3111306239,TR +3111306240,3111307263,NL +3111307264,3111308287,DE +3111308288,3111309311,GB +3111309312,3111310335,CH +3111310336,3111313407,DE +3111313408,3111314431,AT +3111314432,3111315455,GB +3111315456,3111316479,IT +3111316480,3111317503,NL +3111317504,3111318527,SY +3111318528,3111319551,RU +3111319552,3111320575,SE +3111320576,3111321599,LB +3111321600,3111322623,CZ +3111322624,3111323647,GE +3111323648,3111324671,CZ +3111324672,3111325695,MT +3111325696,3111326719,FI +3111326720,3111327743,HU +3111327744,3111328767,DE +3111328768,3111329791,RO +3111329792,3111330815,NL +3111330816,3111331839,UA +3111331840,3111332863,TR +3111332864,3111333887,PL +3111333888,3111334911,DE +3111334912,3111335935,ES +3111335936,3111336959,HR +3111336960,3111337983,GB +3111337984,3111339007,RO +3111339008,3111340031,GB +3111340032,3111341055,CZ +3111341056,3111342079,IR +3111342080,3111343103,DE +3111343104,3111344127,GB +3111344128,3111345151,NL +3111345152,3111346175,RO +3111346176,3111347199,RU +3111347200,3111348223,LB +3111348224,3111349247,DE 3113710318,3113710318,CA 3120562176,3120594943,CO 3120594944,3120599039,AR @@ -60876,7 +64784,9 @@ 3120693248,3120726015,BO 3120726016,3120734207,HN 3120734208,3120735999,RU -3120736000,3120738303,BZ +3120736000,3120736255,BZ +3120736256,3120736511,EC +3120736512,3120738303,BZ 3120738304,3120742399,CW 3120742400,3120754687,PY 3120754688,3120755711,CR @@ -61226,7 +65136,7 @@ 3158861056,3158861311,UA 3158861312,3158861567,IE 3158861568,3158861823,AE -3158861824,3158862079,IN +3158861824,3158862079,DE 3158862080,3158862335,GB 3158862336,3158862591,NL 3158862592,3158862847,FR @@ -61434,7 +65344,11 @@ 3161948160,3161964543,RO 3161964544,3161980927,ES 3161980928,3161989119,SK -3161989120,3161997311,RU +3161989120,3161989631,TR +3161989632,3161990143,NL +3161990144,3161991167,TR +3161991168,3161993215,NL +3161993216,3161997311,RU 3161997312,3162005503,DK 3162005504,3162013695,RS 3162013696,3162021887,IL @@ -61481,7 +65395,9 @@ 3162316800,3162324991,PL 3162324992,3162327039,IE 3162327040,3162329087,CH -3162329088,3162331135,IR +3162329088,3162329225,IR +3162329226,3162329226,IE +3162329227,3162331135,IR 3162331136,3162333183,GB 3162333184,3162341375,IT 3162341376,3162349567,PL @@ -61511,7 +65427,7 @@ 3162636288,3162669055,FR 3162669056,3162681343,RU 3162681344,3162682367,UA -3162682368,3162682879,RU +3162682368,3162682879,MD 3162682880,3162683135,IE 3162683136,3162683391,ES 3162683392,3162685439,RU @@ -61593,9 +65509,7 @@ 3164947068,3164947071,IT 3164947072,3164947579,FR 3164947580,3164947583,IT -3164947584,3164949135,FR -3164949136,3164949151,NL -3164949152,3164950695,FR +3164947584,3164950695,FR 3164950696,3164950703,NL 3164950704,3164951663,FR 3164951664,3164951671,PL @@ -61665,7 +65579,9 @@ 3164973424,3164973663,FR 3164973664,3164973695,GB 3164973696,3164974335,FR -3164974336,3164974463,GB +3164974336,3164974437,GB +3164974438,3164974438,IT +3164974439,3164974463,GB 3164974464,3164974527,FR 3164974528,3164974559,ES 3164974560,3164974651,FR @@ -61684,8 +65600,7 @@ 3165388800,3165417471,MT 3165417472,3165421567,DE 3165421568,3165425663,IE -3165425664,3165429759,GB -3165429760,3165437951,RO +3165425664,3165437951,GB 3165437952,3165439487,AT 3165439488,3165439743,GB 3165439744,3165439999,AT @@ -61702,7 +65617,10 @@ 3165444096,3165444351,BR 3165444352,3165444607,ZA 3165444608,3165444863,IT -3165444864,3165454335,AT +3165444864,3165445119,NL +3165445120,3165445375,AT +3165445376,3165445631,CA +3165445632,3165454335,AT 3165454336,3165519871,RO 3165519872,3165585407,DE 3165585408,3165650943,CZ @@ -61759,9 +65677,7 @@ 3167784960,3167797247,IR 3167797248,3167798271,MD 3167798272,3167799295,RO -3167799296,3167800319,MD -3167800320,3167801343,RO -3167801344,3167803391,MD +3167799296,3167803391,MD 3167803392,3167804159,RO 3167804160,3167804415,ES 3167804416,3167805439,GB @@ -61776,8 +65692,8 @@ 3167843328,3167844351,RO 3167844352,3167846399,GB 3167846400,3167866879,IR -3167866880,3167868927,RO -3167868928,3167879167,MD +3167866880,3167870975,RO +3167870976,3167879167,MD 3167879168,3167895551,DE 3167895552,3167899647,IR 3167899648,3167902719,RO @@ -61813,7 +65729,9 @@ 3168002048,3168005887,RO 3168005888,3168006143,NL 3168006144,3168008191,SE -3168008192,3168011775,RO +3168008192,3168011263,RO +3168011264,3168011519,MD +3168011520,3168011775,RO 3168011776,3168012287,IR 3168012288,3168014335,MD 3168014336,3168015359,ES @@ -61826,7 +65744,10 @@ 3168018688,3168020479,RO 3168020480,3168022527,MD 3168022528,3168034815,IR -3168034816,3168039935,RO +3168034816,3168037887,RO +3168037888,3168038399,SE +3168038400,3168038911,RO +3168038912,3168039935,MD 3168039936,3168040959,BE 3168040960,3168050431,RO 3168050432,3168050687,MD @@ -61851,7 +65772,8 @@ 3168108544,3168110335,RO 3168110336,3168110591,GB 3168110592,3168110847,IT -3168110848,3168111615,RO +3168110848,3168111359,RO +3168111360,3168111615,IT 3168111616,3168112639,FR 3168112640,3168116735,IR 3168116736,3168120831,RO @@ -61869,13 +65791,24 @@ 3168131840,3168135679,RO 3168135680,3168136191,CZ 3168136192,3168137471,RO -3168137472,3168137983,EU +3168137472,3168137727,MD +3168137728,3168137983,EU 3168137984,3168138239,NL -3168138240,3168139263,RO +3168138240,3168139263,MD 3168139264,3168141311,GB -3168141312,3168147455,RO +3168141312,3168143615,RO +3168143616,3168143871,UA +3168143872,3168144383,RO +3168144384,3168144639,SG +3168144640,3168145151,RO +3168145152,3168145407,UA +3168145408,3168147455,RO 3168147456,3168147967,FR -3168147968,3168156671,RO +3168147968,3168154111,RO +3168154112,3168154367,SG +3168154368,3168155135,RO +3168155136,3168155391,IT +3168155392,3168156671,RO 3168156672,3168157695,MD 3168157696,3168161791,IR 3168161792,3168164351,RO @@ -61910,14 +65843,23 @@ 3168212736,3168212991,FR 3168212992,3168215551,RO 3168215552,3168215807,TH -3168215808,3168237567,RO +3168215808,3168223743,RO +3168223744,3168224255,MD +3168224256,3168237567,RO 3168237568,3168239615,PS 3168239616,3168243711,IR 3168243712,3168247807,RO 3168247808,3168264191,IR -3168264192,3168268287,RO -3168268288,3168269311,MD -3168269312,3168272383,RO +3168264192,3168265727,RO +3168265728,3168265855,FR +3168265856,3168265983,RO +3168265984,3168266239,GR +3168266240,3168267263,RO +3168267264,3168269311,MD +3168269312,3168270591,RO +3168270592,3168270847,MD +3168270848,3168271359,RO +3168271360,3168272383,MD 3168272384,3168534527,IT 3168534528,3168796671,GB 3168796672,3168829439,FR @@ -61955,8 +65897,8 @@ 3169714176,3169779711,FI 3169779712,3169845247,UA 3169845248,3169854463,RO -3169854464,3169855487,IR -3169855488,3169863167,RO +3169854464,3169854719,ES +3169854720,3169863167,RO 3169863168,3169863423,MD 3169863424,3169869823,RO 3169869824,3169878015,MD @@ -61965,11 +65907,17 @@ 3169886208,3169894399,GB 3169894400,3169895423,ES 3169895424,3169895679,IR -3169895680,3169899263,RO +3169895680,3169897471,RO +3169897472,3169898495,ES +3169898496,3169899263,RO 3169899264,3169899391,CN 3169899392,3169899519,TW 3169899520,3169899775,IR -3169899776,3169913855,RO +3169899776,3169902079,RO +3169902080,3169902591,SE +3169902592,3169905663,RO +3169905664,3169906687,ES +3169906688,3169913855,RO 3169913856,3169914111,GB 3169914112,3169921023,RO 3169921024,3169923071,GB @@ -62051,9 +65999,12 @@ 3187826688,3187834879,AR 3187834880,3187843071,CW 3187843072,3187845119,AW -3187845120,3187851263,CW +3187845120,3187849215,CW +3187849216,3187849471,CO +3187849472,3187851263,CW 3187851264,3187855359,PY -3187855360,3187857407,PA +3187855360,3187855871,CY +3187855872,3187857407,PA 3187857408,3187859455,CR 3187859456,3187863551,PA 3187863552,3187908607,AR @@ -62070,7 +66021,9 @@ 3187935608,3187935615,HN 3187935616,3187936047,GT 3187936048,3187936063,HN -3187936064,3187936711,GT +3187936064,3187936583,GT +3187936584,3187936591,HN +3187936592,3187936711,GT 3187936712,3187936719,HN 3187936720,3187937799,GT 3187937800,3187937807,HN @@ -62088,11 +66041,17 @@ 3187943128,3187943135,HN 3187943136,3187943399,GT 3187943400,3187943403,HN -3187943404,3187944671,GT +3187943404,3187943551,GT +3187943552,3187943679,HN +3187943680,3187944383,GT +3187944384,3187944399,HN +3187944400,3187944671,GT 3187944672,3187944679,HN 3187944680,3187944773,GT 3187944774,3187944774,HN -3187944775,3187945971,GT +3187944775,3187944831,GT +3187944832,3187944835,HN +3187944836,3187945971,GT 3187945972,3187945975,HN 3187945976,3187946111,GT 3187946112,3187946239,HN @@ -62154,10 +66113,11 @@ 3188240384,3188241407,CO 3188241408,3188242431,EC 3188242432,3188244479,AR -3188244480,3188260863,CO +3188244480,3188248575,CO +3188248576,3188248703,CL +3188248704,3188260863,CO 3188260864,3188269055,AR -3188269056,3188269311,MX -3188269312,3188269439,VE +3188269056,3188269439,MX 3188269440,3188269567,CO 3188269568,3188269823,MX 3188269824,3188270079,VE @@ -62246,9 +66206,7 @@ 3191108640,3191108959,PE 3191108960,3191108991,CO 3191108992,3191109119,PE -3191109120,3191109631,MX -3191109632,3191110655,PE -3191110656,3191111167,MX +3191109120,3191111167,MX 3191111168,3191111679,PE 3191111680,3191128063,PY 3191128064,3191132159,EC @@ -62319,8 +66277,8 @@ 3191696384,3191701503,US 3191701504,3191702527,CL 3191702528,3191703039,US -3191703040,3191704063,CO -3191704064,3191704575,US +3191703040,3191703551,CO +3191703552,3191704575,US 3191704576,3191704831,CO 3191704832,3191705343,US 3191705344,3191705599,CO @@ -62407,7 +66365,9 @@ 3193735168,3193735679,US 3193735680,3193736191,AR 3193736192,3193736447,US -3193736448,3193737215,AR +3193736448,3193736703,AR +3193736704,3193736959,US +3193736960,3193737215,AR 3193737216,3193739007,US 3193739008,3193739263,AR 3193739264,3193740799,US @@ -62497,7 +66457,8 @@ 3194077184,3194085375,CO 3194085376,3194093567,VE 3194093568,3194126335,SR -3194126336,3194127359,GT +3194126336,3194127103,GT +3194127104,3194127359,BR 3194127360,3194128383,PE 3194128384,3194129407,NI 3194129408,3194129663,AR @@ -62637,7 +66598,8 @@ 3194806272,3194814463,AR 3194814464,3194818559,PA 3194818560,3194830847,AR -3194830848,3194839039,PA +3194830848,3194831871,BR +3194831872,3194839039,PA 3194839040,3194863615,CO 3194863616,3194871807,HN 3194871808,3194879999,BO @@ -62724,7 +66686,9 @@ 3195205632,3195206655,PE 3195206656,3195207679,CL 3195207680,3195211775,GT -3195211776,3195215871,BZ +3195211776,3195214988,BZ +3195214989,3195214989,RU +3195214990,3195215871,BZ 3195215872,3195224063,AR 3195224064,3195232255,PA 3195232256,3195234559,CR @@ -62789,7 +66753,9 @@ 3195768832,3195772927,AR 3195772928,3195781119,VE 3195781120,3195785215,PA -3195785216,3195789311,HN +3195785216,3195786991,HN +3195786992,3195787007,CA +3195787008,3195789311,HN 3195789312,3195793407,PA 3195793408,3195801599,AR 3195801600,3195803647,HN @@ -62826,7 +66792,9 @@ 3196583936,3196690687,AR 3196690688,3196690943,UY 3196690944,3196846079,AR -3196846080,3196977151,PA +3196846080,3196874431,PA +3196874432,3196874447,PG +3196874448,3196977151,PA 3196977152,3197042687,VE 3197042688,3197075455,CO 3197075456,3197108223,GT @@ -62876,7 +66844,9 @@ 3199782912,3199784959,AR 3199784960,3199785983,EC 3199785984,3199795199,AR -3199795200,3199819775,CW +3199795200,3199815679,CW +3199815680,3199817727,SX +3199817728,3199819775,CW 3199819776,3199820799,CR 3199820800,3199822847,AR 3199822848,3199827967,HN @@ -62983,9 +66953,9 @@ 3203566592,3203566847,PA 3203566848,3203568639,CO 3203568640,3203569663,SV -3203569664,3203570609,CO -3203570610,3203570610,CR -3203570611,3203661823,CO +3203569664,3203570431,CO +3203570432,3203570687,CR +3203570688,3203661823,CO 3203661824,3203923967,AR 3203923968,3204448255,CO 3204448256,3208642559,BR @@ -63023,7 +66993,9 @@ 3210744080,3210744319,CL 3210744320,3210744575,US 3210744576,3210744591,BE -3210744592,3210745343,CL +3210744592,3210744831,BR +3210744832,3210745087,CL +3210745088,3210745343,US 3210745344,3210745359,RU 3210745360,3210745375,US 3210745376,3210745599,CL @@ -63031,15 +67003,17 @@ 3210745856,3210745871,IT 3210745872,3210746367,BR 3210746368,3210746383,SE -3210746384,3210746879,CL +3210746384,3210746623,CL +3210746624,3210746879,US 3210746880,3210746895,CH 3210746896,3210747135,CL 3210747136,3210747903,US 3210747904,3210748159,BR 3210748160,3210748175,JP 3210748176,3210748415,BR -3210748416,3210749951,CL -3210749952,3210752255,US +3210748416,3210748927,US +3210748928,3210749439,CL +3210749440,3210752255,US 3210752256,3210752511,CL 3210752512,3210755839,US 3210755840,3210755855,MY @@ -63050,27 +67024,35 @@ 3210756864,3210757119,RU 3210757120,3210758911,US 3210758912,3210759167,GH -3210759168,3210759423,US -3210759424,3210762495,CL -3210762496,3210762751,US -3210762752,3210763007,CL -3210763008,3210764031,US +3210759168,3210764031,US 3210764032,3210764047,IE 3210764048,3210764063,US 3210764064,3210764287,CL -3210764288,3210764543,US -3210764544,3210765055,CL +3210764288,3210764799,US +3210764800,3210765055,CL 3210765056,3210765071,SE 3210765072,3210765311,BR -3210765312,3210768383,CL +3210765312,3210765567,CL +3210765568,3210766079,US +3210766080,3210766335,CL +3210766336,3210766591,US +3210766592,3210766847,CL +3210766848,3210767103,US +3210767104,3210767359,CL +3210767360,3210768127,US +3210768128,3210768383,CL 3210768384,3210768639,NL 3210768640,3210769151,CL 3210769152,3210769407,NL -3210769408,3210769919,CL -3210769920,3210770175,US -3210770176,3210771199,CL +3210769408,3210769663,CL +3210769664,3210770431,US +3210770432,3210770687,CL +3210770688,3210770943,US +3210770944,3210771199,CL 3210771200,3210771215,TH -3210771216,3210772991,CL +3210771216,3210771711,CL +3210771712,3210771967,US +3210771968,3210772991,CL 3210772992,3210773247,US 3210773248,3210773503,BR 3210773504,3210773519,PL @@ -63083,15 +67065,22 @@ 3210775040,3210775295,US 3210775296,3210775311,CH 3210775312,3210775551,BR -3210775552,3210776319,CL +3210775552,3210775807,US +3210775808,3210776319,CL 3210776320,3210776575,US 3210776576,3210776831,CL 3210776832,3210777087,US -3210777088,3210778367,CL +3210777088,3210777599,CL +3210777600,3210777855,US +3210777856,3210778367,CL 3210778368,3210778623,US -3210778624,3210779903,CL -3210779904,3210780159,US -3210780160,3210782719,CL +3210778624,3210779135,CL +3210779136,3210779391,US +3210779392,3210779647,CL +3210779648,3210780927,US +3210780928,3210781183,CL +3210781184,3210781439,US +3210781440,3210782719,CL 3210782720,3210782975,US 3210782976,3210782991,TR 3210782992,3210783487,CL @@ -63100,7 +67089,9 @@ 3210784000,3210784015,JP 3210784016,3210784511,CL 3210784512,3210784527,BE -3210784528,3210785791,CL +3210784528,3210785279,CL +3210785280,3210785535,US +3210785536,3210785791,CL 3210785792,3210786047,BR 3210786048,3210786063,AU 3210786064,3210786303,CL @@ -63115,28 +67106,26 @@ 3210789376,3210790143,CL 3210790144,3210790399,US 3210790400,3210790655,CL -3210790656,3210790911,US -3210790912,3210791679,CL +3210790656,3210791423,US +3210791424,3210791679,CL 3210791680,3210791935,US 3210791936,3210792447,CL 3210792448,3210792703,US -3210792704,3210794239,CL -3210794240,3210794751,US +3210792704,3210793471,CL +3210793472,3210793727,US +3210793728,3210793983,CL +3210793984,3210794751,US 3210794752,3210796287,CL 3210796288,3210797055,US 3210797056,3210797311,CL -3210797312,3210797567,US -3210797568,3210797823,CL -3210797824,3210798079,US +3210797312,3210798079,US 3210798080,3210798847,CL 3210798848,3210799103,ES 3210799104,3210799359,US 3210799360,3210799615,CL 3210799616,3210800639,US 3210800640,3210800895,CL -3210800896,3210801151,US -3210801152,3210801663,CL -3210801664,3210802431,US +3210800896,3210802431,US 3210802432,3210802687,CL 3210802688,3210802943,US 3210802944,3210803071,CL @@ -63183,28 +67172,28 @@ 3211072058,3211072511,US 3211072512,3211073023,NL 3211073024,3211073279,GB -3211073280,3211073791,US +3211073280,3211073535,FR +3211073536,3211073791,US 3211073792,3211074047,LT 3211074048,3211074303,NL 3211074304,3211074559,ES 3211074560,3211074815,NL -3211074816,3211075327,DK +3211074816,3211075071,US +3211075072,3211075327,DK 3211075328,3211075583,NL 3211075584,3211075839,US 3211075840,3211076095,CL 3211076096,3211076607,LT -3211076608,3211078655,US -3211078656,3211079167,CL -3211079168,3211079423,NL -3211079424,3211079679,CL +3211076608,3211079679,US 3211079680,3211079935,GB 3211079936,3211080191,NG -3211080192,3211080703,CL +3211080192,3211080447,CL +3211080448,3211080703,US 3211080704,3211080959,GB 3211080960,3211081215,CL 3211081216,3211081727,CH -3211081728,3211082239,US -3211082240,3211082751,GB +3211081728,3211082495,US +3211082496,3211082751,GB 3211082752,3211083007,SG 3211083008,3211083519,US 3211083520,3211083775,HK @@ -63215,10 +67204,10 @@ 3211083872,3211084031,CL 3211084032,3211084287,DE 3211084288,3211084303,NL -3211084304,3211084351,CL +3211084304,3211084351,DE 3211084352,3211084367,GB -3211084368,3211084383,DE -3211084384,3211084559,CL +3211084368,3211084543,DE +3211084544,3211084559,CL 3211084560,3211084575,DE 3211084576,3211084671,CL 3211084672,3211084799,BY @@ -63256,10 +67245,7 @@ 3211087120,3211087135,DE 3211087136,3211087359,CL 3211087360,3211087375,GB -3211087376,3211087391,DE -3211087392,3211087631,CL -3211087632,3211087647,DE -3211087648,3211087871,CL +3211087376,3211087871,DE 3211087872,3211087887,ES 3211087888,3211087903,DE 3211087904,3211087999,CL @@ -63369,35 +67355,26 @@ 3211099776,3211099903,GB 3211099904,3211099919,CL 3211099920,3211099935,DE -3211099936,3211101183,CL -3211101184,3211101951,US +3211099936,3211100159,CL +3211100160,3211101951,US 3211101952,3211102207,AR 3211102208,3211104767,AU -3211104768,3211105791,CL +3211104768,3211105791,US 3211105792,3211106303,ES -3211106304,3211108351,US -3211108352,3211113471,CL +3211106304,3211112959,US +3211112960,3211113471,CL 3211113472,3211113727,GB 3211113728,3211113983,LT -3211113984,3211114495,CL -3211114496,3211114751,IT -3211114752,3211115007,US -3211115008,3211115263,NO -3211115264,3211115519,BE -3211115520,3211115775,DK -3211115776,3211116287,RU -3211116288,3211116543,US -3211116544,3211116799,CL -3211116800,3211117055,US -3211117056,3211117567,CL -3211117568,3211122687,US -3211122688,3211124735,CL -3211124736,3211128831,US -3211128832,3211129343,CL +3211113984,3211114239,US +3211114240,3211114495,CL +3211114496,3211116031,US +3211116032,3211116287,RU +3211116288,3211129087,US +3211129088,3211129343,CL 3211129344,3211129599,SG 3211129600,3211129855,NL -3211129856,3211130367,CL -3211130368,3211132927,US +3211129856,3211130111,CL +3211130112,3211132927,US 3211132928,3211137023,CO 3211137024,3211141119,AR 3211141120,3211142143,CL @@ -63822,7 +67799,7 @@ 3223473232,3223474175,CA 3223474176,3223477247,US 3223477248,3223478271,CA -3223480320,3223481087,US +3223478272,3223481087,US 3223481088,3223481343,SE 3223481344,3223483391,US 3223483392,3223483647,NL @@ -63899,7 +67876,9 @@ 3223610880,3223611135,NO 3223611136,3223611647,SE 3223611648,3223611903,GB -3223611904,3223615999,SE +3223611904,3223612927,SE +3223612928,3223613183,FR +3223613184,3223615999,SE 3223616000,3223616767,GB 3223616768,3223617535,SE 3223617536,3223617791,NO @@ -63910,7 +67889,8 @@ 3223627776,3223628031,DE 3223628032,3223628287,SE 3223628288,3223628543,ES -3223628544,3223630591,SE +3223628544,3223630079,SE +3223630080,3223630591,FR 3223630592,3223630847,GB 3223630848,3223634431,SE 3223634432,3223634687,US @@ -63924,7 +67904,8 @@ 3223640832,3223641087,GB 3223641088,3223644415,SE 3223644416,3223644671,DE -3223644672,3223646207,SE +3223644672,3223644927,FR +3223644928,3223646207,SE 3223646208,3223646463,IT 3223646464,3223646975,SE 3223646976,3223647231,IT @@ -63956,7 +67937,7 @@ 3223902464,3223902719,CA 3223902720,3223905279,US 3223905280,3223905535,FI -3223905536,3223905791,US +3223905536,3223906303,US 3223906304,3223909375,CA 3223909376,3223911935,US 3223911936,3223912191,CA @@ -64028,9 +68009,7 @@ 3224030720,3224030975,CA 3224030976,3224038655,US 3224038656,3224038911,AU -3224038912,3224042751,US -3224042752,3224043007,DE -3224043008,3224084991,US +3224038912,3224084991,US 3224084992,3224087551,SE 3224087552,3224088063,US 3224088064,3224088319,AU @@ -64485,7 +68464,7 @@ 3225747712,3225747967,CA 3225747968,3225757695,US 3225757696,3225758719,CA -3225759232,3225763839,US +3225758720,3225763839,US 3225763840,3225764095,BE 3225764096,3225764863,US 3225764864,3225765887,CA @@ -64540,13 +68519,24 @@ 3225882368,3225882623,DE 3225882624,3225882879,SE 3225882880,3225883391,DE -3225883392,3225885183,SE +3225883392,3225884927,SE +3225884928,3225885183,NL 3225885184,3225885695,AT -3225885696,3225887999,SE +3225885696,3225886719,SE +3225886720,3225886975,NO +3225886976,3225887231,SE +3225887232,3225887487,DK +3225887488,3225887999,SE 3225888000,3225888255,GB -3225888256,3225894399,SE +3225888256,3225892351,SE +3225892352,3225892863,FR +3225892864,3225894399,SE 3225894400,3225895423,GB -3225895424,3225905407,SE +3225895424,3225902335,SE +3225902336,3225902591,NL +3225902592,3225902847,SE +3225902848,3225903103,NL +3225903104,3225905407,SE 3225905408,3225905663,IT 3225905664,3225913855,SE 3225913856,3225914111,DE @@ -64622,7 +68612,9 @@ 3226141696,3226141951,US 3226141952,3226143487,CA 3226143488,3226143743,US -3226143744,3226156543,CA +3226143744,3226146559,CA +3226146560,3226146815,US +3226146816,3226156543,CA 3226156544,3226156799,US 3226156800,3226157567,CA 3226157568,3226157823,US @@ -64652,8 +68644,8 @@ 3226237696,3226240255,DE 3226240256,3226240511,US 3226240512,3226241535,DE -3226241536,3226241791,AT -3226241792,3226248447,DE +3226241536,3226241791,NL +3226241792,3226248191,DE 3226248448,3226248703,IE 3226248704,3226250495,DE 3226250496,3226251263,US @@ -64784,7 +68776,7 @@ 3226658304,3226658559,AU 3226658560,3226661119,US 3226661120,3226661375,NL -3226661888,3226664959,US +3226661376,3226664959,US 3226664960,3226690815,FI 3226690816,3226691071,CA 3226691072,3226691327,NL @@ -64810,7 +68802,7 @@ 3226716672,3226716927,GB 3226716928,3226718207,US 3226720768,3226721279,JP -3226721280,3226721791,US +3226721280,3226722047,US 3226722048,3226722303,NL 3226722304,3226722559,AU 3226722560,3226723583,US @@ -65138,7 +69130,9 @@ 3227461960,3227461963,US 3227461964,3227464447,CA 3227464448,3227464575,US -3227464576,3227465147,CA +3227464576,3227464663,CA +3227464664,3227464667,US +3227464668,3227465147,CA 3227465148,3227465151,US 3227465152,3227466135,CA 3227466136,3227466143,US @@ -65220,7 +69214,9 @@ 3227756506,3227756506,US 3227756507,3227762655,CA 3227762656,3227762671,US -3227762672,3227765503,CA +3227762672,3227765480,CA +3227765481,3227765482,US +3227765483,3227765503,CA 3227765504,3227765759,US 3227765760,3227777759,CA 3227777760,3227777763,US @@ -65363,7 +69359,7 @@ 3227932672,3227932927,US 3227932928,3227933183,DE 3227933184,3227933695,US -3227933696,3227933951,AU +3227933696,3227933951,NZ 3227933952,3227934463,US 3227934464,3227934719,CH 3227934720,3227947519,US @@ -65454,7 +69450,9 @@ 3228100608,3228101119,AU 3228101120,3228102143,US 3228102144,3228102399,NL -3228102400,3228103935,US +3228102400,3228103423,US +3228103424,3228103679,CA +3228103680,3228103935,US 3228103936,3228104191,FR 3228104192,3228104703,AU 3228104704,3228104959,DK @@ -65490,6 +69488,7 @@ 3228264448,3228264703,NI 3228264704,3228265983,US 3228265984,3228266239,IE +3228266240,3228266495,PR 3228266496,3228267007,AU 3228267008,3228267263,NL 3228267264,3228269055,US @@ -65570,10 +69569,11 @@ 3228368896,3228380415,DE 3228380416,3228380671,US 3228380672,3228380927,DE -3228381184,3228388095,DE +3228381184,3228387839,DE 3228388096,3228388351,US -3228388352,3228393727,DE -3228393984,3228394239,DE +3228388352,3228392447,DE +3228392448,3228392959,US +3228392960,3228393727,DE 3228394240,3228394495,US 3228394752,3228395263,DE 3228395264,3228395775,US @@ -65589,11 +69589,12 @@ 3228406016,3228406271,US 3228406272,3228406527,IN 3228406528,3228407039,FR -3228407040,3228424703,DE +3228407296,3228424447,DE 3228424704,3228424959,US -3228425216,3228430847,DE +3228425216,3228430335,DE +3228430592,3228430847,DE 3228430848,3228431103,MU -3228431104,3228434431,DE +3228431872,3228434431,DE 3228434432,3228456191,US 3228456192,3228456447,CA 3228456448,3228457471,US @@ -65689,7 +69690,9 @@ 3229160960,3229161471,DE 3229161472,3229161727,SE 3229161728,3229161983,GB -3229161984,3229164287,SE +3229161984,3229163263,SE +3229163264,3229163519,ES +3229163520,3229164287,SE 3229164288,3229164543,DK 3229164544,3229165055,GB 3229165056,3229165311,NO @@ -65697,15 +69700,23 @@ 3229167104,3229167615,IT 3229167616,3229171711,SE 3229171712,3229172223,GB -3229172224,3229182463,SE +3229172224,3229173503,SE +3229173504,3229173759,IT +3229173760,3229182463,SE 3229182464,3229182975,GB 3229182976,3229183999,SE 3229184000,3229184511,GB -3229184512,3229186815,SE +3229184512,3229186559,SE +3229186560,3229186815,IT 3229186816,3229187327,ES -3229187328,3229187583,SE +3229187328,3229187583,IT 3229187584,3229187839,DK -3229187840,3229195263,SE +3229187840,3229192959,SE +3229192960,3229193727,FR +3229193728,3229194239,SE +3229194240,3229194495,FR +3229194496,3229195007,SE +3229195008,3229195263,NL 3229195264,3229196287,DE 3229196288,3229196799,SE 3229196800,3229197311,NL @@ -65720,12 +69731,21 @@ 3229200896,3229201151,DE 3229201152,3229201663,SE 3229201664,3229201919,DK -3229201920,3229202943,SE -3229202944,3229203199,NL +3229201920,3229202431,SE +3229202432,3229202687,ES +3229202688,3229203199,NL 3229203200,3229203967,GB -3229203968,3229205503,SE +3229203968,3229204223,SE +3229204224,3229204479,IT +3229204480,3229205503,SE 3229205504,3229206015,GB -3229206016,3229220863,SE +3229206016,3229211647,SE +3229211648,3229211903,IT +3229211904,3229212927,SE +3229212928,3229213183,DE +3229213184,3229219583,SE +3229219584,3229219839,DE +3229219840,3229220863,SE 3229220864,3229221119,US 3229221120,3229245439,GB 3229245440,3229246463,US @@ -65783,7 +69803,8 @@ 3229415168,3229415679,NL 3229415680,3229415935,CA 3229415936,3229483007,DE -3229483008,3229499647,FI +3229483008,3229483263,US +3229483264,3229499647,FI 3229499648,3229614847,US 3229614848,3229615103,GB 3229615104,3229679103,US @@ -65872,11 +69893,11 @@ 3229939456,3229940735,KR 3229940736,3229940991,CH 3229940992,3229941247,AU -3229941248,3229941503,US +3229941248,3229941759,US 3229941760,3229942271,CA 3229942272,3229944319,US 3229944320,3229944575,AU -3229944576,3229945087,US +3229944576,3229945343,US 3229945344,3229945599,AU 3229945600,3229945855,NL 3229945856,3229947135,US @@ -65966,7 +69987,7 @@ 3230120192,3230120447,NL 3230120448,3230120703,US 3230120704,3230120959,PT -3230120960,3230125567,US +3230120960,3230125823,US 3230125824,3230126335,AU 3230126336,3230126591,US 3230126592,3230126847,AU @@ -65982,7 +70003,7 @@ 3230132992,3230137599,US 3230137600,3230137855,NL 3230137856,3230138111,PL -3230138368,3230140159,US +3230138112,3230140159,US 3230140160,3230140415,MT 3230140416,3230140671,US 3230140672,3230140927,FI @@ -66005,6 +70026,7 @@ 3230151168,3230151423,US 3230151424,3230151679,NL 3230151680,3230151935,PT +3230151936,3230152191,CA 3230152192,3230152447,FR 3230152448,3230153215,BF 3230153216,3230153471,FR @@ -66013,12 +70035,12 @@ 3230153984,3230154239,NL 3230154240,3230156543,US 3230156544,3230164735,FI -3230164736,3230167295,US +3230164736,3230167551,US 3230167552,3230168063,CA 3230168064,3230177791,US 3230177792,3230178303,GB 3230178304,3230178559,CH -3230178816,3230210047,US +3230178560,3230210047,US 3230210048,3230210303,CA 3230210304,3230211839,US 3230211840,3230212095,CN @@ -66081,7 +70103,7 @@ 3230267136,3230267903,CA 3230267904,3230269695,US 3230269696,3230271743,GB -3230272000,3230291455,US +3230271744,3230291455,US 3230291456,3230291711,NL 3230291712,3230295039,US 3230295040,3230295295,AU @@ -66097,7 +70119,7 @@ 3230316800,3230317311,CA 3230317312,3230317567,US 3230317568,3230317823,AU -3230318080,3230318591,US +3230317824,3230318591,US 3230318592,3230318847,NL 3230318848,3230321663,US 3230321664,3230321919,PT @@ -66109,18 +70131,41 @@ 3230332928,3230333183,GB 3230333184,3230333695,US 3230333696,3230333951,AU -3230333952,3230334975,US -3230334976,3230354943,CA +3230333952,3230335231,US +3230335232,3230335743,CA +3230335744,3230335999,US +3230336000,3230336255,CA +3230336256,3230336511,US +3230336512,3230339583,CA +3230339584,3230339839,US +3230339840,3230340095,CA +3230340096,3230340351,US +3230340352,3230350847,CA +3230350848,3230351103,US +3230351104,3230354943,CA 3230354944,3230355199,FR 3230355200,3230365183,CA 3230365184,3230365439,US -3230365440,3230368767,CA -3230368768,3230370303,US +3230365440,3230367743,CA +3230367744,3230367999,US +3230368000,3230368511,CA +3230368512,3230370303,US 3230370304,3230370559,CA -3230370816,3230400511,CA +3230370560,3230370815,US +3230370816,3230372607,CA +3230372608,3230372863,US +3230372864,3230383359,CA +3230383360,3230383615,US +3230383616,3230384127,CA +3230384128,3230384383,MF +3230384384,3230387455,CA +3230387456,3230387711,US +3230387712,3230400255,CA +3230400256,3230400767,US 3230681088,3230683135,FR 3230785536,3230823679,US 3230823680,3230823935,NL +3230823936,3230824191,US 3230824192,3230824447,NL 3230824448,3230825215,US 3230825216,3230825471,GB @@ -66147,10 +70192,11 @@ 3230840576,3230840831,US 3230840832,3230841087,AU 3230841088,3230841343,NL +3230841344,3230841599,US 3230841600,3230841855,NL 3230841856,3230842111,US 3230842112,3230842367,AU -3230842624,3230843135,US +3230842368,3230843135,US 3230843136,3230843391,NL 3230843392,3230844927,US 3230844928,3230845183,AU @@ -66171,14 +70217,13 @@ 3230855680,3230855935,NL 3230855936,3230857983,US 3230857984,3230858751,AU -3230858752,3230859007,US -3230859264,3230865151,US +3230858752,3230865151,US 3230865152,3230865407,GB 3230865408,3230867967,US 3230867968,3230868223,NL 3230868224,3230868479,US 3230868480,3230868735,NL -3230868992,3230870015,US +3230868736,3230870015,US 3230870016,3230870271,NL 3230870272,3230878719,US 3230878720,3230879487,PT @@ -66205,6 +70250,7 @@ 3230915584,3230917631,US 3230917632,3230917887,NL 3230917888,3230918399,US +3230918400,3230918655,LC 3230918656,3230919423,US 3230919424,3230919679,AU 3230919680,3230922239,US @@ -66214,18 +70260,16 @@ 3230923520,3230923775,EU 3230923776,3230924031,US 3230924032,3230924287,AU -3230924288,3230924543,US -3230924800,3230933247,US +3230924288,3230933247,US 3230933248,3230948607,SE 3230948608,3230951167,US 3230951168,3230951423,NL -3230951424,3230953471,US -3230953472,3230954495,CA +3230951424,3230953215,US +3230953216,3230954495,CA 3230954496,3230967295,AU 3230967296,3230967551,RU 3230967552,3230967807,ES -3230967808,3230969087,US -3230969344,3230969599,US +3230967808,3230969599,US 3230969600,3230969855,MX 3230969856,3230970111,US 3230970112,3230972671,GB @@ -66239,23 +70283,22 @@ 3230976256,3230980095,ES 3230980096,3230980351,GB 3230980352,3230980607,CA -3230980608,3230980863,US +3230980608,3230981119,US 3230981120,3230981375,NL 3230981376,3230981631,AU 3230981632,3230981887,US 3230981888,3230983935,AU -3230983936,3230990335,US -3230990592,3230991103,US +3230983936,3230991103,US 3230991104,3230991359,PL 3230991360,3230991615,US 3230991616,3230991871,FI 3230991872,3230994175,US 3230994176,3230994431,NL -3230994432,3230994687,US -3230994944,3230995199,US +3230994432,3230995199,US 3230995200,3230995455,NL 3230995456,3230995711,AU 3230995712,3230996223,US +3230996224,3230996479,CA 3230996480,3230997247,US 3230997248,3230997503,NL 3230997504,3230997759,US @@ -66263,31 +70306,31 @@ 3230999040,3230999295,US 3230999296,3230999551,NL 3230999552,3230999807,AU -3230999808,3231000319,US -3231000576,3231000831,US +3230999808,3231000831,US 3231000832,3231001087,FR 3231001088,3231003903,US 3231003904,3231004159,CA 3231004160,3231004415,AU -3231004672,3231004927,US +3231004416,3231004927,US 3231004928,3231005183,GB +3231005184,3231005439,US 3231005440,3231005695,FR 3231005696,3231005951,GB -3231005952,3231009791,US +3231005952,3231010047,US 3231010048,3231010303,FR 3231010304,3231010815,NO 3231010816,3231011071,CA -3231011328,3231012863,US -3231013120,3231013375,US +3231011328,3231013375,US 3231013376,3231013887,CA -3231013888,3231014911,US -3231015168,3231015423,US +3231013888,3231015423,US 3231015424,3231015679,CA 3231015680,3231015935,US 3231015936,3231016191,NO 3231016192,3231016447,US 3231016448,3231016703,NO -3231016704,3231018495,US +3231016704,3231016959,US +3231016960,3231017215,CA +3231017216,3231018495,US 3231018496,3231018751,NL 3231018752,3231019007,GB 3231019008,3231020287,US @@ -66304,12 +70347,11 @@ 3231042048,3231042303,GU 3231042304,3231043839,US 3231043840,3231044095,AU -3231044352,3231048447,US +3231044096,3231048447,US 3231048448,3231048703,NL 3231048704,3231049727,US 3231049728,3231049983,AT -3231049984,3231050239,US -3231050496,3231051263,US +3231049984,3231051263,US 3231051264,3231051519,GB 3231051520,3231051775,AU 3231051776,3231057151,US @@ -66318,13 +70360,16 @@ 3231057920,3231058175,EU 3231058176,3231060991,US 3231060992,3231061247,EU -3231061248,3231070463,US -3231070720,3231075327,SE +3231061248,3231070719,US +3231070720,3231074559,SE +3231074560,3231075071,US +3231075072,3231075327,SE 3231075328,3231075583,NL +3231075584,3231075839,US 3231075840,3231077119,SE 3231077120,3231077375,PL 3231077376,3231077631,SE -3231078144,3231078655,US +3231077632,3231078655,US 3231078656,3231078911,NL 3231078912,3231079423,CA 3231079424,3231079679,NL @@ -66344,13 +70389,13 @@ 3231088384,3231088895,US 3231088896,3231091711,AU 3231091712,3231091967,NL -3231091968,3231092223,US -3231092480,3231092735,US +3231091968,3231092735,US 3231092736,3231092991,AU 3231092992,3231093247,US 3231093248,3231093503,NL 3231093504,3231101183,US 3231101184,3231103231,GB +3231103232,3231103487,CA 3231103488,3231103999,US 3231104000,3231104255,NO 3231104256,3231104767,DE @@ -66366,11 +70411,10 @@ 3231107840,3231108095,AT 3231108096,3231108351,GB 3231108352,3231108607,RU -3231108608,3231108863,US +3231108608,3231109119,US 3231109120,3231109375,GB 3231109376,3231109631,NO -3231109632,3231109887,US -3231110144,3231111679,US +3231109632,3231111679,US 3231111680,3231112191,NZ 3231112448,3231112959,US 3231112960,3231113215,NO @@ -66378,8 +70422,7 @@ 3231113984,3231115775,GB 3231115776,3231116799,AU 3231116800,3231117055,HU -3231117056,3231118335,US -3231118592,3231118847,US +3231117056,3231118847,US 3231118848,3231119103,AU 3231119104,3231119359,US 3231119360,3231119615,GB @@ -66387,7 +70430,7 @@ 3231120384,3231120639,NO 3231120640,3231120895,US 3231120896,3231121151,NO -3231121408,3231149311,US +3231121152,3231149311,US 3231149312,3231149567,CA 3231149568,3231154431,US 3231154432,3231154687,AU @@ -66421,19 +70464,23 @@ 3231203328,3231204351,US 3231204352,3231204607,FI 3231204608,3231204863,AU -3231204864,3231207935,US +3231204864,3231207167,US +3231207168,3231207423,CA +3231207424,3231207935,US 3231207936,3231208191,DE 3231208192,3231208959,US 3231208960,3231209471,AU -3231209472,3231211775,US +3231209472,3231210239,US +3231210240,3231210495,CA +3231210496,3231211775,US 3231211776,3231212031,CA 3231212032,3231212287,CH 3231212288,3231214335,US 3231214336,3231214591,CA -3231214592,3231215103,US +3231214592,3231215359,US 3231215360,3231215615,NO 3231215616,3231215871,GB -3231215872,3231217151,US +3231215872,3231217407,US 3231217408,3231217663,AU 3231217664,3231218175,US 3231218176,3231218431,GB @@ -66449,6 +70496,8 @@ 3231225600,3231225855,DE 3231225856,3231226879,US 3231226880,3231227135,GB +3231227136,3231227391,US +3231227392,3231227647,CA 3231227648,3231228927,US 3231228928,3231229183,PR 3231229184,3231229439,CA @@ -66464,7 +70513,10 @@ 3231237376,3231237631,AU 3231237632,3231241215,US 3231241216,3231241471,AU -3231241984,3231248639,US +3231241472,3231241727,CA +3231241728,3231244287,US +3231244288,3231244543,CA +3231244544,3231248639,US 3231248640,3231248895,NL 3231248896,3231249407,US 3231249408,3231249663,GB @@ -66473,13 +70525,13 @@ 3231250688,3231251711,US 3231251712,3231251967,GB 3231251968,3231252223,AT -3231252736,3231252991,US +3231252224,3231252991,US 3231252992,3231253503,NL 3231253504,3231254783,US 3231254784,3231255039,AU 3231255040,3231255551,US 3231255808,3231256063,PT -3231256320,3231257087,US +3231256064,3231257087,US 3231257088,3231257599,HU 3231257600,3231275007,US 3231275008,3231275263,BR @@ -66490,7 +70542,7 @@ 3231276800,3231281919,JP 3231281920,3231282175,US 3231282176,3231282431,HU -3231282688,3231282943,US +3231282432,3231282943,US 3231282944,3231283199,CL 3231283200,3231283455,BR 3231283456,3231284991,US @@ -66509,7 +70561,9 @@ 3231296256,3231296511,NL 3231296512,3231296767,US 3231296768,3231299327,AT -3231299328,3231300607,US +3231299328,3231300095,US +3231300096,3231300351,CA +3231300352,3231300607,US 3231300608,3231301119,NL 3231301120,3231302143,US 3231302144,3231302399,NL @@ -66523,7 +70577,9 @@ 3231308800,3231309055,CA 3231309824,3231316735,US 3231316736,3231316991,AU -3231316992,3231322111,US +3231316992,3231321343,US +3231321344,3231321599,CA +3231321600,3231322111,US 3231322112,3231324671,SG 3231324672,3231325183,US 3231325184,3231326207,CA @@ -66532,8 +70588,11 @@ 3231358976,3231369215,US 3231369216,3231369471,TW 3231369472,3231383551,US -3231383552,3231385599,NO -3231385600,3231423999,US +3231383552,3231383807,CA +3231383808,3231385343,NO +3231385344,3231401215,US +3231401216,3231401471,CA +3231401472,3231423999,US 3231424000,3231424511,PR 3231424512,3231477759,US 3231477760,3231478015,CA @@ -66542,18 +70601,18 @@ 3231483136,3231484927,US 3231484928,3231487999,JP 3231488512,3231488767,JP +3231489280,3231489535,US 3231489536,3231489791,JP 3231489792,3231490047,AU 3231490048,3231490559,US 3231490560,3231490815,GB -3231490816,3231491071,US +3231490816,3231491327,US 3231491328,3231491583,AU 3231491584,3231491839,US 3231491840,3231492095,GB 3231492096,3231493631,US 3231493632,3231493887,CH -3231493888,3231499263,US -3231499520,3231500031,US +3231493888,3231500031,US 3231500032,3231500287,BM 3231500288,3231502079,US 3231502080,3231502591,AU @@ -66563,20 +70622,19 @@ 3231503616,3231503871,IT 3231503872,3231504383,US 3231504640,3231504895,NL -3231505152,3231505407,US +3231504896,3231505407,US 3231505408,3231505663,AU 3231505664,3231506687,US 3231506688,3231506943,AU 3231506944,3231507199,US 3231507200,3231507455,BE -3231507456,3231510015,US +3231507456,3231510271,US 3231510272,3231510527,NL 3231510528,3231512575,US 3231512576,3231512831,LU 3231512832,3231513087,AU -3231513088,3231513343,US -3231513600,3231514623,US -3231514624,3231515647,NO +3231513088,3231514879,US +3231514880,3231515647,NO 3231515648,3231516671,US 3231516672,3231519231,SE 3231519232,3231526911,US @@ -66640,8 +70698,8 @@ 3231635456,3231641855,US 3231641856,3231642111,SG 3231642112,3231649791,US -3231649792,3231653887,SG -3231653888,3231663615,US +3231649792,3231653631,SG +3231653632,3231663615,US 3231663616,3231663871,NL 3231663872,3231664127,CA 3231664128,3231664383,US @@ -66652,7 +70710,7 @@ 3231667200,3231667711,NL 3231667712,3231668735,US 3231668736,3231668991,BE -3231669248,3231669503,US +3231668992,3231669759,US 3231669760,3231670015,CA 3231670016,3231670271,NL 3231670272,3231671039,US @@ -66666,8 +70724,9 @@ 3231674368,3231675391,US 3231675392,3231675903,BR 3231675904,3231676159,NL -3231676416,3231677439,NL -3231677440,3231694847,US +3231676160,3231676671,US +3231676672,3231677183,NL +3231677184,3231694847,US 3231694848,3231711231,CA 3231711232,3231713023,US 3231713024,3231713279,CA @@ -66692,17 +70751,19 @@ 3231720704,3231720959,NL 3231720960,3231722751,US 3231722752,3231723007,BR -3231723008,3231723519,US -3231723776,3231724031,US +3231723008,3231724031,US 3231724032,3231724287,BR 3231724288,3231727871,US 3231727872,3231728127,NL +3231728128,3231728383,US 3231728384,3231728639,NL 3231728640,3231729407,US 3231729408,3231729663,AU 3231729664,3231735551,US 3231735552,3231736063,CH -3231736064,3231738367,US +3231736064,3231737343,US +3231737344,3231737599,CA +3231737600,3231738367,US 3231738368,3231738623,NL 3231738624,3231739135,US 3231739136,3231739647,NL @@ -66747,10 +70808,13 @@ 3231770368,3231770879,AT 3231770880,3231771135,RU 3231771136,3231773951,US -3231773952,3231775743,PT +3231773952,3231775231,PT +3231775232,3231775487,KY +3231775488,3231775743,PT 3231775744,3231775999,NL 3231776000,3231776511,US -3231776768,3231793151,US +3231776512,3231777023,CA +3231777024,3231793151,US 3231793152,3231793663,NL 3231793664,3231800319,US 3231800320,3231801343,CN @@ -66814,7 +70878,7 @@ 3231906048,3231907839,RU 3231907840,3231912959,US 3231912960,3231913215,AP -3231913472,3231916031,US +3231913216,3231916031,US 3231916032,3231948799,FI 3231948800,3231973375,US 3231973376,3232038911,AT @@ -66825,18 +70889,25 @@ 3232047360,3232048639,GB 3232048640,3232049151,SE 3232049152,3232049407,GB -3232049408,3232051967,SE +3232049408,3232051199,SE +3232051200,3232051455,AT +3232051456,3232051967,SE 3232051968,3232052991,GB 3232052992,3232053247,US 3232053248,3232056063,SE 3232056064,3232056319,IT 3232056320,3232060415,SE 3232060416,3232060671,IE -3232060672,3232065791,SE +3232060672,3232060927,IT +3232060928,3232065791,SE 3232065792,3232066303,GB 3232066304,3232066559,SE 3232066560,3232066815,NO -3232066816,3232070399,SE +3232066816,3232067839,SE +3232067840,3232068095,PL +3232068096,3232069887,SE +3232069888,3232070143,CH +3232070144,3232070399,SE 3232070400,3232070655,ES 3232070656,3232079871,SE 3232079872,3232080895,GB @@ -66894,29 +70965,32 @@ 3232309248,3232311807,SG 3232311808,3232407039,US 3232407040,3232407551,SG -3232407552,3232432127,US -3232432128,3232433663,EU -3232433920,3232440319,US +3232407552,3232432383,US +3232432384,3232433663,EU +3232433664,3232440319,US 3232440320,3232448511,CA 3232448512,3232461311,US 3232461312,3232461823,CA 3232461824,3232462847,US 3232462848,3232464895,BB 3232464896,3232483327,GB -3232483328,3232555007,US -3232555264,3232555775,US +3232483328,3232555775,US 3232555776,3232557055,JP 3232557056,3232557311,AU -3232557568,3232560127,JP +3232557312,3232557567,US +3232557568,3232559103,JP +3232559104,3232559359,US +3232559360,3232560127,JP 3232560896,3232561663,US 3232561664,3232561919,CA 3232561920,3232562431,US 3232562432,3232562687,NL 3232562688,3232562943,CA -3232563200,3232564479,GB -3232564736,3232567295,US +3232562944,3232563455,US +3232563456,3232564479,GB +3232564480,3232567295,US 3232567296,3232569599,NZ -3232569856,3232570367,US +3232569600,3232570367,US 3232570368,3232571391,CA 3232571392,3232595967,US 3232595968,3232598015,GB @@ -66924,7 +70998,7 @@ 3232629760,3232630783,CA 3232630784,3232645119,US 3232645120,3232646399,AT -3232646656,3232661503,US +3232646400,3232661503,US 3232661504,3232694271,JP 3232694272,3232695807,US 3232695808,3232696319,CA @@ -66941,15 +71015,21 @@ 3232727040,3232759807,US 3232759808,3232765951,SE 3232765952,3232766207,NO -3232766208,3232774911,SE +3232766208,3232766463,SE +3232766464,3232766719,NO +3232766720,3232767231,DE +3232767232,3232774911,SE 3232774912,3232775167,IE -3232775168,3232794879,SE +3232775168,3232792319,SE +3232792320,3232792575,DK +3232792576,3232794879,SE 3232794880,3232795135,DE 3232795136,3232802559,SE 3232802560,3232802815,DK 3232802816,3232803071,SE 3232803072,3232803327,IE -3232803328,3232804607,SE +3232803328,3232804351,SE +3232804352,3232804607,DK 3232804608,3232804863,IT 3232804864,3232812031,SE 3232812032,3232812543,GB @@ -66962,30 +71042,26 @@ 3233288192,3233292287,CA 3233292288,3233431551,US 3233431552,3233447935,CA -3233447936,3233449095,US -3233449096,3233449103,GB -3233449104,3233449207,US -3233449208,3233449215,GB -3233449216,3233449359,US -3233449360,3233449367,GB -3233449368,3233450199,US -3233450200,3233450207,GB -3233450208,3233451519,US +3233447936,3233451519,US 3233451520,3233451775,GB 3233451776,3233453567,US -3233453568,3233453823,IT -3233453824,3233456127,US -3233456128,3233456383,LV -3233456384,3233456639,UA +3233453568,3233453631,IT +3233453632,3233456191,US +3233456192,3233456255,LV +3233456256,3233456383,US +3233456384,3233456447,UA +3233456448,3233456639,US 3233456640,3233457151,CA 3233457152,3233458687,US 3233458688,3233458943,HU -3233458944,3233459199,BG -3233459200,3233484799,US +3233458944,3233459007,BG +3233459008,3233484799,US 3233484800,3233487359,ES 3233487360,3233487871,US 3233487872,3233488895,CA -3233488896,3233548799,US +3233488896,3233546751,US +3233546752,3233547007,CA +3233547008,3233548799,US 3233548800,3233549055,NL 3233549056,3233549311,BR 3233549312,3233557247,US @@ -67000,10 +71076,12 @@ 3233564416,3233564671,AU 3233564672,3233564927,US 3233564928,3233566719,JP -3233567744,3233568767,JP -3233568768,3233569791,AU +3233567744,3233567999,US +3233568000,3233568767,JP +3233568768,3233569023,CA +3233569024,3233569535,AU 3233569792,3233570047,JP -3233570048,3233570559,US +3233570048,3233570815,US 3233570816,3233571071,GB 3233571072,3233572095,US 3233572096,3233572351,AU @@ -67015,9 +71093,9 @@ 3233575680,3233575935,AU 3233575936,3233576191,RU 3233576192,3233576447,GB -3233576448,3233576959,US -3233576960,3233577983,NL -3233577984,3233578239,US +3233576448,3233577215,US +3233577216,3233577727,NL +3233577728,3233578239,US 3233578240,3233578495,NL 3233578496,3233578751,US 3233578752,3233579007,NL @@ -67031,7 +71109,7 @@ 3233583360,3233583615,NL 3233583616,3233584895,US 3233584896,3233585151,AU -3233585152,3233586175,US +3233585152,3233586431,US 3233586432,3233586943,GB 3233586944,3233588223,US 3233588224,3233589247,GA @@ -67053,20 +71131,21 @@ 3233607168,3233607935,US 3233607936,3233608191,AU 3233608192,3233609727,HU -3233609728,3233611775,US +3233609728,3233612031,US 3233612032,3233612287,NL -3233612544,3233613823,US +3233612288,3233613823,US 3233613824,3233614847,GB -3233615104,3233615359,US +3233614848,3233615359,US 3233615360,3233615615,NL -3233615616,3233617151,US +3233615616,3233617407,US 3233617408,3233617663,CA 3233617664,3233617919,NL 3233617920,3233618175,AU -3233618432,3233620479,US +3233618176,3233620479,US 3233620480,3233620735,AU 3233620736,3233620991,US 3233620992,3233622015,CA +3233622016,3233622271,US 3233622272,3233622527,NL 3233622528,3233624831,US 3233624832,3233625343,NL @@ -67096,6 +71175,7 @@ 3233649664,3233649919,AU 3233649920,3233650431,US 3233650432,3233650687,NL +3233650688,3233651199,US 3233651200,3233651455,NL 3233651456,3233651967,US 3233651968,3233652223,NL @@ -67106,16 +71186,18 @@ 3233654272,3233655551,GB 3233655552,3233663487,US 3233663488,3233663999,NL -3233664000,3233665023,US +3233664000,3233664255,CA +3233664256,3233665023,US 3233665024,3233666047,AU 3233666048,3233668863,US 3233668864,3233669119,AU 3233669120,3233670399,US 3233670400,3233670655,AU -3233671168,3233675263,US -3233675520,3233676031,US +3233671168,3233676031,US 3233676032,3233676287,NL -3233676288,3233684991,US +3233676288,3233677311,US +3233677312,3233677567,CA +3233677568,3233684991,US 3233684992,3233685247,MX 3233685248,3233685503,BR 3233685504,3233688575,US @@ -67133,7 +71215,7 @@ 3233694976,3233695231,FR 3233695232,3233696511,US 3233696512,3233696767,CA -3233696768,3233701375,US +3233696768,3233701631,US 3233701632,3233701887,NL 3233701888,3233704959,US 3233704960,3233705215,NZ @@ -67229,19 +71311,19 @@ 3233936640,3233936895,EU 3233936896,3233939455,US 3233939456,3234004991,FI +3234004992,3234005247,US 3234005248,3234005503,GB 3234005504,3234005759,AU +3234005760,3234006015,CA 3234006016,3234007039,US 3234007040,3234007295,NL 3234007296,3234007551,US 3234007552,3234007807,AU 3234007808,3234008063,US 3234008064,3234008831,NZ -3234008832,3234013183,US -3234013440,3234013695,US +3234008832,3234013695,US 3234013696,3234013951,AU -3234013952,3234014207,US -3234014464,3234014975,US +3234013952,3234014975,US 3234014976,3234015487,AU 3234015488,3234015743,US 3234015744,3234015999,IE @@ -67256,7 +71338,7 @@ 3234031360,3234031871,US 3234031872,3234032127,GB 3234032128,3234032383,NL -3234032384,3234032895,US +3234032384,3234033151,US 3234033152,3234033407,NL 3234033408,3234033663,US 3234033664,3234033919,AU @@ -67278,15 +71360,21 @@ 3234054912,3234055167,NL 3234055168,3234055423,US 3234055424,3234055679,AU -3234055680,3234061055,US +3234055680,3234056959,US +3234056960,3234057215,CA +3234057216,3234061055,US 3234061056,3234061311,AU 3234061312,3234064639,US 3234064640,3234064895,AU 3234064896,3234065407,US 3234065408,3234065663,NL 3234065664,3234065919,BR -3234065920,3234070527,US -3234070528,3234110463,FR +3234065920,3234069247,US +3234069248,3234069503,CA +3234069504,3234070271,US +3234070272,3234070527,CA +3234070528,3234070783,US +3234070784,3234110463,FR 3234110464,3234128455,US 3234128456,3234128463,GB 3234128464,3234130695,US @@ -67296,7 +71384,9 @@ 3234131192,3234136063,US 3234136064,3234150911,CA 3234150912,3234151423,US -3234151424,3234159615,CA +3234151424,3234158847,CA +3234158848,3234159103,US +3234159104,3234159615,CA 3234159616,3234160127,US 3234160128,3234164991,CA 3234164992,3234165247,US @@ -67308,10 +71398,14 @@ 3234176000,3234177279,US 3234177280,3234187007,CA 3234187008,3234187519,US -3234187520,3234192383,CA +3234187520,3234189055,CA +3234189056,3234189311,US +3234189312,3234192383,CA 3234192384,3234193663,US -3234193664,3234201599,CA -3234201600,3234203647,US +3234193664,3234198783,CA +3234198784,3234199039,US +3234199040,3234201343,CA +3234201344,3234203647,US 3234203648,3234205183,BR 3234205184,3234205439,AR 3234205440,3234205695,BR @@ -67322,14 +71416,16 @@ 3234227712,3234228223,US 3234228224,3234228351,CA 3234228352,3234230015,US -3234230016,3234230271,ES -3234230272,3234232319,US +3234230016,3234230207,ES +3234230208,3234232319,US 3234232320,3234232575,EG 3234232576,3234238975,US 3234238976,3234239231,MY 3234239232,3234240255,US 3234240256,3234240511,EU -3234240512,3234270207,US +3234240512,3234267135,US +3234267136,3234267391,CA +3234267392,3234270207,US 3234270208,3234271231,CA 3234271232,3234275327,PT 3234275328,3234279423,AU @@ -67345,7 +71441,11 @@ 3234340096,3234340351,IN 3234340352,3234349055,US 3234349056,3234353151,NZ -3234353152,3234549759,US +3234353152,3234529279,US +3234529280,3234529535,PR +3234529536,3234538751,US +3234538752,3234539007,TC +3234539520,3234549759,US 3234549760,3234550015,RU 3234553856,3234554367,US 3234554624,3234554879,AU @@ -67374,47 +71474,47 @@ 3234583808,3234584063,AU 3234584064,3234584575,US 3234584576,3234584831,AU -3234584832,3234585343,US -3234585600,3234587391,US +3234584832,3234587391,US 3234587392,3234587647,NL 3234587648,3234588671,US 3234588672,3234588927,AU 3234588928,3234589439,US 3234589440,3234589695,AU -3234589696,3234592511,US +3234589696,3234590463,US +3234590464,3234590719,CA +3234590720,3234592511,US 3234592512,3234592767,AU -3234592768,3234725887,US +3234592768,3234726143,US 3234726144,3234726399,CA 3234726400,3234726911,US 3234726912,3234727935,CA 3234727936,3234733055,US 3234733056,3234733311,CA -3234733312,3234739455,US +3234733312,3234739711,US 3234739712,3234740223,CA 3234740224,3234745599,US 3234745600,3234746879,GB 3234746880,3234747903,US 3234747904,3234748159,NL -3234748160,3234749439,US -3234749440,3234750463,CA +3234748160,3234749695,US +3234749696,3234750207,CA 3234750464,3234751999,US 3234752000,3234752255,AU 3234752256,3234753535,US 3234753536,3234753791,AU -3234753792,3234754047,US -3234754560,3234755839,US +3234753792,3234755839,US 3234755840,3234756095,AU 3234756096,3234762751,US 3234762752,3234764799,CA 3234764800,3234766335,NZ 3234766336,3234772223,US 3234772224,3234772479,CA -3234772480,3234772735,US -3234772992,3234781439,US +3234772480,3234781439,US 3234781440,3234781951,CA 3234781952,3234782719,US 3234782720,3234783999,IL 3234784000,3234794495,US +3234794496,3234794751,CA 3234794752,3234795007,US 3234795008,3234795263,NL 3234795264,3234799359,US @@ -67427,7 +71527,7 @@ 3234801664,3234802431,EC 3234802432,3234803711,US 3234803712,3234803967,PR -3234804224,3234806783,US +3234803968,3234806783,US 3234806784,3234807295,CA 3234807552,3234807807,US 3234807808,3234808063,AU @@ -67440,8 +71540,7 @@ 3234816000,3234816767,AU 3234816768,3234820351,US 3234820352,3234820607,AU -3234820608,3234820863,US -3234821120,3234821887,US +3234820608,3234821887,US 3234821888,3234822655,AU 3234822656,3234826751,US 3234826752,3234827007,CA @@ -67473,17 +71572,19 @@ 3234853888,3234854143,EC 3234854144,3234854911,US 3234854912,3234855167,AU -3234855168,3234855935,US -3234856192,3234856447,US +3234855168,3234856447,US 3234856448,3234856703,AU -3234856960,3234861055,CA -3234861056,3234988031,US -3234988032,3234991103,CA -3234991104,3235004415,US +3234856704,3234857215,US +3234857216,3234861055,CA +3234861056,3234988287,US +3234988288,3234990847,CA +3234990848,3235004415,US 3235004416,3235021823,CA 3235021824,3235026943,US 3235026944,3235027967,CA -3235027968,3235045375,US +3235027968,3235044375,US +3235044376,3235044383,GB +3235044384,3235045375,US 3235045376,3235045887,CA 3235045888,3235065343,US 3235065344,3235065855,CA @@ -67500,10 +71601,16 @@ 3235389440,3235389951,VE 3235389952,3235512319,US 3235512320,3235577855,JP -3235577856,3235643391,CA -3235643392,3235774463,US -3235774464,3235776767,CA -3235777024,3235800319,US +3235577856,3235643135,CA +3235643136,3235745791,US +3235745792,3235745792,DE +3235745793,3235747839,US +3235747840,3235748095,GB +3235748096,3235748351,US +3235748352,3235748607,GB +3235748608,3235774719,US +3235774720,3235776767,CA +3235776768,3235800575,US 3235800576,3235801087,CA 3235801088,3235807231,US 3235807232,3235839999,CA @@ -67581,7 +71688,8 @@ 3236044800,3236052991,CA 3236052992,3236069375,US 3236069376,3236102143,CA -3236102144,3236106239,PH +3236102144,3236102399,US +3236102400,3236106239,PH 3236106240,3236140031,US 3236140032,3236142079,CA 3236142080,3236142335,US @@ -67592,13 +71700,13 @@ 3236143007,3236143103,CA 3236143104,3236163519,US 3236163520,3236163583,IE -3236163584,3236167679,US -3236167680,3236175871,CA +3236163584,3236167935,US +3236167936,3236175871,CA 3236175872,3236200447,US 3236200448,3236233215,MY 3236233216,3236237567,US 3236237568,3236237936,EU -3236237937,3236238591,US +3236237937,3236239359,US 3236239360,3236241407,CA 3236241408,3236291071,US 3236291072,3236291327,GB @@ -67608,21 +71716,24 @@ 3236312320,3236312575,GH 3236312576,3236312831,GR 3236312832,3236313087,QA -3236313088,3236368127,US +3236313088,3236365567,US +3236365568,3236365823,CA +3236365824,3236368127,US 3236368128,3236368383,AU 3236368384,3236372991,US 3236372992,3236373247,AU -3236373504,3236379391,US +3236373248,3236373503,US +3236373504,3236373759,BS +3236373760,3236379391,US 3236379392,3236379647,AU -3236379648,3236380927,US +3236379648,3236381183,US 3236381184,3236381439,CA 3236381440,3236381695,NL 3236381696,3236383999,US 3236384000,3236384255,AU 3236384256,3236385279,US 3236385280,3236385535,NL -3236385536,3236385791,US -3236386304,3236387071,US +3236385536,3236387071,US 3236387072,3236387327,CA 3236387328,3236387839,US 3236387840,3236389375,PR @@ -67634,7 +71745,7 @@ 3236395008,3236395519,BR 3236395520,3236396799,US 3236396800,3236397055,AU -3236397056,3236398591,US +3236397056,3236398847,US 3236398848,3236399359,AU 3236399616,3236400127,US 3236400128,3236400383,CL @@ -67648,14 +71759,15 @@ 3236409088,3236409599,BR 3236409600,3236411135,US 3236411136,3236411391,AU -3236411392,3236413695,US +3236411392,3236412415,US +3236412416,3236412671,CA +3236412672,3236413695,US 3236413696,3236413951,AU 3236413952,3236416255,US 3236416256,3236416511,AU 3236416512,3236418303,US 3236418304,3236418815,AU -3236418816,3236419071,US -3236419328,3236419583,US +3236418816,3236419583,US 3236419584,3236419839,AU 3236419840,3236420095,US 3236420096,3236420351,AU @@ -67664,16 +71776,18 @@ 3236425216,3236427519,US 3236427520,3236427775,CA 3236427776,3236428031,AU -3236428800,3236429311,US +3236428032,3236429311,US 3236429312,3236429567,MU -3236429824,3236438015,US +3236429568,3236438015,US 3236446208,3236447487,US 3236447488,3236447743,AP 3236447744,3236450047,US 3236450048,3236450303,EU 3236450304,3236462591,US 3236462592,3236470783,AU -3236470784,3236566783,US +3236470784,3236560895,US +3236560896,3236561151,CA +3236561152,3236566783,US 3236566784,3236567039,CA 3236567040,3236575743,US 3236575744,3236575999,AU @@ -67684,8 +71798,9 @@ 3236604928,3236610047,US 3236610560,3236611071,US 3236611072,3236612095,CA -3236612096,3236617471,US -3236617728,3236617983,US +3236612096,3236613119,US +3236613120,3236613375,CA +3236613376,3236617983,US 3236617984,3236619775,CA 3236619776,3236620031,US 3236620032,3236620287,AU @@ -67693,11 +71808,11 @@ 3236623616,3236623871,AU 3236623872,3236625919,US 3236625920,3236626175,CA -3236626432,3236638719,US +3236626176,3236638719,US 3236638720,3236642815,BB 3236642816,3236659199,US 3236659200,3236691967,CA -3236691968,3236694271,US +3236691968,3236695039,US 3236695040,3236696063,CA 3236696064,3236757503,US 3236757504,3236765695,CA @@ -67727,9 +71842,9 @@ 3236787968,3236788223,JP 3236788224,3236788479,US 3236788480,3236789503,GB -3236789504,3236823039,US -3236823040,3236826111,CH -3236826112,3236827135,CA +3236789504,3236823295,US +3236823296,3236825855,CH +3236825856,3236827135,CA 3236827136,3236828415,US 3236828416,3236828671,A1 3236828672,3236958207,US @@ -67747,12 +71862,16 @@ 3237050368,3237051903,US 3237051904,3237052159,TR 3237052160,3237052287,CA -3237052288,3237154815,US +3237052288,3237125295,US +3237125296,3237125311,CR +3237125312,3237154815,US 3237154816,3237155839,ES 3237155840,3237156863,AU 3237156864,3237182463,US 3237182464,3237183487,NL -3237183488,3237216255,US +3237183488,3237205247,US +3237205504,3237206015,CA +3237206016,3237216255,US 3237216256,3237281791,JP 3237281792,3237284607,US 3237284608,3237284863,AU @@ -67783,19 +71902,19 @@ 3237320704,3237320959,UA 3237320960,3237321471,US 3237321472,3237321727,AU -3237321728,3237321983,US -3237322752,3237325055,US +3237321728,3237322751,US +3237322752,3237323263,CA +3237323264,3237325055,US 3237325056,3237325311,NL 3237325312,3237325823,US 3237325824,3237326079,CA -3237326080,3237328127,US -3237328384,3237328639,US +3237326080,3237328639,US 3237328640,3237328895,CA 3237328896,3237329151,US 3237329152,3237329407,NZ 3237329664,3237330943,US 3237330944,3237331199,AU -3237331456,3237331711,US +3237331200,3237331711,US 3237331968,3237332223,AU 3237332224,3237335039,US 3237335040,3237335295,AU @@ -67812,7 +71931,9 @@ 3237346304,3237366015,US 3237366016,3237366271,AU 3237366272,3237412863,US -3237412864,3237415935,GB +3237412864,3237413119,CA +3237413120,3237415679,GB +3237415680,3237415935,US 3237415936,3237416959,CA 3237416960,3237478399,US 3237478400,3237511167,LK @@ -67832,15 +71953,19 @@ 3237576704,3237609471,CA 3237609472,3237613567,US 3237613568,3237614591,CA -3237615104,3237615615,US +3237614592,3237615615,US 3237615616,3237616895,CA -3237617152,3237622015,US +3237616896,3237622015,US 3237622016,3237622271,AP 3237622272,3237634601,US 3237634602,3237634603,EU 3237634604,3237647103,US 3237647104,3237647359,AU -3237647360,3237681663,US +3237647360,3237655039,US +3237655040,3237655551,IN +3237655552,3237675007,US +3237675008,3237675263,CA +3237675264,3237681663,US 3237681664,3237682943,CA 3237682944,3237684991,US 3237684992,3237685247,CL @@ -67860,6 +71985,8 @@ 3237724928,3237725183,AU 3237725184,3237725439,CA 3237725440,3237725695,US +3237725696,3237726207,CA +3237726208,3237726463,US 3237726464,3237726719,AU 3237726720,3237726975,GH 3237726976,3237727231,US @@ -67873,12 +72000,14 @@ 3237781504,3237785599,CA 3237785600,3237797887,US 3237797888,3237801983,CA -3237801984,3237857535,US +3237801984,3237858303,US 3237858304,3237863423,CA 3237863424,3237867519,US 3237867520,3237867775,HK 3237867776,3237868031,GB -3237868032,3237869311,US +3237868032,3237868159,US +3237868160,3237868287,AU +3237868288,3237869311,US 3237869312,3237869439,KR 3237869440,3237869567,JP 3237869568,3237869823,AU @@ -67889,7 +72018,7 @@ 3237870592,3237870847,DE 3237870848,3237870975,KR 3237870976,3237871103,JP -3237871104,3237871231,PH +3237871104,3237871231,TH 3237871232,3237871359,TW 3237871360,3237871487,SG 3237871488,3237871615,MY @@ -68001,36 +72130,33 @@ 3238541568,3238541823,PL 3238541824,3238542591,CH 3238542592,3238542847,PL -3238542848,3238543103,CH 3238543360,3238545407,CH 3238545920,3238546431,RU 3238546432,3238546943,CH 3238546944,3238547455,UA -3238548480,3238548991,CH 3238548992,3238549503,CZ -3238549504,3238559231,CH +3238549504,3238557695,CH 3238559232,3238559487,SE -3238559744,3238562559,CH +3238559744,3238562303,CH 3238562560,3238562815,IR 3238562816,3238573567,CH 3238573568,3238574079,PL -3238574080,3238574591,CH 3238575104,3238575615,DE 3238575616,3238578431,CH 3238578432,3238578687,UA -3238578688,3238578943,CH 3238578944,3238579199,RU 3238579200,3238579455,CH -3238580224,3238589951,CH +3238580224,3238588415,CH +3238589696,3238589951,CH 3238589952,3238590207,LT -3238590208,3238590719,CH +3238590464,3238590719,CH 3238590976,3238591231,SA 3238591232,3238592511,CH 3238592512,3238594559,GB 3238594560,3238595583,BE 3238595584,3238595839,SI 3238595840,3238596095,EU -3238596096,3238596607,GB +3238596096,3238596351,GB 3238596608,3238596863,BG 3238596864,3238597119,RU 3238597120,3238597375,DE @@ -68193,7 +72319,6 @@ 3239120896,3239121663,DE 3239121664,3239121919,FR 3239121920,3239123967,DE -3239124992,3239127039,DE 3239127296,3239127551,PL 3239127552,3239127807,IL 3239127808,3239128063,RU @@ -68376,7 +72501,6 @@ 3239506432,3239506687,RU 3239506688,3239506943,GB 3239507200,3239507455,GB -3239507456,3239507967,DE 3239507968,3239508223,BG 3239508224,3239508479,SA 3239508480,3239508735,NO @@ -68555,7 +72679,8 @@ 3239740416,3239740671,DK 3239740928,3239741183,UA 3239741184,3239741439,RU -3239741440,3239759871,DE +3239741440,3239744511,DE +3239747584,3239759871,DE 3239760128,3239760383,UA 3239761408,3239761663,RU 3239761920,3239762175,BG @@ -68705,14 +72830,13 @@ 3239899136,3239901695,DE 3239901696,3239901951,BG 3239901952,3239902207,DE -3239902464,3239902719,RU 3239902720,3239902975,EE 3239903232,3239904255,DE 3239904512,3239904767,GB 3239905536,3239905791,DE 3239907328,3239907583,UA 3239908096,3239908351,RU -3239908352,3239910399,DE +3239908864,3239910399,DE 3239912960,3239913215,DE 3239913216,3239913471,LT 3239914240,3239914495,DE @@ -68749,7 +72873,6 @@ 3239968512,3239968767,PL 3239968768,3239969023,NO 3239969536,3239970047,DE -3239970816,3239971839,DE 3239972864,3239974911,DE 3239974912,3239975935,GB 3239975936,3239976191,RO @@ -68790,7 +72913,7 @@ 3240034560,3240035327,DE 3240036096,3240037375,DE 3240037888,3240038143,AT -3240038400,3240040447,DE +3240038912,3240039423,DE 3240049664,3240050687,DE 3240054784,3240058879,DE 3240067072,3240083455,DE @@ -68829,7 +72952,9 @@ 3240116224,3240116479,DE 3240116480,3240116735,DK 3240116736,3240117247,GB -3240117248,3240118271,EU +3240117248,3240117260,EU +3240117261,3240117261,UA +3240117262,3240118271,EU 3240118272,3240120319,ES 3240120320,3240120831,IR 3240120832,3240121343,GB @@ -69164,7 +73289,8 @@ 3240595456,3240607743,GB 3240609792,3240611839,DE 3240611840,3240613887,GB -3240615936,3240622079,GB +3240615936,3240620031,GB +3240621824,3240622079,GB 3240622080,3240622591,RU 3240622848,3240623103,GB 3240624128,3240689663,EE @@ -69198,7 +73324,6 @@ 3240710912,3240711167,FR 3240711168,3240711679,IT 3240711680,3240711935,RU -3240711936,3240712191,DE 3240712192,3240712447,UA 3240712448,3240712703,SI 3240712704,3240712959,CH @@ -69249,7 +73374,6 @@ 3240742656,3240742911,AT 3240742912,3240743423,IL 3240743424,3240743935,PL -3240743936,3240744447,DE 3240744448,3240744959,SE 3240744960,3240745471,RO 3240745472,3240745983,UA @@ -69433,12 +73557,11 @@ 3241078016,3241078271,PL 3241078272,3241078527,ES 3241078528,3241078783,DE -3241078784,3241082879,AT +3241080832,3241082879,AT 3241082880,3241083135,FR 3241083136,3241084927,CH 3241084928,3241085183,AP 3241085184,3241091071,CH -3241099264,3241100287,CH 3241101056,3241101311,DK 3241101312,3241101567,RO 3241101568,3241101823,DE @@ -69521,7 +73644,6 @@ 3241499648,3241499903,BE 3241499904,3241500159,DE 3241500160,3241500671,GB -3241500672,3241501439,BE 3241501440,3241501440,GB 3241501441,3241501695,EU 3241501696,3241501696,GB @@ -69530,21 +73652,18 @@ 3241503232,3241503487,RS 3241503488,3241508095,BE 3241508096,3241508351,NL -3241508352,3241508607,BE 3241508864,3241539839,BE -3241540864,3241541119,BE 3241541376,3241541631,PL 3241541632,3241689087,FR 3241693184,3241699327,FR 3241699840,3241700095,SE 3241700352,3241721855,FR 3241722112,3241722367,FR -3241724160,3241724415,FR 3241724416,3241724671,RU -3241724672,3241724927,FR 3241725952,3241742335,FR 3241743360,3241743615,DE -3241744128,3241763071,FR +3241744384,3241745407,FR +3241746432,3241763071,FR 3241763072,3241763327,DE 3241764864,3241803775,FR 3241803776,3241803823,CY @@ -69557,7 +73676,6 @@ 3241822208,3241824255,CZ 3241824256,3241840639,BE 3241841664,3241842175,BE -3241842688,3241843455,BE 3241843456,3241843711,CH 3241843712,3241848831,BE 3241852928,3241854463,SK @@ -69678,7 +73796,6 @@ 3243565056,3243569151,GB 3243570432,3243570687,CZ 3243570688,3243570943,PL -3243571456,3243571711,CZ 3243571968,3243572223,GR 3243572224,3243572479,CZ 3243572992,3243573247,RU @@ -69916,7 +74033,6 @@ 3244862720,3244862975,RO 3244862976,3244863231,DE 3244863232,3244863487,GB -3244863488,3244863743,KZ 3244863744,3244863999,RU 3244864000,3244864255,UA 3244864256,3244864511,GB @@ -70015,7 +74131,6 @@ 3244890880,3244891135,RU 3244891392,3244891647,PL 3244891648,3244891903,UA -3244891904,3244892159,RO 3244892160,3244892415,PL 3244892416,3244892671,NL 3244892672,3244892927,ES @@ -70064,7 +74179,6 @@ 3244904448,3244904703,GR 3244904960,3244905215,BY 3244905216,3244905471,MD -3244905472,3244905727,GB 3244905728,3244905983,GR 3244905984,3244906239,AT 3244906240,3244906495,DE @@ -70115,7 +74229,6 @@ 3244919296,3244919551,SE 3244919552,3244919807,DE 3244919808,3244920063,RO -3244920064,3244920319,RU 3244920320,3244920575,SK 3244920576,3244920831,PL 3244920832,3244921087,NL @@ -70127,7 +74240,6 @@ 3244922368,3244922623,GB 3244922880,3244923135,UA 3244923136,3244923391,AT -3244923392,3244923647,EU 3244923648,3244923903,LV 3244923904,3244924159,RU 3244924160,3244924927,CZ @@ -70182,7 +74294,6 @@ 3244938752,3244939007,AT 3244939008,3244939263,NL 3244939264,3244939519,UA -3244939520,3244939775,FR 3244939776,3244940031,GB 3244940032,3244940287,UA 3244940288,3244940543,DK @@ -70221,8 +74332,7 @@ 3244951552,3244952575,FI 3244952576,3244953599,GB 3244953600,3244954623,DE -3244955648,3244956671,UA -3244956672,3244957695,LT +3244955648,3244957695,UA 3244958720,3244959743,FR 3244959744,3244960767,RU 3244960768,3244961791,RO @@ -71090,12 +75200,16 @@ 3248603136,3248603391,BG 3248603392,3248603647,RU 3248603648,3248604159,NO -3248606208,3248619519,NO +3248606976,3248619519,NO 3248619520,3248624383,DK 3248624384,3248624639,US 3248624640,3248624895,DK 3248624896,3248625151,AP -3248625152,3248719871,DK +3248625152,3248626175,DK +3248626176,3248626176,EU +3248626177,3248626190,DK +3248626191,3248626191,US +3248626192,3248719871,DK 3248719872,3248720127,EU 3248720128,3248748543,DK 3248748544,3248748573,EU @@ -71295,9 +75409,7 @@ 3249279744,3249279999,EU 3249280000,3249313279,NL 3249313280,3249313535,EU -3249313536,3249369855,NL -3249369856,3249370111,EU -3249370112,3249405951,NL +3249313536,3249405951,NL 3249405952,3249521279,DE 3249521280,3249521343,UA 3249521344,3249537023,DE @@ -71315,8 +75427,6 @@ 3249574912,3249590527,NL 3249590528,3249590783,FR 3249592320,3249598463,NL -3249598976,3249599743,NL -3249600000,3249600255,NL 3249600256,3249600511,AT 3249600512,3249601535,UA 3249601536,3249601791,RU @@ -71328,7 +75438,7 @@ 3249677056,3249677311,SE 3249678336,3249678847,IE 3249679104,3249679359,CH -3249679360,3249682431,IE +3249681664,3249681919,IE 3249683456,3249684479,SE 3249684480,3249696767,IE 3249697280,3249697535,IE @@ -71408,7 +75518,8 @@ 3249829888,3249830143,GB 3249830144,3249830399,SE 3249830400,3249830655,IT -3249830656,3249844479,SE +3249830656,3249830911,DK +3249830912,3249844479,SE 3249844480,3249844735,AT 3249844736,3249844991,AU 3249844992,3249845759,SE @@ -71431,7 +75542,9 @@ 3249863680,3249863935,ES 3249863936,3249865471,SE 3249865472,3249865727,GB -3249865728,3249868543,SE +3249865728,3249868031,SE +3249868032,3249868287,DK +3249868288,3249868543,SE 3249868544,3249868799,DE 3249868800,3249869823,NL 3249869824,3249871103,SE @@ -71442,13 +75555,16 @@ 3249872384,3249872639,GB 3249872640,3249910271,SE 3249910272,3249910783,NL -3249910784,3249926143,SE +3249910784,3249924607,SE +3249924608,3249924863,NO +3249924864,3249926143,SE 3249926144,3249926399,AU 3249926400,3249926655,SE 3249926656,3249926911,BE 3249926912,3249929471,SE 3249929472,3249929983,CA -3249929984,3249931263,SE +3249929984,3249930239,NO +3249930240,3249931263,SE 3249931264,3249931775,NL 3249931776,3249932287,SE 3249932288,3249934335,US @@ -71557,7 +75673,8 @@ 3250245632,3250245887,TR 3250245888,3250246143,AT 3250246144,3250246399,GB -3250246656,3250257663,AT +3250246656,3250257151,AT +3250257408,3250257663,AT 3250257664,3250257919,PL 3250257920,3250258175,EU 3250258432,3250271231,AT @@ -71581,7 +75698,6 @@ 3250324992,3250325247,AE 3250325248,3250325503,MA 3250326528,3250327039,BH -3250327040,3250327295,SA 3250331648,3250335743,MT 3250335744,3250339839,KW 3250339840,3250348031,JO @@ -71636,7 +75752,8 @@ 3250413568,3250414079,UA 3250414080,3250414591,RO 3250414592,3250415103,SE -3250415104,3250415615,NL +3250415104,3250415359,NL +3250415360,3250415615,PL 3250415616,3250416127,FR 3250416128,3250417663,DE 3250417664,3250418175,IT @@ -71734,10 +75851,8 @@ 3250748416,3250749439,UA 3250749440,3250749695,GH 3250749696,3250749951,EU -3250750464,3250750537,FR -3250750538,3250750541,EU -3250750542,3250751487,FR -3250751488,3250751999,DE +3250750464,3250751487,FR +3250751488,3250751743,DE 3250752000,3250752511,CH 3250752512,3250753023,BG 3250753536,3250754047,DE @@ -71814,7 +75929,6 @@ 3251142144,3251142655,RO 3251142656,3251142911,DE 3251142912,3251143167,RU -3251143168,3251143423,AM 3251143424,3251143679,LV 3251143680,3251143935,NL 3251143936,3251144191,PL @@ -71844,7 +75958,6 @@ 3251151360,3251151615,DE 3251151872,3251152127,NL 3251152128,3251152639,RO -3251152640,3251152895,UA 3251152896,3251153151,RU 3251153408,3251153663,TR 3251153664,3251153919,FR @@ -72003,7 +76116,7 @@ 3251216256,3251216383,RU 3251216384,3251216639,GB 3251216640,3251216895,RO -3251216896,3251217151,BE +3251216896,3251217151,NL 3251217152,3251217407,GB 3251217408,3251217663,PL 3251217664,3251217919,SI @@ -72046,8 +76159,7 @@ 3251256832,3251257343,GB 3251257344,3251259903,BE 3251260416,3251261439,FR -3251261440,3251264255,CH -3251264256,3251265535,FR +3251263488,3251265535,FR 3251265536,3251267839,NL 3251267840,3251268351,GB 3251268352,3251268607,NL @@ -72068,12 +76180,13 @@ 3251272448,3251272703,AT 3251272704,3251272959,DE 3251272960,3251273471,FR -3251273472,3251290111,DE +3251273472,3251286015,DE +3251286016,3251288063,US +3251288064,3251290111,SG 3251290112,3251302399,GB 3251302400,3251306239,LI 3251306240,3251306495,EU 3251306496,3251307007,AT -3251307520,3251307775,MK 3251307776,3251308031,GB 3251308032,3251308543,RS 3251311104,3251311615,RS @@ -72296,7 +76409,6 @@ 3252518912,3252527103,NL 3252527104,3252535295,BE 3252541952,3252542207,CI -3252542208,3252542719,BE 3252543488,3252551679,BE 3252551680,3252563967,CH 3252563968,3252564479,RU @@ -72330,7 +76442,7 @@ 3252587264,3252587519,AT 3252587520,3252587775,UA 3252587776,3252588031,SE -3252588032,3252599807,CH +3252588544,3252599807,CH 3252600320,3252600575,NL 3252600576,3252600831,RU 3252600832,3252616703,CH @@ -72342,13 +76454,14 @@ 3252636672,3252636927,TR 3252636928,3252637183,DE 3252637184,3252637695,GB -3252637696,3252642303,CH +3252637696,3252641791,CH 3252642304,3252642559,UA 3252642560,3252642815,DK 3252642816,3252643071,NL 3252643072,3252643327,RO 3252643328,3252643583,CH -3252643840,3252682751,CH +3252645120,3252645375,CH +3252645888,3252682751,CH 3252682752,3252813823,HU 3252813824,3252830207,RO 3252830208,3252830719,MD @@ -72413,7 +76526,8 @@ 3252944896,3252945151,AT 3252945152,3252945407,GB 3252945408,3252945663,UA -3252945920,3252977663,AT +3252945920,3252947455,AT +3252948992,3252977663,AT 3252980992,3252981247,GB 3252981248,3252981503,RU 3252981504,3252981759,SE @@ -72429,16 +76543,20 @@ 3252984832,3252985087,FR 3252985088,3252985343,SE 3252985344,3252985855,RU -3252985856,3252989183,AT +3252988416,3252988927,AT 3252989440,3252989695,PL -3252989952,3252995071,AT +3252989952,3252994303,AT 3252995072,3252996095,CH -3252996096,3253004799,AT +3252996096,3253002239,AT +3253003008,3253003263,AT +3253004288,3253004799,AT 3253004800,3253005055,CZ 3253005056,3253006335,AT 3253006336,3253010431,DE 3253010432,3253075967,FI -3253075968,3253207039,RO +3253075968,3253139455,RO +3253139456,3253139711,MD +3253139712,3253207039,RO 3253207040,3253270527,RU 3253270528,3253271551,BY 3253271552,3253338111,RU @@ -72476,7 +76594,9 @@ 3253405564,3253405564,EU 3253405565,3253409791,SE 3253409792,3253410047,GB -3253410048,3253412351,SE +3253410048,3253411839,SE +3253411840,3253412095,US +3253412096,3253412351,SE 3253412352,3253412607,US 3253412608,3253416447,SE 3253416448,3253416703,GB @@ -72509,7 +76629,13 @@ 3253453568,3253454079,SE 3253454080,3253454335,GB 3253454336,3253454591,EU -3253454592,3253460735,SE +3253454592,3253454847,SE +3253454848,3253454848,NL +3253454849,3253455615,SE +3253455616,3253455871,US +3253455872,3253456383,SE +3253456384,3253456639,US +3253456640,3253460735,SE 3253460736,3253460991,IT 3253460992,3253461759,SE 3253461760,3253462015,PL @@ -72698,16 +76824,24 @@ 3253765280,3253765295,NL 3253765296,3253765311,BE 3253765312,3253765375,TR -3253765376,3253767615,GB +3253765376,3253766463,GB +3253766464,3253766527,NL +3253766528,3253767615,GB 3253767616,3253767675,IE 3253767676,3253767679,DE 3253767680,3253767711,GB 3253767712,3253767743,DE -3253767744,3253770983,GB +3253767744,3253768565,GB +3253768566,3253768566,DE +3253768567,3253770983,GB 3253770984,3253770984,DE 3253770985,3253771199,GB 3253771200,3253771263,IE -3253771264,3253773055,GB +3253771264,3253772063,GB +3253772064,3253772095,DE +3253772096,3253772191,GB +3253772192,3253772207,DE +3253772208,3253773055,GB 3253773056,3253773311,DE 3253773312,3253796863,GB 3253796864,3253862399,SE @@ -73143,19 +77277,19 @@ 3254962381,3254962381,NL 3254962382,3254962421,FR 3254962422,3254962422,NL -3254962423,3255119871,FR +3254962423,3255117823,FR 3255120640,3255120895,DE -3255120896,3255121919,FR -3255123200,3255123711,FR +3255121664,3255121919,FR 3255123712,3255123967,DE 3255123968,3255124991,FR 3255126016,3255126527,FR 3255126528,3255127551,EU -3255127808,3255128575,FR +3255128064,3255128575,FR 3255129856,3255130111,HR -3255130112,3255169023,FR +3255130112,3255130623,FR +3255132160,3255160831,FR +3255166976,3255169023,FR 3255172352,3255172607,DE -3255172608,3255173119,FR 3255173120,3255173631,GB 3255173632,3255173647,EU 3255173648,3255173711,GB @@ -73407,7 +77541,8 @@ 3255544576,3255544831,AT 3255544832,3255558143,CH 3255558400,3255558655,UA -3255558912,3255563263,CH +3255558912,3255559679,CH +3255560192,3255563263,CH 3255563776,3255564031,CH 3255564032,3255564287,RU 3255565312,3255565955,DE @@ -73421,16 +77556,24 @@ 3255599104,3255615487,CH 3255615488,3255623679,DE 3255623680,3255631871,BG -3255631872,3255660287,NL +3255631872,3255659519,NL 3255660288,3255660543,GR 3255660544,3255666175,NL 3255666432,3255666687,DE -3255667712,3255697407,NL +3255668224,3255697407,NL 3255697408,3255699711,SE 3255699712,3255699967,EU -3255699968,3255710719,SE +3255699968,3255704575,SE +3255704576,3255705087,FR +3255705088,3255710719,SE 3255710720,3255710975,ES -3255710976,3255724543,SE +3255710976,3255716351,SE +3255716352,3255716863,CH +3255716864,3255719167,SE +3255719168,3255719423,NO +3255719424,3255719679,SE +3255719680,3255719935,IT +3255719936,3255724543,SE 3255724544,3255725055,US 3255725056,3255725311,ES 3255725312,3255730943,SE @@ -73443,7 +77586,8 @@ 3255745536,3255745791,DK 3255745792,3255752959,SE 3255752960,3255753215,LI -3255753216,3255762943,SE +3255753216,3255762431,SE +3255762432,3255762943,BE 3255762944,3255771135,DE 3255779328,3255791615,DE 3255791616,3255792639,UA @@ -73452,9 +77596,10 @@ 3255794944,3255795711,RU 3255795712,3255798783,DE 3255799040,3255799295,SE -3255799296,3255800575,DE +3255799296,3255800319,DE 3255800576,3255800831,UA -3255800832,3255817215,DE +3255800832,3255801855,DE +3255802880,3255817215,DE 3255817216,3255817471,SE 3255817472,3255817727,ES 3255817728,3255820287,DE @@ -73512,7 +77657,8 @@ 3256489472,3256489983,GR 3256489984,3256490239,BE 3256490496,3256490751,CH -3256490752,3256524287,NL +3256491008,3256491263,NL +3256492032,3256524287,NL 3256524288,3256524799,DE 3256524800,3256549375,NL 3256549376,3256614911,TR @@ -73659,11 +77805,10 @@ 3256898048,3256898303,GB 3256898560,3256899071,TR 3256899072,3256899583,RU -3256905216,3256905471,GB -3256909824,3256915455,GB 3256915456,3256915711,RS 3256915712,3256915967,SE -3256918016,3256944639,GB +3256918016,3256934399,GB +3256942592,3256944639,GB 3256945408,3256945663,GB 3256945664,3256945919,SI 3256945920,3256946175,GB @@ -73671,7 +77816,7 @@ 3256946432,3256946687,UA 3256946944,3256947199,EU 3256947200,3256947711,DE -3256947712,3256958975,GB +3256948736,3256958975,GB 3256958976,3256959999,RO 3256960000,3256960255,SA 3256960256,3256960511,HU @@ -73719,7 +77864,6 @@ 3257059328,3257065471,GB 3257073664,3257092351,GB 3257092608,3257092863,RO -3257092864,3257093119,GB 3257093888,3257098239,GB 3257106432,3257139199,GB 3257139200,3257139455,DK @@ -73731,7 +77875,7 @@ 3257144576,3257144831,GB 3257144832,3257145087,FR 3257145088,3257145343,GB -3257147392,3257180159,GB +3257151488,3257180159,GB 3257180160,3257180415,TR 3257180416,3257180671,RU 3257180672,3257180927,EE @@ -73740,7 +77884,6 @@ 3257181440,3257181695,PL 3257181696,3257181951,FR 3257182208,3257182463,PL -3257184256,3257186303,GB 3257192448,3257196543,GB 3257196544,3257200639,LU 3257200640,3257204735,GB @@ -73749,7 +77892,6 @@ 3257229312,3257268223,AT 3257268224,3257268479,UA 3257268480,3257268735,SE -3257268992,3257269247,AT 3257269248,3257269503,IT 3257269504,3257269759,AT 3257270016,3257270271,DE @@ -73766,9 +77908,8 @@ 3257372672,3257382911,DE 3257382912,3257383167,NL 3257383168,3257383679,DE -3257383936,3257389055,DE +3257383936,3257385983,DE 3257390592,3257390847,DE -3257391104,3257391615,DE 3257391616,3257391871,EU 3257391872,3257401343,DE 3257401344,3257453567,CH @@ -73786,9 +77927,7 @@ 3257472000,3257472511,SG 3257472512,3257475071,FI 3257476864,3257477119,DE -3257481216,3257481471,GB 3257481472,3257481727,DE -3257481728,3257481983,FI 3257482240,3257482751,GB 3257482752,3257483007,NL 3257483008,3257491455,CH @@ -73882,8 +78021,10 @@ 3257990656,3257990911,AT 3257991168,3258003967,DE 3258003968,3258004479,RU -3258004992,3258005503,DE -3258006528,3258021887,DE +3258004992,3258005247,DE +3258006528,3258015743,DE +3258019328,3258019583,DE +3258019840,3258021887,DE 3258021888,3258022911,RU 3258022912,3258023167,PL 3258023168,3258023423,DE @@ -74012,7 +78153,7 @@ 3258105600,3258105855,DE 3258105856,3258109951,CZ 3258109952,3258110207,DK -3258110208,3258110975,CZ +3258110464,3258110975,CZ 3258111232,3258111487,CZ 3258111488,3258111743,PL 3258111744,3258118399,CZ @@ -74035,7 +78176,7 @@ 3258297344,3258297599,BE 3258297600,3258298111,NL 3258298112,3258298367,GB -3258298368,3258318847,NL +3258302464,3258318847,NL 3258318848,3258320895,DE 3258320896,3258321919,GB 3258321920,3258322943,RU @@ -74072,17 +78213,17 @@ 3258428416,3258449919,DE 3258449920,3258486783,CH 3258486784,3258487807,LI -3258488832,3258503935,CH +3258488832,3258499071,CH +3258501120,3258503935,CH 3258503936,3258504191,PL -3258504192,3258504703,CH 3258504704,3258504959,DE 3258504960,3258505215,IL -3258505216,3258506495,CH +3258505728,3258506495,CH 3258506496,3258506751,DE -3258507008,3258515455,CH +3258507264,3258515455,CH 3258515456,3258580991,FR 3258580992,3258646527,RU -3258646528,3258689535,DE +3258646528,3258688511,DE 3258689792,3258690047,DE 3258690560,3258690815,EU 3258690816,3258691583,DE @@ -74133,7 +78274,7 @@ 3258776064,3258776319,GE 3258776320,3258776575,PL 3258776576,3258777599,UA -3258777600,3258789887,GB +3258785792,3258789887,GB 3258789888,3258790911,CZ 3258790912,3258792191,RU 3258792192,3258792447,PL @@ -74144,10 +78285,11 @@ 3258794496,3258794751,PL 3258794752,3258795007,RU 3258795008,3258796031,PL -3258797568,3258802175,GB +3258797568,3258798079,GB +3258801152,3258802175,GB 3258802176,3258806271,LU 3258808832,3258809343,GB -3258812416,3258813439,GB +3258814464,3258816511,GB 3258818048,3258818303,SE 3258818560,3258843135,GB 3258843136,3258843391,RU @@ -74158,13 +78300,14 @@ 3258849280,3258859519,GB 3258859520,3258859775,BY 3258859776,3258860031,GB -3258860288,3258900479,GB -3258901504,3258902783,GB +3258860544,3258900479,GB +3258902528,3258902783,GB 3258903040,3258903295,FR 3258903296,3258903551,GB 3258903552,3258903807,DE 3258903808,3258904063,AT -3258904064,3258941439,GB +3258904064,3258904575,GB +3258908672,3258941439,GB 3258941440,3258943487,PL 3258943488,3258944511,BG 3258944512,3258945535,RU @@ -74200,9 +78343,13 @@ 3259252480,3259252735,EU 3259252736,3259258623,SE 3259258624,3259258879,ES -3259258880,3259262719,SE +3259258880,3259260927,SE +3259260928,3259261183,DK +3259261184,3259262719,SE 3259262720,3259262975,DK -3259262976,3259276287,SE +3259262976,3259265023,SE +3259265024,3259265535,DE +3259265536,3259276287,SE 3259276288,3259276543,ES 3259276544,3259280639,SE 3259280640,3259280895,US @@ -74251,7 +78398,9 @@ 3259435264,3259435519,IT 3259435520,3259438079,SE 3259438080,3259438335,ES -3259438336,3259454719,SE +3259438336,3259438591,SE +3259438592,3259439103,NO +3259439104,3259454719,SE 3259454720,3259454975,EU 3259454976,3259457279,SE 3259457280,3259457535,IT @@ -74263,23 +78412,29 @@ 3259479808,3259480063,DK 3259480064,3259480831,SE 3259480832,3259481087,ES -3259481088,3259490303,SE +3259481088,3259484671,SE +3259484672,3259485183,ES +3259485184,3259490303,SE 3259490304,3259490815,IN 3259490816,3259491071,SE 3259491072,3259491327,LI -3259491328,3259498495,SE +3259491328,3259495935,SE +3259495936,3259496447,DK +3259496448,3259498495,SE 3259498496,3259541503,GB 3259541504,3259543551,NL 3259543552,3259760639,GB -3259760640,3259814399,DE +3259760640,3259811839,DE +3259813888,3259814399,DE 3259814400,3259814655,AT -3259814656,3259821055,DE +3259814656,3259817983,DE +3259819008,3259821055,DE 3259821824,3259822079,AT 3259822592,3259823103,DE 3259823104,3259823615,RO 3259823616,3259823871,NO 3259823872,3259824127,IE -3259825152,3259825663,DE +3259825408,3259825663,DE 3259826176,3259891711,DE 3259891712,3259893503,BE 3259893504,3259893759,EU @@ -74413,10 +78568,12 @@ 3261213696,3261239237,FR 3261239238,3261239238,EU 3261239239,3261267967,FR -3261267968,3261280512,DE +3261267968,3261278207,DE +3261280256,3261280512,DE 3261280513,3261280513,EU 3261280514,3261280767,DE -3261281280,3261297663,DE +3261281280,3261296639,DE +3261296896,3261297151,DE 3261297664,3261297919,RU 3261297920,3261298175,PL 3261298176,3261333503,DE @@ -74429,7 +78586,9 @@ 3261532416,3261532671,GB 3261532672,3261532927,SE 3261532928,3261533183,GB -3261533184,3261534207,SE +3261533184,3261533439,SE +3261533440,3261533695,US +3261533696,3261534207,SE 3261534208,3261534463,NL 3261534464,3261534719,SE 3261534720,3261534975,US @@ -74669,15 +78828,15 @@ 3262185472,3262200319,DE 3262200576,3262200831,EU 3262200832,3262201087,DE -3262201856,3262224383,DE +3262201856,3262222335,DE +3262223360,3262223871,DE 3262224896,3262225151,AT 3262226432,3262227455,DE 3262227712,3262227967,RO -3262227968,3262228223,DE 3262228480,3262228735,DE -3262228992,3262229247,DE 3262229248,3262229503,NL -3262229504,3262283775,DE +3262229760,3262230015,DE +3262230528,3262283775,DE 3262283776,3262284799,RU 3262284800,3262285823,UA 3262286848,3262287871,SE @@ -74903,7 +79062,7 @@ 3262840320,3262906367,NL 3262906368,3262954495,CH 3262954496,3262955519,LI -3262955520,3262964991,CH +3262955520,3262964735,CH 3262964992,3262965247,DE 3262965248,3262971903,CH 3262971904,3263029247,IE @@ -74999,11 +79158,16 @@ 3263138560,3263138815,AT 3263138816,3263168511,DE 3263168512,3263430655,GB -3263430656,3263436543,SE +3263430656,3263433471,SE +3263433472,3263433727,NO +3263433728,3263436543,SE 3263436544,3263436799,ES -3263436800,3263443455,SE +3263436800,3263438591,SE +3263438592,3263438847,IT +3263438848,3263443455,SE 3263443456,3263443967,NL -3263443968,3263446527,SE +3263443968,3263446271,SE +3263446272,3263446527,CH 3263446528,3263447039,DE 3263447040,3263458047,SE 3263458048,3263458303,DE @@ -75012,13 +79176,31 @@ 3263459840,3263460095,SE 3263460096,3263460351,GB 3263460352,3263469567,SE -3263469568,3263470591,SG +3263469568,3263469663,SG +3263469664,3263469695,US +3263469696,3263469855,SG +3263469856,3263469887,US +3263469888,3263470591,SG 3263470592,3263475711,SE -3263475712,3263476735,JP +3263475712,3263476159,JP +3263476160,3263476191,GB +3263476192,3263476255,JP +3263476256,3263476287,GB +3263476288,3263476415,JP +3263476416,3263476479,GB +3263476480,3263476671,JP +3263476672,3263476703,GB +3263476704,3263476735,JP 3263476736,3263478527,SE 3263478528,3263478783,ES 3263478784,3263480831,SE -3263480832,3263481855,JP +3263480832,3263481343,JP +3263481344,3263481359,GB +3263481360,3263481455,JP +3263481456,3263481471,GB +3263481472,3263481487,JP +3263481488,3263481503,GB +3263481504,3263481855,JP 3263481856,3263482879,SE 3263482880,3263483903,GB 3263483904,3263496191,SE @@ -75182,8 +79364,7 @@ 3264345088,3264346111,NL 3264346112,3264347135,SE 3264347136,3264348159,DE -3264348160,3264356351,FR -3264356608,3264356863,FR +3264352256,3264356351,FR 3264357632,3264357887,DE 3264359936,3264360191,FR 3264360448,3264369151,FR @@ -75233,23 +79414,27 @@ 3264430592,3264430847,CH 3264431104,3264431615,LI 3264431616,3264431871,CH -3264432128,3264440831,CH +3264432128,3264440575,CH 3264441344,3264441599,PL -3264442368,3264446463,CH +3264442368,3264442879,CH 3264447488,3264447743,CH 3264447744,3264447999,DE 3264448000,3264448511,CH -3264449536,3264452607,CH -3264454656,3264457471,CH +3264449536,3264450559,CH +3264452352,3264452607,CH +3264454656,3264455679,CH +3264456704,3264457215,CH 3264457472,3264457727,AT -3264457728,3264463871,CH +3264457984,3264458239,CH +3264458752,3264463871,CH 3264463872,3264466943,LI 3264466944,3264475391,CH 3264476416,3264476671,CH 3264476672,3264477183,RU 3264477184,3264477439,PL 3264477440,3264477695,RU -3264477952,3264544767,CH +3264478720,3264478975,CH +3264479232,3264544767,CH 3264544768,3264556799,HU 3264556800,3264557055,BG 3264557056,3264557823,HU @@ -75326,7 +79511,6 @@ 3264660992,3264661503,CH 3264661504,3264662015,GB 3264662016,3264662527,RU -3264662528,3264663039,UA 3264663040,3264663551,PL 3264663552,3264664063,NL 3264664064,3264664575,DE @@ -75436,7 +79620,6 @@ 3264847488,3264847615,RU 3264847616,3264847679,PL 3264847680,3264847743,FI -3264847808,3264847871,SE 3264847872,3264849919,DE 3264849920,3264850431,GB 3264850688,3264850943,LV @@ -75463,19 +79646,23 @@ 3264921600,3264929791,LU 3264929792,3264937983,SK 3264937984,3265003519,GB -3265003520,3265015807,DE +3265003520,3265005567,DE +3265007616,3265009663,DE +3265009664,3265009919,FR +3265009920,3265010175,DE +3265011712,3265015807,DE 3265015808,3265016063,EU 3265016064,3265018879,DE 3265018880,3265019903,HK 3265036288,3265044479,DE 3265044736,3265044991,DE 3265045760,3265046015,TR -3265046016,3265046271,DE 3265046528,3265048575,DE 3265050624,3265052671,DE -3265053696,3265054719,DE +3265053696,3265054207,DE 3265055232,3265055743,FR -3265055744,3265069055,DE +3265056256,3265056511,DE +3265056768,3265069055,DE 3265069056,3265134591,FI 3265134592,3265134863,CH 3265134864,3265134879,BE @@ -75594,12 +79781,12 @@ 3265825024,3265867775,GB 3265868288,3265868543,GB 3265868800,3265869055,DE -3265869312,3265869823,GB -3265871872,3265886207,GB +3265871872,3265875967,GB +3265880064,3265886207,GB 3265887232,3265887487,GB 3265887488,3265887743,PT 3265887744,3265888255,PL -3265888256,3265902335,GB +3265888256,3265901567,GB 3265902336,3265902591,FR 3265904384,3265904639,RO 3265904640,3265904895,DE @@ -75726,13 +79913,9 @@ 3266510848,3266543615,ES 3266543616,3266576383,IT 3266576384,3266616575,DE -3266617088,3266617279,DE 3266617328,3266617343,GB -3266617344,3266634271,DE -3266634368,3266634383,DE +3266617344,3266633727,DE 3266634392,3266634399,EE -3266634400,3266634431,DE -3266634496,3266634751,DE 3266635776,3266641919,DE 3266641920,3266707455,PL 3266707456,3266772991,DK @@ -75846,7 +80029,9 @@ 3267549184,3267550207,DK 3267550208,3267559423,EU 3267559424,3267624959,DE -3267624960,3267628399,EU +3267624960,3267627407,EU +3267627408,3267627411,GB +3267627412,3267628399,EU 3267628400,3267628415,FR 3267628416,3267630079,EU 3267630080,3267631095,GB @@ -76409,7 +80594,8 @@ 3270443008,3270508543,DK 3270508544,3270639615,FI 3270639616,3270640127,PL -3270640128,3270642175,RU +3270640128,3270640383,RU +3270640640,3270642175,RU 3270642176,3270642687,NO 3270642688,3270643199,DE 3270643200,3270643711,RU @@ -76457,7 +80643,6 @@ 3270903808,3270905855,SE 3270905856,3270906111,EU 3270906112,3270909951,IT -3270909952,3270911743,DE 3270911840,3270911871,PL 3270911872,3270911935,DE 3270911936,3270911967,PL @@ -76469,7 +80654,7 @@ 3270921216,3270921471,DK 3270921472,3270921727,UA 3270921728,3270922239,GB -3270922240,3270924287,DE +3270923264,3270924287,DE 3270926336,3270926591,AT 3270926592,3270926847,CH 3270926848,3270927103,PL @@ -76521,7 +80706,6 @@ 3270980864,3270981631,RU 3270981632,3270981887,IT 3270981888,3270982143,AT -3270982144,3270982399,RU 3270982400,3270982655,TR 3270982656,3270982911,UA 3270982912,3270983167,DK @@ -76657,7 +80841,6 @@ 3271916544,3271917311,UA 3271917312,3271925759,RU 3271925760,3271926015,DK -3271926016,3271926271,MD 3271926272,3271926527,RU 3271926528,3271926783,NL 3271926784,3271927295,SI @@ -76829,8 +81012,8 @@ 3272217152,3272217215,EU 3272217216,3272217279,BE 3272217280,3272217303,DE -3272217304,3272217319,BE -3272217320,3272217343,EU +3272217304,3272217327,BE +3272217328,3272217343,EU 3272217344,3272217599,GB 3272217600,3272217631,CH 3272217632,3272217855,EU @@ -77446,7 +81629,7 @@ 3273436672,3273437183,DE 3273437184,3273437695,RO 3273438208,3273438719,IL -3273438720,3273439231,RU +3273438720,3273439231,GB 3273439232,3273439743,RO 3273439744,3273440255,DE 3273440256,3273440767,RO @@ -78255,7 +82438,6 @@ 3275510400,3275510463,NL 3275510464,3275510527,GB 3275510528,3275510559,PL -3275510560,3275510591,DE 3275510592,3275510623,CY 3275510624,3275510655,EE 3275510656,3275510687,FR @@ -78499,7 +82681,9 @@ 3276031480,3276031487,FR 3276031488,3276032311,GB 3276032312,3276032319,FR -3276032320,3276039263,GB +3276032320,3276036543,GB +3276036544,3276036607,FR +3276036608,3276039263,GB 3276039264,3276039279,FR 3276039280,3276040351,GB 3276040352,3276040367,FR @@ -78658,7 +82842,9 @@ 3276473304,3276473311,AT 3276473312,3276474879,EU 3276474880,3276474927,IT -3276474928,3276478063,EU +3276474928,3276477975,EU +3276477976,3276477983,NL +3276477984,3276478063,EU 3276478064,3276478095,CH 3276478096,3276485631,EU 3276485632,3276486655,GB @@ -78807,7 +82993,9 @@ 3276876384,3276876415,NL 3276876416,3276880427,GB 3276880428,3276880431,DK -3276880432,3276882047,GB +3276880432,3276881811,GB +3276881812,3276881815,FR +3276881816,3276882047,GB 3276882048,3276882687,IT 3276882688,3276883077,GB 3276883078,3276883078,IT @@ -78815,7 +83003,9 @@ 3276883712,3276883839,IT 3276883840,3276886363,GB 3276886364,3276886367,DE -3276886368,3276890175,GB +3276886368,3276886649,GB +3276886650,3276886650,DE +3276886651,3276890175,GB 3276890176,3276890191,US 3276890192,3276892159,GB 3276892160,3276893183,IT @@ -78839,7 +83029,9 @@ 3276907520,3276907551,NL 3276907552,3276911167,GB 3276911168,3276911199,IT -3276911200,3276912207,GB +3276911200,3276911679,GB +3276911680,3276911711,IT +3276911712,3276912207,GB 3276912208,3276912215,IT 3276912216,3276912287,GB 3276912288,3276912319,IT @@ -78851,7 +83043,9 @@ 3276912880,3276912895,IT 3276912896,3276917231,GB 3276917232,3276917247,FR -3276917248,3276919375,GB +3276917248,3276919061,GB +3276919062,3276919062,DE +3276919063,3276919375,GB 3276919376,3276919391,DE 3276919392,3276919471,GB 3276919472,3276919479,DE @@ -79023,11 +83217,10 @@ 3277374464,3277375999,RU 3277376000,3277376511,NL 3277376512,3277377023,RO -3277377024,3277378559,RU +3277377024,3277378047,RU 3277378560,3277379071,HR 3277379072,3277379583,UZ 3277379584,3277380095,RS -3277380096,3277380607,RO 3277380608,3277381119,RU 3277381120,3277381631,KW 3277381632,3277382143,RU @@ -79579,7 +83772,7 @@ 3279994368,3279994879,GB 3279994880,3280003071,CZ 3280003072,3280003583,BG -3280003584,3280004095,UA +3280003584,3280004095,GB 3280004096,3280004607,PL 3280004608,3280005119,UA 3280005120,3280005631,HU @@ -79786,7 +83979,9 @@ 3280928832,3280928847,RU 3280928848,3280928855,GB 3280928856,3280928863,RU -3280928864,3280955707,GB +3280928864,3280952783,GB +3280952784,3280952799,DE +3280952800,3280955707,GB 3280955708,3280955711,DE 3280955712,3280958919,GB 3280958920,3280958927,DE @@ -79934,7 +84129,9 @@ 3281387520,3281453055,PL 3281453056,3281518591,RU 3281518592,3281649663,GB -3281649664,3281715199,FR +3281649664,3281710335,FR +3281710336,3281710591,KP +3281710592,3281715199,FR 3281715200,3281780735,TR 3281780736,3281846271,FI 3281846272,3281911807,GB @@ -80140,7 +84337,8 @@ 3283248128,3283248639,DE 3283248640,3283249151,RO 3283249152,3283249663,UA -3283249664,3283250175,RO +3283249664,3283249919,MD +3283249920,3283250175,RO 3283250176,3283250687,RU 3283251200,3283251711,FR 3283251712,3283252223,PL @@ -80174,7 +84372,6 @@ 3283490560,3283490815,PL 3283491072,3283491327,TR 3283491328,3283491583,AT -3283491584,3283491839,RO 3283491840,3283492095,RU 3283492096,3283492351,AT 3283492352,3283492607,ES @@ -80375,7 +84572,9 @@ 3284016384,3284016639,CH 3284016640,3284017151,DK 3284017152,3284025343,GR -3284025344,3284028287,GB +3284025344,3284028139,GB +3284028140,3284028143,US +3284028144,3284028287,GB 3284028288,3284028319,US 3284028320,3284029183,GB 3284029184,3284029199,US @@ -80384,7 +84583,9 @@ 3284030480,3284030495,FR 3284030496,3284030615,GB 3284030616,3284030623,SE -3284030624,3284033535,GB +3284030624,3284030991,GB +3284030992,3284031007,FR +3284031008,3284033535,GB 3284033536,3284041727,RU 3284041728,3284041983,DK 3284041984,3284042239,SI @@ -80631,9 +84832,7 @@ 3285098496,3285114879,GB 3285114880,3285115903,RU 3285115904,3285116415,SI -3285116416,3285116927,CZ 3285116928,3285117439,UA -3285117440,3285117951,RU 3285117952,3285118463,FR 3285118464,3285118975,UA 3285118976,3285119487,RU @@ -80871,12 +85070,11 @@ 3285912576,3285913647,EU 3285913648,3285913655,IE 3285913656,3285913703,GB -3285913704,3285913707,EU -3285913708,3285913711,FI +3285913704,3285913711,FI 3285913712,3285913863,GB 3285913864,3285913871,EU -3285913872,3285913887,GB -3285913888,3285917695,EU +3285913872,3285913903,GB +3285913904,3285917695,EU 3285917696,3285917703,GB 3285917704,3285917711,EU 3285917712,3285917807,GB @@ -80910,8 +85108,8 @@ 3285931544,3285935871,EU 3285935872,3285936127,GB 3285936128,3285936135,EU -3285936136,3285936143,FR -3285936144,3285939135,EU +3285936136,3285936147,FR +3285936148,3285939135,EU 3285939136,3285939175,GB 3285939176,3285939183,EU 3285939184,3285939191,GB @@ -80920,8 +85118,8 @@ 3285939760,3285939839,EU 3285939840,3285939967,GB 3285939968,3285940735,EU -3285940736,3285940743,IT -3285940744,3285941247,EU +3285940736,3285940767,IT +3285940768,3285941247,EU 3285941248,3285941503,ES 3285941504,3285949603,EU 3285949604,3285949607,CH @@ -80943,7 +85141,9 @@ 3285964800,3285964935,DE 3285964936,3285965055,EU 3285965056,3285965567,DE -3285965568,3285975039,EU +3285965568,3285968895,EU +3285968896,3285970943,GB +3285970944,3285975039,EU 3285975040,3286013695,FR 3286013696,3286013951,RE 3286013952,3286106111,FR @@ -81052,7 +85252,6 @@ 3286423808,3286424063,CZ 3286424064,3286424319,LV 3286424320,3286424575,FR -3286424576,3286424831,UA 3286424832,3286425087,TR 3286425088,3286425343,RU 3286425344,3286425599,IT @@ -81207,7 +85406,6 @@ 3286937600,3286937855,CH 3286937856,3286938111,RO 3286938112,3286938367,DE -3286938368,3286938623,ES 3286938624,3286938879,CH 3286939136,3286939391,RO 3286939392,3286939647,DE @@ -81320,7 +85518,6 @@ 3287444480,3287444991,PL 3287445504,3287446527,UA 3287446528,3287447039,PL -3287447040,3287447551,IL 3287447552,3287448063,DK 3287448064,3287448575,GB 3287448576,3287449087,PL @@ -81416,7 +85613,7 @@ 3287640064,3287640575,PL 3287640576,3287641087,SI 3287641088,3287641599,EU -3287642112,3287642623,UA +3287642112,3287642623,GB 3287642624,3287643135,BE 3287643136,3287643647,IT 3287643648,3287644671,UA @@ -81488,8 +85685,7 @@ 3287706112,3287706623,RU 3287706624,3287707135,GB 3287707648,3287708159,BE -3287708160,3287708671,NL -3287708672,3287709183,EU +3287708160,3287709183,NL 3287709184,3287709695,RU 3287709696,3287710207,SE 3287710208,3287710719,RU @@ -81782,7 +85978,7 @@ 3288779008,3288779263,ZA 3288779264,3288779775,KE 3288779776,3288780799,NG -3288781824,3288782591,ZA +3288780800,3288782591,ZA 3288782592,3288782847,KE 3288783872,3288784127,KE 3288784128,3288784895,ZA @@ -81866,6 +86062,11 @@ 3289186304,3289212159,ZA 3289212160,3289212415,MZ 3289212416,3289212927,NG +3289212928,3289213183,ZM +3289213184,3289213439,TZ +3289213440,3289213951,ZA +3289213952,3289214207,MA +3289214208,3289214463,AO 3289214976,3289215231,NG 3289215232,3289217279,ZA 3289217280,3289217535,KE @@ -81888,6 +86089,7 @@ 3289233920,3289234175,TZ 3289234176,3289235199,ZA 3289235200,3289235455,KE +3289235456,3289237503,GH 3289237504,3289237759,ZA 3289238528,3289238783,AO 3289238784,3289239039,ZA @@ -81901,7 +86103,12 @@ 3289248256,3289248511,NG 3289248512,3289248767,AO 3289248768,3289249023,EG +3289249024,3289249279,NG 3289249280,3289250815,ZA +3289250816,3289251071,GH +3289251072,3289251327,EG +3289251328,3289251583,ZA +3289251584,3289251839,KE 3289251840,3289319423,ZA 3289319424,3289319679,A2 3289319680,3289319935,ZA @@ -81939,7 +86146,9 @@ 3290031360,3290060287,ZA 3290060288,3290060543,SZ 3290060544,3290103807,ZA -3290103808,3290120191,CA +3290103808,3290110335,CA +3290110336,3290110367,US +3290110368,3290120191,CA 3290120192,3290128383,MU 3290128384,3290136575,ZW 3290136576,3290169343,NG @@ -81973,8 +86182,11 @@ 3290284032,3290288127,AO 3290288128,3290292223,NG 3290292224,3290296319,GH -3290296320,3290431487,ZA +3290296320,3290423295,ZA +3290423296,3290427391,NA +3290427392,3290431487,ZA 3290431488,3290433535,JM +3290435584,3290439679,DZ 3290439680,3290447871,TT 3290447872,3290456063,AR 3290456064,3290460159,MZ @@ -82006,10 +86218,10 @@ 3291078656,3291086847,DZ 3291086848,3291103231,PR 3291103232,3291123711,ZA -3291123712,3291127807,BG -3291127808,3291131903,ZA -3291131904,3291135999,BG -3291136000,3291148287,ZA +3291123712,3291135999,BG +3291136000,3291140095,ZA +3291140096,3291144191,BG +3291144192,3291148287,ZA 3291148288,3291152383,BG 3291152384,3291168767,ZA 3291168768,3291176959,TZ @@ -82162,6 +86374,7 @@ 3291548928,3291549183,MG 3291549184,3291549439,GH 3291549440,3291549695,UG +3291549696,3291549951,LR 3291611136,3291611391,ZA 3291742208,3292004351,US 3292004352,3292266495,SC @@ -82171,8 +86384,11 @@ 3300925440,3300929535,MG 3300933632,3300950015,MU 3300953088,3300954111,MU +3300954112,3300958207,NG 3300966400,3301113855,ZA -3301113856,3301146623,NG +3301113856,3301138431,NG +3301138432,3301140479,ZA +3301140480,3301146623,NG 3301146624,3301171199,ZA 3301171200,3301172223,IN 3301172224,3301175295,ZA @@ -82182,24 +86398,26 @@ 3301185536,3301187583,GB 3301187584,3301189631,FR 3301189632,3301191679,US -3301191680,3301191680,CA -3301191681,3301193727,SC +3301191680,3301193727,CA 3301193728,3301195775,JP 3301195776,3301197823,DE 3301197824,3301199871,GB 3301199872,3301201919,US -3301201920,3301203967,SC +3301201920,3301203967,NL 3301203968,3301204991,DK 3301204992,3301205247,SE 3301205248,3301206015,DK -3301206016,3301212159,SC -3301212160,3301214207,US +3301206016,3301208063,SC +3301208064,3301214207,US 3301214208,3301216255,SE 3301216256,3301220351,SC -3301220352,3301224447,SE -3301224448,3301228543,SC +3301220352,3301222399,SE +3301222400,3301224447,BE +3301224448,3301226495,SC +3301226496,3301228543,US 3301228544,3301230591,IE -3301230592,3301236735,SC +3301230592,3301232639,FI +3301232640,3301236735,SC 3301236736,3301238783,CA 3301238784,3301240831,US 3301240832,3301242879,SE @@ -82222,6 +86440,7 @@ 3301474304,3301490687,MA 3301490688,3301494783,ZA 3301494784,3301498879,ZM +3301502976,3301507071,MA 3301507328,3301507583,MU 3301507584,3301507839,GH 3301507840,3301508095,EG @@ -82275,7 +86494,8 @@ 3302498304,3302502399,NA 3302502400,3302505471,AO 3302505472,3302506495,NA -3302506496,3302514687,MU +3302506496,3302508543,KE +3302508544,3302514687,MU 3302522880,3302523903,KE 3302523904,3302525951,ZA 3302525952,3302526975,EG @@ -82307,6 +86527,10 @@ 3302544640,3302544895,MU 3302544896,3302545151,GH 3302545152,3302545407,ZA +3302545408,3302545919,CD +3302545920,3302546431,TZ +3302546432,3302546943,SL +3302546944,3302547455,KE 3302548480,3302548991,GH 3302548992,3302549503,ZA 3302549504,3302550015,KE @@ -82380,6 +86604,7 @@ 3302959360,3302959615,MG 3302959616,3302959871,TD 3302959872,3302960127,SC +3302960128,3302960383,LR 3302985728,3302987775,DJ 3304062976,3304456191,SC 3304456192,3304521727,NG @@ -82654,8 +86879,7 @@ 3322202112,3322203135,GB 3322203136,3322339583,US 3322339584,3322339839,GB -3322339840,3322353663,US -3322353664,3322354175,VI +3322339840,3322354175,US 3322354176,3322354431,JP 3322354432,3322609663,US 3322609664,3322610687,SA @@ -82917,9 +87141,7 @@ 3324943048,3324943055,CA 3324943056,3324980223,US 3324980224,3324981247,CA -3324981248,3324998399,US -3324998400,3324998655,A1 -3324998656,3325034495,US +3324981248,3325034495,US 3325034496,3325035519,NZ 3325035520,3325067263,US 3325067264,3325100287,CA @@ -82930,6 +87152,7 @@ 3325131776,3325132031,AU 3325132032,3325132799,US 3325132800,3325133823,CO +3325133824,3325134335,BR 3325134336,3325136127,US 3325136128,3325136383,CA 3325136384,3325142015,US @@ -82953,7 +87176,9 @@ 3325207808,3325207935,US 3325207936,3325208119,CA 3325208120,3325208123,US -3325208124,3325211419,CA +3325208124,3325208403,CA +3325208404,3325208407,US +3325208408,3325211419,CA 3325211420,3325211423,US 3325211424,3325211647,CA 3325211648,3325211775,US @@ -83300,8 +87525,7 @@ 3330640896,3330641151,CH 3330641152,3330646527,US 3330646528,3330647295,CA -3330647296,3330647807,US -3330648064,3330649599,US +3330647296,3330649599,US 3330649600,3330649855,CA 3330649856,3330662911,US 3330662912,3330663167,GB @@ -83362,9 +87586,7 @@ 3331102464,3331102719,CA 3331102720,3331194879,US 3331194880,3331260415,AU -3331260416,3331352575,US -3331352576,3331352831,A1 -3331352832,3331352919,US +3331260416,3331352919,US 3331352920,3331352920,A1 3331352921,3331353087,US 3331353088,3331353599,A1 @@ -83379,7 +87601,7 @@ 3331524608,3331527167,US 3331527168,3331527679,GB 3331527680,3331563519,US -3331563520,3331563775,CH +3331563520,3331563775,IN 3331563776,3331565567,US 3331565568,3331566079,CA 3331566080,3331632639,US @@ -83435,13 +87657,16 @@ 3332492032,3332500735,CA 3332500736,3332500991,US 3332500992,3332501247,CA +3332501248,3332501503,US 3332501504,3332503039,CA 3332503040,3332503551,US 3332503552,3332505343,CA 3332505344,3332505855,US 3332505856,3332508671,CA 3332508672,3332508927,US -3332508928,3332528127,CA +3332508928,3332525311,CA +3332525312,3332525823,US +3332525824,3332528127,CA 3332528128,3332529663,US 3332529664,3332554751,CA 3332554752,3332558847,US @@ -83489,8 +87714,8 @@ 3332876288,3332882431,US 3332882432,3332890623,KN 3332890624,3332897279,US -3332897280,3332898559,CA -3332898560,3332899071,US +3332897280,3332898815,CA +3332898816,3332899071,US 3332899072,3332906495,CA 3332906496,3332909567,US 3332909568,3332922879,CA @@ -83586,7 +87811,9 @@ 3334007552,3334007807,EU 3334007808,3334020095,US 3334020096,3334021119,CA -3334021120,3334138623,US +3334021120,3334068479,US +3334068480,3334068735,CA +3334068736,3334138623,US 3334138624,3334138879,BM 3334138880,3334187775,US 3334187776,3334188031,BM @@ -83689,7 +87916,8 @@ 3337682944,3337892607,US 3337892608,3337892671,HK 3337892672,3337893119,US -3337893120,3337893631,CN +3337893120,3337893375,CN +3337893376,3337893631,CA 3337893632,3337895679,US 3337895680,3337895935,CN 3337895936,3337900031,PR @@ -83697,13 +87925,13 @@ 3337948672,3337949183,CA 3337949184,3337957375,US 3337957376,3337958399,CA -3337958400,3337960447,US +3337958400,3337958783,US +3337958784,3337958784,CA +3337958785,3337960447,US 3337960448,3337961471,CA 3337961472,3337961727,US 3337961728,3337961983,CA -3337961984,3337963391,US -3337963392,3337963519,CA -3337963520,3337963639,US +3337961984,3337963639,US 3337963640,3337963647,CA 3337963648,3337964031,US 3337964032,3337964543,A2 @@ -83840,7 +88068,11 @@ 3338935040,3338935295,GB 3338935296,3338964991,US 3338964992,3338965247,CA -3338965248,3339075583,US +3338965248,3338976767,US +3338976768,3338977023,CA +3338977024,3338993407,US +3338993408,3338993663,CA +3338993664,3339075583,US 3339075584,3339076863,GB 3339076864,3339077631,JP 3339077632,3339077887,SG @@ -83860,8 +88092,7 @@ 3339093504,3339094015,NL 3339094016,3339142655,US 3339142656,3339142911,NL -3339142912,3339146239,US -3339146752,3339147007,US +3339142912,3339147007,US 3339147008,3339147775,CA 3339147776,3339148031,MS 3339148032,3339153407,US @@ -83884,11 +88115,13 @@ 3339261952,3339263999,HK 3339264000,3339327999,US 3339328512,3339329535,CA -3339329536,3339337727,US -3339337984,3339338239,US +3339329536,3339338239,US 3339338240,3339338495,CA -3339338496,3339669503,US +3339338496,3339342847,US +3339342848,3339343103,CA +3339343104,3339669503,US 3339669504,3339671807,CA +3339671808,3339672063,US 3339672576,3339679487,US 3339679488,3339679743,CN 3339679744,3339707391,US @@ -83938,7 +88171,9 @@ 3340387328,3340388351,CA 3340388352,3340390399,US 3340390400,3340391423,CA -3340391424,3340429823,US +3340391424,3340418559,US +3340418560,3340419071,CA +3340419072,3340429823,US 3340429824,3340430079,PA 3340430080,3340452863,US 3340452864,3340453887,CA @@ -83954,14 +88189,17 @@ 3340584704,3340584959,KW 3340584960,3340664831,US 3340664832,3340665855,CA -3340665856,3340666879,US -3340668416,3340677119,US +3340668928,3340677119,US 3340677120,3340679167,CA 3340679168,3340694783,US 3340694784,3340695039,CA -3340695040,3340857343,US +3340695040,3340851455,US +3340851456,3340851711,CA +3340851712,3340852479,US +3340852736,3340853247,CA +3340853248,3340857343,US 3340857344,3340858367,CA -3340859136,3340925567,US +3340858368,3340925567,US 3340925568,3340925575,DE 3340925576,3340925815,US 3340925816,3340925823,AU @@ -84009,9 +88247,10 @@ 3341518848,3341520895,CA 3341520896,3341521663,US 3341521664,3341531135,CA -3341531136,3341534207,US -3341534976,3341537279,CA -3341537280,3341546239,US +3341531136,3341533951,US +3341533952,3341534207,CA +3341534976,3341536767,CA +3341536768,3341546239,US 3341546240,3341547007,CA 3341547008,3341547519,CH 3341547520,3341549567,CA @@ -84090,7 +88329,9 @@ 3342603264,3342604799,US 3342604800,3342605311,CA 3342605312,3342605567,US -3342605568,3342663679,CA +3342605568,3342629631,CA +3342629632,3342629887,US +3342629888,3342663679,CA 3342663680,3342795007,US 3342795008,3342795263,AP 3342795264,3342831103,US @@ -84117,13 +88358,7 @@ 3343355904,3343364095,CA 3343364096,3343365631,US 3343365632,3343372543,CA -3343372800,3343378511,US -3343378512,3343378519,GB -3343378520,3343378535,US -3343378536,3343378543,GB -3343378544,3343378575,US -3343378576,3343378583,GB -3343378584,3343378823,US +3343372800,3343378823,US 3343378824,3343378839,SE 3343378840,3343379079,US 3343379080,3343379087,SE @@ -84322,7 +88557,9 @@ 3346327552,3346328575,CA 3346328576,3346329599,US 3346329600,3346330623,CA -3346330624,3346497535,US +3346330624,3346399231,US +3346399232,3346464767,FR +3346464768,3346497535,US 3346497536,3346498559,CA 3346498560,3346520063,US 3346520064,3346521087,CA @@ -84445,7 +88682,7 @@ 3350618112,3350619135,CA 3350619136,3350623231,US 3350623232,3350624255,CA -3350624256,3350626303,US +3350624256,3350625279,US 3350626304,3350628351,CA 3350628352,3350642687,US 3350642688,3350643711,TC @@ -84458,11 +88695,17 @@ 3350650880,3350790399,US 3350790400,3350814975,CA 3350814976,3350815231,US -3350815232,3350825727,CA +3350815232,3350823423,CA +3350823424,3350823935,US +3350823936,3350825727,CA 3350825728,3350825983,GB -3350825984,3350836223,CA +3350825984,3350834687,CA +3350834688,3350835199,US +3350835200,3350836735,CA 3350836736,3350836991,US -3350836992,3350843391,CA +3350836992,3350837247,CA +3350837248,3350837759,US +3350837760,3350843391,CA 3350843392,3350843647,US 3350843648,3350855679,CA 3350855680,3350862079,US @@ -84479,7 +88722,7 @@ 3351004160,3351005183,CA 3351005184,3351015423,US 3351015424,3351016447,CA -3351016448,3351028223,US +3351016448,3351027711,US 3351029760,3351030783,US 3351030784,3351031807,CA 3351031808,3351034879,US @@ -84491,7 +88734,9 @@ 3351043584,3351044095,CA 3351044096,3351047167,US 3351047168,3351047679,A1 -3351047680,3351071743,US +3351047680,3351058943,US +3351058944,3351059455,CA +3351059456,3351071743,US 3351071744,3351072767,CA 3351072768,3351074815,US 3351074816,3351076863,CA @@ -84505,7 +88750,9 @@ 3351112704,3351113727,CA 3351113728,3351129087,US 3351129088,3351130111,A2 -3351130112,3351232511,US +3351130112,3351196159,US +3351196160,3351196671,VG +3351196672,3351232511,US 3351232512,3351232767,IL 3351232768,3351275519,US 3351275520,3351276543,CA @@ -84626,6 +88873,7 @@ 3351441408,3351441919,US 3351441920,3351442175,CA 3351442176,3351474687,US +3351474688,3351475199,CA 3351475200,3351475711,US 3351475712,3351475967,IS 3351475968,3351483391,US @@ -84648,8 +88896,9 @@ 3351524096,3351524351,GB 3351524352,3351642111,US 3351642112,3351695871,CA +3351695872,3351696383,US 3351696384,3351696639,CA -3351696640,3351696895,US +3351696640,3351697407,US 3351697408,3351698431,CA 3351698432,3351699199,US 3351699200,3351699455,CA @@ -84672,7 +88921,9 @@ 3351933952,3351939071,US 3351939072,3351959551,CA 3351959552,3351961599,US -3351961600,3351965695,CA +3351961600,3351963647,CA +3351963648,3351964159,US +3351964160,3351965695,CA 3351965696,3351969279,US 3351969280,3351969535,CA 3351969536,3351969791,US @@ -84697,7 +88948,9 @@ 3352563200,3352563455,US 3352563456,3352573951,CA 3352573952,3352574463,US -3352574464,3352583935,CA +3352574464,3352581631,CA +3352581632,3352582143,US +3352582144,3352583935,CA 3352583936,3352584191,US 3352584192,3352591359,CA 3352591360,3352591615,US @@ -84767,7 +89020,9 @@ 3354686976,3354687231,CN 3354687232,3354687487,US 3354687488,3354688511,CA -3354688512,3354731018,US +3354688512,3354707455,US +3354707456,3354707967,CA +3354707968,3354731018,US 3354731019,3354731019,EU 3354731020,3354731519,US 3354731520,3354731775,AP @@ -84787,12 +89042,13 @@ 3354955776,3354956031,AR 3354956032,3354972159,US 3354972160,3354972415,CA -3354972416,3355013119,US -3355013120,3355017215,CA +3354972416,3355012607,US +3355012608,3355017215,CA 3355017216,3355052287,US 3355052288,3355053311,CA -3355053312,3355053567,US -3355054080,3355260927,US +3355053312,3355249151,US +3355249152,3355249663,CA +3355249664,3355260927,US 3355260928,3355262719,CA 3355262720,3355272189,US 3355272190,3355272190,EU @@ -84834,7 +89090,9 @@ 3355448832,3355449343,SX 3355449344,3355450367,CU 3355450368,3355451391,EC -3355451392,3355459327,BR +3355451392,3355458559,BR +3355458560,3355459071,HN +3355459072,3355459327,BR 3355459328,3355459583,EC 3355459584,3355459839,PA 3355459840,3355460095,VE @@ -84867,7 +89125,8 @@ 3355472640,3355473407,CL 3355473408,3355473919,PE 3355473920,3355475199,CL -3355475200,3355478015,MX +3355475200,3355477503,MX +3355477504,3355478015,BR 3355478016,3355478271,PE 3355478272,3355478783,US 3355478784,3355479039,VE @@ -84899,6 +89158,7 @@ 3355516928,3355525119,AR 3355525120,3355535359,CO 3355535360,3355537407,TT +3355537408,3355537663,BR 3355537664,3355537919,AR 3355538176,3355538431,CL 3355538432,3355539199,AR @@ -84992,7 +89252,7 @@ 3355843584,3355844863,EC 3355844864,3355845119,CL 3355845120,3355845375,EC -3355845376,3355848703,BR +3355845376,3355848959,BR 3355849728,3355849983,PA 3355849984,3355850495,CL 3355850496,3355850751,NI @@ -85010,7 +89270,7 @@ 3355885568,3355901951,GT 3355901952,3355902975,BR 3355902976,3355903999,CL -3355904000,3355905023,BR +3355904000,3355905535,BR 3355905536,3355905791,PY 3355905792,3355906047,AR 3355906048,3355910143,CL @@ -85018,7 +89278,9 @@ 3355918336,3355923455,EC 3355923456,3355924479,UY 3355924480,3355926527,TT -3355926528,3355930623,PA +3355926528,3355927039,NL +3355927040,3355928063,US +3355928064,3355930623,PA 3355930624,3355934719,BR 3355934720,3355939839,AR 3355939840,3355940863,SR @@ -85028,46 +89290,46 @@ 3355949056,3355951103,CW 3355951104,3355967487,EC 3355967488,3356033023,VE -3356033280,3356033791,BR +3356033024,3356033791,BR 3356033792,3356034047,CL 3356034048,3356035071,PY 3356035072,3356037119,MX 3356037120,3356041215,CO 3356041216,3356049407,CR 3356049408,3356049663,CL -3356049664,3356050175,BR -3356050432,3356051455,BR +3356049664,3356051455,BR 3356051456,3356051711,CO 3356051712,3356051967,CL 3356051968,3356052223,GT 3356052224,3356052479,AR -3356052480,3356052735,BR +3356052480,3356053247,BR 3356053248,3356054015,CL 3356054016,3356054527,US -3356054528,3356057599,BR +3356054528,3356056575,BR +3356056832,3356057087,BR +3356057088,3356057343,CO +3356057344,3356057599,BR 3356057600,3356057855,EC 3356057856,3356059135,CL 3356059136,3356060671,BR 3356060672,3356061695,CL 3356061696,3356062463,BR 3356062464,3356062719,JM -3356062720,3356062975,BR -3356062976,3356063231,CR -3356063232,3356063743,BR +3356062720,3356063743,CR 3356064000,3356064255,BR 3356064256,3356064511,CL -3356064768,3356065791,BR +3356064512,3356065791,BR 3356065792,3356066047,CL 3356066048,3356069119,BR 3356069120,3356069631,CL -3356069888,3356070143,BR +3356069632,3356070143,BR 3356070144,3356070655,CL 3356070656,3356070911,AR 3356070912,3356071423,BR 3356071424,3356072447,CL 3356073216,3356073471,AR -3356073472,3356075007,BR -3356075008,3356076287,BO +3356073472,3356075263,BR +3356075264,3356076287,BO 3356076288,3356078079,BR 3356078080,3356078335,EC 3356078336,3356079359,CL @@ -85112,7 +89374,13 @@ 3356102400,3356102655,PA 3356102656,3356105727,CL 3356105728,3356106751,SV -3356106752,3356113919,BR +3356106752,3356109263,BR +3356109264,3356109271,DE +3356109272,3356109495,BR +3356109496,3356109503,IT +3356109504,3356109687,BR +3356109688,3356109695,CA +3356109696,3356113919,BR 3356113920,3356114943,UY 3356114944,3356123135,PE 3356123136,3356131839,AR @@ -85323,6 +89591,7 @@ 3357007872,3357011967,BR 3357011968,3357016063,MX 3357016064,3357018623,CO +3357018624,3357019135,BR 3357019136,3357020159,CL 3357020160,3357032447,CO 3357032448,3357040639,BR @@ -85500,16 +89769,14 @@ 3357556736,3357556991,VE 3357556992,3357557247,AR 3357557248,3357557759,MX -3357557760,3357558783,EC -3357558784,3357558895,AR -3357558896,3357558903,EC -3357558904,3357559039,AR -3357559040,3357559295,EC +3357557760,3357559295,EC 3357559296,3357559551,CA 3357559552,3357559807,US 3357559808,3357559935,AR 3357559936,3357560063,VE -3357560064,3357560199,AR +3357560064,3357560159,AR +3357560160,3357560167,VE +3357560168,3357560199,AR 3357560200,3357560207,VE 3357560208,3357560247,AR 3357560248,3357560255,VE @@ -85614,12 +89881,7 @@ 3358151272,3358151423,AR 3358151424,3358151551,EC 3358151552,3358151679,AR -3358151680,3358151807,PE -3358151808,3358151935,AR -3358151936,3358152191,PE -3358152192,3358152543,AR -3358152544,3358152575,PE -3358152576,3358152703,AR +3358151680,3358152703,PE 3358152704,3358152959,US 3358152960,3358153215,EC 3358153216,3358153279,AR @@ -85650,8 +89912,8 @@ 3358326784,3358392319,VE 3358392320,3358457855,AR 3358457856,3358523391,PA -3358523392,3358524159,VE -3358524160,3358524415,AR +3358523392,3358523903,VE +3358523904,3358524415,AR 3358524416,3358525951,VE 3358525952,3358526463,AR 3358526464,3358529535,VE @@ -85865,9 +90127,13 @@ 3360227328,3360228095,CO 3360228096,3360228991,CL 3360228992,3360229007,CO -3360229008,3360229023,US +3360229008,3360229012,US +3360229013,3360229013,CL +3360229014,3360229023,US 3360229024,3360231423,CO -3360231424,3360231935,CL +3360231424,3360231775,CL +3360231776,3360231807,US +3360231808,3360231935,CL 3360231936,3360232447,CO 3360232448,3360232703,CL 3360232704,3360235263,CO @@ -85987,8 +90253,8 @@ 3360701952,3360702207,CO 3360702208,3360705535,AR 3360705536,3360706047,US -3360706048,3360706815,AR -3360706816,3360707327,US +3360706048,3360707071,AR +3360707072,3360707327,US 3360707328,3360707583,AR 3360707584,3360708095,US 3360708096,3360708223,AR @@ -86150,7 +90416,9 @@ 3362552144,3362552159,PR 3362552160,3362553023,AR 3362553024,3362553039,PR -3362553040,3362553855,AR +3362553040,3362553247,AR +3362553248,3362553263,CO +3362553264,3362553855,AR 3362553856,3362557951,PY 3362557952,3362562047,AR 3362570240,3362586623,UY @@ -86158,9 +90426,7 @@ 3362652160,3362664447,PE 3362664448,3362668543,BO 3362668544,3362684927,EC -3362684928,3362687999,AR -3362688000,3362688511,CO -3362688512,3362688767,AR +3362684928,3362688767,AR 3362688768,3362689279,CO 3362689280,3362689311,AR 3362689312,3362690367,CO @@ -86279,9 +90545,13 @@ 3367840768,3367841791,HN 3367841792,3368052991,BR 3368052992,3368053247,PE -3368053760,3368086015,BR +3368053760,3368086527,BR 3368086528,3368087551,CR -3368087552,3370188799,BR +3368087552,3368157183,BR +3368157184,3368173567,MX +3368173568,3368601799,BR +3368601800,3368601800,A1 +3368601801,3370188799,BR 3370188800,3370196991,MX 3370196992,3370214399,BR 3370214400,3370215423,AR @@ -86293,13 +90563,14 @@ 3370506240,3370507263,VE 3370507264,3370514943,BR 3370515456,3370516479,AR -3370516480,3371106303,BR +3370516480,3370926079,BR +3370926080,3370942463,MX +3370942464,3371106303,BR 3371106304,3371122687,MX 3371122688,3378511871,BR 3378511872,3380506879,MX 3380506880,3380507135,BR 3380507136,3380744191,MX -3380744192,3380745215,CW 3380745216,3380746239,BR 3380746240,3380747263,PE 3380747264,3380748287,BR @@ -86335,6 +90606,7 @@ 3380825088,3380825343,MX 3380825344,3380825599,HT 3380825600,3380825855,CO +3380825856,3380826111,AR 3380826112,3380828159,BR 3380828160,3380828671,MX 3380828672,3380829183,CO @@ -86343,14 +90615,17 @@ 3380830464,3380830719,CO 3380830720,3380831231,PA 3380831232,3380831743,MX +3380831744,3380831999,AR 3380832000,3380832255,SR 3380832256,3380832767,MX -3380833024,3380833279,DO +3380832768,3380833279,DO 3380833280,3380833791,MX 3380833792,3380834303,SV 3380834304,3380834815,MX 3380834816,3380835071,CO +3380835072,3380835327,NI 3380835328,3380835839,MX +3380835840,3380836351,AR 3380836352,3380836607,MX 3380836608,3380836863,PE 3380836864,3380837375,SV @@ -86494,7 +90769,7 @@ 3386474496,3386490879,UY 3386490880,3386499071,CO 3386499072,3386503167,AR -3386503168,3386504191,PE +3386503168,3386504191,CL 3386504192,3386505215,AR 3386505216,3386507263,CL 3386507264,3386523647,EC @@ -86562,21 +90837,7 @@ 3387424768,3387555839,CO 3387555840,3387568127,AR 3387568128,3387572223,PE -3387572224,3387572539,AR -3387572540,3387572543,CO -3387572544,3387573375,AR -3387573376,3387573887,CO -3387573888,3387574015,AR -3387574016,3387574143,CO -3387574144,3387574783,AR -3387574784,3387575039,CO -3387575040,3387575295,AR -3387575296,3387575423,CO -3387575424,3387575551,AR -3387575552,3387575567,CO -3387575568,3387575679,AR -3387575680,3387576063,CO -3387576064,3387576319,AR +3387572224,3387576319,CO 3387576320,3387578367,EC 3387578368,3387584511,AR 3387584512,3387588607,PE @@ -86761,7 +91022,6 @@ 3389326336,3389326847,TW 3389326848,3389327359,AU 3389327360,3389329407,TW -3389329408,3389333503,PH 3389333504,3389341695,BD 3389341696,3389345791,JP 3389345792,3389349887,TH @@ -86897,7 +91157,6 @@ 3389609472,3389609727,SG 3389609728,3389609983,AU 3389609984,3389610239,NZ -3389610496,3389610751,HK 3389610752,3389611519,IN 3389611520,3389612031,AU 3389612032,3389616127,MY @@ -86908,7 +91167,7 @@ 3389661184,3389669375,ID 3389669376,3389673471,CN 3389673472,3389677567,AU -3389677568,3389685759,JP +3389677568,3389681663,JP 3389685760,3389718527,AU 3389718528,3389784063,JP 3389784064,3389784319,NZ @@ -87140,7 +91399,9 @@ 3391094784,3391192063,JP 3391192064,3391192319,AP 3391192320,3391356927,JP -3391356928,3391444479,NZ +3391356928,3391441407,NZ +3391441408,3391441663,PH +3391441664,3391444479,NZ 3391444480,3391444991,VN 3391444992,3391453183,NZ 3391453184,3391453439,ID @@ -87215,7 +91476,6 @@ 3391725568,3391733759,TH 3391733760,3391734015,CN 3391734016,3391734783,AU -3391735808,3391736831,JP 3391736832,3391737855,IN 3391737856,3391741951,JP 3391741952,3391746047,IN @@ -87241,7 +91501,6 @@ 3391837184,3391838207,AU 3391838208,3391838719,ID 3391838720,3391838975,IN -3391838976,3391839231,AU 3391839232,3391840255,ID 3391840256,3391841279,JP 3391841280,3391842303,MY @@ -87364,7 +91623,9 @@ 3392114432,3392114687,KR 3392114688,3392118783,GU 3392118784,3392126975,MY -3392126976,3392135167,ID +3392126976,3392130303,ID +3392130304,3392130815,TW +3392130816,3392135167,ID 3392135168,3392143359,TH 3392143360,3392208895,JP 3392208896,3392286975,NZ @@ -87452,7 +91713,9 @@ 3392499712,3392503807,JP 3392503808,3392507903,HK 3392512000,3392516095,BD -3392516096,3392524287,AU +3392516096,3392519167,AU +3392519168,3392519679,NZ +3392519680,3392524287,AU 3392524288,3392528383,JP 3392528384,3392536575,ID 3392536576,3392602111,IN @@ -88048,7 +92311,6 @@ 3394953216,3394957311,CN 3394957312,3394959359,AU 3394959360,3394960383,HK -3394960384,3394961407,PH 3394961408,3394962431,CN 3394962432,3394963455,AU 3394963456,3394965503,ID @@ -88354,7 +92616,6 @@ 3397738496,3397742591,MY 3397742592,3397746687,JP 3397746688,3397763071,TH -3397763072,3397771263,PH 3397771264,3397779455,TW 3397779456,3397781503,ID 3397781504,3397783551,BD @@ -88518,7 +92779,6 @@ 3398684672,3398688767,JP 3398688768,3398705151,ID 3398705152,3398709247,CN -3398709248,3398711295,AU 3398713344,3398729727,CN 3398729728,3398737919,AU 3398737920,3398742015,SG @@ -88859,7 +93119,9 @@ 3400649944,3400649951,HK 3400649952,3400650143,SG 3400650144,3400650159,HK -3400650160,3400650751,SG +3400650160,3400650409,SG +3400650410,3400650410,AU +3400650411,3400650751,SG 3400650752,3400654847,AU 3400654848,3400663039,IN 3400663040,3400683519,MY @@ -89246,9 +93508,7 @@ 3406454528,3406454783,CN 3406454784,3406462207,AU 3406462208,3406462463,CN -3406462464,3406512383,AU -3406512384,3406512639,IN -3406512640,3406513663,AU +3406462464,3406513663,AU 3406513664,3406513919,CN 3406513920,3406514175,AU 3406514176,3406514431,IN @@ -89379,7 +93639,8 @@ 3406737408,3406737663,ID 3406737664,3406739199,AU 3406739200,3406739455,ID -3406739456,3406741503,HK +3406739456,3406740991,HK +3406740992,3406741503,SG 3406741504,3406741759,CN 3406741760,3406742015,AU 3406742016,3406742527,CN @@ -90253,7 +94514,8 @@ 3407938560,3407938815,CN 3407938816,3407939327,AU 3407939328,3407939583,CN -3407939584,3407941631,HK +3407939584,3407940607,SG +3407940608,3407941631,HK 3407941632,3407942911,AU 3407942912,3407943167,CN 3407943168,3407944191,AU @@ -90425,8 +94687,8 @@ 3409455104,3409455359,CN 3409455360,3409456639,AU 3409456640,3409456895,CN -3409456896,3409457151,AU -3409457152,3409459199,HK +3409456896,3409457152,AU +3409457153,3409459199,HK 3409459200,3409462271,AU 3409462272,3409462783,CN 3409462784,3409465855,AU @@ -90594,7 +94856,6 @@ 3410903040,3410911231,HK 3410911232,3410915327,TH 3410915328,3410919423,ID -3410919424,3410923519,IN 3410927616,3410931711,NP 3410931712,3410935807,TW 3410935808,3410939903,MY @@ -90628,7 +94889,8 @@ 3411051008,3411051263,PK 3411051264,3411051519,SG 3411051520,3411052543,CN -3411052544,3411054591,HK +3411052544,3411052544,JP +3411052545,3411054591,HK 3411054592,3411058687,CN 3411058688,3411062783,AU 3411062784,3411064831,HK @@ -90652,12 +94914,11 @@ 3411149312,3411149823,MV 3411149824,3411150847,IN 3411150848,3411154943,HK -3411154944,3411156991,JP 3411156992,3411161087,PH 3411161088,3411165183,PK 3411165184,3411173375,MY 3411173376,3411177471,AU -3411177472,3411189759,JP +3411181568,3411189759,JP 3411189760,3411197951,AU 3411197952,3411202047,BD 3411202048,3411204607,AU @@ -90777,7 +95038,9 @@ 3411857408,3411859249,JP 3411859250,3411859251,AU 3411859252,3411859711,JP -3411859712,3411860223,AP +3411859712,3411859815,AP +3411859816,3411859816,CN +3411859817,3411860223,AP 3411860224,3411861503,JP 3411861504,3411869695,AU 3411869696,3411943423,CN @@ -90934,7 +95197,9 @@ 3413344256,3413360639,PH 3413360640,3413377023,MY 3413377024,3413387519,SG -3413387520,3413387775,AP +3413387520,3413387695,AP +3413387696,3413387711,SG +3413387712,3413387775,AP 3413387776,3413437951,SG 3413437952,3413438207,AP 3413438208,3413524479,SG @@ -91191,7 +95456,6 @@ 3416262656,3416264703,AU 3416264704,3416268799,JP 3416268800,3416272895,HK -3416272896,3416274943,MN 3416274944,3416276991,ID 3416276992,3416285183,HK 3416285184,3416287231,VN @@ -91216,7 +95480,6 @@ 3416342528,3416371199,AU 3416371200,3416371711,PH 3416371712,3416371967,VN -3416371968,3416372223,IN 3416372224,3416372479,CN 3416372480,3416372735,AP 3416372736,3416372991,AU @@ -91411,7 +95674,6 @@ 3417946112,3417946137,AU 3417946138,3417946138,HK 3417946139,3417947135,AU -3417947136,3417947391,IN 3417947648,3417947903,AU 3417947904,3417948159,IN 3417948160,3417964543,AU @@ -91479,13 +95741,12 @@ 3418273792,3418275839,ID 3418275840,3418279935,AU 3418279936,3418281983,NZ -3418281984,3418282239,IN 3418282240,3418282495,AU 3418282496,3418283519,PH 3418283520,3418284031,AU -3418284032,3418286975,SG -3418286976,3418287007,AU -3418287008,3418288127,SG +3418284032,3418286079,SG +3418286080,3418287103,AU +3418287104,3418288127,SG 3418288128,3418290175,ID 3418290176,3418290431,IN 3418290432,3418290687,CN @@ -91496,8 +95757,7 @@ 3418292992,3418293503,HK 3418293760,3418294015,AU 3418294272,3418296319,VN -3418296320,3418297343,HK -3418297344,3418298367,CN +3418296320,3418298367,CN 3418298368,3418299391,HK 3418299392,3418300415,CN 3418300416,3418300927,BD @@ -91523,7 +95783,9 @@ 3418393794,3418393794,JP 3418393795,3418393919,AP 3418393920,3418393927,AU -3418393928,3418399231,AP +3418393928,3418394367,AP +3418394368,3418394623,TW +3418394624,3418399231,AP 3418399232,3418399247,PH 3418399248,3418401455,AP 3418401456,3418401459,TW @@ -91606,10 +95868,11 @@ 3419353088,3419354111,JP 3419354112,3419356159,ID 3419356160,3419356671,NZ -3419356672,3419357183,IN +3419356672,3419356927,IN 3419357184,3419411455,CN 3419411456,3419411711,HK 3419411712,3419411967,NZ +3419411968,3419412223,PH 3419412224,3419412479,JP 3419412480,3419414527,PH 3419414528,3419422719,CN @@ -91699,7 +95962,7 @@ 3420032256,3420032511,AU 3420032512,3420033023,NZ 3420033024,3420034047,IN -3420034048,3420036095,AU +3420034048,3420035071,AU 3420036096,3420037119,JP 3420037120,3420037631,AU 3420039168,3420040191,KH @@ -91722,7 +95985,9 @@ 3420366960,3420366975,KR 3420366976,3420367359,AU 3420367360,3420367615,AP -3420367616,3420370559,AU +3420367616,3420369007,AU +3420369008,3420369023,HK +3420369024,3420370559,AU 3420370560,3420370575,JP 3420370576,3420372991,AU 3420372992,3420374527,HK @@ -91812,8 +96077,7 @@ 3423474688,3423478783,US 3423479808,3423481855,A2 3423481856,3423487999,US -3423488000,3423489023,CA -3423489024,3423490047,A1 +3423488000,3423490047,CA 3423490048,3423493631,US 3423493632,3423493887,RU 3423493888,3423533055,US @@ -92329,9 +96593,7 @@ 3432133888,3432134143,GB 3432134144,3432205311,US 3432205312,3432206335,CA -3432206336,3432253695,US -3432253696,3432253951,CA -3432253952,3432265983,US +3432206336,3432265983,US 3432265984,3432267263,DE 3432267264,3432280063,US 3432280064,3432280319,GB @@ -92341,17 +96603,15 @@ 3432329216,3432330239,DE 3432330240,3432361983,US 3432361984,3432366079,DE -3432366080,3432476415,US -3432476416,3432476671,DE -3432476672,3432493823,US -3432493824,3432495103,DE -3432495104,3432517119,US +3432366080,3432517119,US 3432517120,3432517631,MU 3432517632,3432570879,US 3432570880,3432572927,HK 3432572928,3432585215,US 3432585216,3432585727,MX -3432585728,3432613631,US +3432585728,3432606463,US +3432606464,3432606719,GB +3432606720,3432613631,US 3432613632,3432613887,CA 3432613888,3432660991,US 3432660992,3432663039,DE @@ -92601,12 +96861,9 @@ 3448380416,3448380671,SG 3448380672,3448380839,US 3448380840,3448380847,SG -3448380848,3448380943,US -3448380944,3448380959,SG -3448380960,3448381183,US +3448380848,3448381183,US 3448381184,3448381439,SG -3448381440,3448381695,GB -3448381696,3448398335,US +3448381440,3448398335,US 3448398336,3448399103,CA 3448399104,3448399359,US 3448399360,3448399871,CA @@ -92624,7 +96881,11 @@ 3448987648,3448989695,IN 3448989696,3448990719,HK 3448990720,3448991743,IN -3448991744,3449159679,US +3448991744,3449098751,US +3449098752,3449099263,DE +3449099264,3449100799,US +3449100800,3449101311,AU +3449101312,3449159679,US 3449159680,3449160703,CA 3449160704,3449161471,US 3449161472,3449163519,CA @@ -92711,7 +96972,9 @@ 3449254144,3449254911,US 3449254912,3449273599,CA 3449273600,3449273855,US -3449273856,3449290495,CA +3449273856,3449278975,CA +3449278976,3449279487,US +3449279488,3449290495,CA 3449290496,3449575423,US 3449575424,3449575679,AU 3449575680,3449582848,US @@ -92742,9 +97005,7 @@ 3449974784,3449976831,CA 3449976832,3449994239,US 3449994240,3449994495,MX -3449994496,3450085375,US -3450085376,3450085631,A1 -3450085632,3450086143,US +3449994496,3450086143,US 3450086144,3450086655,CH 3450086656,3450088191,US 3450088192,3450088447,CH @@ -92775,15 +97036,13 @@ 3450685184,3450685439,CA 3450685440,3450699007,US 3450699008,3450699263,CA -3450699776,3450731519,US +3450699264,3450731519,US 3450731520,3450732543,CA 3450732544,3450773503,US -3450773504,3450774783,CA -3450774784,3450775039,US -3450775040,3450777599,CA +3450773504,3450777599,CA 3450777600,3450849791,US 3450849792,3450850047,EU -3450850048,3450851839,US +3450850048,3450852351,US 3450852352,3450853375,CA 3450853376,3450935551,US 3450935552,3450935807,AP @@ -92803,9 +97062,10 @@ 3451507200,3451507711,BR 3451507712,3451715839,US 3451715840,3451724543,CA -3451724544,3451724799,US -3451725312,3451725567,US -3451725568,3451737343,CA +3451724544,3451725567,US +3451725568,3451726847,CA +3451726848,3451727359,US +3451727360,3451737343,CA 3451737344,3451737599,US 3451737600,3451740927,CA 3451740928,3451741183,US @@ -92868,7 +97128,9 @@ 3452678144,3452678399,EU 3452678400,3452715007,US 3452715008,3452723199,CA -3452723200,3452764671,US +3452723200,3452730623,US +3452730624,3452730879,HK +3452730880,3452764671,US 3452764672,3452765183,CA 3452765184,3452765439,US 3452765440,3452765951,CA @@ -93005,7 +97267,9 @@ 3452920832,3452923391,US 3452923392,3452931327,CA 3452931328,3452931583,US -3452931584,3452934911,CA +3452931584,3452933119,CA +3452933120,3452933631,US +3452933632,3452934911,CA 3452934912,3452936191,US 3452936192,3452938751,CA 3452938752,3452939023,US @@ -93149,8 +97413,8 @@ 3454664448,3454672895,US 3454672896,3454681087,CA 3454681088,3454727935,US -3454727936,3454727951,JP -3454727952,3454730239,US +3454727936,3454728191,JP +3454728192,3454730239,US 3454730240,3454732287,EC 3454732288,3454796031,US 3454796032,3454808831,CA @@ -93491,8 +97755,10 @@ 3459620864,3459622911,US 3459624960,3459629055,BM 3459629056,3459686399,US -3459686400,3459687167,NL -3459687168,3459731455,US +3459686400,3459688479,NL +3459688480,3459689215,US +3459689216,3459689471,NL +3459689472,3459731455,US 3459731456,3459735551,CA 3459735552,3459745535,US 3459745536,3459745791,IT @@ -93788,10 +98054,22 @@ 3464171776,3464172031,US 3464172032,3464173567,CA 3464173568,3464173823,US -3464173824,3464174591,CA +3464173824,3464175103,CA 3464175104,3464175359,US 3464175360,3464180735,CA -3464180736,3464204799,US +3464180736,3464200703,US +3464200704,3464200959,AU +3464200960,3464201215,NZ +3464201216,3464201471,JP +3464201472,3464201727,GR +3464201728,3464201983,EG +3464201984,3464202239,ES +3464202240,3464202495,CA +3464202496,3464202751,FR +3464202752,3464203007,IT +3464203008,3464203263,SE +3464203264,3464203519,DE +3464203520,3464204799,US 3464204800,3464205311,NL 3464205312,3464205567,SE 3464205568,3464205823,VE @@ -93830,10 +98108,9 @@ 3464394752,3464396799,LC 3464396800,3464421631,US 3464421632,3464421887,CA -3464422400,3464425983,US +3464421888,3464426495,US 3464426496,3464426751,GD -3464426752,3464427007,US -3464427520,3464548607,US +3464426752,3464548607,US 3464548608,3464548863,LC 3464548864,3464549119,KN 3464549120,3464549375,VG @@ -93844,13 +98121,17 @@ 3464550144,3464550399,LC 3464550400,3464626175,US 3464626176,3464626687,CA -3464626688,3464627199,US +3464626688,3464627711,US 3464627968,3464628735,CA 3464628736,3464628991,US 3464628992,3464630271,CA 3464630272,3464631295,US -3464631296,3464650751,CA -3464650752,3464664063,US +3464631296,3464642047,CA +3464642048,3464642559,US +3464642560,3464648703,CA +3464648704,3464649215,US +3464649216,3464650239,CA +3464650240,3464664063,US 3464664064,3464691711,CA 3464691712,3464740863,US 3464740864,3464744959,PH @@ -93929,12 +98210,12 @@ 3466938812,3466958079,US 3466958080,3466958335,CA 3466958336,3467051007,US -3467051008,3467116543,CA +3467051008,3467068927,CA +3467068928,3467069439,US +3467069440,3467116543,CA 3467116544,3467378687,US 3467378688,3467444223,CA -3467444224,3467500799,US -3467500800,3467501055,A1 -3467501056,3467554815,US +3467444224,3467554815,US 3467554816,3467567103,CA 3467567104,3467706367,US 3467706368,3467902975,CA @@ -94065,15 +98346,13 @@ 3469186304,3469186559,MX 3469186560,3469893631,US 3469893632,3469901823,CA -3469901824,3470131199,US +3469901824,3469989887,US +3469989888,3469990399,CA +3469990400,3470131199,US 3470131200,3470135295,AG 3470135296,3470137343,LC 3470137344,3470139391,VG -3470139392,3470148095,US -3470148096,3470148351,CA -3470148352,3470148607,US -3470148608,3470148863,CA -3470148864,3470151807,US +3470139392,3470151807,US 3470151808,3470151871,CA 3470151872,3470151935,US 3470151936,3470152191,EG @@ -94118,7 +98397,6 @@ 3470767872,3470768127,IE 3470768128,3470770175,CA 3470770176,3470778367,US -3470778368,3470786559,CA 3470786560,3470794751,US 3470794752,3470802943,PA 3470802944,3470884863,US @@ -94145,7 +98423,9 @@ 3471572992,3472375807,US 3472375808,3472392191,PR 3472392192,3472408575,CA -3472408576,3473039359,US +3472408576,3472721919,US +3472721920,3472723967,CA +3472723968,3473039359,US 3473039360,3473040639,BM 3473040640,3473040895,US 3473040896,3473041407,BM @@ -94232,9 +98512,7 @@ 3476545536,3476547583,A2 3476547584,3476881407,US 3476881408,3476946943,CA -3476946944,3477312511,US -3477312512,3477312767,A1 -3477312768,3478114303,US +3476946944,3478114303,US 3478114304,3478118399,PE 3478118400,3478192127,US 3478192128,3478257663,CA @@ -94392,7 +98670,9 @@ 3481843456,3481843711,GB 3481843712,3481958271,US 3481958272,3481958399,NL -3481958400,3481964575,US +3481958400,3481959020,US +3481959021,3481959021,GB +3481959022,3481964575,US 3481964576,3481964579,IE 3481964580,3481993791,US 3481993792,3481993799,CA @@ -94439,19 +98719,7 @@ 3482017536,3482017791,CA 3482017792,3482018047,US 3482018048,3482018303,CA -3482018304,3482018583,US -3482018584,3482018591,CA -3482018592,3482018599,US -3482018600,3482018607,CA -3482018608,3482018655,US -3482018656,3482018671,CA -3482018672,3482018679,US -3482018680,3482018695,CA -3482018696,3482018711,US -3482018712,3482018719,CA -3482018720,3482018783,US -3482018784,3482018799,CA -3482018800,3482019327,US +3482018304,3482019327,US 3482019328,3482019583,CA 3482019584,3482020607,US 3482020608,3482020863,CA @@ -94483,9 +98751,7 @@ 3482037760,3482038015,CA 3482038016,3482038271,US 3482038272,3482038783,CA -3482038784,3482039039,US -3482039040,3482039295,CA -3482039296,3482039551,US +3482038784,3482039551,US 3482039552,3482040319,CA 3482040320,3482041087,US 3482041088,3482041343,CA @@ -94541,11 +98807,12 @@ 3484006912,3484007167,AU 3484007168,3484013055,US 3484013056,3484013567,DE -3484013568,3484319743,US -3484320256,3484320511,US +3484013568,3484320767,US 3484321792,3484322047,PR -3484322048,3484340223,US -3484340736,3484341247,US +3484322048,3484325887,US +3484326912,3484327423,US +3484327424,3484327935,CA +3484327936,3484341247,US 3484341248,3484342271,VG 3484342272,3484438527,US 3484438528,3484438783,ZM @@ -94637,7 +98904,10 @@ 3485327360,3485335551,CA 3485335552,3485462527,US 3485462528,3485464575,VC -3485464576,3485466623,LC +3485464576,3485464831,LC +3485464832,3485465599,VC +3485465600,3485466367,LC +3485466368,3485466623,VC 3485466624,3485597695,US 3485597696,3485695999,CA 3485696000,3485959423,US @@ -94856,9 +99126,7 @@ 3487216384,3487216639,SE 3487216640,3487236095,US 3487236096,3487301631,CA -3487301632,3487561471,US -3487561472,3487561727,AU -3487561728,3487706367,US +3487301632,3487706367,US 3487706368,3487706623,RU 3487706624,3487766527,US 3487766528,3487768575,CA @@ -95021,7 +99289,9 @@ 3492969728,3492994815,US 3492994816,3492995071,GB 3492995072,3493011327,US -3493011328,3493011455,GB +3493011328,3493011395,GB +3493011396,3493011396,US +3493011397,3493011455,GB 3493011456,3493029119,US 3493029120,3493029375,GB 3493029376,3493039359,US @@ -95171,9 +99441,7 @@ 3494627328,3494628351,BM 3494628352,3494651903,US 3494651904,3494652927,CA -3494652928,3494655743,US -3494655744,3494655759,GB -3494655760,3494660095,US +3494652928,3494660095,US 3494660096,3494661119,CA 3494661120,3494668287,US 3494668288,3494670335,CA @@ -95284,7 +99552,9 @@ 3495375872,3495376895,CA 3495376896,3495399423,US 3495399424,3495400447,KN -3495400448,3495412735,US +3495400448,3495406335,US +3495406336,3495406591,LB +3495406592,3495412735,US 3495412736,3495413759,CA 3495413760,3495429119,US 3495429120,3495430143,CA @@ -95410,9 +99680,7 @@ 3497163168,3497163175,GB 3497163176,3497164799,US 3497164800,3497181183,CA -3497181184,3497233407,US -3497233408,3497233663,CN -3497233664,3497410559,US +3497181184,3497410559,US 3497410560,3497431039,CA 3497431040,3497447423,US 3497447424,3497451519,CA @@ -95471,20 +99739,13 @@ 3500126464,3500126719,GB 3500126720,3500351487,US 3500351488,3500359679,JM -3500359680,3500486655,US -3500486656,3500490751,CR -3500490752,3500613631,US +3500359680,3500613631,US 3500613632,3500614655,MZ 3500614656,3500689407,US 3500689408,3500689919,CL 3500689920,3500707327,US 3500707328,3500707839,CA -3500707840,3500724991,US -3500724992,3500725503,EC -3500725504,3500725759,HT -3500725760,3500726015,EC -3500726016,3500726271,HT -3500726272,3500728319,US +3500707840,3500728319,US 3500728320,3500736511,KY 3500736512,3500752895,US 3500752896,3500761087,KY @@ -95824,8 +100085,8 @@ 3509532672,3509532927,US 3509532928,3509533439,CA 3509533440,3509534719,US -3509534720,3509535487,CA -3509535488,3509535743,US +3509534720,3509535231,CA +3509535232,3509535743,US 3509535744,3509535999,CA 3509536000,3509536255,US 3509536256,3509536767,CA @@ -95855,11 +100116,7 @@ 3509551616,3509551871,CA 3509551872,3509552127,US 3509552128,3509552639,CA -3509552640,3509554311,US -3509554312,3509554319,CA -3509554320,3509554327,US -3509554328,3509554335,CA -3509554336,3509554431,US +3509552640,3509554431,US 3509554432,3509554959,CA 3509554960,3509555199,US 3509555200,3509555455,CA @@ -95875,34 +100132,20 @@ 3509560320,3509560831,US 3509560832,3509561087,CA 3509561088,3509561343,US -3509561344,3509561727,CA -3509561728,3509561743,US -3509561744,3509561791,CA -3509561792,3509561855,US +3509561344,3509561599,CA +3509561600,3509561855,US 3509561856,3509562623,CA 3509562624,3509563391,US -3509563392,3509563911,CA -3509563912,3509563919,US -3509563920,3509563935,CA -3509563936,3509563967,US -3509563968,3509564031,CA -3509564032,3509564095,US -3509564096,3509564127,CA -3509564128,3509564415,US -3509564416,3509564799,CA -3509564800,3509565183,US +3509563392,3509563903,CA +3509563904,3509564415,US +3509564416,3509564671,CA +3509564672,3509565183,US 3509565184,3509566463,CA 3509566464,3509567231,US 3509567232,3509569023,CA 3509569024,3509569535,US 3509569536,3509569791,CA -3509569792,3509571071,US -3509571072,3509571087,CA -3509571088,3509571215,US -3509571216,3509571223,CA -3509571224,3509571263,US -3509571264,3509571295,CA -3509571296,3509572351,US +3509569792,3509572351,US 3509572352,3509573375,CA 3509573376,3509573439,US 3509573440,3509573455,CA @@ -95912,27 +100155,17 @@ 3509574144,3509575679,CA 3509575680,3509575935,US 3509575936,3509576191,CA -3509576192,3509576447,US -3509576448,3509576703,CA -3509576704,3509576959,US +3509576192,3509576959,US 3509576960,3509577215,CA 3509577216,3509577983,US 3509577984,3509578239,CA -3509578240,3509578495,US -3509578496,3509578751,CA -3509578752,3509579007,US +3509578240,3509579007,US 3509579008,3509579263,CA 3509579264,3509579519,US 3509579520,3509579775,CA 3509579776,3509580031,US 3509580032,3509580287,CA -3509580288,3509580879,US -3509580880,3509580927,CA -3509580928,3509580943,US -3509580944,3509580951,CA -3509580952,3509580991,US -3509580992,3509581055,CA -3509581056,3509582335,US +3509580288,3509582335,US 3509582336,3509582847,CA 3509582848,3509583615,US 3509583616,3509583871,CA @@ -95976,7 +100209,9 @@ 3510268928,3510269951,US 3510269952,3510270719,LY 3510270720,3510270975,SY -3510270976,3510321151,US +3510270976,3510284298,US +3510284299,3510284299,SG +3510284300,3510321151,US 3510321152,3510321663,VG 3510321664,3510321919,AG 3510321920,3510322175,KN @@ -96016,13 +100251,9 @@ 3510935552,3510943743,CA 3510943744,3511140351,US 3511140352,3511156735,CA -3511156736,3511256063,US -3511256064,3511256319,A1 -3511256320,3511258367,US +3511156736,3511258367,US 3511258368,3511258623,A1 -3511258624,3511260927,US -3511260928,3511261183,A1 -3511261184,3511812095,US +3511258624,3511812095,US 3511812096,3511844863,CA 3511844864,3512012095,US 3512012096,3512012159,GB @@ -96228,9 +100459,7 @@ 3514723697,3514723697,BZ 3514723698,3514724635,US 3514724636,3514724636,UA -3514724637,3514732071,US -3514732072,3514732075,UA -3514732076,3514826751,US +3514724637,3514826751,US 3514826752,3514843135,CA 3514843136,3514993919,US 3514993920,3514993983,GB @@ -96241,13 +100470,13 @@ 3514994024,3514994049,GB 3514994050,3514994050,EU 3514994051,3514994175,GB -3514994176,3515222271,US +3514994176,3515211775,US +3515211776,3515219967,CA +3515219968,3515222271,US 3515222272,3515224831,TR 3515224832,3515301887,US 3515301888,3515318271,CA -3515318272,3515339519,US -3515339520,3515339775,A1 -3515339776,3515358975,US +3515318272,3515358975,US 3515358976,3515359231,MX 3515359232,3515596799,US 3515596800,3515613183,CA @@ -96328,9 +100557,7 @@ 3517389312,3517389567,CA 3517389568,3517389823,US 3517389824,3517391103,CA -3517391104,3517391119,US -3517391120,3517391123,CA -3517391124,3517391871,US +3517391104,3517391871,US 3517391872,3517392127,CA 3517392128,3517392383,US 3517392384,3517392639,CA @@ -96500,11 +100727,7 @@ 3518762496,3518762751,GB 3518762752,3518765311,US 3518765312,3518765567,CA -3518765568,3518905599,US -3518905600,3518905855,GB -3518905856,3518911743,US -3518911744,3518911999,GB -3518912000,3518912511,US +3518765568,3518912511,US 3518912512,3518912767,IN 3518912768,3518918143,US 3518918144,3518918399,IN @@ -96614,9 +100837,7 @@ 3521904640,3521921023,JM 3521921024,3521965055,US 3521965056,3521966079,DE -3521966080,3521989631,US -3521989632,3521989887,A2 -3521989888,3522101247,US +3521966080,3522101247,US 3522101248,3522109439,CA 3522109440,3522118143,US 3522118144,3522118655,GB @@ -96797,7 +101018,7 @@ 3528404992,3528407039,NZ 3528407040,3528409087,AU 3528409088,3528425471,CN -3528425472,3528445951,JP +3528441856,3528445951,JP 3528445952,3528450047,ID 3528450048,3528458239,CN 3528458240,3528474623,AP @@ -96826,7 +101047,9 @@ 3529089024,3529097215,KR 3529097216,3529113599,JP 3529113600,3531603967,KR -3531603968,3532929279,JP +3531603968,3532290815,JP +3532290816,3532291071,GB +3532291072,3532929279,JP 3532929280,3532929535,AP 3532929536,3534749695,JP 3534749696,3534757887,HK @@ -96838,9 +101061,9 @@ 3534758976,3534759039,PH 3534759040,3534759167,AU 3534759168,3534759183,JP -3534759184,3534760703,AU -3534760704,3534760711,NZ -3534760712,3534761983,AU +3534759184,3534760447,AU +3534760448,3534760959,NZ +3534760960,3534761983,AU 3534761984,3534763775,HK 3534763776,3534764031,AP 3534764032,3534863443,HK @@ -96920,7 +101143,9 @@ 3546808320,3547856895,KR 3547856896,3547916287,JP 3547916288,3547916543,US -3547916544,3548905471,JP +3547916544,3548208127,JP +3548208128,3548208639,US +3548208640,3548905471,JP 3548905472,3551002623,CN 3551002624,3556769791,KR 3556769792,3556773887,DE @@ -97100,11 +101325,11 @@ 3557998592,3558006783,DE 3558006784,3558010879,GB 3558010880,3558012927,FR -3558012928,3558013951,GB -3558013952,3558014207,IL +3558012928,3558014207,GB 3558014208,3558014463,NL 3558014464,3558014464,US -3558014465,3558014975,IL +3558014465,3558014719,IL +3558014720,3558014975,NL 3558014976,3558023167,RU 3558023168,3558031359,DE 3558031360,3558039551,GB @@ -97220,7 +101445,7 @@ 3558718208,3558718463,EU 3558718464,3558719487,NL 3558719488,3558735871,IL -3558735872,3558744063,GB +3558735872,3558744063,GG 3558744064,3558752255,LB 3558752256,3558760447,SI 3558760448,3558768639,FR @@ -97267,7 +101492,9 @@ 3559089936,3559089951,BE 3559089952,3559090239,GB 3559090240,3559090303,BE -3559090304,3559093311,GB +3559090304,3559092243,GB +3559092244,3559092244,BE +3559092245,3559093311,GB 3559093312,3559093319,BE 3559093320,3559093695,GB 3559093696,3559093703,BE @@ -97286,7 +101513,9 @@ 3559153664,3559178239,GB 3559178240,3559186431,LB 3559186432,3559194623,RU -3559194624,3559202815,SE +3559194624,3559200255,SE +3559200256,3559200511,FI +3559200512,3559202815,SE 3559202816,3559211007,DE 3559211008,3559219199,SK 3559219200,3559227391,SE @@ -97299,11 +101528,7 @@ 3559276544,3559284735,GB 3559284736,3559292927,RU 3559292928,3559301119,JO -3559301120,3559303103,GB -3559303104,3559303167,A1 -3559303168,3559303679,GB -3559303680,3559303871,A1 -3559303872,3559306576,GB +3559301120,3559306576,GB 3559306577,3559306577,AT 3559306578,3559309311,GB 3559309312,3559317503,PL @@ -97329,7 +101554,9 @@ 3559448576,3559456767,ES 3559456768,3559473151,RU 3559473152,3559489535,CH -3559489536,3559491759,GB +3559489536,3559491247,GB +3559491248,3559491263,NL +3559491264,3559491759,GB 3559491760,3559491767,NL 3559491768,3559505919,GB 3559505920,3559514111,CH @@ -97392,7 +101619,8 @@ 3559940096,3559948287,DE 3559948288,3559956479,RU 3559956480,3559964671,IT -3559964672,3559981055,RU +3559964672,3559976959,RU +3559976960,3559981055,HU 3559981056,3559989247,EE 3559989248,3559997439,PL 3559997440,3560005631,KE @@ -97403,7 +101631,9 @@ 3560023632,3560023639,ES 3560023640,3560023791,GB 3560023792,3560023799,ES -3560023800,3560030095,GB +3560023800,3560025904,GB +3560025905,3560025905,ES +3560025906,3560030095,GB 3560030096,3560030103,ES 3560030104,3560046591,GB 3560046592,3560054783,BG @@ -97918,7 +102148,8 @@ 3563454464,3563462655,SA 3563462656,3563479039,IT 3563479040,3563487231,GB -3563487232,3563495423,RS +3563487232,3563491327,RS +3563491328,3563495423,BG 3563495424,3563503615,DE 3563503616,3563511807,GB 3563511808,3563519999,DE @@ -98087,17 +102318,9 @@ 3564756992,3564765183,ES 3564765184,3564773375,RU 3564773376,3564781567,DE -3564781568,3564782079,LT -3564782080,3564782335,US -3564782336,3564786175,LT -3564786176,3564786431,US -3564786432,3564786687,LT -3564786688,3564786943,US -3564786944,3564787199,LT -3564787200,3564787455,US +3564781568,3564787455,LT 3564787456,3564787583,NL -3564787584,3564787711,US -3564787712,3564789759,LT +3564787584,3564789759,LT 3564789760,3564797951,ES 3564797952,3564806143,DE 3564806144,3564814335,BG @@ -98198,11 +102421,9 @@ 3565684997,3565748223,NL 3565748224,3565752319,GB 3565752320,3565752447,EU -3565752448,3565752455,GB -3565752456,3565752463,EU -3565752464,3565752479,GB -3565752480,3565752535,EU -3565752536,3565752543,GB +3565752448,3565752479,GB +3565752480,3565752527,EU +3565752528,3565752543,GB 3565752544,3565752575,EU 3565752576,3565752839,GB 3565752840,3565752855,EU @@ -98248,23 +102469,11 @@ 3565755848,3565755855,EU 3565755856,3565755871,GB 3565755872,3565755879,EU -3565755880,3565755919,GB -3565755920,3565755927,EU -3565755928,3565755935,GB -3565755936,3565755943,EU -3565755944,3565755959,GB -3565755960,3565755967,EU -3565755968,3565755999,GB -3565756000,3565756007,EU -3565756008,3565756063,GB -3565756064,3565756071,EU -3565756072,3565756087,GB -3565756088,3565756095,EU -3565756096,3565756119,GB -3565756120,3565756135,EU -3565756136,3565756159,GB -3565756160,3565756287,EU -3565756288,3565760783,GB +3565755880,3565755903,GB +3565755904,3565756151,EU +3565756152,3565756159,GB +3565756160,3565756415,EU +3565756416,3565760783,GB 3565760784,3565760791,EU 3565760792,3565760799,GB 3565760800,3565760807,EU @@ -98652,9 +102861,7 @@ 3569075712,3569090559,GB 3569090560,3569123327,RU 3569123328,3569156095,GB -3569156096,3569156351,NL -3569156352,3569156607,EU -3569156608,3569157379,NL +3569156096,3569157379,NL 3569157380,3569157380,EU 3569157381,3569165311,NL 3569165312,3569165567,EU @@ -98802,7 +103009,9 @@ 3574136832,3574169599,DE 3574169600,3574174839,GB 3574174840,3574174847,ES -3574174848,3574186799,GB +3574174848,3574182904,GB +3574182905,3574182905,ES +3574182906,3574186799,GB 3574186800,3574186815,ES 3574186816,3574187007,GB 3574187008,3574188031,ES @@ -99173,7 +103382,9 @@ 3576100864,3576101375,EU 3576101376,3576110939,GB 3576110940,3576110943,NL -3576110944,3576134653,GB +3576110944,3576116127,GB +3576116128,3576116135,DE +3576116136,3576134653,GB 3576134654,3576134654,CH 3576134655,3576135679,GB 3576135680,3576168447,DE @@ -99303,7 +103514,9 @@ 3579193760,3579193775,NL 3579193776,3579197311,GB 3579197312,3579197439,US -3579197440,3579248639,GB +3579197440,3579244831,GB +3579244832,3579244879,AT +3579244880,3579248639,GB 3579248640,3579346943,RU 3579346944,3579362055,SE 3579362056,3579362063,NO @@ -99659,7 +103872,10 @@ 3583401984,3583410175,KE 3583410176,3583418367,SE 3583418368,3583426559,TN -3583426560,3583434751,CI +3583426560,3583428607,CV +3583428608,3583430655,CI +3583430656,3583432703,ZA +3583432704,3583434751,CI 3583434752,3583442943,AT 3583442944,3583451135,RU 3583451136,3583459327,IL @@ -99743,8 +103959,7 @@ 3583950848,3583959039,PL 3583959040,3583967231,NO 3583967232,3583975423,NL -3583975424,3583983103,LT -3583983104,3583983231,US +3583975424,3583983231,LT 3583983232,3583983359,BR 3583983360,3583983615,LT 3583983616,3583999999,RU @@ -99863,6 +104078,7 @@ 3584827392,3584835583,ES 3584835584,3584843775,AZ 3584843776,3584851967,DE +3584851968,3584860159,ZA 3584860160,3584868351,PL 3584868352,3584876543,NO 3584876544,3584884735,SI @@ -99959,12 +104175,32 @@ 3585597440,3585605631,RU 3585605632,3585613823,PL 3585613824,3585622015,EE -3585630208,3585638399,IL +3585630208,3585632255,IL +3585632256,3585632511,GB +3585632512,3585632639,NL +3585632640,3585632767,IL +3585632768,3585633535,GB +3585633536,3585634047,IT +3585634048,3585634303,IL +3585634304,3585634559,IT +3585634560,3585634687,IL +3585634688,3585634815,NL +3585634816,3585635071,IT +3585635072,3585635199,NL +3585635200,3585635455,IL +3585635456,3585635711,NL +3585635712,3585635967,IL +3585635968,3585636095,NL +3585636096,3585637375,IL +3585637376,3585637503,NL +3585637504,3585638399,IL 3585638400,3585646591,RU 3585646592,3585654783,SA 3585654784,3585662975,NO 3585662976,3585671167,BY -3585671168,3585679359,SE +3585671168,3585675306,SE +3585675307,3585675307,DK +3585675308,3585679359,SE 3585679360,3585687551,FI 3585687552,3585695743,DE 3585695744,3585703935,A2 @@ -100095,11 +104331,17 @@ 3586679600,3586679615,IT 3586679616,3586680511,FR 3586680512,3586680519,GB -3586680520,3586681615,FR +3586680520,3586681471,FR +3586681472,3586681487,GB +3586681488,3586681527,FR +3586681528,3586681535,GB +3586681536,3586681615,FR 3586681616,3586681631,CZ 3586681632,3586682239,FR 3586682240,3586682367,US -3586682368,3586682879,FR +3586682368,3586682415,FR +3586682416,3586682423,DE +3586682424,3586682879,FR 3586682880,3586686975,US 3586686976,3586703359,SE 3586703360,3586719743,CH @@ -100372,7 +104614,9 @@ 3589582976,3589583103,NL 3589583104,3589586943,GB 3589586944,3589587199,DE -3589587200,3589599231,RS +3589587200,3589587455,RS +3589587456,3589587967,CH +3589587968,3589599231,RS 3589599232,3589601279,SE 3589601280,3589603327,RS 3589603328,3589668863,FR @@ -100435,9 +104679,15 @@ 3590234112,3590242303,GB 3590242304,3590244351,US 3590244352,3590244607,DE -3590244608,3590245311,FR +3590244608,3590245263,FR +3590245264,3590245271,GB +3590245272,3590245311,FR 3590245312,3590245439,US -3590245440,3590247167,FR +3590245440,3590247048,FR +3590247049,3590247049,IT +3590247050,3590247103,FR +3590247104,3590247119,GB +3590247120,3590247167,FR 3590247168,3590247231,US 3590247232,3590247295,FR 3590247296,3590247423,US @@ -100445,7 +104695,9 @@ 3590247488,3590247551,US 3590247552,3590247711,FR 3590247712,3590247743,A1 -3590247744,3590251647,FR +3590247744,3590247759,FR +3590247760,3590247763,IE +3590247764,3590251647,FR 3590251648,3590251775,NL 3590251776,3590255871,FR 3590255872,3590255935,US @@ -100548,8 +104800,7 @@ 3624484864,3624529919,US 3624529920,3624534015,CA 3624534016,3624534271,PA -3624534272,3624536063,CA -3624536064,3624546559,US +3624534272,3624546559,US 3624546560,3624546815,A2 3624546816,3624547327,US 3624547328,3624548095,A2 @@ -100558,8 +104809,8 @@ 3624550144,3624587263,US 3624587264,3624591359,JM 3624591360,3624592383,US -3624592384,3624593407,CA -3624593408,3624714239,US +3624592384,3624593919,CA +3624594176,3624714239,US 3624714240,3624722431,SG 3624722432,3624730623,US 3624730624,3624796159,CA @@ -100581,8 +104832,7 @@ 3625168896,3625172991,CA 3625172992,3625256959,US 3625256960,3625257983,CA -3625258496,3625258751,US -3625259008,3625261055,US +3625257984,3625261055,US 3625263104,3625287679,US 3625287680,3625295871,CA 3625295872,3625346047,US @@ -100653,7 +104903,9 @@ 3628161024,3628161279,CA 3628161280,3628179455,US 3628179456,3628187647,CA -3628187648,3628225387,US +3628187648,3628225097,US +3628225098,3628225098,AT +3628225099,3628225387,US 3628225388,3628225395,GB 3628225396,3628225779,US 3628225780,3628225783,GB @@ -100824,9 +105076,7 @@ 3630096128,3630096383,CA 3630096384,3630097151,US 3630097152,3630097663,CA -3630097664,3630099711,US -3630099712,3630099967,CA -3630099968,3630102783,US +3630097664,3630102783,US 3630102784,3630103807,CA 3630103808,3630104063,US 3630104064,3630104575,CA @@ -100899,9 +105149,7 @@ 3631284224,3631316991,CA 3631316992,3631333375,US 3631333376,3631341567,CA -3631341568,3631435007,US -3631435008,3631435263,GB -3631435264,3631644671,US +3631341568,3631644671,US 3631644672,3631652863,CA 3631652864,3631665151,US 3631665152,3631667199,CA @@ -100947,7 +105195,9 @@ 3632244224,3632244479,CA 3632244480,3632332799,US 3632332800,3632357375,CA -3632357376,3632381951,US +3632357376,3632376319,US +3632376320,3632377343,CA +3632377344,3632381951,US 3632381952,3632390143,CA 3632390144,3632414719,US 3632414720,3632422911,CA @@ -101062,11 +105312,7 @@ 3635159040,3635163135,CA 3635163136,3635171071,US 3635171072,3635171327,CA -3635171328,3635185407,US -3635185408,3635185663,A1 -3635185664,3635187199,US -3635187200,3635187455,A1 -3635187456,3635314687,US +3635171328,3635314687,US 3635314688,3635322879,CA 3635322880,3635466239,US 3635466240,3635470335,CA @@ -101456,7 +105702,9 @@ 3639704574,3639704574,GB 3639704575,3639730175,US 3639730176,3639734271,CA -3639734272,3639737343,US +3639734272,3639736575,US +3639736576,3639736831,HK +3639736832,3639737343,US 3639737344,3639737373,GB 3639737374,3639737374,FR 3639737375,3639737599,GB @@ -101476,9 +105724,7 @@ 3640312320,3640312575,NI 3640312576,3640312831,US 3640312832,3640313087,TO -3640313088,3640314879,US -3640314880,3640315135,A2 -3640315136,3640315391,US +3640313088,3640315391,US 3640315392,3640315647,TR 3640315648,3640316927,US 3640316928,3640317183,MX @@ -101496,10 +105742,10 @@ 3640430592,3640432639,DE 3640432640,3640433407,US 3640433408,3640433663,A2 -3640433664,3640436735,US +3640433664,3640438783,US 3640438784,3640442879,DE 3640442880,3640446975,US -3640446976,3640447999,CA +3640446976,3640449023,CA 3640449024,3640450047,A2 3640450048,3640451071,US 3640451072,3640459263,DE @@ -101680,7 +105926,11 @@ 3641941760,3641942015,EU 3641942016,3641950207,DE 3641950208,3641954303,FR -3641954304,3641958399,MD +3641954304,3641957119,MD +3641957120,3641957631,GB +3641957632,3641957887,MD +3641957888,3641958143,GB +3641958144,3641958399,MD 3641958400,3641960447,BE 3641960448,3641960703,NL 3641960704,3641961727,BE @@ -101748,7 +105998,9 @@ 3642224640,3642228735,SK 3642228736,3642232831,DE 3642232832,3642236927,RS -3642236928,3642241023,CH +3642236928,3642237263,CH +3642237264,3642237264,DE +3642237265,3642241023,CH 3642241024,3642245119,DE 3642245120,3642249215,LV 3642249216,3642253311,FR @@ -101906,7 +106158,9 @@ 3644919808,3644923903,DE 3644923904,3644924927,IL 3644924928,3644925183,US -3644925184,3644926463,IL +3644925184,3644925439,IL +3644925440,3644925695,US +3644925696,3644926463,IL 3644926464,3644926719,US 3644926720,3644927999,IL 3644928000,3644932095,GI @@ -101970,7 +106224,7 @@ 3645202432,3645206527,CZ 3645206528,3645210623,LV 3645210624,3645214719,RU -3645214720,3645218815,NL +3645214720,3645218815,SE 3645218816,3645222911,DE 3645222912,3645227007,KW 3645227008,3645235199,RU @@ -102245,7 +106499,9 @@ 3647987656,3647987695,DE 3647987696,3647987711,ES 3647987712,3647988735,IT -3647988736,3647989063,DE +3647988736,3647988999,DE +3647989000,3647989007,BE +3647989008,3647989063,DE 3647989064,3647989071,BE 3647989072,3647995903,DE 3647995904,3648004095,RU @@ -102258,10 +106514,7 @@ 3648020480,3648024575,IT 3648024576,3648028671,NL 3648028672,3648032767,HU -3648032768,3648033023,IE -3648033024,3648036095,EU -3648036096,3648036351,IE -3648036352,3648036863,EU +3648032768,3648036863,IE 3648036864,3648040959,CZ 3648040960,3648045055,BE 3648045056,3648049151,FI @@ -102585,14 +106838,14 @@ 3650879488,3650912255,RO 3650912256,3650915327,GB 3650915328,3650915583,FR -3650915584,3650920447,GB +3650915584,3650916393,GB +3650916394,3650916394,FR +3650916395,3650920447,GB 3650920448,3650920457,FR 3650920458,3650920458,GB 3650920459,3650920703,FR 3650920704,3650920895,GB -3650920896,3650920897,GR -3650920898,3650920898,GB -3650920899,3650920927,GR +3650920896,3650920927,GR 3650920928,3650922799,GB 3650922800,3650922815,FR 3650922816,3650926335,GB @@ -102818,9 +107071,7 @@ 3653410816,3653414911,CZ 3653414912,3653419007,IT 3653419008,3653423103,IL -3653423104,3653426687,GB -3653426688,3653426815,A1 -3653426816,3653427199,GB +3653423104,3653427199,GB 3653427200,3653431295,DE 3653431296,3653435391,RU 3653435392,3653439487,DE @@ -102973,9 +107224,8 @@ 3664007168,3664008191,AU 3664008192,3664008447,MN 3664008448,3664008703,PK -3664008704,3664008959,MY -3664008960,3664009215,AU -3664009216,3664052223,CN +3664008960,3664010239,AU +3664010240,3664052223,CN 3664052224,3664084991,NZ 3664084992,3664117759,KR 3664117760,3664248831,HK @@ -103091,7 +107341,9 @@ 3706159104,3706191871,CN 3706191872,3706206959,SG 3706206960,3706206975,AP -3706206976,3706208255,SG +3706206976,3706207107,SG +3706207108,3706207108,US +3706207109,3706208255,SG 3706208256,3706224639,CN 3706224640,3706257407,HK 3706257408,3706322943,AU @@ -103103,7 +107355,7 @@ 3707109376,3707174911,HK 3707174912,3707207679,JP 3707209728,3707211775,CN -3707211776,3707215871,JP +3707211776,3707215871,ID 3707215872,3707217919,BD 3707217920,3707219967,ID 3707219968,3707222015,AU @@ -103128,7 +107380,9 @@ 3715694592,3715710975,VN 3715710976,3715719167,AU 3715719168,3715727359,PH -3715727360,3715735551,AU +3715727360,3715729151,AU +3715729152,3715729407,NZ +3715729408,3715735551,AU 3715735552,3715741695,JP 3715741696,3715743743,PH 3715743744,3715760127,JP diff --git a/installer/resources/geoipv6.dat.gz b/installer/resources/geoipv6.dat.gz index 5c00c5c68a..c19c99b888 100644 Binary files a/installer/resources/geoipv6.dat.gz and b/installer/resources/geoipv6.dat.gz differ diff --git a/installer/resources/locale/bundle-messages.sh b/installer/resources/locale/bundle-messages.sh index d49b553b09..ce5704d7e8 100755 --- a/installer/resources/locale/bundle-messages.sh +++ b/installer/resources/locale/bundle-messages.sh @@ -24,7 +24,7 @@ if which find|grep -q -i windows ; then export PATH=.:/bin:/usr/local/bin:$PATH fi # Fast mode - update ondemond -# set LG2 to the language you need in envrionment varibales to enable this +# set LG2 to the language you need in environment variables to enable this JPATHS=".." for i in po/messages_*.po diff --git a/installer/resources/locale/po/messages_de.po b/installer/resources/locale/po/messages_de.po index 465ada2519..c8c499a4c7 100644 --- a/installer/resources/locale/po/messages_de.po +++ b/installer/resources/locale/po/messages_de.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-09 18:07+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-12-04 18:54+0000\n" "Last-Translator: kytv \n" "Language-Team: German (http://www.transifex.com/projects/p/I2P/language/" @@ -24,185 +24,185 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Wrapper konnte nicht geladen werden." -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME läuft bereits." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Führe $APP_LONG_NAME aus" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Warte auf $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "WARNUNG: Das Starten von $APP_LONG_NAME könnte fehlgeschlagen sein" -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Nur root kann diese Aktion durchführen." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Starte $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Stoppe $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME wurde nicht ausgeführt." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Konnte $APP_LONG_NAME nicht beenden." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Warte auf die Beendigung von $APP_LONG_NAME." -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Beenden von $APP_LONG_NAME fehlgeschlagen." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME wurde beendet." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Beende $APP_LONG_NAME ordnungsgemäß." -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME wird nicht ausgeführt." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME wird ausgeführt: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "" "$APP_LONG_NAME wird ausgeführt: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "Der $APP_LONG_NAME Dämon ist bereits installiert." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Installiere den $APP_LONG_NAME Dämon" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Die Installation für $DIST_OS wird momentan nicht unterstützt" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Entferne $APP_LONG_NAME Dämon" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "Der $APP_LONG_NAME Dämon ist momentan nicht installiert." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Entfernen wird momentan unter $DIST_OS nicht unterstützt." -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Befehle:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Start in dieser Konsole." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Im Hintergrund als Dämon starten." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "" "Beende den Router, falls er als Dämon oder in einer anderen Konsole " "ausgeführt wird." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Ordnungsgemäßes Beenden kann bis zu 11 Minuten dauern." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "" "Beende den Router, falls er ausgeführt wird und dann starte ihn erneut." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Starte den Router neu, falls er momentan ausgeführt wird." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Aktuellen Status abfragen." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Installiere für automatischen Start wenn das System hochfährt." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Deinstallieren." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Falls gestartet, fordere einen Java Thread dump an" -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Bitte bearbeite i2prouter und setze die Variable RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "I2P als root Benutzer auszuführen ist *nicht* empfehlenswert." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "Um I2P trotzdem als root auszuführen bearbeite i2prouter und setze " diff --git a/installer/resources/locale/po/messages_es.po b/installer/resources/locale/po/messages_es.po index 7b8d3fa309..fd12737dc1 100644 --- a/installer/resources/locale/po/messages_es.po +++ b/installer/resources/locale/po/messages_es.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 19:59+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-08-11 14:15+0000\n" "Last-Translator: kytv \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/I2P/language/" @@ -24,183 +24,183 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Falló al cargar el " -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME está aún ejecutándose" -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Ejecutando $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Esperando a $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "CUIDADO: puede que $APP_LONG_NAME haya fallado al iniciarse." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Debe ser root para realizar esta acción" -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Iniciando $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Deteniendo $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME no estaba en ejecución." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "No se pudo detener $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Esperando a que salga de $APP_LONG_NAME" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "No se pudo detener $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Se detuvo $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Deteniendo $APP_LONG_NAME elegantemente" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME no está en ejecución." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME está en ejecución: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "" "$APP_LONG_NAME ejecutándose: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "$APP_LONG_NAME está aún instalado" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Instalando el demonio $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "La instalación no está aún soportada por $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Eliminando el demonio $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "El demonio $APP_LONG_NAME no está instalado actualmente." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Eliminar no está actualmente soportado por $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Órdenes:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Ejecutar en la consola actual." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Iniciar en segundo plano como un proceso de demonio." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "" "Parar en caso de que esté ejecutándose como un demonio o en otra consola." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Parada segura, puede tardar hasta 11 minutos." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Parar si está ejecutándose y entonces iniciar." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Reiniciar sólo si ya se está ejecutando." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Consultar el estado actual." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Instalar para que se inicie automáticamente con el sistema." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Desinstalar." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Solicitar un volcado del hilo JAVA si se está ejecutando." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Por favor edite i2prouter e introduzca la variable RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "\"No\" se recomienda ejecutar I2P como root." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "Para ejecutar como root de todos modos, edite i2prouter y ponga la variable " diff --git a/installer/resources/locale/po/messages_fr.po b/installer/resources/locale/po/messages_fr.po index 8b2cb92a3e..240be56752 100644 --- a/installer/resources/locale/po/messages_fr.po +++ b/installer/resources/locale/po/messages_fr.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 20:01+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-08-11 15:53+0000\n" "Last-Translator: kytv \n" "Language-Team: French (http://www.transifex.com/projects/p/I2P/language/" @@ -21,184 +21,184 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Echec de chargement du wrapper" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME fonctionne déjà." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Lancement de $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Attente de $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "AVERTISSEMENT : $APP_LONG_NAME peut avoir échoué à démarrer." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Vous devez être root pour accomplir cette action." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Démarrage de $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Arrêt de $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME ne fonctionnait pas." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Incapable de stopper $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "En attente que $APP_LONG_NAME existe" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Echec à stopper $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Stoppé $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Arrête $APP_LONG_NAME gracieusement" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME ne tourne pas." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME fait tourner: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "" "$APP_LONG_NAME fait tourner: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "Le démon de $APP_LONG_NAME est déjà installé." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Installing le démon de $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Installation actuellement pas prise en charge pour $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Supprime le démon $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "Le démon $APP_LONG_NAME n'est actuellement pas installé." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Suppression actuellement pas prise en charge pour $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Commandes :" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Lancer dans la console actuelle." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Démarre en tâche de fond comme un processus démon." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Stopper s'il fonctionne comme un démon ou dans une autre console." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Stopper gracieusement, peut prendre jusqu'à 11 minutes." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Stopper si il marche et ensuite démarrer." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Redémarrer seulement si il est déjà en cours d'exécution." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Interroger l'état actuel." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "" "Installer pour lancer automatiquement quand le système système démarre." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Désinstalle." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Request a Java thread dump if running." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Veuillez éditer i2prouter et paramétrer la variable RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "" "Faire fonctionner I2P en tant qu'utilisateur root n'est *pas* recommandé." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "Pour exécuter en tant que root de toute façon, éditer i2prouter et mettre " diff --git a/installer/resources/locale/po/messages_id.po b/installer/resources/locale/po/messages_id.po index 877ee8d66e..e755c23698 100644 --- a/installer/resources/locale/po/messages_id.po +++ b/installer/resources/locale/po/messages_id.po @@ -2,197 +2,200 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # Khairul Agasta , 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-06 18:28+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2014-08-29 06:04+0000\n" "Last-Translator: Khairul Agasta \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/I2P/language/id/)\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/I2P/language/" +"id/)\n" +"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Gagal memuat wrapper" -#: ../i2prouter:943 ../i2prouter:967 ../i2prouter:1041 ../i2prouter:1069 -#: ../i2prouter:1090 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME sudah berjalan." -#: ../i2prouter:954 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Menjalankan $APP_LONG_NAME" -#: ../i2prouter:974 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Menunggu $APP_LONG_NAME" -#: ../i2prouter:1021 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "PERINGATAN: $APP_LONG_NAME mungkin gagal memulai." -#: ../i2prouter:1035 ../i2prouter:1063 ../i2prouter:1269 ../i2prouter:1558 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Harus sudah root untuk melaksanakan tindakan ini." -#: ../i2prouter:1079 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Memulai $APP_LONG_NAME" -#: ../i2prouter:1101 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Menghentikan $APP_LONG_NAME" -#: ../i2prouter:1105 ../i2prouter:1173 ../i2prouter:1726 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME tidak berjalan." -#: ../i2prouter:1118 ../i2prouter:1126 ../i2prouter:1188 ../i2prouter:1196 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Tidak dapat menghentikan $APP_LONG_NAME." -#: ../i2prouter:1144 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Menunggu $APP_LONG_NAME untuk mengakhiri" -#: ../i2prouter:1158 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Gagal menghentikan $APP_LONG_NAME." -#: ../i2prouter:1161 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME dihentikan." -#: ../i2prouter:1169 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Menghentikan $APP_LONG_NAME dengan halus" -#: ../i2prouter:1215 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME tidak berjalan." -#: ../i2prouter:1220 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME sedang berjalan: PID:$pid" -#: ../i2prouter:1223 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -msgstr "$APP_LONG_NAME sudah berjalan: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" +msgstr "" +"$APP_LONG_NAME sudah berjalan: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1276 ../i2prouter:1288 ../i2prouter:1307 ../i2prouter:1324 -#: ../i2prouter:1391 ../i2prouter:1411 ../i2prouter:1425 ../i2prouter:1439 -#: ../i2prouter:1467 ../i2prouter:1505 ../i2prouter:1540 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "Daemon $APP_LONG_NAME sudah terpasang." -#: ../i2prouter:1279 ../i2prouter:1294 ../i2prouter:1396 ../i2prouter:1428 -#: ../i2prouter:1442 ../i2prouter:1456 ../i2prouter:1470 ../i2prouter:1508 -#: ../i2prouter:1543 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Memasang daemon $APP_LONG_NAME" -#: ../i2prouter:1550 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Memasang saat ini tidak didukung untuk $DIST_OS" -#: ../i2prouter:1566 ../i2prouter:1579 ../i2prouter:1593 ../i2prouter:1602 -#: ../i2prouter:1612 ../i2prouter:1636 ../i2prouter:1649 ../i2prouter:1661 -#: ../i2prouter:1679 ../i2prouter:1692 ../i2prouter:1706 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Menghapus daemon $APP_LONG_NAME" -#: ../i2prouter:1572 ../i2prouter:1587 ../i2prouter:1596 ../i2prouter:1606 -#: ../i2prouter:1617 ../i2prouter:1630 ../i2prouter:1642 ../i2prouter:1655 -#: ../i2prouter:1673 ../i2prouter:1686 ../i2prouter:1700 ../i2prouter:1711 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "Daemon $APP_LONG_NAME saat ini belum dipasang" -#: ../i2prouter:1715 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Menghapus saat ini tidak didukung untuk $DIST_OS" -#: ../i2prouter:1802 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Perintah:" -#: ../i2prouter:1803 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Luncurkan dalam konsol saat ini." -#: ../i2prouter:1804 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Mulai di latar sebagai proses daemon." -#: ../i2prouter:1805 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Hentikan jika berjalan sebagai daemon atau pada konsol lain." -#: ../i2prouter:1806 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Menghentikan dengan halus, bisa memakan waktu hingga 11 menit." -#: ../i2prouter:1807 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Hentikan jika berjalan dan kemudian memulainya." -#: ../i2prouter:1808 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Memulai ulang hanya jika sudah berjalan." -#: ../i2prouter:1809 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Menanyakan status saat ini." -#: ../i2prouter:1810 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Pasang untuk memulai secara otomatis ketika sistem boot." -#: ../i2prouter:1811 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Copot." -#: ../i2prouter:1812 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Meminta thread buangan Java jika berjalan." -#: ../i2prouter:1825 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Silahkan mengedit i2prouter dan setel variabel RUN_AS_USER" +#: ../i2prouter:1864 +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "Silahkan mengedit /etc/default/i2p dan setel variabel RUN_AS_USER" -#: ../i2prouter:1830 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Menjalankan I2P sebagai pengguna root adalah *tidak* direkomendasikan." -#: ../i2prouter:1833 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Untuk menjalankan sebagai root, edit i2prouter dan setel ALLOW_ROOT=true." +#: ../i2prouter:1872 +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." +msgstr "" +"Untuk menjalankan sebagai root, edit /etc/default/i2p dan setel ALLOW_ROOT=true." diff --git a/installer/resources/locale/po/messages_it.po b/installer/resources/locale/po/messages_it.po index 1375c34077..8fb4ed3c2d 100644 --- a/installer/resources/locale/po/messages_it.po +++ b/installer/resources/locale/po/messages_it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 20:02+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-01-10 21:29+0000\n" "Last-Translator: BadCluster \n" "Language-Team: Italian (http://www.transifex.com/projects/p/I2P/language/" @@ -20,180 +20,180 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "" -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "" -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "" -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "" -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "" -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "" -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "" -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "" -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Istallazione non ancora supportata per $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "" -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Comandi:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "" -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "" -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "" -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "" -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "" -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "" -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "" -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "" -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "" -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "" -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "" -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" diff --git a/installer/resources/locale/po/messages_ja.po b/installer/resources/locale/po/messages_ja.po index 47260ffc29..294c82c749 100644 --- a/installer/resources/locale/po/messages_ja.po +++ b/installer/resources/locale/po/messages_ja.po @@ -2,197 +2,202 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # plazmism , 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:51+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2014-02-13 11:19+0000\n" "Last-Translator: plazmism \n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/ja/)\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/" +"ja/)\n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "ラッパーの読み込みに失敗" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME がすでに起動中です。" -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "$APP_LONG_NAME を起動中" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "$APP_LONG_NAME を待機中" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "警告: $APP_LONG_NAME は開始に失敗したかもしれません。" -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "このアクションを実行するには、rootである必要があります。" -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "$APP_LONG_NAME を起動中" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "$APP_LONG_NAME を停止中" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME は起動していませんでした。" -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "$APP_LONG_NAME を停止できません。" -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "$APP_LONG_NAME が終了するのを待っています" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "$APP_LONG_NAME の停止に失敗しました。" -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME が停止しました。" -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "$APP_LONG_NAME を適切に停止中" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME は起動していません。" -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME は起動しています: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -msgstr "$APP_LONG_NAME は起動しています: PID:$pid、 ラッパー:$STATUS、 Java:$JAVASTATUS" +msgstr "" +"$APP_LONG_NAME は起動しています: PID:$pid、 ラッパー:$STATUS、 Java:" +"$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "$APP_LONG_NAME デーモンはすでにインストールされています。" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "$APP_LONG_NAME のデーモンをインストール中" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "$DIST_OS に現在サポートされていないインストール" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "$APP_LONG_NAME デーモンを削除中" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "$APP_LONG_NAME daemon は現在インストールされていません。" -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "$DIST_OS に現在サポートされていない削除" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "コマンド:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "現在のコンソールで起動。" -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "デーモンプロセスとしてバックグラウンドで開始" -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "デーモンとして、あるいは他のコンソールで起動中の場合停止" -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "適切に停、最大11分掛かる恐れがあります。" -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "起動中の場合、停止してから起動" -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "すでに起動中の場合のみ再起動。" -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "現在の状態を問い合わせ" -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "インストールして、システムのブート時に自動的に起動する。" -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "アンインストール。" -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "起動中の場合、 Java スレッドダンプを要求" -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "i2prouter を編集して、変数 RUN_AS_USER を設定してください" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "root ユーザーとしての I2P の起動は推奨され*ません*。" -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定する。" +msgstr "" +"とにかく root として起動し、 i2prouter を編集して、ALLOW_ROOT=true と設定す" +"る。" diff --git a/installer/resources/locale/po/messages_nl.po b/installer/resources/locale/po/messages_nl.po index 1b56d3ff68..2104676728 100644 --- a/installer/resources/locale/po/messages_nl.po +++ b/installer/resources/locale/po/messages_nl.po @@ -2,197 +2,199 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # Nathan Follens, 2015 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-06 18:28+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2015-01-18 10:33+0000\n" "Last-Translator: Nathan Follens\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/I2P/language/nl/)\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Laden van wrapper mislukt" -#: ../i2prouter:943 ../i2prouter:967 ../i2prouter:1041 ../i2prouter:1069 -#: ../i2prouter:1090 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME draait al." -#: ../i2prouter:954 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "$APP_LONG_NAME draaien" -#: ../i2prouter:974 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Wachten op $APP_LONG_NAME" -#: ../i2prouter:1021 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "WAARSCHUWING: $APP_LONG_NAME is misschien niet gestart." -#: ../i2prouter:1035 ../i2prouter:1063 ../i2prouter:1269 ../i2prouter:1558 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Root vereist om deze handeling uit te voeren." -#: ../i2prouter:1079 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "$APP_LONG_NAME starten" -#: ../i2prouter:1101 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "$APP_LONG_NAME stoppen" -#: ../i2prouter:1105 ../i2prouter:1173 ../i2prouter:1726 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME draaide niet." -#: ../i2prouter:1118 ../i2prouter:1126 ../i2prouter:1188 ../i2prouter:1196 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Kon $APP_LONG_NAME niet stoppen." -#: ../i2prouter:1144 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Wachten op $APP_LONG_NAME om af te sluiten" -#: ../i2prouter:1158 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Stoppen van $APP_LONG_NAME mislukt." -#: ../i2prouter:1161 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME gestopt." -#: ../i2prouter:1169 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "$APP_LONG_NAME sierlijk stoppen" -#: ../i2prouter:1215 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME draait niet." -#: ../i2prouter:1220 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME draait: PID:$pid" -#: ../i2prouter:1223 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME draait: PID:$pid, Wrapper: $STATUS, Jave: $JAVASTATUS" -#: ../i2prouter:1276 ../i2prouter:1288 ../i2prouter:1307 ../i2prouter:1324 -#: ../i2prouter:1391 ../i2prouter:1411 ../i2prouter:1425 ../i2prouter:1439 -#: ../i2prouter:1467 ../i2prouter:1505 ../i2prouter:1540 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "De $APP_LONG_NAME daemon is al geïnstalleerd." -#: ../i2prouter:1279 ../i2prouter:1294 ../i2prouter:1396 ../i2prouter:1428 -#: ../i2prouter:1442 ../i2prouter:1456 ../i2prouter:1470 ../i2prouter:1508 -#: ../i2prouter:1543 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Bezig met installeren van de $APP_LONG_NAME daemon" -#: ../i2prouter:1550 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Installeren wordt momenteel niet ondersteund voor $DIST_OS" -#: ../i2prouter:1566 ../i2prouter:1579 ../i2prouter:1593 ../i2prouter:1602 -#: ../i2prouter:1612 ../i2prouter:1636 ../i2prouter:1649 ../i2prouter:1661 -#: ../i2prouter:1679 ../i2prouter:1692 ../i2prouter:1706 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Bezig met verwijderen van $APP_LONG_NAME daemon" -#: ../i2prouter:1572 ../i2prouter:1587 ../i2prouter:1596 ../i2prouter:1606 -#: ../i2prouter:1617 ../i2prouter:1630 ../i2prouter:1642 ../i2prouter:1655 -#: ../i2prouter:1673 ../i2prouter:1686 ../i2prouter:1700 ../i2prouter:1711 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "De $APP_LONG_NAME daemon is momenteel niet geïnstalleerd." -#: ../i2prouter:1715 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Verwijderen wordt momenteel niet ondersteund voor $DIST_OS" -#: ../i2prouter:1802 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Commando's:" -#: ../i2prouter:1803 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Starten in de huidige console." -#: ../i2prouter:1804 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Starten in de achtergrond als een daemon-proces." -#: ../i2prouter:1805 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Stop indien draaiende als een daemon of in een andere console." -#: ../i2prouter:1806 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Sierlijk stoppen, kan tot 11 minuten duren." -#: ../i2prouter:1807 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Indien draaiende, stop en start opnieuw." -#: ../i2prouter:1808 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Herstart enkel indien al draaiend." -#: ../i2prouter:1809 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "De huidige status opvragen." -#: ../i2prouter:1810 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Installeren om automatisch te starten wanneer het systeem opstart." -#: ../i2prouter:1811 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Verwijderen." -#: ../i2prouter:1812 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Vraag een Java thread dump indien draaiende." -#: ../i2prouter:1825 -msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Gelieve i2prouter te wijzigen en de variabele RUN_AS_USER in te stellen" +#: ../i2prouter:1864 +msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER" +msgstr "" +"Gelieve /etc/default/i2p te wijzigen en de variabele RUN_AS_USER in te stellen" -#: ../i2prouter:1830 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "I2P uitvoeren als root is *niet* aanbevolen." -#: ../i2prouter:1833 -msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Om toch als root uit te voeren, wijzig i2prouter en stel ALLOW_ROOT=true in." +#: ../i2prouter:1872 +msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true." +msgstr "" +"Om toch als root uit te voeren, wijzig /etc/default/i2p en stel ALLOW_ROOT=true in." diff --git a/installer/resources/locale/po/messages_pl.po b/installer/resources/locale/po/messages_pl.po index f345ede4fb..9f691a9d4e 100644 --- a/installer/resources/locale/po/messages_pl.po +++ b/installer/resources/locale/po/messages_pl.po @@ -2,197 +2,202 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # sebx, 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:51+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2014-02-05 22:18+0000\n" "Last-Translator: sebx\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/pl/)\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/" +"pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Nie udało uruchomić się osłony" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME jest już uruchomione." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Uruchomione $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Czeka na $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "UWAGA: $APP_LONG_NAME mogło się nie uruchomić." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Musisz mieć prawa roota, aby wykonać daną czynność." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Trwa uruchamianie $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Zatrzymywanie $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME nie było uruchomione." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Nie można zatrzymać $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Trwa czekanie na wyłączenie $APP_LONG_NAME" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Nie udało się wyłączyć $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Zatrzymano $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Zatrzymywanie $APP_LONG_NAME" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr " $APP_LONG_NAME nie jest włączone." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME jest uruchomione: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -msgstr "$APP_LONG_NAME jest uruchomione: PID:$pid, Osłona:$STATUS, Java:$JAVASTATUS" +msgstr "" +"$APP_LONG_NAME jest uruchomione: PID:$pid, Osłona:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "The $APP_LONG_NAME daemon jest już zainstalowany." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Instalacja deamona $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Instalacja nie jest obecnie obsługiwana dla $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Usuwanie deamona $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "Deamon $APP_LONG_NAME nie jest obecnie zainstalowany." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Usunięcie obecnie jest jest obsługiwane dla $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Polecenia:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Odpal w obecnej konsoli." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Uruchom w tle jako proces deamon." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." -msgstr "Zatrzymaj jeśli jest uruchomione jako deamon lub jest uruchomione w innej konsoli." +msgstr "" +"Zatrzymaj jeśli jest uruchomione jako deamon lub jest uruchomione w innej " +"konsoli." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Wdzięczne zatrzymanie może potrwać nawet 11 minut." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Zatrzymaj jeśli działa i uruchom ponownie." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Zrestartuj tylko wtedy jeśli jest już uruchomione." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Zbadaj aktualny stan." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Zainstaluj aby uruchomić automatycznie przy starcie systemu." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Odinstaluj." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Zażądaj zrzutu wątków Java jeśli jest uruchomiona." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Proszę edytuj i2prouter i ustaw zmienną RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Nie jest polecane uruchamianie I2P jako root." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "Aby uruchomić jako root, edytuj i2prouter i ustaw ALLOW_ROOT=true." diff --git a/installer/resources/locale/po/messages_pt.po b/installer/resources/locale/po/messages_pt.po index ba0907e40e..5a6f715fb2 100644 --- a/installer/resources/locale/po/messages_pt.po +++ b/installer/resources/locale/po/messages_pt.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-08-11 15:44+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-06-17 20:59+0000\n" "Last-Translator: rafaelbf\n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/" @@ -21,182 +21,182 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Falha ao iniciar wrapper" -#: ../i2prouter:908 ../i2prouter:935 ../i2prouter:1009 ../i2prouter:1037 -#: ../i2prouter:1061 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME já se encontra em funcionamento." -#: ../i2prouter:919 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "$APP_LONG_NAME Iniciado" -#: ../i2prouter:942 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "À espera de $APP_LONG_NAME" -#: ../i2prouter:989 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "Aviso: $APP_LONG_NAME pode ter falhado a ser iniciado." -#: ../i2prouter:1003 ../i2prouter:1031 ../i2prouter:1240 ../i2prouter:1529 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Tem de ser root para realizar esta ação." -#: ../i2prouter:1047 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "A Iniciar $APP_LONG_NAME" -#: ../i2prouter:1072 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "A encerrar $APP_LONG_NAME" -#: ../i2prouter:1076 ../i2prouter:1144 ../i2prouter:1697 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME não foi iniciado." -#: ../i2prouter:1089 ../i2prouter:1097 ../i2prouter:1159 ../i2prouter:1167 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Incapaz de encerrar $APP_LONG_NAME." -#: ../i2prouter:1115 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "À espera de $APP_LONG_NAME para encerrar." -#: ../i2prouter:1129 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Falhou o encerramento de $APP_LONG_NAME." -#: ../i2prouter:1132 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME Encerrado." -#: ../i2prouter:1140 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "A parar $APP_LONG_NAME graciosamente" -#: ../i2prouter:1186 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME não foi iniciado." -#: ../i2prouter:1191 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME foi iniciado: PID:$pid" -#: ../i2prouter:1194 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "" "$APP_LONG_NAME foi iniciado: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1247 ../i2prouter:1259 ../i2prouter:1278 ../i2prouter:1295 -#: ../i2prouter:1362 ../i2prouter:1382 ../i2prouter:1396 ../i2prouter:1410 -#: ../i2prouter:1438 ../i2prouter:1476 ../i2prouter:1511 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "O daemon $APP_LONG_NAME já foi instalado." -#: ../i2prouter:1250 ../i2prouter:1265 ../i2prouter:1367 ../i2prouter:1399 -#: ../i2prouter:1413 ../i2prouter:1427 ../i2prouter:1441 ../i2prouter:1479 -#: ../i2prouter:1514 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "A instalar daemon $APP_LONG_NAME" -#: ../i2prouter:1521 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "A instalação neste momento não é suportada para $DIST_OS" -#: ../i2prouter:1537 ../i2prouter:1550 ../i2prouter:1564 ../i2prouter:1573 -#: ../i2prouter:1583 ../i2prouter:1607 ../i2prouter:1620 ../i2prouter:1632 -#: ../i2prouter:1650 ../i2prouter:1663 ../i2prouter:1677 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "A remover daemon $APP_LONG_NAME" -#: ../i2prouter:1543 ../i2prouter:1558 ../i2prouter:1567 ../i2prouter:1577 -#: ../i2prouter:1588 ../i2prouter:1601 ../i2prouter:1613 ../i2prouter:1626 -#: ../i2prouter:1644 ../i2prouter:1657 ../i2prouter:1671 ../i2prouter:1682 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "O daemon $APP_LONG_NAME não se encontra instalado neste momento." -#: ../i2prouter:1686 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "A remoção neste momento não é suportada para $DIST_OS" -#: ../i2prouter:1773 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Comandos: " -#: ../i2prouter:1774 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Inicie na consola atual." -#: ../i2prouter:1775 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "A iniciar no background como processo daemon." -#: ../i2prouter:1776 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Pare se iniciado como daemon ou noutra consola." -#: ../i2prouter:1777 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Pare graciosamente, pode demorar ate 11 minutos." -#: ../i2prouter:1778 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Pare se iniciado e depois inicie." -#: ../i2prouter:1779 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Reinicie apenas se já estiver iniciado." -#: ../i2prouter:1780 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Consultar o status atual." -#: ../i2prouter:1781 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Instale para iniciar automaticamente quando o sistema iniciar." -#: ../i2prouter:1782 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Desinstalar." -#: ../i2prouter:1783 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Requisitar o histórico Java se iniciado." -#: ../i2prouter:1796 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Favor editar o arquivo i2prouter e configurar a variável RUN_AS_USER" -#: ../i2prouter:1801 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Iniciar I2P como permissões root *não* é recomendado." -#: ../i2prouter:1804 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "Para executar como root mesmo assim, editar o i2prouter e configurar a " diff --git a/installer/resources/locale/po/messages_pt_BR.po b/installer/resources/locale/po/messages_pt_BR.po index 150a70c83a..21cdba79e7 100644 --- a/installer/resources/locale/po/messages_pt_BR.po +++ b/installer/resources/locale/po/messages_pt_BR.po @@ -2,198 +2,203 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: +# testsubject67 , 2014 # blueboy, 2013 +# blueboy, 2015 # blueboy, 2014 msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:51+0000\n" -"PO-Revision-Date: 2014-01-31 16:45+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" +"PO-Revision-Date: 2015-05-07 03:44+0000\n" "Last-Translator: blueboy\n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" -msgstr "Falha ao carregar o empacotador." +msgstr "Falha ao carregar o encapsulador." -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME já está sendo executado." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Executando $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Esperando por $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "AVISO: $APP_LONG_NAME talvez tenha falhado ao inicializar." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Esta ação exige previlégios de root para ser realizada." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Inicializando $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Interrompendo $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME não estava sendo executado." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Impossibilitado de interromper $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Aguardando $APP_LONG_NAME terminar" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Falha ao interromper $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." -msgstr "" +msgstr "$APP_LONG_NAME parado." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" -msgstr "" +msgstr "Graciosamente parando $APP_LONG_NAME" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." -msgstr "" +msgstr "$APP_LONG_NAME não está sendo executado" -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" -msgstr "" +msgstr "$APP_LONG_NAME está sendo executado: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -msgstr "" +msgstr "$APP_LONG_NAME está sendo executado: PID:$pid, Envoltório:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." -msgstr "" +msgstr "O daemon $APP_LONG_NAME já está instalado" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" -msgstr "" +msgstr "Instalando o daemon $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "A instalação não possui atualmente suporte para $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" -msgstr "" +msgstr "Removendo daemon $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." -msgstr "" +msgstr "O daemon $APP_LONG_NAME não está instalado." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" -msgstr "" +msgstr "Remoção não suportada por $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Comandos:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." -msgstr "" +msgstr "Lançar em atual console." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Inicializar executando ao fundo, como um processo daemon." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Pare se estiver sendo executado como um daemon ou em um outro console." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." -msgstr "" +msgstr "Graciosamente pare, poderá demorar até 11 minutos." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Pare, se estiver sendo executado, e então inicialize." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Reinicialize apenas se já estiver sendo executado." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." -msgstr "" +msgstr "Duvide do status atual." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." -msgstr "" +msgstr "Instalar para automaticamente começar com o sistema." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Desinstalar." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." -msgstr "" +msgstr "Solicitar um despejo de thread se está sendo executado." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Por favor, edite i2prouter e especifique a variável RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Executar o roteador I2P como usuário root *não* é recomendado." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "De qualquer forma, se quiser mesmo executar o roteador como root, edite i2prouter e ponha ALLOW_ROOT=true." +msgstr "" +"De qualquer forma, se quiser mesmo executar o roteador como root, edite " +"i2prouter e ponha ALLOW_ROOT=true." diff --git a/installer/resources/locale/po/messages_ro.po b/installer/resources/locale/po/messages_ro.po index 453785f61c..56a3a73c90 100644 --- a/installer/resources/locale/po/messages_ro.po +++ b/installer/resources/locale/po/messages_ro.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:03+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-11-11 13:00+0000\n" "Last-Translator: polearnik \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/I2P/language/" @@ -20,181 +20,181 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Încărcarea învelișului a eșuat" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME este deja pornit." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Pornirea $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Asteptarea $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "AVERTIZARE: $APP_LONG_NAME posibil nu au reușit să porneasca." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Trebuie să fie root pentru a efectua această acțiune." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Pornirea $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Oprirea $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME nu este pornit." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Imposibil de a opri $APP_LONG_NAME" -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Asteptarea opririi $APP_LONG_NAME" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Oprirea $APP_LONG_NAME a esuat" -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME este oprit" -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Oprirea corecta a $APP_LONG_NAME" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME nu este pornit." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME este pornit: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME este pornit: PID:$pid,invelis:$STATUS Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "Demonul $APP_LONG_NAME este deja instalat" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Instalarea demonului $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Instalarea nu este suportata în prezent pentru $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Stergerea demonului $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "Demonul $APP_LONG_NAME nu este instalat" -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Ștergerea nu este suportata în prezent pentru $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Comenzi:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Pornirea in consola curenta" -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Începe în fundal ca un proces daemon." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Oprirea dacă rulează ca un demon sau într-o altă consolă." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Oprirea corecta poate ocupa peste 11 minute" -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Oprirea dacă rulează și apoi pornește." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Repornirea numai dacă deja rulează." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Interogarea stării curentă." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Instalare pentru pornirea automata la startul sistemului." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Dezinstalează" -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Solicitarea dump-ului firului Java daca este pornit" -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Vă rugăm să editați i2prouter și setați variabila RUN_AS_USER " -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Rularea I2P ca root *nu* este recomandată." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "Pentru a rula ca root, oricum, editati i2prouter și setați ALLOW_ROOT = " diff --git a/installer/resources/locale/po/messages_ru.po b/installer/resources/locale/po/messages_ru.po index 90e4e8cb1c..a46424585c 100644 --- a/installer/resources/locale/po/messages_ru.po +++ b/installer/resources/locale/po/messages_ru.po @@ -2,7 +2,7 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # varnav, 2013 # nefelim4ag , 2012 @@ -14,190 +14,195 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:51+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2014-01-11 08:32+0000\n" "Last-Translator: sr4d \n" -"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/I2P/language/ru_RU/)\n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/I2P/" +"language/ru_RU/)\n" +"Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru_RU\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Не удалось загрузить оболочку" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "Приложение \"$APP_LONG_NAME\" уже запущено." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Приложение \"$APP_LONG_NAME\" запущено" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Ожидание приложения \"$APP_LONG_NAME\"" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "Внимание: возможно, не удалось запустить $APP_LONG_NAME." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Для выполнения этого действия необходимо быть root-пользователем." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Запуск приложения \"$APP_LONG_NAME\"" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Остановка приложения \"$APP_LONG_NAME\"" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "Приложение \"$APP_LONG_NAME\" не было запущено." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Невозможно остановить приложение \"$APP_LONG_NAME\"." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Ожидание завершения работы приложения \"$APP_LONG_NAME\"" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Ошибка остановки $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Остановленно $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "$APP_LONG_NAME мягко останавливается" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME не запущен." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME запущено: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME запущено: PID:$pid, Оболочка:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "Демон $APP_LONG_NAME уже установлен." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Установка демона $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "В данный момент установка на $DIST_OS не поддерживается" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Удаляется демон: $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "$APP_LONG_NAME демон сейчас не установлен." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Установка не поддерживается для $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Команды:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Запустить в текущей консоли." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Запустить в фоне как демона." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Остановить если демон запущен в другой консоли." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Остановить медленно, может отнять до 11 минут." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Остановить если запущен и запустить." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Перезапустить только если уже запущен." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Текущий статус очереди." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Установка запустится автоматически, во время запуска системы." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Удаление." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Запросить дамп нитей Java, если запущено." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" -msgstr "Пожалуйста, отредактируйте i2prouter и установите переменную RUN_AS_USER" +msgstr "" +"Пожалуйста, отредактируйте i2prouter и установите переменную RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Запускать I2P от имени root'а *НЕ* рекомендуется." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Чтобы всё равно запустить под root'ом, отредактируйте i2prouter и установите ALLOW_ROOT=true." +msgstr "" +"Чтобы всё равно запустить под root'ом, отредактируйте i2prouter и установите " +"ALLOW_ROOT=true." diff --git a/installer/resources/locale/po/messages_sk.po b/installer/resources/locale/po/messages_sk.po index 53d6303f16..4a40f3f54b 100644 --- a/installer/resources/locale/po/messages_sk.po +++ b/installer/resources/locale/po/messages_sk.po @@ -2,7 +2,7 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # Krantišek , 2014 # Svistwarrior273 , 2014 @@ -10,190 +10,194 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-11-19 23:51+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2014-04-15 15:38+0000\n" "Last-Translator: Svistwarrior273 \n" -"Language-Team: Slovak (http://www.transifex.com/projects/p/I2P/language/sk/)\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/I2P/language/" +"sk/)\n" +"Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Nepodarilo sa načítať wrapper" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME je už spustená." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Spúšťa sa $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Čaká sa na $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "UPOZORNENIE: $APP_LONG_NAME môže pri štarte zlyhať." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Pre vykonanie tejto akcie musíš byť root." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Spúšťa sa $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Zastavuje sa $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME nebola sputená." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Nemožno zastaviť $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Čakám na $APP_LONG_NAME pre ukončenie" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Nepodarilo sa zastaviť $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Zastavené $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Zastavuje sa $APP_LONG_NAME elegantne" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME nie je spustená." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME je spustená: PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -msgstr "$APP_LONG_NAME je spustená: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" +msgstr "" +"$APP_LONG_NAME je spustená: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "$APP_LONG_NAME daemon je už nainštalovaný." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Inštaluje sa $APP_LONG_NAME daemon" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Inštalácia momentálne nie je podporovaná pre $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Odstraňuje sa $APP_LONG_NAME daemon" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "$APP_LONG_NAME daemon momentálne nie je nainštalovaný." -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Odstránenie momentálne nie je podporované pre $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Príkazy:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Spustiť v aktuálnej konzole." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Spustiť na pozadí ako daemon proces." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Zastaviť, ak je spustený ako daemon alebo v inej konzoli." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Zastaviť jemným spôsobom, môže to zabrať až 11 minút." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Zastaviť, ak je spustený a potom znova spustiť." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Reštartovať, iba ak je už spustený." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Poslať požiadavku na zistenie súčasného stavu." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Nainštalovať tak, aby sa spustil automaticky pri boote systému." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Odinštalovať." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Vyžiadať zrušenie vlákna Javy, ak je spustený." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Prosím upravte i2prouter a nastavte premennú RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Spúšťať I2P ako root *nie* je odporúčané." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte ALLOW_ROOT=true." +msgstr "" +"Ak ho chcete spustiť ako root aj tak, upravte i2prouter a nastavte " +"ALLOW_ROOT=true." diff --git a/installer/resources/locale/po/messages_sv.po b/installer/resources/locale/po/messages_sv.po index e1bd95f65a..bfbfad9e83 100644 --- a/installer/resources/locale/po/messages_sv.po +++ b/installer/resources/locale/po/messages_sv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 20:05+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-09-11 22:20+0000\n" "Last-Translator: hottuna \n" "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/I2P/" @@ -20,181 +20,181 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Misslyckades vid laddning av wrapper" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME körs redan." -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "Kör $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "Väntar på $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "VARNING: $APP_LONG_NAME kan ha misslyckats att starta." -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Handlingen måste göras av root." -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "Startar $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "Stannar $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME kördes inte." -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "Kan inte stoppa $APP_LONG_NAME." -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "Väntar på att $APP_LONG_NAME ska avslutas" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "Misslyckades med att stanna $APP_LONG_NAME." -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "Stannad $APP_LONG_NAME." -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "Stannar $APP_LONG_NAME graciöst" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME körs inte." -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME kör: PID$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME kör: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "$APP_LONG_NAME demonen är redan installerad." -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "Installerar $APP_LONG_NAME demon" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "Installation stöds inte för $DIST_OS" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "Tar bort $APP_LONG_NAME demon" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "$APP_LONG_NAME demonen är inte installerad" -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "Borttagning stöds inte för $DIST_OS" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Kommandon:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Kör in nuvarande konsoll." -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Starta i bakgrunden som en demon-process." -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "Stanna om demon körs i annan konsoll." -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Stanna graciöst, kan ta upp till 11 minuter." -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Stanna vid drift och starta sedan." -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Starta om vid drift." -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Fråga efter nuvarande status." -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Installera så att programmet startar vid systemstart." -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Avinstallera." -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Fråga efter en Java thread dump vid drift." -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "Var god ändra i2prouter och set variabeln RUN_AS_USER" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "Att köra I2P som användare root är *inte* rekommenderat." -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "" "För att köra som root oavsett, ändra i2prouter och sätt ALLOW_ROOT=true" diff --git a/installer/resources/locale/po/messages_tr.po b/installer/resources/locale/po/messages_tr.po index 38515ae82c..1e1ec48a73 100644 --- a/installer/resources/locale/po/messages_tr.po +++ b/installer/resources/locale/po/messages_tr.po @@ -2,197 +2,201 @@ # Copyright (C) 2012 The I2P Project # This file is distributed under the same license as the routerconsole package. # To contribute translations, see http://www.i2p2.de/newdevelopers -# +# # Translators: # Kaya Zeren , 2013 msgid "" msgstr "" "Project-Id-Version: I2P\n" -"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-07-04 16:43+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-07-11 20:20+0000\n" "Last-Translator: Kaya Zeren \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/I2P/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/I2P/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "Sarıcı yüklenemedi" -#: ../i2prouter:908 ../i2prouter:935 ../i2prouter:1009 ../i2prouter:1037 -#: ../i2prouter:1061 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME zaten çalışıyor." -#: ../i2prouter:919 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "$APP_LONG_NAME çalışıyor" -#: ../i2prouter:942 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "$APP_LONG_NAME bekleniyor" -#: ../i2prouter:989 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "DİKKAT: $APP_LONG_NAME başlatılamamış olabilir." -#: ../i2prouter:1003 ../i2prouter:1031 ../i2prouter:1240 ../i2prouter:1529 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "Bu işlemi ancak root yapabilir." -#: ../i2prouter:1047 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "$APP_LONG_NAME başlatılıyor" -#: ../i2prouter:1072 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "$APP_LONG_NAME durduruluyor" -#: ../i2prouter:1076 ../i2prouter:1144 ../i2prouter:1697 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME çalışmıyordu." -#: ../i2prouter:1089 ../i2prouter:1097 ../i2prouter:1159 ../i2prouter:1167 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "$APP_LONG_NAME durdurulamıyor." -#: ../i2prouter:1115 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "$APP_LONG_NAME kapanması bekleniyor" -#: ../i2prouter:1129 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "$APP_LONG_NAME durdurulamadı." -#: ../i2prouter:1132 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME durduruldu." -#: ../i2prouter:1140 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "$APP_LONG_NAME düzgün şekilde kapatıldı" -#: ../i2prouter:1186 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME çalışmıyor." -#: ../i2prouter:1191 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME çalışıyor: PID:$pid" -#: ../i2prouter:1194 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME çalışıyor: PID:$pid, Sarıcı:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1247 ../i2prouter:1259 ../i2prouter:1278 ../i2prouter:1295 -#: ../i2prouter:1362 ../i2prouter:1382 ../i2prouter:1396 ../i2prouter:1410 -#: ../i2prouter:1438 ../i2prouter:1476 ../i2prouter:1511 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "$APP_LONG_NAME arka plan hizmeti zaten yüklenmiş." -#: ../i2prouter:1250 ../i2prouter:1265 ../i2prouter:1367 ../i2prouter:1399 -#: ../i2prouter:1413 ../i2prouter:1427 ../i2prouter:1441 ../i2prouter:1479 -#: ../i2prouter:1514 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "$APP_LONG_NAME arka plan hizmeti yükleniyor" -#: ../i2prouter:1521 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "$DIST_OS üzerine yükleme desteklenmiyor" -#: ../i2prouter:1537 ../i2prouter:1550 ../i2prouter:1564 ../i2prouter:1573 -#: ../i2prouter:1583 ../i2prouter:1607 ../i2prouter:1620 ../i2prouter:1632 -#: ../i2prouter:1650 ../i2prouter:1663 ../i2prouter:1677 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "$APP_LONG_NAME arka plan hizmeti kaldırılıyor" -#: ../i2prouter:1543 ../i2prouter:1558 ../i2prouter:1567 ../i2prouter:1577 -#: ../i2prouter:1588 ../i2prouter:1601 ../i2prouter:1613 ../i2prouter:1626 -#: ../i2prouter:1644 ../i2prouter:1657 ../i2prouter:1671 ../i2prouter:1682 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "$APP_LONG_NAME arka plan hizmeti yüklü değil." -#: ../i2prouter:1686 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "$DIST_OS üzerinden kaldırma desteklenmiyor" -#: ../i2prouter:1773 +#: ../i2prouter:1841 msgid "Commands:" msgstr "Komutlar:" -#: ../i2prouter:1774 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "Geçerli konsolda başlatın." -#: ../i2prouter:1775 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "Arka plan hizmeti olarak başlatın." -#: ../i2prouter:1776 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." -msgstr "Arka plan hizmeti olarak ya da başka bir konsolda çalışıyorsa durdurun." +msgstr "" +"Arka plan hizmeti olarak ya da başka bir konsolda çalışıyorsa durdurun." -#: ../i2prouter:1777 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "Uygun şekilde kapatın. 11 dakika sürebilir." -#: ../i2prouter:1778 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "Çalışıyorsa durdurun ve başlatın." -#: ../i2prouter:1779 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "Yalnız zaten çalışıyorsa yeniden başlatın." -#: ../i2prouter:1780 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "Geçerli durumu öğrenin." -#: ../i2prouter:1781 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "Sistem açılırken kendiliğinden yüklensin." -#: ../i2prouter:1782 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "Kaldırın." -#: ../i2prouter:1783 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "Çalışıyorsa Java iş parçacığı dökümü isteyin." -#: ../i2prouter:1796 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "i2prouter dosyasını düzenleyin ve RUN_AS_USER değişkenini ayarlayın" -#: ../i2prouter:1801 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "I2P yazılımının root olarak çalıştırmanız *önerilmez*." -#: ../i2prouter:1804 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." -msgstr "Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve ALLOW_ROOT=true ayarını yapın." +msgstr "" +"Root olarak çalıştırmak için i2prouter dosyasını düzenleyin ve " +"ALLOW_ROOT=true ayarını yapın." diff --git a/installer/resources/locale/po/messages_zh.po b/installer/resources/locale/po/messages_zh.po index aeb3ce8594..902cec7a7d 100644 --- a/installer/resources/locale/po/messages_zh.po +++ b/installer/resources/locale/po/messages_zh.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-01 19:57+0000\n" +"POT-Creation-Date: 2015-07-17 01:16+0000\n" "PO-Revision-Date: 2013-07-11 07:19+0000\n" "Last-Translator: xtoaster \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/I2P/" @@ -20,180 +20,180 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../i2prouter:203 +#: ../i2prouter:221 msgid "Failed to load the wrapper" msgstr "封装程序载入失败" -#: ../i2prouter:925 ../i2prouter:949 ../i2prouter:1023 ../i2prouter:1051 -#: ../i2prouter:1072 +#: ../i2prouter:978 ../i2prouter:1006 ../i2prouter:1080 ../i2prouter:1108 +#: ../i2prouter:1129 #, sh-format msgid "$APP_LONG_NAME is already running." msgstr "$APP_LONG_NAME 已运行。" -#: ../i2prouter:936 +#: ../i2prouter:989 #, sh-format msgid "Running $APP_LONG_NAME" msgstr "正在运行 $APP_LONG_NAME" -#: ../i2prouter:956 +#: ../i2prouter:1013 #, sh-format msgid "Waiting for $APP_LONG_NAME" msgstr "正在等待 $APP_LONG_NAME" -#: ../i2prouter:1003 +#: ../i2prouter:1060 #, sh-format msgid "WARNING: $APP_LONG_NAME may have failed to start." msgstr "警告:$APP_LONG_NAME 可能启动失败。" -#: ../i2prouter:1017 ../i2prouter:1045 ../i2prouter:1251 ../i2prouter:1540 +#: ../i2prouter:1074 ../i2prouter:1102 ../i2prouter:1308 ../i2prouter:1597 msgid "Must be root to perform this action." msgstr "root 才能执行此操作。" -#: ../i2prouter:1061 +#: ../i2prouter:1118 #, sh-format msgid "Starting $APP_LONG_NAME" msgstr "正在启动 $APP_LONG_NAME" -#: ../i2prouter:1083 +#: ../i2prouter:1140 #, sh-format msgid "Stopping $APP_LONG_NAME" msgstr "正在停止 $APP_LONG_NAME" -#: ../i2prouter:1087 ../i2prouter:1155 ../i2prouter:1708 +#: ../i2prouter:1144 ../i2prouter:1212 ../i2prouter:1765 #, sh-format msgid "$APP_LONG_NAME was not running." msgstr "$APP_LONG_NAME 未运行" -#: ../i2prouter:1100 ../i2prouter:1108 ../i2prouter:1170 ../i2prouter:1178 +#: ../i2prouter:1157 ../i2prouter:1165 ../i2prouter:1227 ../i2prouter:1235 #, sh-format msgid "Unable to stop $APP_LONG_NAME." msgstr "无法停止 $APP_LONG_NAME" -#: ../i2prouter:1126 +#: ../i2prouter:1183 #, sh-format msgid "Waiting for $APP_LONG_NAME to exit" msgstr "正在等待 $APP_LONG_NAME 退出" -#: ../i2prouter:1140 +#: ../i2prouter:1197 #, sh-format msgid "Failed to stop $APP_LONG_NAME." msgstr "无法停止 $APP_LONG_NAME。" -#: ../i2prouter:1143 +#: ../i2prouter:1200 #, sh-format msgid "Stopped $APP_LONG_NAME." msgstr "$APP_LONG_NAME 已停止。" -#: ../i2prouter:1151 +#: ../i2prouter:1208 #, sh-format msgid "Stopping $APP_LONG_NAME gracefully" msgstr "正在等待 $APP_LONG_NAME 自然关闭" -#: ../i2prouter:1197 +#: ../i2prouter:1254 #, sh-format msgid "$APP_LONG_NAME is not running." msgstr "$APP_LONG_NAME 未运行" -#: ../i2prouter:1202 +#: ../i2prouter:1259 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid" msgstr "$APP_LONG_NAME 已运行:PID:$pid" -#: ../i2prouter:1205 +#: ../i2prouter:1262 #, sh-format msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS" msgstr "$APP_LONG_NAME 已运行:PID:$pid, 封装:$STATUS, Java:$JAVASTATUS" -#: ../i2prouter:1258 ../i2prouter:1270 ../i2prouter:1289 ../i2prouter:1306 -#: ../i2prouter:1373 ../i2prouter:1393 ../i2prouter:1407 ../i2prouter:1421 -#: ../i2prouter:1449 ../i2prouter:1487 ../i2prouter:1522 +#: ../i2prouter:1315 ../i2prouter:1327 ../i2prouter:1346 ../i2prouter:1363 +#: ../i2prouter:1430 ../i2prouter:1450 ../i2prouter:1464 ../i2prouter:1478 +#: ../i2prouter:1506 ../i2prouter:1544 ../i2prouter:1579 #, sh-format msgid "The $APP_LONG_NAME daemon is already installed." msgstr "后台服务 $APP_LONG_NAME 已运行。" -#: ../i2prouter:1261 ../i2prouter:1276 ../i2prouter:1378 ../i2prouter:1410 -#: ../i2prouter:1424 ../i2prouter:1438 ../i2prouter:1452 ../i2prouter:1490 -#: ../i2prouter:1525 +#: ../i2prouter:1318 ../i2prouter:1333 ../i2prouter:1435 ../i2prouter:1467 +#: ../i2prouter:1481 ../i2prouter:1495 ../i2prouter:1509 ../i2prouter:1547 +#: ../i2prouter:1582 #, sh-format msgid "Installing the $APP_LONG_NAME daemon" msgstr "正在安装后台服务 $APP_LONG_NAME" -#: ../i2prouter:1532 +#: ../i2prouter:1589 #, sh-format msgid "Install not currently supported for $DIST_OS" msgstr "暂不支持 $DIST_OS 平台上的安装" -#: ../i2prouter:1548 ../i2prouter:1561 ../i2prouter:1575 ../i2prouter:1584 -#: ../i2prouter:1594 ../i2prouter:1618 ../i2prouter:1631 ../i2prouter:1643 -#: ../i2prouter:1661 ../i2prouter:1674 ../i2prouter:1688 +#: ../i2prouter:1605 ../i2prouter:1618 ../i2prouter:1632 ../i2prouter:1641 +#: ../i2prouter:1651 ../i2prouter:1675 ../i2prouter:1688 ../i2prouter:1700 +#: ../i2prouter:1718 ../i2prouter:1731 ../i2prouter:1745 #, sh-format msgid "Removing $APP_LONG_NAME daemon" msgstr "正在删除后台服务 $APP_LONG_NAME" -#: ../i2prouter:1554 ../i2prouter:1569 ../i2prouter:1578 ../i2prouter:1588 -#: ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624 ../i2prouter:1637 -#: ../i2prouter:1655 ../i2prouter:1668 ../i2prouter:1682 ../i2prouter:1693 +#: ../i2prouter:1611 ../i2prouter:1626 ../i2prouter:1635 ../i2prouter:1645 +#: ../i2prouter:1656 ../i2prouter:1669 ../i2prouter:1681 ../i2prouter:1694 +#: ../i2prouter:1712 ../i2prouter:1725 ../i2prouter:1739 ../i2prouter:1750 #, sh-format msgid "The $APP_LONG_NAME daemon is not currently installed." msgstr "后台服务 $APP_LONG_NAME 未安装。" -#: ../i2prouter:1697 +#: ../i2prouter:1754 #, sh-format msgid "Remove not currently supported for $DIST_OS" msgstr "暂不支持 $DIST_OS 平台上的删除" -#: ../i2prouter:1784 +#: ../i2prouter:1841 msgid "Commands:" msgstr "命令:" -#: ../i2prouter:1785 +#: ../i2prouter:1842 msgid "Launch in the current console." msgstr "从当前控制台中启动。" -#: ../i2prouter:1786 +#: ../i2prouter:1843 msgid "Start in the background as a daemon process." msgstr "作为服务进程从后台启动。" -#: ../i2prouter:1787 +#: ../i2prouter:1844 msgid "Stop if running as a daemon or in another console." msgstr "关闭作为服务进程或从其他控制台启动的I2P。" -#: ../i2prouter:1788 +#: ../i2prouter:1845 msgid "Stop gracefully, may take up to 11 minutes." msgstr "自然关闭,可以需要最多11分钟。" -#: ../i2prouter:1789 +#: ../i2prouter:1846 msgid "Stop if running and then start." msgstr "先终止(如果运行)再启动。" -#: ../i2prouter:1790 +#: ../i2prouter:1847 msgid "Restart only if already running." msgstr "重启(仅在已运行时)。" -#: ../i2prouter:1791 +#: ../i2prouter:1848 msgid "Query the current status." msgstr "查询当前状态。" -#: ../i2prouter:1792 +#: ../i2prouter:1849 msgid "Install to start automatically when system boots." msgstr "安装为随系统启动。" -#: ../i2prouter:1793 +#: ../i2prouter:1850 msgid "Uninstall." msgstr "卸载。" -#: ../i2prouter:1794 +#: ../i2prouter:1851 msgid "Request a Java thread dump if running." msgstr "请求Java转储(如果在运行)。" -#: ../i2prouter:1807 +#: ../i2prouter:1864 msgid "Please edit i2prouter and set the variable RUN_AS_USER" msgstr "请编辑 i2prouter 设置 RUN_AS_USER 变量" -#: ../i2prouter:1812 +#: ../i2prouter:1869 msgid "Running I2P as the root user is *not* recommended." msgstr "推荐 *不要* 以 root 身份运行 I2P 。" -#: ../i2prouter:1815 +#: ../i2prouter:1872 msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true." msgstr "要以root运行,请编辑 i2prouter 并设置 ALLOW_ROOT=true。" diff --git a/installer/resources/man/eepget.1 b/installer/resources/man/eepget.1 index 8e4a4e3c45..c24e0fe0ce 100644 --- a/installer/resources/man/eepget.1 +++ b/installer/resources/man/eepget.1 @@ -1,4 +1,4 @@ -.TH EEEPGET 1 "February 5, 2014" "" "Eepget - I2P Downloader" +.TH EEEPGET 1 "September 18, 2015" "" "Eepget - I2P Downloader" .SH NAME Eepget \- I2P downloader @@ -15,7 +15,7 @@ regular Internet are supported. .P Eepget is able to cope with slow or unstable network connections; if a download is not successful because of a network problem, it will keep retrying until the -whole file has been retrieved (by default up to three times). If supported by +whole file has been retrieved (if the -n option is set). If supported by the remote server, eepget will instruct the server to continue the download from the point of interruption. @@ -53,7 +53,7 @@ Controls the progress display. \fB\ markSize \fP is the number of bytes one '#' .B \fB\-n\fR retries .TP -Specify the number of times to retry downloading if the download isn't successful. If this option is not specified, eepget will retry downloading the file 5 times. +Specify the number of times to retry downloading if the download isn't successful. If this option is not specified, eepget will not retry. .TP .B diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css index 463b8e1dfc..24e34751ec 100644 --- a/installer/resources/themes/console/light/console.css +++ b/installer/resources/themes/console/light/console.css @@ -250,8 +250,12 @@ div.newsheadings { div.newsheadings li { list-style: none outside url('images/newsbullet_mini.png'); - margin: 0 -4px 2px 8px; - line-height: 140%; + margin: 4px -4px 2px 10px; + line-height: 120%; +} + +div.newsheadings li:first-child { + margin-top: 0; } div.tunnels { diff --git a/installer/resources/themes/snark/ubergine/snark.css b/installer/resources/themes/snark/ubergine/snark.css index f2e09b4f94..facb2fae5c 100644 --- a/installer/resources/themes/snark/ubergine/snark.css +++ b/installer/resources/themes/snark/ubergine/snark.css @@ -656,12 +656,6 @@ input.add { min-height: 22px; } -input.create { - background: #989 url('images/create.png') no-repeat 2px center; - padding: 2px 3px 2px 20px !important; - min-height: 22px; -} - input.cancel { background: #989 url('../../console/images/cancel.png') no-repeat 2px center; padding: 2px 3px 2px 20px !important; @@ -686,6 +680,18 @@ input.reload { min-height: 22px; } +input.starttorrent { + background: #989 url('images/start.png') no-repeat 2px center; + padding: 2px 3px 2px 20px !important; + min-height: 22px; +} + +input.stoptorrent { + background: #989 url('images/stop.png') no-repeat 2px center; + padding: 2px 3px 2px 20px !important; + min-height: 22px; +} + select { background: #333; background: url('/themes/snark/ubergine/images/graytile.png') !important; diff --git a/installer/resources/themes/snark/vanilla/snark.css b/installer/resources/themes/snark/vanilla/snark.css index ddbcd8e8c5..b5ab1155b3 100644 --- a/installer/resources/themes/snark/vanilla/snark.css +++ b/installer/resources/themes/snark/vanilla/snark.css @@ -694,6 +694,18 @@ input.reload { min-height: 22px; } +input.starttorrent { + background: #f3efc7 url('images/start.png') no-repeat 2px center; + padding: 2px 3px 2px 20px !important; + min-height: 22px; +} + +input.stoptorrent { + background: #f3efc7 url('images/stop.png') no-repeat 2px center; + padding: 2px 3px 2px 20px !important; + min-height: 22px; +} + select { background: #fff; /* background: url('/themes/snark/ubergine/images/graytile.png') !important;*/ diff --git a/router/java/src/net/i2p/data/router/RouterAddress.java b/router/java/src/net/i2p/data/router/RouterAddress.java index ca0f94d08a..e7cd0d6842 100644 --- a/router/java/src/net/i2p/data/router/RouterAddress.java +++ b/router/java/src/net/i2p/data/router/RouterAddress.java @@ -17,6 +17,8 @@ import java.util.Date; import java.util.Map; import java.util.Properties; +import org.apache.http.conn.util.InetAddressUtils; + import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; import net.i2p.data.DataStructureImpl; @@ -219,8 +221,8 @@ public class RouterAddress extends DataStructureImpl { if (host != null) { rv = Addresses.getIP(host); if (rv != null && - (host.replaceAll("[0-9\\.]", "").length() == 0 || - host.replaceAll("[0-9a-fA-F:]", "").length() == 0)) { + (InetAddressUtils.isIPv4Address(host) || + InetAddressUtils.isIPv6Address(host))) { _ip = rv; } } diff --git a/router/java/src/net/i2p/router/Blocklist.java b/router/java/src/net/i2p/router/Blocklist.java index 4e931f6656..3ad8e73875 100644 --- a/router/java/src/net/i2p/router/Blocklist.java +++ b/router/java/src/net/i2p/router/Blocklist.java @@ -917,7 +917,7 @@ public class Blocklist { singles.addAll(_singleIPBlocklist); if (!(singles.isEmpty() && _singleIPv6Blocklist.isEmpty())) { out.write(""); // first 0 - 127 for (Integer ii : singles) { @@ -954,11 +954,11 @@ public class Blocklist { } if (_blocklistSize > 0) { out.write("
              "); - out.write(_("IPs Banned Until Restart")); + out.write(_t("IPs Banned Until Restart")); out.write("
              "); int max = Math.min(_blocklistSize, MAX_DISPLAY); int displayed = 0; @@ -994,7 +994,7 @@ public class Blocklist { out.write("
              "); - out.write(_("IPs Permanently Banned")); + out.write(_t("IPs Permanently Banned")); out.write("
              "); - out.write(_("From")); + out.write(_t("From")); out.write(""); - out.write(_("To")); + out.write(_t("To")); out.write("
              "); } else { out.write("
              "); - out.write(_("none")); + out.write(_t("none")); out.write(""); } out.flush(); @@ -1030,7 +1030,7 @@ public class Blocklist { private static final String BUNDLE_NAME = "net.i2p.router.web.messages"; /** translate */ - private String _(String key) { + private String _t(String key) { return Translate.getString(key, _context, BUNDLE_NAME); } diff --git a/router/java/src/net/i2p/router/JobQueue.java b/router/java/src/net/i2p/router/JobQueue.java index da08c521a2..b08bf90587 100644 --- a/router/java/src/net/i2p/router/JobQueue.java +++ b/router/java/src/net/i2p/router/JobQueue.java @@ -27,6 +27,7 @@ import java.util.concurrent.atomic.AtomicInteger; import net.i2p.data.DataHelper; import net.i2p.router.message.HandleGarlicMessageJob; import net.i2p.router.networkdb.kademlia.HandleFloodfillDatabaseLookupMessageJob; +import net.i2p.router.RouterClock; import net.i2p.util.Clock; import net.i2p.util.I2PThread; import net.i2p.util.Log; @@ -516,9 +517,10 @@ public class JobQueue { * max number of runners. * */ - private final class QueuePumper implements Runnable, Clock.ClockUpdateListener { + private final class QueuePumper implements Runnable, Clock.ClockUpdateListener, RouterClock.ClockShiftListener { public QueuePumper() { _context.clock().addUpdateListener(this); + ((RouterClock) _context.clock()).addShiftListener(this); } public void run() { try { @@ -590,6 +592,7 @@ public class JobQueue { } // while (_alive) } catch (Throwable t) { _context.clock().removeUpdateListener(this); + ((RouterClock) _context.clock()).removeShiftListener(this); if (_log.shouldLog(Log.ERROR)) _log.error("pumper killed?!", t); } @@ -602,6 +605,10 @@ public class JobQueue { } } + public void clockShift(long delta) { + offsetChanged(delta); + } + } /** diff --git a/router/java/src/net/i2p/router/JobTiming.java b/router/java/src/net/i2p/router/JobTiming.java index 98d8e67c7f..f934f1556d 100644 --- a/router/java/src/net/i2p/router/JobTiming.java +++ b/router/java/src/net/i2p/router/JobTiming.java @@ -8,6 +8,7 @@ package net.i2p.router; * */ +import net.i2p.router.RouterClock; import net.i2p.util.Clock; /** @@ -15,7 +16,7 @@ import net.i2p.util.Clock; * * For use by the router only. Not to be used by applications or plugins. */ -public class JobTiming implements Clock.ClockUpdateListener { +public class JobTiming implements Clock.ClockUpdateListener, RouterClock.ClockShiftListener { private volatile long _start; private volatile long _actualStart; private volatile long _actualEnd; @@ -81,4 +82,8 @@ public class JobTiming implements Clock.ClockUpdateListener { if (_actualEnd != 0) _actualEnd += delta; } + + public void clockShift(long delta) { + offsetChanged(delta); + } } diff --git a/router/java/src/net/i2p/router/KeyManager.java b/router/java/src/net/i2p/router/KeyManager.java index 2807e8fe7f..3317b92903 100644 --- a/router/java/src/net/i2p/router/KeyManager.java +++ b/router/java/src/net/i2p/router/KeyManager.java @@ -60,6 +60,11 @@ public class KeyManager { _leaseSetKeys = new ConcurrentHashMap(); } + /** + * Read keys in from disk, blocking + * + * @deprecated we never read keys in anymore + */ public void startup() { // run inline so keys are loaded immediately (new SynchronizeKeysJob()).runJob(); @@ -79,17 +84,29 @@ public class KeyManager { queueWrite(); } - /** router */ - public PrivateKey getPrivateKey() { return _privateKey; } + /** + * Router key + * @return will be null on error or before startup() or setKeys() is called + */ + public synchronized PrivateKey getPrivateKey() { return _privateKey; } - /** router */ - public PublicKey getPublicKey() { return _publicKey; } + /** + * Router key + * @return will be null on error or before startup() or setKeys() is called + */ + public synchronized PublicKey getPublicKey() { return _publicKey; } - /** router */ - public SigningPrivateKey getSigningPrivateKey() { return _signingPrivateKey; } + /** + * Router key + * @return will be null on error or before startup() or setKeys() is called + */ + public synchronized SigningPrivateKey getSigningPrivateKey() { return _signingPrivateKey; } - /** router */ - public SigningPublicKey getSigningPublicKey() { return _signingPublicKey; } + /** + * Router key + * @return will be null on error or before startup() or setKeys() is called + */ + public synchronized SigningPublicKey getSigningPublicKey() { return _signingPublicKey; } /** client */ public void registerKeys(Destination dest, SigningPrivateKey leaseRevocationPrivateKey, PrivateKey endpointDecryptionKey) { @@ -216,6 +233,11 @@ public class KeyManager { _signingPublicKey = (SigningPublicKey) readin; } + /** + * @param param non-null, filled-in if exists is true, or without data if exists is false + * @param exists write to file if true, read from file if false + * @return structure or null on read error + */ private DataStructure syncKey(File keyFile, DataStructure structure, boolean exists) { OutputStream out = null; InputStream in = null; diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index bb7e5068d4..0bad3ecedd 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -62,7 +62,7 @@ import net.i2p.util.Translate; /** * Main driver for the router. * - * For embedded use, instantiate and then call runRouter(). + * For embedded use, instantiate, call setKillVMOnEnd(false), and then call runRouter(). * */ public class Router implements RouterClock.ClockShiftListener { @@ -77,7 +77,6 @@ public class Router implements RouterClock.ClockShiftListener { public final Object routerInfoFileLock = new Object(); private final Object _configFileLock = new Object(); private long _started; - private boolean _higherVersionSeen; private boolean _killVMOnEnd; private int _gracefulExitCode; private I2PThread.OOMEventListener _oomListener; @@ -392,13 +391,12 @@ public class Router implements RouterClock.ClockShiftListener { CryptoChecker.warnUnavailableCrypto(_context); _routerInfo = null; - _higherVersionSeen = false; if (_log.shouldLog(Log.INFO)) _log.info("New router created with config file " + _configFilename); _oomListener = new OOMListener(_context); _shutdownHook = new ShutdownHook(_context); - _gracefulShutdownDetector = new I2PAppThread(new GracefulShutdown(_context), "Graceful shutdown hook", true); + _gracefulShutdownDetector = new I2PAppThread(new GracefulShutdown(_context), "Graceful ShutdownHook", true); _gracefulShutdownDetector.setPriority(Thread.NORM_PRIORITY + 1); _gracefulShutdownDetector.start(); @@ -510,20 +508,6 @@ public class Router implements RouterClock.ClockShiftListener { _context.jobQueue().addJob(new PersistRouterInfoJob(_context)); } - /** - * True if the router has tried to communicate with another router who is running a higher - * incompatible protocol version. - * @deprecated unused - */ - public boolean getHigherVersionSeen() { return _higherVersionSeen; } - - /** - * True if the router has tried to communicate with another router who is running a higher - * incompatible protocol version. - * @deprecated unused - */ - public void setHigherVersionSeen(boolean seen) { _higherVersionSeen = seen; } - /** * Used only by routerconsole.. to be deprecated? */ @@ -577,9 +561,9 @@ public class Router implements RouterClock.ClockShiftListener { if (!SystemVersion.isAndroid()) I2PThread.addOOMEventListener(_oomListener); - _context.keyManager().startup(); - - setupHandlers(); + // message handlers + _context.inNetMessagePool().registerHandlerJobBuilder(GarlicMessage.MESSAGE_TYPE, new GarlicMessageHandler(_context)); + //if (ALLOW_DYNAMIC_KEYS) { // if ("true".equalsIgnoreCase(_context.getProperty(Router.PROP_HIDDEN, "false"))) // killKeys(); @@ -588,7 +572,7 @@ public class Router implements RouterClock.ClockShiftListener { _context.messageValidator().startup(); _context.tunnelDispatcher().startup(); _context.inNetMessagePool().startup(); - startupQueue(); + _context.jobQueue().runQueue(1); //_context.jobQueue().addJob(new CoalesceStatsJob(_context)); _context.simpleTimer2().addPeriodicEvent(new CoalesceStatsEvent(_context), COALESCE_TIME); _context.jobQueue().addJob(new UpdateRoutingKeyModifierJob(_context)); @@ -1082,15 +1066,6 @@ public class Router implements RouterClock.ClockShiftListener { saveConfig(PROP_JBIGI, loaded); } - private void startupQueue() { - _context.jobQueue().runQueue(1); - } - - private void setupHandlers() { - _context.inNetMessagePool().registerHandlerJobBuilder(GarlicMessage.MESSAGE_TYPE, new GarlicMessageHandler(_context)); - //_context.inNetMessagePool().registerHandlerJobBuilder(TunnelMessage.MESSAGE_TYPE, new TunnelMessageHandler(_context)); - } - /** shut down after all tunnels are gone */ public static final int EXIT_GRACEFUL = 2; /** shut down immediately */ @@ -1445,8 +1420,10 @@ public class Router implements RouterClock.ClockShiftListener { _eventLog.addEvent(EventLog.CLOCK_SHIFT, Long.toString(delta)); // update the routing key modifier _context.routerKeyGenerator().generateDateBasedModData(); - if (_context.commSystem().countActivePeers() <= 0) - return; + // Commented because this check makes no sense (#1014) + // .. and 'active' is relative to our broken time. + //if (_context.commSystem().countActivePeers() <= 0) + // return; if (delta > 0) _log.error("Restarting after large clock shift forward by " + DataHelper.formatDuration(delta)); else @@ -1582,7 +1559,7 @@ public class Router implements RouterClock.ClockShiftListener { if (f.exists()) { long lastWritten = f.lastModified(); if (System.currentTimeMillis()-lastWritten > LIVELINESS_DELAY) { - System.err.println("WARN: Old router was not shut down gracefully, deleting router.ping"); + System.err.println("WARN: Old router was not shut down gracefully, deleting " + f); f.delete(); } else { return false; diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 14408f1ed4..ea17ad55f3 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,10 +18,10 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 18; + public final static long BUILD = 15; /** for example "-test" */ - public final static String EXTRA = "-rc"; + public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA; public static void main(String args[]) { System.out.println("I2P Router version: " + FULL_VERSION); diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index b7984c085b..24184cc141 100644 --- a/router/java/src/net/i2p/router/TunnelPoolSettings.java +++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java @@ -76,11 +76,11 @@ public class TunnelPoolSettings { private static final int DEFAULT_LENGTH_VARIANCE = 0; /** expl only */ private static final int DEFAULT_IB_EXPL_LENGTH = 2; - //private static final int DEFAULT_OB_EXPL_LENGTH = isSlow ? 2 : 3; - private static final int DEFAULT_OB_EXPL_LENGTH = 2; + private static final int DEFAULT_OB_EXPL_LENGTH = isSlow ? 2 : 3; + //private static final int DEFAULT_OB_EXPL_LENGTH = 2; private static final int DEFAULT_IB_EXPL_LENGTH_VARIANCE = isSlow ? 0 : 1; - //private static final int DEFAULT_OB_EXPL_LENGTH_VARIANCE = 0; - private static final int DEFAULT_OB_EXPL_LENGTH_VARIANCE = isSlow ? 0 : 1; + private static final int DEFAULT_OB_EXPL_LENGTH_VARIANCE = 0; + //private static final int DEFAULT_OB_EXPL_LENGTH_VARIANCE = isSlow ? 0 : 1; public static final boolean DEFAULT_ALLOW_ZERO_HOP = true; public static final int DEFAULT_IP_RESTRICTION = 2; // class B (/16) diff --git a/router/java/src/net/i2p/router/client/ClientListenerRunner.java b/router/java/src/net/i2p/router/client/ClientListenerRunner.java index e88339b0e1..10e9241064 100644 --- a/router/java/src/net/i2p/router/client/ClientListenerRunner.java +++ b/router/java/src/net/i2p/router/client/ClientListenerRunner.java @@ -18,6 +18,7 @@ import net.i2p.client.I2PClient; import net.i2p.router.Router; import net.i2p.router.RouterContext; import net.i2p.util.Log; +import net.i2p.util.PortMapper; /** * Listen for connections on the specified port, and toss them onto the client manager's @@ -78,13 +79,18 @@ class ClientListenerRunner implements Runnable { protected void runServer() { _running = true; int curDelay = 1000; + final String portMapperService = (this instanceof SSLClientListenerRunner) ? PortMapper.SVC_I2CP_SSL + : PortMapper.SVC_I2CP; while (_running) { try { _socket = getServerSocket(); if (_log.shouldLog(Log.DEBUG)) _log.debug("ServerSocket created, before accept: " + _socket); - + if (_port > 0) { + // not for DomainClientListenerRunner + _context.portMapper().register(portMapperService, _socket.getInetAddress().getHostAddress(), _port); + } curDelay = 1000; _listening = true; while (_running) { @@ -115,6 +121,11 @@ class ClientListenerRunner implements Runnable { } catch (IOException ioe) { if (isAlive()) _log.error("Error listening on port " + _port, ioe); + } finally { + if (_port > 0) { + // not for DomainClientListenerRunner + _context.portMapper().unregister(portMapperService); + } } _listening = false; diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/ExploreJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/ExploreJob.java index bb75b68253..768511fc9c 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/ExploreJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/ExploreJob.java @@ -78,7 +78,7 @@ class ExploreJob extends SearchJob { * @param expiration when the search should stop * @param peer the peer to send it to * - * @return a DatabaseLookupMessage or GarlicMessage + * @return a DatabaseLookupMessage or GarlicMessage or null on error */ @Override protected I2NPMessage buildMessage(TunnelId replyTunnelId, Hash replyGateway, long expiration, RouterInfo peer) { @@ -146,6 +146,7 @@ class ExploreJob extends SearchJob { ' ' + sess.key + ' ' + sess.tag); msg.setReplySession(sess.key, sess.tag); } + // may be null outMsg = MessageWrapper.wrap(getContext(), msg, peer); if (_log.shouldLog(Log.DEBUG)) _log.debug(getJobId() + ": Encrypted exploratory DLM for " + getState().getTarget() + " to " + 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 ba10f88721..c3c413930a 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java @@ -13,6 +13,7 @@ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FilenameFilter; +import java.io.Flushable; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -193,7 +194,7 @@ class PersistentDataStore extends TransientDataStore { * we will soon have to implement a scheme for keeping only * a subset of all DatabaseEntrys in memory and keeping the rest on disk. */ - private class Writer implements Runnable { + private class Writer implements Runnable, Flushable { private final Map_keys; private final Object _waitLock; private volatile boolean _quit; diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/SearchJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/SearchJob.java index ee75f47ec0..18fa99b5fe 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/SearchJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/SearchJob.java @@ -445,7 +445,11 @@ class SearchJob extends JobImpl { long expiration = getContext().clock().now() + timeout; I2NPMessage msg = buildMessage(inTunnelId, inTunnel.getPeer(0), expiration, router); - + if (msg == null) { + getContext().jobQueue().addJob(new FailedJob(getContext(), router)); + return; + } + TunnelInfo outTunnel = getContext().tunnelManager().selectOutboundExploratoryTunnel(to); if (outTunnel == null) { _log.warn("No tunnels to send search out through! Impossible?"); @@ -480,6 +484,10 @@ class SearchJob extends JobImpl { // use the 4-arg one so we pick up the override in ExploreJob //I2NPMessage msg = buildMessage(expiration); I2NPMessage msg = buildMessage(null, router.getIdentity().getHash(), expiration, router); + if (msg == null) { + getContext().jobQueue().addJob(new FailedJob(getContext(), router)); + return; + } if (_log.shouldLog(Log.DEBUG)) _log.debug(getJobId() + ": Sending router search directly to " + router.getIdentity().getHash() diff --git a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java index d930cac9bf..59e6972531 100644 --- a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java +++ b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java @@ -81,7 +81,6 @@ public class Reseeder { // Disabling everything, use SSL //"http://i2p.mooo.com/netDb/" + "," + - //"http://193.150.121.66/netDb/" + "," + //"http://uk.reseed.i2p2.no/" + "," + //"http://netdb.i2p2.no/"; // Only SU3 (v3) support ""; @@ -89,16 +88,15 @@ public class Reseeder { /** @since 0.8.2 */ public static final String DEFAULT_SSL_SEED_URL = "https://reseed.i2p-projekt.de/" + "," + // Only HTTPS - "https://netdb.rows.io:444/" + "," + // Only HTTPS and SU3 (v3) support + //"https://netdb.rows.io:444/" + "," + // Only HTTPS and SU3 (v3) support "https://i2pseed.zarrenspry.info/" + "," + // Only HTTPS and SU3 (v3) support "https://i2p.mooo.com/netDb/" + "," + - // ticket #1596 - // "https://193.150.121.66/netDb/" + "," + "https://netdb.i2p2.no/" + "," + // Only SU3 (v3) support, SNI required "https://us.reseed.i2p2.no:444/" + "," + "https://uk.reseed.i2p2.no:444/" + "," + + "https://www.torontocrypto.org:8443/" + "," + "https://reseed.i2p.vzaws.com:8443/" + ", " + // Only SU3 (v3) support - "https://link.mx24.eu/" + "," + // Only HTTPS and SU3 (v3) support + "https://user.mx24.eu/" + "," + // Only HTTPS and SU3 (v3) support "https://ieb9oopo.mooo.com/"; // Only HTTPS and SU3 (v3) support private static final String SU3_FILENAME = "i2pseeds.su3"; @@ -209,7 +207,7 @@ public class Reseeder { if (fetched <= 0) throw new IOException("No seeds extracted"); _checker.setStatus( - _("Reseeding: got router info from file ({0} successful, {1} errors).", fetched, errors)); + _t("Reseeding: got router info from file ({0} successful, {1} errors).", fetched, errors)); System.err.println("Reseed got " + fetched + " router infos from file with " + errors + " errors"); _context.router().eventLog().addEvent(EventLog.RESEED, fetched + " from file"); return fetched; @@ -281,7 +279,7 @@ public class Reseeder { private void run2() { _isRunning = true; _checker.setError(""); - _checker.setStatus(_("Reseeding")); + _checker.setStatus(_t("Reseeding")); if (_context.getBooleanProperty(PROP_PROXY_ENABLE)) { _proxyHost = _context.getProperty(PROP_PROXY_HOST); _proxyPort = _context.getProperty(PROP_PROXY_PORT, -1); @@ -313,9 +311,9 @@ public class Reseeder { "and if nothing helps, read the FAQ about reseeding manually."); } // else < 0, no valid URLs String old = _checker.getError(); - _checker.setError(_("Reseed failed.") + ' ' + - _("See {0} for help.", - "" + _("reseed configuration page") + "") + + _checker.setError(_t("Reseed failed.") + ' ' + + _t("See {0} for help.", + "" + _t("reseed configuration page") + "") + "
              " + old); } _isRunning = false; @@ -563,7 +561,7 @@ public class Reseeder { try { // Don't use context clock as we may be adjusting the time final long timeLimit = System.currentTimeMillis() + MAX_TIME_PER_HOST; - _checker.setStatus(_("Reseeding: fetching seed URL.")); + _checker.setStatus(_t("Reseeding: fetching seed URL.")); System.err.println("Reseeding from " + seedURL); byte contentRaw[] = readURL(seedURL); if (contentRaw == null) { @@ -620,7 +618,7 @@ public class Reseeder { iter.hasNext() && fetched < 200 && System.currentTimeMillis() < timeLimit; ) { try { _checker.setStatus( - _("Reseeding: fetching router info from seed URL ({0} successful, {1} errors).", fetched, errors)); + _t("Reseeding: fetching router info from seed URL ({0} successful, {1} errors).", fetched, errors)); if (!fetchSeed(seedURL.toString(), iter.next())) continue; @@ -694,7 +692,7 @@ public class Reseeder { int errors = 0; File contentRaw = null; try { - _checker.setStatus(_("Reseeding: fetching seed URL.")); + _checker.setStatus(_t("Reseeding: fetching seed URL.")); System.err.println("Reseeding from " + seedURL); // don't use context time, as we may be step-changing it // from the server header @@ -730,7 +728,7 @@ public class Reseeder { contentRaw.delete(); } _checker.setStatus( - _("Reseeding: fetching router info from seed URL ({0} successful, {1} errors).", fetched, errors)); + _t("Reseeding: fetching router info from seed URL ({0} successful, {1} errors).", fetched, errors)); System.err.println("Reseed got " + fetched + " router infos from " + seedURL + " with " + errors + " errors"); return fetched; } @@ -1002,17 +1000,17 @@ public class Reseeder { private static final String BUNDLE_NAME = "net.i2p.router.web.messages"; /** translate */ - private String _(String key) { + private String _t(String key) { return Translate.getString(key, _context, BUNDLE_NAME); } /** translate */ - private String _(String s, Object o) { + private String _t(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } /** translate */ - private String _(String s, Object o, Object o2) { + private String _t(String s, Object o, Object o2) { return Translate.getString(s, o, o2, _context, BUNDLE_NAME); } diff --git a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java index 2c4a96c44b..b67189e076 100644 --- a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java +++ b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java @@ -1,6 +1,8 @@ package net.i2p.router.peermanager; -import net.i2p.I2PAppContext; +import net.i2p.data.router.RouterInfo; +import net.i2p.router.RouterContext; +import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade; import net.i2p.stat.Rate; import net.i2p.stat.RateAverages; import net.i2p.stat.RateStat; @@ -25,6 +27,9 @@ class CapacityCalculator { private static final double BONUS_SAME_COUNTRY = 0; private static final double BONUS_XOR = .25; private static final double PENALTY_UNREACHABLE = 2; + // we make this a bonus for non-ff, not a penalty for ff, so we + // don't drive the ffs below the default + private static final double BONUS_NON_FLOODFILL = 0.5; public static double calc(PeerProfile profile) { double capacity; @@ -54,7 +59,7 @@ class CapacityCalculator { // now take into account non-rejection tunnel rejections (which haven't // incremented the rejection counter, since they were only temporary) - I2PAppContext context = profile.getContext(); + RouterContext context = profile.getContext(); long now = context.clock().now(); if (profile.getTunnelHistory().getLastRejectedTransient() > now - 5*60*1000) capacity = 1; @@ -83,8 +88,15 @@ class CapacityCalculator { // penalize unreachable peers if (profile.wasUnreachable()) capacity -= PENALTY_UNREACHABLE; + + // credit non-floodfill to reduce conn limit issues at floodfills + // TODO only if we aren't floodfill ourselves? + RouterInfo ri = context.netDb().lookupRouterInfoLocally(profile.getPeer()); + if (!FloodfillNetworkDatabaseFacade.isFloodfill(ri)) + capacity += BONUS_NON_FLOODFILL; + // a tiny tweak to break ties and encourage closeness, -.25 to +.25 - capacity -= profile.getXORDistance() * (BONUS_XOR / 128); + capacity -= profile.getXORDistance() * (BONUS_XOR / 128); capacity += profile.getCapacityBonus(); if (capacity < 0) diff --git a/router/java/src/net/i2p/router/startup/BootCommSystemJob.java b/router/java/src/net/i2p/router/startup/BootCommSystemJob.java index 2b3be55868..bb9f308463 100644 --- a/router/java/src/net/i2p/router/startup/BootCommSystemJob.java +++ b/router/java/src/net/i2p/router/startup/BootCommSystemJob.java @@ -14,6 +14,7 @@ import net.i2p.router.RouterContext; import net.i2p.router.RouterClock; import net.i2p.router.tasks.ReadConfigJob; import net.i2p.util.Log; +import net.i2p.util.SystemVersion; /** This actually boots almost everything */ class BootCommSystemJob extends JobImpl { @@ -46,9 +47,12 @@ class BootCommSystemJob extends JobImpl { // start I2CP getContext().jobQueue().addJob(new StartAcceptingClientsJob(getContext())); - Job j = new ReadConfigJob(getContext()); - j.getTiming().setStartAfter(getContext().clock().now() + 2*60*1000); - getContext().jobQueue().addJob(j); + if (!SystemVersion.isAndroid()) { + Job j = new ReadConfigJob(getContext()); + j.getTiming().setStartAfter(getContext().clock().now() + 2*60*1000); + getContext().jobQueue().addJob(j); + } + ((RouterClock) getContext().clock()).addShiftListener(getContext().router()); } diff --git a/router/java/src/net/i2p/router/startup/CreateRouterInfoJob.java b/router/java/src/net/i2p/router/startup/CreateRouterInfoJob.java index 03076cb1e8..7c18f63334 100644 --- a/router/java/src/net/i2p/router/startup/CreateRouterInfoJob.java +++ b/router/java/src/net/i2p/router/startup/CreateRouterInfoJob.java @@ -35,6 +35,7 @@ import net.i2p.router.RouterContext; import net.i2p.router.util.EventLog; import net.i2p.util.Log; import net.i2p.util.SecureFileOutputStream; +import net.i2p.util.SystemVersion; /** * Warning - misnamed. This creates a new RouterIdentity, i.e. @@ -49,9 +50,10 @@ public class CreateRouterInfoJob extends JobImpl { public static final String INFO_FILENAME = "router.info"; public static final String KEYS_FILENAME = "router.keys"; public static final String KEYS2_FILENAME = "router.keys.dat"; - private static final String PROP_ROUTER_SIGTYPE = "router.sigType"; - /** TODO when changing, check isAvailable() and fallback to DSA_SHA1 */ - private static final SigType DEFAULT_SIGTYPE = SigType.DSA_SHA1; + static final String PROP_ROUTER_SIGTYPE = "router.sigType"; + /** TODO make everybody Ed */ + private static final SigType DEFAULT_SIGTYPE = (SystemVersion.isARM() || SystemVersion.isAndroid()) ? + SigType.DSA_SHA1 : SigType.EdDSA_SHA512_Ed25519; CreateRouterInfoJob(RouterContext ctx, Job next) { super(ctx); @@ -166,7 +168,7 @@ public class CreateRouterInfoJob extends JobImpl { * @since 0.9.16 */ public static SigType getSigTypeConfig(RouterContext ctx) { - SigType cstype = CreateRouterInfoJob.DEFAULT_SIGTYPE; + SigType cstype = DEFAULT_SIGTYPE; String sstype = ctx.getProperty(PROP_ROUTER_SIGTYPE); if (sstype != null) { SigType ntype = SigType.parseSigType(sstype); diff --git a/router/java/src/net/i2p/router/startup/LoadRouterInfoJob.java b/router/java/src/net/i2p/router/startup/LoadRouterInfoJob.java index 27d0269606..75977e0ab1 100644 --- a/router/java/src/net/i2p/router/startup/LoadRouterInfoJob.java +++ b/router/java/src/net/i2p/router/startup/LoadRouterInfoJob.java @@ -110,6 +110,16 @@ class LoadRouterInfoJob extends JobImpl { // check if the sigtype config changed SigType cstype = CreateRouterInfoJob.getSigTypeConfig(getContext()); boolean sigTypeChanged = stype != cstype; + if (sigTypeChanged && getContext().getProperty(CreateRouterInfoJob.PROP_ROUTER_SIGTYPE) == null) { + // Not explicitly configured, and default has changed + // Give a 10% chance of rekeying for each restart + // TODO reduce from 20 to ~3 (i.e. increase probability) in future release + if (getContext().random().nextInt(20) > 0) { + sigTypeChanged = false; + if (_log.shouldWarn()) + _log.warn("Deferring RI rekey from " + stype + " to " + cstype); + } + } if (sigTypeChanged || shouldRebuild(privkey)) { if (sigTypeChanged) diff --git a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java index a9b8020607..fbea029908 100644 --- a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java +++ b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java @@ -499,7 +499,7 @@ public class CommSystemFacadeImpl extends CommSystemFacade { buf.append(""); boolean found = _context.netDb().lookupRouterInfoLocally(peer) != null; if (found) - buf.append(""); + buf.append(""); buf.append(h); if (found) buf.append(""); @@ -519,7 +519,7 @@ public class CommSystemFacadeImpl extends CommSystemFacade { /** * Translate */ - private final String _(String s) { + private final String _t(String s) { return Translate.getString(s, _context, BUNDLE_NAME); } diff --git a/router/java/src/net/i2p/router/transport/TransportImpl.java b/router/java/src/net/i2p/router/transport/TransportImpl.java index ce2d643a6c..11fb08b96a 100644 --- a/router/java/src/net/i2p/router/transport/TransportImpl.java +++ b/router/java/src/net/i2p/router/transport/TransportImpl.java @@ -983,7 +983,7 @@ public abstract class TransportImpl implements Transport { * Translate * @since 0.9.8 moved from transports */ - protected String _(String s) { + protected String _t(String s) { return Translate.getString(s, _context, BUNDLE_NAME); } @@ -991,7 +991,7 @@ public abstract class TransportImpl implements Transport { * Translate * @since 0.9.8 moved from transports */ - protected String _(String s, Object o) { + protected String _t(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } diff --git a/router/java/src/net/i2p/router/transport/TransportManager.java b/router/java/src/net/i2p/router/transport/TransportManager.java index 4c0f325bbb..b49ff15514 100644 --- a/router/java/src/net/i2p/router/transport/TransportManager.java +++ b/router/java/src/net/i2p/router/transport/TransportManager.java @@ -671,9 +671,9 @@ public class TransportManager implements TransportEventListener { public void renderStatusHTML(Writer out, String urlBase, int sortFlags) throws IOException { if (_context.getBooleanProperty(PROP_ADVANCED)) { out.write("

              "); - out.write(_("Status")); + out.write(_t("Status")); out.write(": "); - out.write(_(getReachabilityStatus().toStatusString())); + out.write(_t(getReachabilityStatus().toStatusString())); out.write("

              "); } TreeMap transports = new TreeMap(); @@ -689,7 +689,7 @@ public class TransportManager implements TransportEventListener { } StringBuilder buf = new StringBuilder(4*1024); - buf.append("

              ").append(_("Router Transport Addresses")).append("

              \n");
              +        buf.append("

              ").append(_t("Router Transport Addresses")).append("

              \n");
                       for (Transport t : _transports.values()) {
                           if (t.hasCurrentAddress()) {
                               for (RouterAddress ra : t.getCurrentAddresses()) {
              @@ -697,7 +697,7 @@ public class TransportManager implements TransportEventListener {
                                   buf.append("\n\n");
                               }
                           } else {
              -                buf.append(_("{0} is used for outbound connections only", t.getStyle()));
              +                buf.append(_t("{0} is used for outbound connections only", t.getStyle()));
                               buf.append("\n\n");
                           }
                       }
              @@ -708,7 +708,7 @@ public class TransportManager implements TransportEventListener {
                       } else if (_upnpManager != null) {
                           out.write(_upnpManager.renderStatusHTML());
                       } else {
              -            out.write("

              " + _("UPnP is not enabled") + "

              \n"); + out.write("

              " + _t("UPnP is not enabled") + "

              \n"); } out.write("

              \n"); out.flush(); @@ -717,38 +717,38 @@ public class TransportManager implements TransportEventListener { private final String getTransportsLegend() { StringBuilder buf = new StringBuilder(1024); - buf.append("

              ").append(_("Help")).append("

              ") - .append(_("Your transport connection limits are automatically set based on your configured bandwidth.")) + buf.append("

              ").append(_t("Help")).append("

              ") + .append(_t("Your transport connection limits are automatically set based on your configured bandwidth.")) .append('\n') - .append(_("To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page.")) + .append(_t("To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page.")) .append("

              \n"); - buf.append("

              ").append(_("Definitions")).append("

              " + - "

              ").append(_("Peer")).append(": ").append(_("The remote peer, identified by router hash")).append("
              \n" + - "").append(_("Dir")).append(": " + - "\"Inbound\" ").append(_("Inbound connection")).append("
              \n" + + buf.append("

              ").append(_t("Definitions")).append("

              " + + "

              ").append(_t("Peer")).append(": ").append(_t("The remote peer, identified by router hash")).append("
              \n" + + "").append(_t("Dir")).append(": " + + "\"Inbound\" ").append(_t("Inbound connection")).append("
              \n" + "       " + - "\"Outbound\" ").append(_("Outbound connection")).append("
              \n" + + "\"Outbound\" ").append(_t("Outbound connection")).append("
              \n" + "       " + - "\"V\" ").append(_("They offered to introduce us (help other peers traverse our firewall)")).append("
              \n" + + "\"V\" ").append(_t("They offered to introduce us (help other peers traverse our firewall)")).append("
              \n" + "       " + - "\"^\" ").append(_("We offered to introduce them (help other peers traverse their firewall)")).append("
              \n" + - "").append(_("Idle")).append(": ").append(_("How long since a packet has been received / sent")).append("
              \n" + - "").append(_("In/Out")).append(": ").append(_("The smoothed inbound / outbound transfer rate (KBytes per second)")).append("
              \n" + - "").append(_("Up")).append(": ").append(_("How long ago this connection was established")).append("
              \n" + - "").append(_("Skew")).append(": ").append(_("The difference between the peer's clock and your own")).append("
              \n" + - "CWND: ").append(_("The congestion window, which is how many bytes can be sent without an acknowledgement")).append(" /
              \n" + - "        ").append(_("The number of sent messages awaiting acknowledgement")).append(" /
              \n" + - "        ").append(_("The maximum number of concurrent messages to send")).append(" /
              \n"+ - "        ").append(_("The number of pending sends which exceed congestion window")).append("
              \n" + - "SST: ").append(_("The slow start threshold")).append("
              \n" + - "RTT: ").append(_("The round trip time in milliseconds")).append("
              \n" + - //"").append(_("Dev")).append(": ").append(_("The standard deviation of the round trip time in milliseconds")).append("
              \n" + - "RTO: ").append(_("The retransmit timeout in milliseconds")).append("
              \n" + - "MTU: ").append(_("Current maximum send packet size / estimated maximum receive packet size (bytes)")).append("
              \n" + - "").append(_("TX")).append(": ").append(_("The total number of packets sent to the peer")).append("
              \n" + - "").append(_("RX")).append(": ").append(_("The total number of packets received from the peer")).append("
              \n" + - "").append(_("Dup TX")).append(": ").append(_("The total number of packets retransmitted to the peer")).append("
              \n" + - "").append(_("Dup RX")).append(": ").append(_("The total number of duplicate packets received from the peer")).append("

              " + + "\"^\" ").append(_t("We offered to introduce them (help other peers traverse their firewall)")).append("
              \n" + + "").append(_t("Idle")).append(": ").append(_t("How long since a packet has been received / sent")).append("
              \n" + + "").append(_t("In/Out")).append(": ").append(_t("The smoothed inbound / outbound transfer rate (KBytes per second)")).append("
              \n" + + "").append(_t("Up")).append(": ").append(_t("How long ago this connection was established")).append("
              \n" + + "").append(_t("Skew")).append(": ").append(_t("The difference between the peer's clock and your own")).append("
              \n" + + "CWND: ").append(_t("The congestion window, which is how many bytes can be sent without an acknowledgement")).append(" /
              \n" + + "        ").append(_t("The number of sent messages awaiting acknowledgement")).append(" /
              \n" + + "        ").append(_t("The maximum number of concurrent messages to send")).append(" /
              \n"+ + "        ").append(_t("The number of pending sends which exceed congestion window")).append("
              \n" + + "SST: ").append(_t("The slow start threshold")).append("
              \n" + + "RTT: ").append(_t("The round trip time in milliseconds")).append("
              \n" + + //"").append(_t("Dev")).append(": ").append(_t("The standard deviation of the round trip time in milliseconds")).append("
              \n" + + "RTO: ").append(_t("The retransmit timeout in milliseconds")).append("
              \n" + + "MTU: ").append(_t("Current maximum send packet size / estimated maximum receive packet size (bytes)")).append("
              \n" + + "").append(_t("TX")).append(": ").append(_t("The total number of packets sent to the peer")).append("
              \n" + + "").append(_t("RX")).append(": ").append(_t("The total number of packets received from the peer")).append("
              \n" + + "").append(_t("Dup TX")).append(": ").append(_t("The total number of packets retransmitted to the peer")).append("
              \n" + + "").append(_t("Dup RX")).append(": ").append(_t("The total number of duplicate packets received from the peer")).append("

              " + "
              \n"); return buf.toString(); } @@ -770,14 +770,14 @@ public class TransportManager implements TransportEventListener { /** * Translate */ - private final String _(String s) { + private final String _t(String s) { return Translate.getString(s, _context, BUNDLE_NAME); } /** * Translate */ - private final String _(String s, Object o) { + private final String _t(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } } diff --git a/router/java/src/net/i2p/router/transport/UPnP.java b/router/java/src/net/i2p/router/transport/UPnP.java index 29e0a037c0..baec7ab621 100644 --- a/router/java/src/net/i2p/router/transport/UPnP.java +++ b/router/java/src/net/i2p/router/transport/UPnP.java @@ -557,68 +557,68 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { for(int i=0; i").append(_("Service")).append(": "); + sb.append("
            3. ").append(_t("Service")).append(": "); // NOTE: Group all toString() of common actions together // to avoid excess fetches, since toString() caches. if("urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1".equals(serv.getServiceType())){ - sb.append(_("WAN Common Interface Configuration")); - sb.append("
              • ").append(_("Status")).append(": ") + sb.append(_t("WAN Common Interface Configuration")); + sb.append("
                • ").append(_t("Status")).append(": ") .append(toString("GetCommonLinkProperties", "NewPhysicalLinkStatus", serv)); - sb.append("
                • ").append(_("Type")).append(": ") + sb.append("
                • ").append(_t("Type")).append(": ") .append(toString("GetCommonLinkProperties", "NewWANAccessType", serv)); - sb.append("
                • ").append(_("Upstream")).append(": ") + sb.append("
                • ").append(_t("Upstream")).append(": ") .append(toString("GetCommonLinkProperties", "NewLayer1UpstreamMaxBitRate", serv)); - sb.append("
                • ").append(_("Downstream")).append(": ") + sb.append("
                • ").append(_t("Downstream")).append(": ") .append(toString("GetCommonLinkProperties", "NewLayer1DownstreamMaxBitRate", serv)) .append("
                • "); }else if("urn:schemas-upnp-org:service:WANPPPConnection:1".equals(serv.getServiceType())){ - sb.append(_("WAN PPP Connection")); - sb.append("
                  • ").append(_("Status")).append(": ") + sb.append(_t("WAN PPP Connection")); + sb.append("
                    • ").append(_t("Status")).append(": ") .append(toString("GetStatusInfo", "NewConnectionStatus", serv)); String up = toString("GetStatusInfo", "NewUptime", serv); if (up != null) { try { long uptime = Long.parseLong(up); uptime *= 1000; - sb.append("
                    • ").append(_("Uptime")).append(": ") + sb.append("
                    • ").append(_t("Uptime")).append(": ") .append(DataHelper.formatDuration2(uptime)); } catch (NumberFormatException nfe) {} } - sb.append("
                    • ").append(_("Type")).append(": ") + sb.append("
                    • ").append(_t("Type")).append(": ") .append(toString("GetConnectionTypeInfo", "NewConnectionType", serv)); - sb.append("
                    • ").append(_("Upstream")).append(": ") + sb.append("
                    • ").append(_t("Upstream")).append(": ") .append(toString("GetLinkLayerMaxBitRates", "NewUpstreamMaxBitRate", serv)); - sb.append("
                    • ").append(_("Downstream")).append(": ") + sb.append("
                    • ").append(_t("Downstream")).append(": ") .append(toString("GetLinkLayerMaxBitRates", "NewDownstreamMaxBitRate", serv) + "
                      "); - sb.append("
                    • ").append(_("External IP")).append(": ") + sb.append("
                    • ").append(_t("External IP")).append(": ") .append(toString("GetExternalIPAddress", "NewExternalIPAddress", serv)) .append("
                    • "); }else if("urn:schemas-upnp-org:service:Layer3Forwarding:1".equals(serv.getServiceType())){ - sb.append(_("Layer 3 Forwarding")); - sb.append("
                      • ").append(_("Default Connection Service")).append(": ") + sb.append(_t("Layer 3 Forwarding")); + sb.append("
                        • ").append(_t("Default Connection Service")).append(": ") .append(toString("GetDefaultConnectionService", "NewDefaultConnectionService", serv)) .append("
                        • "); }else if(WAN_IP_CONNECTION.equals(serv.getServiceType())){ - sb.append(_("WAN IP Connection")); - sb.append("
                          • ").append(_("Status")).append(": ") + sb.append(_t("WAN IP Connection")); + sb.append("
                            • ").append(_t("Status")).append(": ") .append(toString("GetStatusInfo", "NewConnectionStatus", serv)); String up = toString("GetStatusInfo", "NewUptime", serv); if (up != null) { try { long uptime = Long.parseLong(up); uptime *= 1000; - sb.append("
                            • ").append(_("Uptime")).append(": ") + sb.append("
                            • ").append(_t("Uptime")).append(": ") .append(DataHelper.formatDuration2(uptime)); } catch (NumberFormatException nfe) {} } - sb.append("
                            • ").append(_("Type")).append(": ") + sb.append("
                            • ").append(_t("Type")).append(": ") .append(toString("GetConnectionTypeInfo", "NewConnectionType", serv)); - sb.append("
                            • ").append(_("External IP")).append(": ") + sb.append("
                            • ").append(_t("External IP")).append(": ") .append(toString("GetExternalIPAddress", "NewExternalIPAddress", serv)) .append("
                            • "); }else if("urn:schemas-upnp-org:service:WANEthernetLinkConfig:1".equals(serv.getServiceType())){ - sb.append(_("WAN Ethernet Link Configuration")); - sb.append("
                              • ").append(_("Status")).append(": ") + sb.append(_t("WAN Ethernet Link Configuration")); + sb.append("
                                • ").append(_t("Status")).append(": ") .append(toString("GetEthernetLinkStatus", "NewEthernetLinkStatus", serv)) .append("
                                • "); } else { @@ -638,9 +638,9 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { private void listSubDev(String prefix, Device dev, StringBuilder sb){ if (prefix == null) - sb.append("

                                  ").append(_("Found Device")).append(": "); + sb.append("

                                  ").append(_t("Found Device")).append(": "); else - sb.append("

                                • ").append(_("Subdevice")).append(": "); + sb.append("
                                • ").append(_t("Subdevice")).append(": "); sb.append(DataHelper.escapeHTML(dev.getFriendlyName())); if (prefix == null) sb.append("

                                  "); @@ -661,11 +661,11 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { /** warning - slow */ public String renderStatusHTML() { final StringBuilder sb = new StringBuilder(); - sb.append("

                                  ").append(_("UPnP Status")).append("

                                  "); + sb.append("

                                  ").append(_t("UPnP Status")).append("

                                  "); synchronized(_otherUDNs) { if (!_otherUDNs.isEmpty()) { - sb.append(_("Disabled UPnP Devices")); + sb.append(_t("Disabled UPnP Devices")); sb.append("
                                    "); for (Map.Entry e : _otherUDNs.entrySet()) { String udn = e.getKey(); @@ -679,10 +679,10 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { } if(isDisabled) { - sb.append(_("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?")); + sb.append(_t("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?")); return sb.toString(); } else if(!isNATPresent()) { - sb.append(_("UPnP has not found any UPnP-aware, compatible device on your LAN.")); + sb.append(_t("UPnP has not found any UPnP-aware, compatible device on your LAN.")); return sb.toString(); } @@ -690,15 +690,15 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { String addr = getNATAddress(); sb.append("

                                    "); if (addr != null) - sb.append(_("The current external IP address reported by UPnP is {0}", DataHelper.escapeHTML(addr))); + sb.append(_t("The current external IP address reported by UPnP is {0}", DataHelper.escapeHTML(addr))); else - sb.append(_("The current external IP address is not available.")); + sb.append(_t("The current external IP address is not available.")); int downstreamMaxBitRate = getDownstreamMaxBitRate(); int upstreamMaxBitRate = getUpstreamMaxBitRate(); if(downstreamMaxBitRate > 0) - sb.append("
                                    ").append(_("UPnP reports the maximum downstream bit rate is {0}bits/sec", DataHelper.formatSize2(downstreamMaxBitRate))); + sb.append("
                                    ").append(_t("UPnP reports the maximum downstream bit rate is {0}bits/sec", DataHelper.formatSize2(downstreamMaxBitRate))); if(upstreamMaxBitRate > 0) - sb.append("
                                    ").append(_("UPnP reports the maximum upstream bit rate is {0}bits/sec", DataHelper.formatSize2(upstreamMaxBitRate))); + sb.append("
                                    ").append(_t("UPnP reports the maximum upstream bit rate is {0}bits/sec", DataHelper.formatSize2(upstreamMaxBitRate))); synchronized(lock) { for(ForwardPort port : portsToForward) { sb.append("
                                    "); @@ -706,9 +706,9 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { // {0} is TCP or UDP // {1,number,#####} prevents 12345 from being output as 12,345 in the English locale. // If you want the digit separator in your locale, translate as {1}. - sb.append(_("{0} port {1,number,#####} was successfully forwarded by UPnP.", protoToString(port.protocol), port.portNumber)); + sb.append(_t("{0} port {1,number,#####} was successfully forwarded by UPnP.", protoToString(port.protocol), port.portNumber)); else - sb.append(_("{0} port {1,number,#####} was not forwarded by UPnP.", protoToString(port.protocol), port.portNumber)); + sb.append(_t("{0} port {1,number,#####} was not forwarded by UPnP.", protoToString(port.protocol), port.portNumber)); } } @@ -1101,21 +1101,21 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { /** * Translate */ - private final String _(String s) { + private final String _t(String s) { return Translate.getString(s, _context, BUNDLE_NAME); } /** * Translate */ - private final String _(String s, Object o) { + private final String _t(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } /** * Translate */ - private final String _(String s, Object o, Object o2) { + private final String _t(String s, Object o, Object o2) { return Translate.getString(s, o, o2, _context, BUNDLE_NAME); } } diff --git a/router/java/src/net/i2p/router/transport/UPnPManager.java b/router/java/src/net/i2p/router/transport/UPnPManager.java index 0ff6d5d848..370ba813e8 100644 --- a/router/java/src/net/i2p/router/transport/UPnPManager.java +++ b/router/java/src/net/i2p/router/transport/UPnPManager.java @@ -280,7 +280,7 @@ class UPnPManager { */ public String renderStatusHTML() { if (!_isRunning) - return "

                                    " + _("UPnP is not enabled") + "

                                    \n"; + return "

                                    " + _t("UPnP is not enabled") + "

                                    \n"; return _upnp.renderStatusHTML(); } @@ -289,7 +289,7 @@ class UPnPManager { /** * Translate */ - private final String _(String s) { + private final String _t(String s) { return Translate.getString(s, _context, BUNDLE_NAME); } diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java index 3f77d73a7e..703ee5050a 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java @@ -1,5 +1,6 @@ package net.i2p.router.transport.ntcp; +import java.io.Closeable; import java.io.IOException; import java.net.Inet6Address; import java.nio.ByteBuffer; @@ -64,7 +65,7 @@ import net.i2p.util.VersionComparator; *
            4. * */ -class NTCPConnection { +class NTCPConnection implements Closeable { private final RouterContext _context; private final Log _log; private SocketChannel _chan; diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index 382d4d89e4..c38e932d5b 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -1341,26 +1341,26 @@ public class NTCPTransport extends TransportImpl { } StringBuilder buf = new StringBuilder(512); - buf.append("

              ").append(_("NTCP connections")).append(": ").append(peers.size()); - buf.append(". ").append(_("Limit")).append(": ").append(getMaxConnections()); - buf.append(". ").append(_("Timeout")).append(": ").append(DataHelper.formatDuration2(_pumper.getIdleTimeout())); + buf.append("

              ").append(_t("NTCP connections")).append(": ").append(peers.size()); + buf.append(". ").append(_t("Limit")).append(": ").append(getMaxConnections()); + buf.append(". ").append(_t("Timeout")).append(": ").append(DataHelper.formatDuration2(_pumper.getIdleTimeout())); if (_context.getBooleanProperty(PROP_ADVANCED)) { - buf.append(". ").append(_("Status")).append(": ").append(_(getReachabilityStatus().toStatusString())); + buf.append(". ").append(_t("Status")).append(": ").append(_t(getReachabilityStatus().toStatusString())); } buf.append(".

              \n" + "\n" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - //"" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + //"" + " \n"); out.write(buf.toString()); buf.setLength(0); @@ -1372,9 +1372,9 @@ public class NTCPTransport extends TransportImpl { // buf.append(' ').append(_context.blocklist().toStr(ip)); buf.append("
              ").append(_("Peer")).append("").append(_("Dir")).append("").append(_("IPv6")).append("").append(_("Idle")).append("").append(_("In/Out")).append("").append(_("Up")).append("").append(_("Skew")).append("").append(_("TX")).append("").append(_("RX")).append("").append(_("Out Queue")).append("").append(_("Backlogged?")).append("").append(_("Reading?")).append("
              ").append(_t("Peer")).append("").append(_t("Dir")).append("").append(_t("IPv6")).append("").append(_t("Idle")).append("").append(_t("In/Out")).append("").append(_t("Up")).append("").append(_t("Skew")).append("").append(_t("TX")).append("").append(_t("RX")).append("").append(_t("Out Queue")).append("").append(_t("Backlogged?")).append("").append(_t("Reading?")).append("
              "); if (con.isInbound()) - buf.append("\"Inbound\""); + buf.append("\"Inbound\""); else - buf.append("\"Outbound\""); + buf.append("\"Outbound\""); buf.append(""); if (con.isIPv6()) buf.append("✓"); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java index 691601933e..3d22e41b72 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java @@ -4,6 +4,8 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Map; +import org.apache.http.conn.util.InetAddressUtils; + import net.i2p.data.Base64; import net.i2p.data.router.RouterAddress; import net.i2p.data.SessionKey; @@ -262,12 +264,9 @@ class UDPAddress { } if (rv == null) { try { - boolean isIPv4 = host.replaceAll("[0-9\\.]", "").length() == 0; - if (isIPv4 && host.replaceAll("[0-9]", "").length() != 3) - return null; rv = InetAddress.getByName(host); - if (isIPv4 || - host.replaceAll("[0-9a-fA-F:]", "").length() == 0) { + if (InetAddressUtils.isIPv4Address(host) || + InetAddressUtils.isIPv6Address(host)) { synchronized (_inetAddressCache) { _inetAddressCache.put(host, rv); } 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 c616e5a821..223f655f5a 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -86,6 +86,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority private final DHSessionKeyBuilder.Factory _dhFactory; private int _mtu; private int _mtu_ipv6; + private boolean _mismatchLogged; /** * Do we have a public IPv6 address? @@ -1229,10 +1230,12 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority _expireEvent.remove(oldPeer2); } - if (_log.shouldLog(Log.WARN) && _peersByIdent.size() != _peersByRemoteHost.size()) + if (_log.shouldLog(Log.WARN) && !_mismatchLogged && _peersByIdent.size() != _peersByRemoteHost.size()) { + _mismatchLogged = true; _log.warn("Size Mismatch after add: " + peer + " byIDsz = " + _peersByIdent.size() + " byHostsz = " + _peersByRemoteHost.size()); + } _activeThrottle.unchoke(peer.getRemotePeer()); markReachable(peer.getRemotePeer(), peer.isInbound()); @@ -2462,58 +2465,58 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority int numPeers = 0; StringBuilder buf = new StringBuilder(512); - buf.append("

              ").append(_("UDP connections")).append(": ").append(peers.size()); - buf.append(". ").append(_("Limit")).append(": ").append(getMaxConnections()); - buf.append(". ").append(_("Timeout")).append(": ").append(DataHelper.formatDuration2(_expireTimeout)); + buf.append("

              ").append(_t("UDP connections")).append(": ").append(peers.size()); + buf.append(". ").append(_t("Limit")).append(": ").append(getMaxConnections()); + buf.append(". ").append(_t("Timeout")).append(": ").append(DataHelper.formatDuration2(_expireTimeout)); if (_context.getBooleanProperty(PROP_ADVANCED)) { - buf.append(". ").append(_("Status")).append(": ").append(_(_reachabilityStatus.toStatusString())); + buf.append(". ").append(_t("Status")).append(": ").append(_t(_reachabilityStatus.toStatusString())); } buf.append(".

              \n"); buf.append("\n"); - buf.append(""); - buf.append("\n"); - buf.append("\n"); buf.append("\n"); buf.append("\n"); buf.append("\n"); - buf.append("\n"); out.write(buf.toString()); buf.setLength(0); @@ -2529,17 +2532,17 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority // buf.append(' ').append(_context.blocklist().toStr(ip)); buf.append(""); buf.append("
              ").append(_("Peer")).append("
              "); + buf.append("
              ").append(_t("Peer")).append("
              "); if (sortFlags != FLAG_ALPHA) - appendSortLinks(buf, urlBase, sortFlags, _("Sort by peer hash"), FLAG_ALPHA); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by peer hash"), FLAG_ALPHA); buf.append("
              ").append(_("Dir")) - .append("").append(_("IPv6")) - .append("").append(_("Idle")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by idle inbound"), FLAG_IDLE_IN); + .append(_t("Direction/Introduction")).append("\">").append(_t("Dir")) + .append("
              ").append(_t("IPv6")) + .append("").append(_t("Idle")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by idle inbound"), FLAG_IDLE_IN); buf.append(" / "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by idle outbound"), FLAG_IDLE_OUT); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by idle outbound"), FLAG_IDLE_OUT); buf.append("
              ").append(_("In/Out")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by inbound rate"), FLAG_RATE_IN); + buf.append("
              ").append(_t("In/Out")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by inbound rate"), FLAG_RATE_IN); buf.append(" / "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by outbound rate"), FLAG_RATE_OUT); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by outbound rate"), FLAG_RATE_OUT); buf.append("
              ").append(_("Up")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by connection uptime"), FLAG_UPTIME); - buf.append("
              ").append(_("Skew")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by clock skew"), FLAG_SKEW); + buf.append("
              ").append(_t("Up")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by connection uptime"), FLAG_UPTIME); + buf.append("
              ").append(_t("Skew")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by clock skew"), FLAG_SKEW); buf.append("
              CWND
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by congestion window"), FLAG_CWND); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by congestion window"), FLAG_CWND); buf.append("
              SST
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by slow start threshold"), FLAG_SSTHRESH); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by slow start threshold"), FLAG_SSTHRESH); buf.append("
              RTT
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by round trip time"), FLAG_RTT); - //buf.append("
              ").append(_("Dev")).append("
              "); - //appendSortLinks(buf, urlBase, sortFlags, _("Sort by round trip time deviation"), FLAG_DEV); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by round trip time"), FLAG_RTT); + //buf.append("
              ").append(_t("Dev")).append("
              "); + //appendSortLinks(buf, urlBase, sortFlags, _t("Sort by round trip time deviation"), FLAG_DEV); buf.append("
              RTO
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by retransmission timeout"), FLAG_RTO); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by retransmission timeout"), FLAG_RTO); buf.append("
              MTU
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by outbound maximum transmit unit"), FLAG_MTU); - buf.append("
              ").append(_("TX")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by packets sent"), FLAG_SEND); - buf.append("
              ").append(_("RX")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by packets received"), FLAG_RECV); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by outbound maximum transmit unit"), FLAG_MTU); + buf.append("
              ").append(_t("TX")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by packets sent"), FLAG_SEND); + buf.append("
              ").append(_t("RX")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by packets received"), FLAG_RECV); buf.append("
              ").append(_("Dup TX")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by packets retransmitted"), FLAG_RESEND); - buf.append("
              ").append(_("Dup RX")).append("
              "); - appendSortLinks(buf, urlBase, sortFlags, _("Sort by packets received more than once"), FLAG_DUP); + buf.append("
              ").append(_t("Dup TX")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by packets retransmitted"), FLAG_RESEND); + buf.append("
              ").append(_t("Dup RX")).append("
              "); + appendSortLinks(buf, urlBase, sortFlags, _t("Sort by packets received more than once"), FLAG_DUP); buf.append("
              "); if (peer.isInbound()) - buf.append("\"Inbound\""); + buf.append("\"Inbound\""); else - buf.append("\"Outbound\""); + buf.append("\"Outbound\""); if (peer.getWeRelayToThemAs() > 0) - buf.append("  \"^\""); + buf.append("  \"^\""); if (peer.getTheyRelayToUsAs() > 0) - buf.append("  \"V\""); + buf.append("  \"V\""); boolean appended = false; if (_activeThrottle.isChoked(peer.getRemotePeer())) { - buf.append("
              ").append(_("Choked")).append(""); + buf.append("
              ").append(_t("Choked")).append(""); appended = true; } int cfs = peer.getConsecutiveFailedSends(); @@ -2547,15 +2550,15 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority if (!appended) buf.append("
              "); buf.append(" "); if (cfs == 1) - buf.append(_("1 fail")); + buf.append(_t("1 fail")); else - buf.append(_("{0} fails", cfs)); + buf.append(_t("{0} fails", cfs)); buf.append(""); appended = true; } if (_context.banlist().isBanlisted(peer.getRemotePeer(), STYLE)) { if (!appended) buf.append("
              "); - buf.append(" ").append(_("Banned")).append(""); + buf.append(" ").append(_t("Banned")).append(""); appended = true; } //byte[] ip = getIP(peer.getRemotePeer()); @@ -2614,7 +2617,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority buf.append(THINSP).append(peer.getConcurrentSendWindow()); buf.append(THINSP).append(peer.getConsecutiveSendRejections()); if (peer.isBacklogged()) - buf.append(' ').append(_("backlogged")); + buf.append(' ').append(_t("backlogged")); buf.append("
              "); @@ -2946,7 +2949,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority " from: ", new Exception("traceback")); if (old != Status.UNKNOWN) _context.router().eventLog().addEvent(EventLog.REACHABILITY, - "from " + _(old.toStatusString()) + " to " + _(status.toStatusString())); + "from " + _t(old.toStatusString()) + " to " + _t(status.toStatusString())); // Always rebuild when the status changes, even if our address hasn't changed, // as rebuildExternalAddress() calls replaceAddress() which calls CSFI.notifyReplaceAddress() // which will start up NTCP inbound when we transition to OK. diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java index c799bd16a9..5b2bdfb2a1 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java @@ -640,7 +640,9 @@ class BuildHandler implements Runnable { _context.statManager().addRateData("tunnel.rejectHostile", 1); // We are 2 hops in a row? Drop it without a reply. // No way to recognize if we are every other hop, but see below - _log.error("Dropping build request, we are the next hop"); + // old i2pd + if (_log.shouldWarn()) + _log.warn("Dropping build request, we are the next hop"); return; } // previous test should be sufficient to keep it from getting here but maybe not? diff --git a/router/java/src/net/i2p/router/tunnel/pool/ExploratoryPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/ExploratoryPeerSelector.java index 6bb81fbc8c..b6b141e7a8 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/ExploratoryPeerSelector.java +++ b/router/java/src/net/i2p/router/tunnel/pool/ExploratoryPeerSelector.java @@ -33,12 +33,12 @@ class ExploratoryPeerSelector extends TunnelPeerSelector { return null; } - if (false && shouldSelectExplicit(settings)) { - List rv = selectExplicit(settings, length); - if (l.shouldLog(Log.DEBUG)) - l.debug("Explicit peers selected: " + rv); - return rv; - } + //if (false && shouldSelectExplicit(settings)) { + // List rv = selectExplicit(settings, length); + // if (l.shouldLog(Log.DEBUG)) + // l.debug("Explicit peers selected: " + rv); + // return rv; + //} Set exclude = getExclude(settings.isInbound(), true); exclude.add(ctx.routerHash()); @@ -55,34 +55,43 @@ class ExploratoryPeerSelector extends TunnelPeerSelector { // FloodfillNetworkDatabaseFacade fac = (FloodfillNetworkDatabaseFacade)ctx.netDb(); // exclude.addAll(fac.getFloodfillPeers()); HashSet matches = new HashSet(length); - boolean exploreHighCap = shouldPickHighCap(); - // - // We don't honor IP Restriction here, to be fixed - // + if (length > 0) { + boolean exploreHighCap = shouldPickHighCap(); - // If hidden and inbound, use fast peers - that we probably have recently - // connected to and so they have our real RI - to maximize the chance - // that the adjacent hop can connect to us. - if (settings.isInbound() && ctx.router().isHidden()) { - if (l.shouldLog(Log.INFO)) - l.info("EPS SFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); - ctx.profileOrganizer().selectFastPeers(length, exclude, matches); - } else if (exploreHighCap) { - if (l.shouldLog(Log.INFO)) - l.info("EPS SHCP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); - ctx.profileOrganizer().selectHighCapacityPeers(length, exclude, matches); - } else if (ctx.commSystem().haveHighOutboundCapacity()) { - if (l.shouldLog(Log.INFO)) - l.info("EPS SNFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); - ctx.profileOrganizer().selectNotFailingPeers(length, exclude, matches, false); - } else { // use only connected peers so we don't make more connections - if (l.shouldLog(Log.INFO)) - l.info("EPS SANFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); - ctx.profileOrganizer().selectActiveNotFailingPeers(length, exclude, matches); + // + // We don't honor IP Restriction here, to be fixed + // + + // If hidden and inbound, use fast peers - that we probably have recently + // connected to and so they have our real RI - to maximize the chance + // that the adjacent hop can connect to us. + if (settings.isInbound() && ctx.router().isHidden()) { + if (l.shouldLog(Log.INFO)) + l.info("EPS SFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); + ctx.profileOrganizer().selectFastPeers(length, exclude, matches); + } else if (exploreHighCap) { + if (l.shouldLog(Log.INFO)) + l.info("EPS SHCP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); + ctx.profileOrganizer().selectHighCapacityPeers(length, exclude, matches); + } else if (ctx.commSystem().haveHighOutboundCapacity()) { + if (l.shouldLog(Log.INFO)) + l.info("EPS SNFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); + // As of 0.9.23, we include a max of 2 not failing peers, + // to improve build success on 3-hop tunnels. + // Peer org credits existing items in matches + if (length > 2) + ctx.profileOrganizer().selectHighCapacityPeers(length - 2, exclude, matches); + ctx.profileOrganizer().selectNotFailingPeers(length, exclude, matches, false); + } else { // use only connected peers so we don't make more connections + if (l.shouldLog(Log.INFO)) + l.info("EPS SANFP " + length + (settings.isInbound() ? " IB" : " OB") + " exclude " + exclude.size()); + ctx.profileOrganizer().selectActiveNotFailingPeers(length, exclude, matches); + } + + matches.remove(ctx.routerHash()); } - - matches.remove(ctx.routerHash()); + ArrayList rv = new ArrayList(matches); if (rv.size() > 1) orderPeers(rv, settings.getRandomKey()); diff --git a/router/java/src/org/cybergarage/xml/parser/JaxpParser.java b/router/java/src/org/cybergarage/xml/parser/JaxpParser.java index 332c5525fc..af84b14f31 100644 --- a/router/java/src/org/cybergarage/xml/parser/JaxpParser.java +++ b/router/java/src/org/cybergarage/xml/parser/JaxpParser.java @@ -184,6 +184,40 @@ public class JaxpParser extends Parser } return rv; } + + /** @since 0.9.22 */ + @Override + public int read(byte[] b) throws IOException { + return this.read(b, 0, b.length); + } + + /** @since 0.9.22 */ + @Override + public int read(byte[] b, int off, int len) throws IOException { + if (b == null) { + throw new NullPointerException(); + } else if (off < 0 || len < 0 || len > b.length - off) { + throw new IndexOutOfBoundsException(); + } else if (len == 0) { + return 0; + } + + int rv = this.read(); + if (-1 == rv) { + return -1; + } + + int i = 1; + b[off] = (byte) rv; + for (; i < len; i++) { + rv = this.read(); + if (-1 == rv) { + break; + } + b[off + i] = (byte) rv; + } + return i; + } } /**