propagate from branch 'i2p.i2p' (head da40262a8b7685de3877c1d7d6d16a155caa9e7c)

to branch 'i2p.i2p.zzz.test2' (head 6263bb149b8301059d0471bcc1d47caeca660f4e)
This commit is contained in:
zzz
2013-11-22 17:29:45 +00:00
522 changed files with 64777 additions and 44219 deletions

View File

@@ -9,6 +9,7 @@ trans.es = apps/i2ptunnel/locale/messages_es.po
trans.fr = apps/i2ptunnel/locale/messages_fr.po
trans.hu = apps/i2ptunnel/locale/messages_hu.po
trans.it = apps/i2ptunnel/locale/messages_it.po
trans.ja = apps/i2ptunnel/locale/messages_ja.po
trans.nb = apps/i2ptunnel/locale/messages_nb.po
trans.nl = apps/i2ptunnel/locale/messages_nl.po
trans.pl = apps/i2ptunnel/locale/messages_pl.po
@@ -33,6 +34,7 @@ trans.nb = apps/i2ptunnel/locale-proxy/messages_nb.po
trans.nl = apps/i2ptunnel/locale-proxy/messages_nl.po
trans.pl = apps/i2ptunnel/locale-proxy/messages_pl.po
trans.pt = apps/i2ptunnel/locale-proxy/messages_pt.po
trans.ro = apps/i2ptunnel/locale-proxy/messages_ro.po
trans.ru_RU = apps/i2ptunnel/locale-proxy/messages_ru.po
trans.sv_SE = apps/i2ptunnel/locale-proxy/messages_sv.po
trans.uk_UA = apps/i2ptunnel/locale-proxy/messages_uk.po
@@ -53,6 +55,7 @@ trans.fi = apps/routerconsole/locale/messages_fi.po
trans.fr = apps/routerconsole/locale/messages_fr.po
trans.hu = apps/routerconsole/locale/messages_hu.po
trans.it = apps/routerconsole/locale/messages_it.po
trans.ja = apps/routerconsole/locale/messages_ja.po
trans.nb = apps/routerconsole/locale/messages_nb.po
trans.nl = apps/routerconsole/locale/messages_nl.po
trans.pl = apps/routerconsole/locale/messages_pl.po
@@ -72,8 +75,11 @@ trans.ar = apps/routerconsole/locale-news/messages_ar.po
trans.de = apps/routerconsole/locale-news/messages_de.po
trans.es = apps/routerconsole/locale-news/messages_es.po
trans.fr = apps/routerconsole/locale-news/messages_fr.po
trans.it = apps/routerconsole/locale-news/messages_it.po
trans.nl = apps/routerconsole/locale-news/messages_nl.po
trans.pl = apps/routerconsole/locale-news/messages_pl.po
trans.pt = apps/routerconsole/locale-news/messages_pt.po
trans.ro = apps/routerconsole/locale-news/messages_ro.po
trans.ru_RU = apps/routerconsole/locale-news/messages_ru.po
trans.sv_SE = apps/routerconsole/locale-news/messages_sv.po
trans.tr_TR = apps/routerconsole/locale-news/messages_tr.po
@@ -92,6 +98,7 @@ trans.fi = apps/routerconsole/locale-countries/messages_fi.po
trans.fr = apps/routerconsole/locale-countries/messages_fr.po
trans.hu = apps/routerconsole/locale-countries/messages_hu.po
trans.it = apps/routerconsole/locale-countries/messages_it.po
trans.ja = apps/routerconsole/locale-countries/messages_ja.po
trans.nb = apps/routerconsole/locale-countries/messages_nb.po
trans.nl = apps/routerconsole/locale-countries/messages_nl.po
trans.pl = apps/routerconsole/locale-countries/messages_pl.po
@@ -117,6 +124,7 @@ trans.nb = apps/i2psnark/locale/messages_nb.po
trans.nl = apps/i2psnark/locale/messages_nl.po
trans.pl = apps/i2psnark/locale/messages_pl.po
trans.pt = apps/i2psnark/locale/messages_pt.po
trans.ro = apps/i2psnark/locale/messages_ro.po
trans.ru_RU = apps/i2psnark/locale/messages_ru.po
trans.sv_SE = apps/i2psnark/locale/messages_sv.po
trans.vi = apps/i2psnark/locale/messages_vi.po
@@ -134,6 +142,7 @@ trans.es = apps/susidns/locale/messages_es.po
trans.fr = apps/susidns/locale/messages_fr.po
trans.hu = apps/susidns/locale/messages_hu.po
trans.it = apps/susidns/locale/messages_it.po
trans.ja = apps/susidns/locale/messages_ja.po
trans.nl = apps/susidns/locale/messages_nl.po
trans.pl = apps/susidns/locale/messages_pl.po
trans.pt = apps/susidns/locale/messages_pt.po
@@ -158,6 +167,7 @@ trans.hu = apps/desktopgui/locale/messages_hu.po
trans.it = apps/desktopgui/locale/messages_it.po
trans.nl = apps/desktopgui/locale/messages_nl.po
trans.pl = apps/desktopgui/locale/messages_pl.po
trans.ro = apps/desktopgui/locale/messages_ro.po
trans.ru_RU = apps/desktopgui/locale/messages_ru.po
trans.sv_SE = apps/desktopgui/locale/messages_sv.po
trans.uk_UA = apps/desktopgui/locale/messages_uk.po
@@ -196,6 +206,7 @@ trans.it = debian/po/it.po
trans.hu = debian/po/hu.po
trans.pl = debian/po/pl.po
trans.pt = debian/po/pt.po
trans.ro = debian/po/ro.po
trans.ru_RU = debian/po/ru.po
trans.sv_SE = debian/po/sv.po
trans.uk_UA = debian/po/uk.po
@@ -210,6 +221,7 @@ trans.es = installer/resources/locale/po/messages_es.po
trans.fr = installer/resources/locale/po/messages_fr.po
trans.it = installer/resources/locale/po/messages_it.po
trans.pt = installer/resources/locale/po/messages_pt.po
trans.ro = installer/resources/locale/po/messages_ro.po
trans.sv_SE = installer/resources/locale/po/messages_sv.po
trans.ru_RU = installer/resources/locale/po/messages_ru.po
trans.tr_TR = installer/resources/locale/po/messages_tr.po

View File

@@ -308,7 +308,7 @@ public class BOB {
database.releaseReadLock();
database.getWriteLock();
nickinfo.getWriteLock();
nickinfo.add(P_STOPPING, new Boolean(true));
nickinfo.add(P_STOPPING, Boolean.valueOf(true));
nickinfo.releaseWriteLock();
database.releaseWriteLock();
} else {

View File

@@ -665,7 +665,7 @@ public class DoCMDS implements Runnable {
break die;
}
try {
nickinfo.add(P_QUIET, new Boolean(Boolean.parseBoolean(Arg) == true));
nickinfo.add(P_QUIET, Boolean.valueOf(Arg));
} catch (Exception ex) {
try {
wunlock();
@@ -817,10 +817,10 @@ public class DoCMDS implements Runnable {
try {
database.add(Arg, nickinfo);
nickinfo.add(P_NICKNAME, Arg);
nickinfo.add(P_STARTING, new Boolean(false));
nickinfo.add(P_RUNNING, new Boolean(false));
nickinfo.add(P_STOPPING, new Boolean(false));
nickinfo.add(P_QUIET, new Boolean(false));
nickinfo.add(P_STARTING, Boolean.valueOf(false));
nickinfo.add(P_RUNNING, Boolean.valueOf(false));
nickinfo.add(P_STOPPING, Boolean.valueOf(false));
nickinfo.add(P_QUIET, Boolean.valueOf(false));
nickinfo.add(P_INHOST, "localhost");
nickinfo.add(P_OUTHOST, "localhost");
Properties Q = new Properties();
@@ -989,7 +989,7 @@ public class DoCMDS implements Runnable {
prt = Integer.parseInt(Arg);
if (prt > 1 && prt < 65536) {
try {
nickinfo.add(P_INPORT, new Integer(prt));
nickinfo.add(P_INPORT, Integer.valueOf(prt));
} catch (Exception ex) {
try {
wunlock();
@@ -1076,7 +1076,7 @@ public class DoCMDS implements Runnable {
prt = Integer.parseInt(Arg);
if (prt > 1 && prt < 65536) {
try {
nickinfo.add(P_OUTPORT, new Integer(prt));
nickinfo.add(P_OUTPORT, Integer.valueOf(prt));
} catch (Exception ex) {
try {
wunlock();
@@ -1355,7 +1355,7 @@ public class DoCMDS implements Runnable {
break die;
}
nickinfo.add(P_STOPPING, new Boolean(true));
nickinfo.add(P_STOPPING, Boolean.valueOf(true));
try {
wunlock();

View File

@@ -70,7 +70,7 @@ public class MUXlisten implements Runnable {
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", new Boolean(true));
this.info.add("STARTING", Boolean.valueOf(true));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
this.database.getReadLock();
@@ -104,7 +104,7 @@ public class MUXlisten implements Runnable {
// Something went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", new Boolean(false));
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
throw new IOException(e.toString());
@@ -112,7 +112,7 @@ public class MUXlisten implements Runnable {
// Something went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", new Boolean(false));
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
throw new RuntimeException(e);
@@ -120,7 +120,7 @@ public class MUXlisten implements Runnable {
// Something else went bad.
this.database.getWriteLock();
this.info.getWriteLock();
this.info.add("STARTING", new Boolean(false));
this.info.add("STARTING", Boolean.valueOf(false));
this.info.releaseWriteLock();
this.database.releaseWriteLock();
e.printStackTrace();
@@ -160,7 +160,7 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("RUNNING", new Boolean(true));
info.add("RUNNING", Boolean.valueOf(true));
} catch (Exception e) {
lock.set(false);
wunlock();
@@ -204,7 +204,7 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("STARTING", new Boolean(false));
info.add("STARTING", Boolean.valueOf(false));
} catch (Exception e) {
wunlock();
break quit;
@@ -258,9 +258,9 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("STARTING", new Boolean(false));
info.add("STOPPING", new Boolean(true));
info.add("RUNNING", new Boolean(false));
info.add("STARTING", Boolean.valueOf(false));
info.add("STOPPING", Boolean.valueOf(true));
info.add("RUNNING", Boolean.valueOf(false));
} catch (Exception e) {
lock.set(false);
wunlock();
@@ -309,9 +309,9 @@ public class MUXlisten implements Runnable {
try {
wlock();
try {
info.add("STARTING", new Boolean(false));
info.add("STOPPING", new Boolean(false));
info.add("RUNNING", new Boolean(false));
info.add("STARTING", Boolean.valueOf(false));
info.add("STOPPING", Boolean.valueOf(false));
info.add("RUNNING", Boolean.valueOf(false));
} catch (Exception e) {
lock.set(false);
wunlock();

View File

@@ -23,7 +23,7 @@ package net.i2p.BOB;
public class NamedDB {
private volatile Object[][] data;
private volatile int index, writersWaiting, readers;
private int index, writersWaiting, readers;
/**
* make initial NULL object
@@ -31,7 +31,6 @@ public class NamedDB {
*/
public NamedDB() {
this.data = new Object[1][2];
this.index = this.writersWaiting = this.readers = 0;
}
synchronized public void getReadLock() {

View File

@@ -116,7 +116,6 @@ public class TCPio implements Runnable {
Aout.close();
} catch (IOException ex) {
}
return;
}
}
}

View File

@@ -70,12 +70,11 @@ public class TCPtoI2P implements Runnable {
* @throws IOException
*/
private static String lnRead(InputStream in) throws IOException {
String S;
String S = "";
StringBuilder builder = new StringBuilder();
int b;
char c;
S = new String();
while (true) {
b = in.read();
if (b == 13) {
@@ -87,9 +86,9 @@ public class TCPtoI2P implements Runnable {
break;
}
c = (char) (b & 0x7f); // We only care about ASCII
S = new String(S + c);
builder.append(c);
}
return S;
return builder.toString();
}
/**
@@ -101,7 +100,7 @@ public class TCPtoI2P implements Runnable {
*/
private void Emsg(String e, OutputStream out) throws IOException {
// Debugging System.out.println("ERROR TCPtoI2P: " + e);
out.write("ERROR ".concat(e).getBytes());
out.write("ERROR ".concat(e).getBytes("UTF-8"));
out.write(13);
out.write(10);
out.flush();

View File

@@ -120,11 +120,11 @@ class AddressBook {
subscription.setLastFetched(I2PAppContext.getGlobalContext().clock().now());
subf = tmp;
} else {
a = Collections.EMPTY_MAP;
a = Collections.emptyMap();
tmp.delete();
}
} catch (IOException ioe) {
a = Collections.EMPTY_MAP;
a = Collections.emptyMap();
}
this.addresses = a;
this.subFile = subf;
@@ -148,7 +148,7 @@ class AddressBook {
try {
a = ConfigParser.parse(file);
} catch (IOException exp) {
a = new HashMap();
a = new HashMap<String, String>();
}
this.addresses = a;
this.subFile = null;

View File

@@ -138,7 +138,8 @@ class ConfigIterator implements Iterator<Map.Entry<String, String>> {
public boolean equals(Object o) {
if (!(o instanceof Map.Entry))
return false;
Map.Entry e = (Map.Entry) o;
@SuppressWarnings("unchecked")
Map.Entry<Object, Object> e = (Map.Entry<Object, Object>) o;
return key.equals(e.getKey()) && value.equals(e.getValue());
}
}

View File

@@ -87,7 +87,7 @@ class ConfigParser {
*
*/
public static Map<String, String> parse(BufferedReader input) throws IOException {
Map<String, String> result = new HashMap();
Map<String, String> result = new HashMap<String, String>();
String inputLine;
inputLine = input.readLine();
while (inputLine != null) {
@@ -179,7 +179,7 @@ class ConfigParser {
*/
public static List<String> parseSubscriptions(BufferedReader input)
throws IOException {
List<String> result = new LinkedList();
List<String> result = new LinkedList<String>();
String inputLine = input.readLine();
while (inputLine != null) {
inputLine = ConfigParser.stripComments(inputLine).trim();

View File

@@ -251,7 +251,7 @@ public class Daemon {
}
delay *= 60 * 60 * 1000;
List<String> defaultSubs = new LinkedList();
List<String> defaultSubs = new LinkedList<String>();
// defaultSubs.add("http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/i2p/hosts.txt");
defaultSubs.add("http://www.i2p2.i2p/hosts.txt");
@@ -331,7 +331,7 @@ public class Daemon {
homeFile = new SecureDirectory(System.getProperty("user.dir"));
}
Map<String, String> defaultSettings = new HashMap();
Map<String, String> defaultSettings = new HashMap<String, String>();
defaultSettings.put("proxy_host", "127.0.0.1");
defaultSettings.put("proxy_port", "4444");
defaultSettings.put("master_addressbook", "../userhosts.txt");

View File

@@ -81,7 +81,7 @@ class SubscriptionIterator implements Iterator<AddressBook> {
// DataHelper.formatDuration(I2PAppContext.getGlobalContext().clock().now() - sub.getLastFetched()) +
// " ago but the minimum delay is " +
// DataHelper.formatDuration(this.delay));
return new AddressBook(Collections.EMPTY_MAP);
return new AddressBook(Collections.<String, String> emptyMap());
}
}

View File

@@ -69,7 +69,7 @@ class SubscriptionList {
public SubscriptionList(File locationsFile, File etagsFile,
File lastModifiedFile, File lastFetchedFile, long delay, List<String> defaultSubs, String proxyHost,
int proxyPort) {
this.subscriptions = new LinkedList();
this.subscriptions = new LinkedList<Subscription>();
this.etagsFile = etagsFile;
this.lastModifiedFile = lastModifiedFile;
this.lastFetchedFile = lastFetchedFile;
@@ -84,17 +84,17 @@ class SubscriptionList {
try {
etags = ConfigParser.parse(etagsFile);
} catch (IOException exp) {
etags = new HashMap();
etags = new HashMap<String, String>();
}
try {
lastModified = ConfigParser.parse(lastModifiedFile);
} catch (IOException exp) {
lastModified = new HashMap();
lastModified = new HashMap<String, String>();
}
try {
lastFetched = ConfigParser.parse(lastFetchedFile);
} catch (IOException exp) {
lastFetched = new HashMap();
lastFetched = new HashMap<String, String>();
}
for (String location : locations) {
this.subscriptions.add(new Subscription(location, etags.get(location),
@@ -121,9 +121,9 @@ class SubscriptionList {
* won't be read back correctly; the '=' should be escaped.
*/
public void write() {
Map<String, String> etags = new HashMap();
Map<String, String> lastModified = new HashMap();
Map<String, String> lastFetched = new HashMap();
Map<String, String> etags = new HashMap<String, String>();
Map<String, String> lastModified = new HashMap<String, String>();
Map<String, String> lastFetched = new HashMap<String, String>();
for (Subscription sub : this.subscriptions) {
if (sub.getEtag() != null) {
etags.put(sub.getLocation(), sub.getEtag());

View File

@@ -0,0 +1,55 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the desktopgui package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2013-11-11 11:31+0000\n"
"Last-Translator: polearnik <polearnik@mail.ru>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/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"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
msgid "Start I2P"
msgstr "Start I2P"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "I2P is starting!"
msgstr "I2P se pornește!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "Starting"
msgstr "Începere"
#: src/net/i2p/desktopgui/InternalTrayManager.java:26
msgid "Launch I2P Browser"
msgstr "Lansare I2P Browser"
#: src/net/i2p/desktopgui/InternalTrayManager.java:50
msgid "Configure desktopgui"
msgstr "Configurarea desktopgui"
#: src/net/i2p/desktopgui/InternalTrayManager.java:67
msgid "Restart I2P"
msgstr "Restart I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:85
msgid "Stop I2P"
msgstr "Stop I2P"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
msgid "Tray icon configuration"
msgstr "Configurare pictogramei din bara de sistem"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
msgid "Should tray icon be enabled?"
msgstr "Ar trebui să fie activata pictograma din bara de sistem?"

View File

@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="java/src"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry combineaccessrules="false" kind="src" path="/ministreaming"/>
<classpathentry kind="lib" path="/jetty/jettylib/javax.servlet.jar"/>
<classpathentry kind="lib" path="/jetty/jettylib/jetty-util.jar"/>
<classpathentry kind="lib" path="/jetty/jettylib/org.mortbay.jetty.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry combineaccessrules="false" kind="src" path="/i2p_sdk"/>
<classpathentry combineaccessrules="false" kind="src" path="/jetty"/>
<classpathentry combineaccessrules="false" kind="src" path="/ministreaming"/>
<classpathentry kind="output" path="java/build/obj"/>
</classpath>

View File

@@ -53,7 +53,7 @@ class KBucketImpl<T extends SimpleDataStructure> implements KBucket<T> {
/** include if no bits higher than this bit (inclusive) are set */
private final int _end;
private final int _max;
private final KBucketTrimmer _trimmer;
private final KBucketTrimmer<T> _trimmer;
/** when did we last shake things up */
private long _lastChanged;
private final I2PAppContext _context;
@@ -62,11 +62,11 @@ class KBucketImpl<T extends SimpleDataStructure> implements KBucket<T> {
* All entries in this bucket will have at least one bit different
* from us in the range [begin, end] inclusive.
*/
public KBucketImpl(I2PAppContext context, int begin, int end, int max, KBucketTrimmer trimmer) {
public KBucketImpl(I2PAppContext context, int begin, int end, int max, KBucketTrimmer<T> trimmer) {
if (begin > end)
throw new IllegalArgumentException(begin + " > " + end);
_context = context;
_entries = new ConcurrentHashSet(max + 4);
_entries = new ConcurrentHashSet<T>(max + 4);
_begin = begin;
_end = end;
_max = max;

View File

@@ -50,9 +50,9 @@ public class KBucketSet<T extends SimpleDataStructure> {
*
* Closest values are in bucket 0, furthest are in the last bucket.
*/
private final List<KBucket> _buckets;
private final List<KBucket<T>> _buckets;
private final Range<T> _rangeCalc;
private final KBucketTrimmer _trimmer;
private final KBucketTrimmer<T> _trimmer;
/**
* Locked for reading only when traversing all the buckets.
@@ -76,13 +76,13 @@ public class KBucketSet<T extends SimpleDataStructure> {
* b > 0, use 1 for bittorrent, Kademlia paper recommends 5
*/
public KBucketSet(I2PAppContext context, T us, int max, int b) {
this(context, us, max, b, new RandomTrimmer(context, max));
this(context, us, max, b, new RandomTrimmer<T>(context, max));
}
/**
* Use the supplied trim strategy.
*/
public KBucketSet(I2PAppContext context, T us, int max, int b, KBucketTrimmer trimmer) {
public KBucketSet(I2PAppContext context, T us, int max, int b, KBucketTrimmer<T> trimmer) {
_us = us;
_context = context;
_log = context.logManager().getLog(KBucketSet.class);
@@ -95,7 +95,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
NUM_BUCKETS = KEYSIZE_BITS * B_FACTOR;
BUCKET_SIZE = max;
_buckets = createBuckets();
_rangeCalc = new Range(us, B_VALUE);
_rangeCalc = new Range<T>(us, B_VALUE);
// this verifies the zero-argument constructor
makeKey(new byte[us.length()]);
}
@@ -137,7 +137,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
*
*/
public boolean add(T peer) {
KBucket bucket;
KBucket<T> bucket;
getReadLock();
try {
bucket = getBucket(peer);
@@ -170,7 +170,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* FIXME will split the closest buckets too far if B > 1 and K < 2**B
* Won't ever really happen and if it does it still works.
*/
private boolean shouldSplit(KBucket b) {
private boolean shouldSplit(KBucket<T> b) {
return
b.getRangeBegin() != b.getRangeEnd() &&
b.getKeyCount() > BUCKET_SIZE;
@@ -263,7 +263,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
int rv = 0;
getReadLock();
try {
for (KBucket b : _buckets) {
for (KBucket<T> b : _buckets) {
rv += b.getKeyCount();
}
} finally { releaseReadLock(); }
@@ -271,7 +271,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
}
public boolean remove(T entry) {
KBucket kbucket;
KBucket<T> kbucket;
getReadLock();
try {
kbucket = getBucket(entry);
@@ -284,7 +284,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
public void clear() {
getReadLock();
try {
for (KBucket b : _buckets) {
for (KBucket<T> b : _buckets) {
b.clear();
}
} finally { releaseReadLock(); }
@@ -295,10 +295,10 @@ public class KBucketSet<T extends SimpleDataStructure> {
* @return a copy in a new set
*/
public Set<T> getAll() {
Set<T> all = new HashSet(256);
Set<T> all = new HashSet<T>(256);
getReadLock();
try {
for (KBucket b : _buckets) {
for (KBucket<T> b : _buckets) {
all.addAll(b.getEntries());
}
} finally { releaseReadLock(); }
@@ -317,7 +317,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
public void getAll(SelectionCollector<T> collector) {
getReadLock();
try {
for (KBucket b : _buckets) {
for (KBucket<T> b : _buckets) {
b.getEntries(collector);
}
} finally { releaseReadLock(); }
@@ -329,7 +329,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* @return non-null, closest first
*/
public List<T> getClosest(int max) {
return getClosest(max, Collections.EMPTY_SET);
return getClosest(max, Collections.<T> emptySet());
}
/**
@@ -338,7 +338,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* @return non-null, closest first
*/
public List<T> getClosest(int max, Collection<T> toIgnore) {
List<T> rv = new ArrayList(max);
List<T> rv = new ArrayList<T>(max);
int count = 0;
getReadLock();
try {
@@ -355,7 +355,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
}
}
} finally { releaseReadLock(); }
Comparator comp = new XORComparator(_us);
Comparator<T> comp = new XORComparator<T>(_us);
Collections.sort(rv, comp);
int sz = rv.size();
for (int i = sz - 1; i >= max; i--) {
@@ -370,7 +370,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* @return non-null, closest first
*/
public List<T> getClosest(T key, int max) {
return getClosest(key, max, Collections.EMPTY_SET);
return getClosest(key, max, Collections.<T> emptySet());
}
/**
@@ -381,7 +381,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
public List<T> getClosest(T key, int max, Collection<T> toIgnore) {
if (key.equals(_us))
return getClosest(max, toIgnore);
List<T> rv = new ArrayList(max);
List<T> rv = new ArrayList<T>(max);
int count = 0;
getReadLock();
try {
@@ -407,7 +407,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
}
}
} finally { releaseReadLock(); }
Comparator comp = new XORComparator(key);
Comparator<T> comp = new XORComparator<T>(key);
Collections.sort(rv, comp);
int sz = rv.size();
for (int i = sz - 1; i >= max; i--) {
@@ -452,7 +452,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
List<KBucket<T>> getBuckets() {
getReadLock();
try {
return new ArrayList(_buckets);
return new ArrayList<KBucket<T>>(_buckets);
} finally { releaseReadLock(); }
}
@@ -461,7 +461,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* Caller must hold read lock
* @return null if key is us
*/
private KBucket getBucket(T key) {
private KBucket<T> getBucket(T key) {
int bucket = pickBucket(key);
if (bucket < 0)
return null;
@@ -480,30 +480,30 @@ public class KBucketSet<T extends SimpleDataStructure> {
// of equal size to be checked so a binary search is better
if (B_VALUE <= 3) {
for (int i = _buckets.size() - 1; i >= 0; i--) {
KBucket b = _buckets.get(i);
KBucket<T> b = _buckets.get(i);
if (range >= b.getRangeBegin() && range <= b.getRangeEnd())
return i;
}
return -1;
} else {
KBucket dummy = new DummyBucket(range);
return Collections.binarySearch(_buckets, dummy, new BucketComparator());
KBucket<T> dummy = new DummyBucket<T>(range);
return Collections.binarySearch(_buckets, dummy, new BucketComparator<T>());
}
}
private List<KBucket> createBuckets() {
private List<KBucket<T>> createBuckets() {
// just an initial size
List<KBucket> buckets = new ArrayList(4 * B_FACTOR);
List<KBucket<T>> buckets = new ArrayList<KBucket<T>>(4 * B_FACTOR);
buckets.add(createBucket(0, NUM_BUCKETS -1));
return buckets;
}
private KBucket createBucket(int start, int end) {
private KBucket<T> createBucket(int start, int end) {
if (end - start >= B_FACTOR &&
(((end + 1) & B_FACTOR - 1) != 0 ||
(start & B_FACTOR - 1) != 0))
throw new IllegalArgumentException("Sub-bkt crosses K-bkt boundary: " + start + '-' + end);
KBucket bucket = new KBucketImpl(_context, start, end, BUCKET_SIZE, _trimmer);
KBucket<T> bucket = new KBucketImpl<T>(_context, start, end, BUCKET_SIZE, _trimmer);
return bucket;
}
@@ -524,11 +524,11 @@ public class KBucketSet<T extends SimpleDataStructure> {
* @return non-null, closest first
*/
public List<T> getExploreKeys(long age) {
List<T> rv = new ArrayList(_buckets.size());
List<T> rv = new ArrayList<T>(_buckets.size());
long old = _context.clock().now() - age;
getReadLock();
try {
for (KBucket b : _buckets) {
for (KBucket<T> b : _buckets) {
int curSize = b.getKeyCount();
// Always explore the closest bucket
if ((b.getRangeBegin() == 0) ||
@@ -543,7 +543,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
* Generate a random key to go within this bucket
* Package private for testing only. Others shouldn't need this.
*/
T generateRandomKey(KBucket bucket) {
T generateRandomKey(KBucket<T> bucket) {
int begin = bucket.getRangeBegin();
int end = bucket.getRangeEnd();
// number of fixed bits, out of B_VALUE - 1 bits
@@ -662,7 +662,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
public Range(T us, int bValue) {
_bValue = bValue;
_bigUs = new BigInteger(1, us.getData());
_distanceCache = new LHMCache(256);
_distanceCache = new LHMCache<T, Integer>(256);
}
/** @return 0 to max-1 or -1 for us */
@@ -748,8 +748,8 @@ public class KBucketSet<T extends SimpleDataStructure> {
* For Collections.binarySearch.
* Returns equal for any overlap.
*/
private static class BucketComparator implements Comparator<KBucket> {
public int compare(KBucket l, KBucket r) {
private static class BucketComparator<T extends SimpleDataStructure> implements Comparator<KBucket<T>> {
public int compare(KBucket<T> l, KBucket<T> r) {
if (l.getRangeEnd() < r.getRangeBegin())
return -1;
if (l.getRangeBegin() > r.getRangeEnd())
@@ -770,7 +770,7 @@ public class KBucketSet<T extends SimpleDataStructure> {
try {
int len = _buckets.size();
for (int i = 0; i < len; i++) {
KBucket b = _buckets.get(i);
KBucket<T> b = _buckets.get(i);
buf.append("* Bucket ").append(i).append("/").append(len).append(": ");
buf.append(b.toString()).append("\n");
}

View File

@@ -20,7 +20,7 @@ public class RandomTrimmer<T extends SimpleDataStructure> implements KBucketTrim
}
public boolean trim(KBucket<T> kbucket, T toAdd) {
List<T> e = new ArrayList(kbucket.getEntries());
List<T> e = new ArrayList<T>(kbucket.getEntries());
int sz = e.size();
// concurrency
if (sz < _max)

View File

@@ -4,7 +4,6 @@
*/
package org.klomp.snark;
import java.util.Arrays;
import java.util.Properties;
import net.i2p.client.I2PSessionException;

View File

@@ -45,7 +45,7 @@ class ConnectionAcceptor implements Runnable
private PeerAcceptor peeracceptor;
private Thread thread;
private final I2PSnarkUtil _util;
private final ObjectCounter<Hash> _badCounter = new ObjectCounter();
private final ObjectCounter<Hash> _badCounter = new ObjectCounter<Hash>();
private final SimpleTimer2.TimedEvent _cleaner;
private volatile boolean stop;

View File

@@ -43,8 +43,8 @@ abstract class ExtensionHandler {
* @return bencoded outgoing handshake message
*/
public static byte[] getHandshake(int metasize, boolean pexAndMetadata, boolean dht) {
Map<String, Object> handshake = new HashMap();
Map<String, Integer> m = new HashMap();
Map<String, Object> handshake = new HashMap<String, Object>();
Map<String, Integer> m = new HashMap<String, Integer>();
if (pexAndMetadata) {
m.put(TYPE_METADATA, Integer.valueOf(ID_METADATA));
m.put(TYPE_PEX, Integer.valueOf(ID_PEX));
@@ -276,7 +276,7 @@ abstract class ExtensionHandler {
/** REQUEST and REJECT are the same except for message type */
private static void sendMessage(Peer peer, int type, int piece) {
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("msg_type", Integer.valueOf(type));
map.put("piece", Integer.valueOf(piece));
byte[] payload = BEncoder.bencode(map);
@@ -291,7 +291,7 @@ abstract class ExtensionHandler {
}
private static void sendPiece(Peer peer, int piece, byte[] data) {
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("msg_type", Integer.valueOf(TYPE_DATA));
map.put("piece", Integer.valueOf(piece));
map.put("total_size", Integer.valueOf(data.length));
@@ -334,7 +334,7 @@ abstract class ExtensionHandler {
if (ids.length < HASH_LENGTH)
return;
int len = Math.min(ids.length, (I2PSnarkUtil.MAX_CONNECTIONS - 1) * HASH_LENGTH);
List<PeerID> peers = new ArrayList(len / HASH_LENGTH);
List<PeerID> peers = new ArrayList<PeerID>(len / HASH_LENGTH);
for (int off = 0; off < len; off += HASH_LENGTH) {
byte[] hash = new byte[HASH_LENGTH];
System.arraycopy(ids, off, hash, 0, HASH_LENGTH);
@@ -382,7 +382,7 @@ abstract class ExtensionHandler {
public static void sendPEX(Peer peer, List<Peer> pList) {
if (pList.isEmpty())
return;
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
byte[] peers = new byte[HASH_LENGTH * pList.size()];
int off = 0;
for (Peer p : pList) {
@@ -406,7 +406,7 @@ abstract class ExtensionHandler {
* @since DHT
*/
public static void sendDHT(Peer peer, int qport, int rport) {
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("port", Integer.valueOf(qport));
map.put("rport", Integer.valueOf(rport));
byte[] payload = BEncoder.bencode(map);

View File

@@ -3,7 +3,6 @@ package org.klomp.snark;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -11,8 +10,6 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import net.i2p.I2PAppContext;
import net.i2p.I2PException;
import net.i2p.client.I2PSession;
@@ -33,7 +30,6 @@ import net.i2p.util.FileUtil;
import net.i2p.util.Log;
import net.i2p.util.SecureDirectory;
import net.i2p.util.SecureFile;
import net.i2p.util.SimpleScheduler;
import net.i2p.util.SimpleTimer;
import net.i2p.util.Translate;
@@ -94,10 +90,10 @@ public class I2PSnarkUtil {
_context = ctx;
_log = _context.logManager().getLog(Snark.class);
_baseName = baseName;
_opts = new HashMap();
_opts = new HashMap<String, String>();
//setProxy("127.0.0.1", 4444);
setI2CPConfig("127.0.0.1", 7654, null);
_banlist = new ConcurrentHashSet();
_banlist = new ConcurrentHashSet<Hash>();
_maxUploaders = Snark.MAX_TOTAL_UPLOADERS;
_maxUpBW = DEFAULT_MAX_UP_BW;
_maxConnections = MAX_CONNECTIONS;
@@ -220,8 +216,8 @@ public class I2PSnarkUtil {
_log.debug("Connecting to I2P", new Exception("I did it"));
Properties opts = _context.getProperties();
if (_opts != null) {
for (Iterator iter = _opts.keySet().iterator(); iter.hasNext(); ) {
String key = (String)iter.next();
for (Iterator<String> iter = _opts.keySet().iterator(); iter.hasNext(); ) {
String key = iter.next();
opts.setProperty(key, _opts.get(key).toString());
}
}
@@ -577,7 +573,7 @@ public class I2PSnarkUtil {
*/
public List<String> getOpenTrackers() {
if (!shouldUseOpenTrackers())
return Collections.EMPTY_LIST;
return Collections.emptyList();
return _openTrackers;
}

View File

@@ -6,7 +6,6 @@ import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
import net.i2p.util.RandomSource;
@@ -190,7 +189,7 @@ class MagnetState {
*/
public MetaInfo buildMetaInfo() throws Exception {
// top map has nothing in it but the info map (no announce)
Map<String, BEValue> map = new HashMap();
Map<String, BEValue> map = new HashMap<String, BEValue>();
InputStream is = new ByteArrayInputStream(metainfoBytes);
BDecoder dec = new BDecoder(is);
BEValue bev = dec.bdecodeMap();

View File

@@ -133,7 +133,7 @@ public class MagnetURI {
}
if (idx < 0 || idx > uri.length())
return null;
List<String> rv = new ArrayList();
List<String> rv = new ArrayList<String>();
while (true) {
String p = uri.substring(idx);
uri = p;

View File

@@ -26,8 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.SequenceInputStream;
import java.util.Iterator;
import net.i2p.I2PAppContext;
import net.i2p.client.streaming.I2PSocket;
import net.i2p.data.Base64;

View File

@@ -24,7 +24,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
import net.i2p.util.Log;
@@ -73,7 +72,7 @@ class PeerCheckerTask implements Runnable
// Keep track of peers we remove now,
// we will add them back to the end of the list.
List<Peer> removed = new ArrayList();
List<Peer> removed = new ArrayList<Peer>();
int uploadLimit = coordinator.allowedUploaders();
boolean overBWLimit = coordinator.overUpBWLimit();
DHT dht = _util.getDHT();

View File

@@ -43,7 +43,7 @@ class PeerConnectionOut implements Runnable
private boolean quit;
// Contains Messages.
private final List<Message> sendQueue = new ArrayList();
private final List<Message> sendQueue = new ArrayList<Message>();
private static final AtomicLong __id = new AtomicLong();
private final long _id;
@@ -116,10 +116,10 @@ class PeerConnectionOut implements Runnable
// And remove piece messages if we are choking.
// this should get fixed for starvation
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (m == null && it.hasNext())
{
Message nm = (Message)it.next();
Message nm = it.next();
if (nm.type == Message.PIECE)
{
if (state.choking) {
@@ -274,10 +274,10 @@ class PeerConnectionOut implements Runnable
boolean removed = false;
synchronized(sendQueue)
{
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (it.hasNext())
{
Message m = (Message)it.next();
Message m = it.next();
if (m.type == type)
{
it.remove();
@@ -360,13 +360,13 @@ class PeerConnectionOut implements Runnable
/** reransmit requests not received in 7m */
private static final int REQ_TIMEOUT = (2 * SEND_TIMEOUT) + (60 * 1000);
void retransmitRequests(List requests)
void retransmitRequests(List<Request> requests)
{
long now = System.currentTimeMillis();
Iterator it = requests.iterator();
Iterator<Request> it = requests.iterator();
while (it.hasNext())
{
Request req = (Request)it.next();
Request req = it.next();
if(now > req.sendTime + REQ_TIMEOUT) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Retransmit request " + req + " to peer " + peer);
@@ -375,12 +375,12 @@ class PeerConnectionOut implements Runnable
}
}
void sendRequests(List requests)
void sendRequests(List<Request> requests)
{
Iterator it = requests.iterator();
Iterator<Request> it = requests.iterator();
while (it.hasNext())
{
Request req = (Request)it.next();
Request req = it.next();
sendRequest(req);
}
}
@@ -391,10 +391,10 @@ class PeerConnectionOut implements Runnable
// (multiple choke/unchokes received cause duplicate requests in the queue)
synchronized(sendQueue)
{
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (it.hasNext())
{
Message m = (Message)it.next();
Message m = it.next();
if (m.type == Message.REQUEST && m.piece == req.getPiece() &&
m.begin == req.off && m.length == req.len)
{
@@ -419,10 +419,10 @@ class PeerConnectionOut implements Runnable
int total = 0;
synchronized(sendQueue)
{
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (it.hasNext())
{
Message m = (Message)it.next();
Message m = it.next();
if (m.type == Message.PIECE)
total += m.length;
}
@@ -489,10 +489,10 @@ class PeerConnectionOut implements Runnable
// See if it is still in our send queue
synchronized(sendQueue)
{
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (it.hasNext())
{
Message m = (Message)it.next();
Message m = it.next();
if (m.type == Message.REQUEST
&& m.piece == req.getPiece()
&& m.begin == req.off
@@ -530,10 +530,10 @@ class PeerConnectionOut implements Runnable
{
synchronized (sendQueue)
{
Iterator it = sendQueue.iterator();
Iterator<Message> it = sendQueue.iterator();
while (it.hasNext())
{
Message m = (Message)it.next();
Message m = it.next();
if (m.type == Message.PIECE
&& m.piece == piece
&& m.begin == begin

View File

@@ -151,12 +151,12 @@ class PeerCoordinator implements PeerListener
this.listener = listener;
this.snark = torrent;
wantedPieces = new ArrayList();
wantedPieces = new ArrayList<Piece>();
setWantedPieces();
partialPieces = new ArrayList(getMaxConnections() + 1);
peers = new LinkedBlockingQueue();
partialPieces = new ArrayList<PartialPiece>(getMaxConnections() + 1);
peers = new LinkedBlockingQueue<Peer>();
magnetState = new MagnetState(infohash, metainfo);
pexPeers = new ConcurrentHashSet();
pexPeers = new ConcurrentHashSet<PeerID>();
// Install a timer to check the uploaders.
// Randomize the first start time so multiple tasks are spread out,
@@ -218,7 +218,7 @@ class PeerCoordinator implements PeerListener
/** for web page detailed stats */
public List<Peer> peerList()
{
return new ArrayList(peers);
return new ArrayList<Peer>(peers);
}
public byte[] getID()
@@ -412,7 +412,7 @@ class PeerCoordinator implements PeerListener
public void halt()
{
halted = true;
List<Peer> removed = new ArrayList();
List<Peer> removed = new ArrayList<Peer>();
synchronized(peers)
{
// Stop peer checker task.
@@ -613,7 +613,7 @@ class PeerCoordinator implements PeerListener
// linked list will contain all interested peers that we choke.
// At the start are the peers that have us unchoked at the end the
// other peer that are interested, but are choking us.
List<Peer> interested = new LinkedList();
List<Peer> interested = new LinkedList<Peer>();
int count = 0;
int unchokedCount = 0;
int maxUploaders = allowedUploaders();
@@ -729,7 +729,7 @@ class PeerCoordinator implements PeerListener
}
Piece piece = null;
List<Piece> requested = new ArrayList();
List<Piece> requested = new ArrayList<Piece>();
int wantedSize = END_GAME_THRESHOLD + 1;
synchronized(wantedPieces)
{
@@ -833,7 +833,7 @@ class PeerCoordinator implements PeerListener
_log.debug("Updated piece priorities called but no priorities to set?");
return;
}
List<Piece> toCancel = new ArrayList();
List<Piece> toCancel = new ArrayList<Piece>();
synchronized(wantedPieces) {
// Add incomplete and previously unwanted pieces to the list
// Temp to avoid O(n**2)
@@ -1019,7 +1019,7 @@ class PeerCoordinator implements PeerListener
// Announce to the world we have it!
// Disconnect from other seeders when we get the last piece
List<Peer> toDisconnect = done ? new ArrayList() : null;
List<Peer> toDisconnect = done ? new ArrayList<Peer>() : null;
for (Peer p : peers) {
if (p.isConnected())
{

View File

@@ -16,7 +16,7 @@ class PeerCoordinatorSet implements Iterable<PeerCoordinator> {
private final Map<SHA1Hash, PeerCoordinator> _coordinators;
public PeerCoordinatorSet() {
_coordinators = new ConcurrentHashMap();
_coordinators = new ConcurrentHashMap<SHA1Hash, PeerCoordinator>();
}
public Iterator<PeerCoordinator> iterator() {

View File

@@ -24,7 +24,6 @@ import java.io.IOException;
import java.net.UnknownHostException;
import java.util.Map;
import net.i2p.I2PAppContext;
import net.i2p.data.Base32;
import net.i2p.data.Base64;
import net.i2p.data.DataHelper;

View File

@@ -56,7 +56,7 @@ class PeerState implements DataLoader
final PeerConnectionOut out;
// Outstanding request
private final List<Request> outstandingRequests = new ArrayList();
private final List<Request> outstandingRequests = new ArrayList<Request>();
/** the tail (NOT the head) of the request queue */
private Request lastRequest = null;
@@ -451,7 +451,7 @@ class PeerState implements DataLoader
synchronized List<Request> returnPartialPieces()
{
Set<Integer> pcs = getRequestedPieces();
List<Request> rv = new ArrayList(pcs.size());
List<Request> rv = new ArrayList<Request>(pcs.size());
for (Integer p : pcs) {
Request req = getLowestOutstandingRequest(p.intValue());
if (req != null) {
@@ -469,7 +469,7 @@ class PeerState implements DataLoader
* @return all pieces we are currently requesting, or empty Set
*/
synchronized private Set<Integer> getRequestedPieces() {
Set<Integer> rv = new HashSet(outstandingRequests.size() + 1);
Set<Integer> rv = new HashSet<Integer>(outstandingRequests.size() + 1);
for (Request req : outstandingRequests) {
rv.add(Integer.valueOf(req.getPiece()));
if (pendingRequest != null)

View File

@@ -18,7 +18,7 @@ class Piece implements Comparable {
public Piece(int id) {
this.id = id;
this.peers = new HashSet(I2PSnarkUtil.MAX_CONNECTIONS / 2);
this.peers = new HashSet<PeerID>(I2PSnarkUtil.MAX_CONNECTIONS / 2);
// defer creating requests to save memory
}
@@ -82,7 +82,7 @@ class Piece implements Comparable {
public void setRequested(Peer peer, boolean requested) {
if (requested) {
if (this.requests == null)
this.requests = new HashSet(2);
this.requests = new HashSet<PeerID>(2);
this.requests.add(peer.getPeerID());
} else {
if (this.requests != null)

View File

@@ -25,7 +25,6 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Random;
@@ -34,7 +33,6 @@ import java.util.StringTokenizer;
import net.i2p.I2PAppContext;
import net.i2p.client.streaming.I2PServerSocket;
import net.i2p.data.Destination;
import net.i2p.util.I2PThread;
import net.i2p.util.Log;
/**
@@ -762,7 +760,7 @@ public class Snark
PeerCoordinator coord = coordinator;
if (coord != null)
return coord.peerList();
return Collections.EMPTY_LIST;
return Collections.emptyList();
}
/**

View File

@@ -35,7 +35,6 @@ import net.i2p.util.Log;
import net.i2p.util.OrderedProperties;
import net.i2p.util.SecureDirectory;
import net.i2p.util.SecureFileOutputStream;
import net.i2p.util.SimpleScheduler;
import net.i2p.util.SimpleTimer;
import net.i2p.util.SimpleTimer2;
@@ -148,20 +147,20 @@ public class SnarkManager implements CompleteListener {
* @since 0.9.6
*/
public SnarkManager(I2PAppContext ctx, String ctxPath, String ctxName) {
_snarks = new ConcurrentHashMap();
_magnets = new ConcurrentHashSet();
_snarks = new ConcurrentHashMap<String, Snark>();
_magnets = new ConcurrentHashSet<String>();
_addSnarkLock = new Object();
_context = ctx;
_contextPath = ctxPath;
_contextName = ctxName;
_log = _context.logManager().getLog(SnarkManager.class);
_messages = new LinkedBlockingQueue();
_messages = new LinkedBlockingQueue<String>();
_util = new I2PSnarkUtil(_context, ctxName);
String cfile = ctxName + CONFIG_FILE_SUFFIX;
_configFile = new File(cfile);
if (!_configFile.isAbsolute())
_configFile = new File(_context.getConfigDir(), cfile);
_trackerMap = new ConcurrentHashMap(4);
_trackerMap = new ConcurrentHashMap<String, Tracker>(4);
loadConfig(null);
}
@@ -240,8 +239,8 @@ public class SnarkManager implements CompleteListener {
/** newest last */
public List<String> getMessages() {
if (_messages.isEmpty())
return Collections.EMPTY_LIST;
return new ArrayList(_messages);
return Collections.emptyList();
return new ArrayList<String>(_messages);
}
/** @since 0.9 */
@@ -595,7 +594,7 @@ public class SnarkManager implements CompleteListener {
try { port = Integer.parseInt(i2cpPort); } catch (NumberFormatException nfe) {}
}
Map<String, String> opts = new HashMap();
Map<String, String> opts = new HashMap<String, String>();
if (i2cpOpts == null) i2cpOpts = "";
StringTokenizer tok = new StringTokenizer(i2cpOpts, " \t\n");
while (tok.hasMoreTokens()) {
@@ -604,7 +603,7 @@ public class SnarkManager implements CompleteListener {
if (split > 0)
opts.put(pair.substring(0, split), pair.substring(split+1));
}
Map<String, String> oldOpts = new HashMap();
Map<String, String> oldOpts = new HashMap<String, String>();
String oldI2CPOpts = _config.getProperty(PROP_I2CP_OPTS);
if (oldI2CPOpts == null) oldI2CPOpts = "";
tok = new StringTokenizer(oldI2CPOpts, " \t\n");
@@ -737,7 +736,7 @@ public class SnarkManager implements CompleteListener {
*/
private List<String> getOpenTrackers() {
if (!_util.shouldUseOpenTrackers())
return Collections.EMPTY_LIST;
return Collections.emptyList();
return getListConfig(PROP_OPENTRACKERS, I2PSnarkUtil.DEFAULT_OPENTRACKERS);
}
@@ -782,7 +781,7 @@ public class SnarkManager implements CompleteListener {
if (val == null)
val = dflt;
if (val == null)
return Collections.EMPTY_LIST;
return Collections.emptyList();
return Arrays.asList(val.split(","));
}
@@ -833,7 +832,7 @@ public class SnarkManager implements CompleteListener {
* An unsynchronized copy.
*/
public Set<String> listTorrentFiles() {
return new HashSet(_snarks.keySet());
return new HashSet<String>(_snarks.keySet());
}
/**
@@ -1386,7 +1385,7 @@ public class SnarkManager implements CompleteListener {
* @return failure message or null on success
*/
private String validateTorrent(MetaInfo info) {
List files = info.getFiles();
List<List<String>> 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());
} else if ( (files == null) && (info.getName().endsWith(".torrent")) ) {
@@ -1402,7 +1401,7 @@ public class SnarkManager implements CompleteListener {
return _("Torrent \"{0}\" has no data, deleting it!", info.getName());
} else if (info.getTotalLength() > Storage.MAX_TOTAL_SIZE) {
System.out.println("torrent info: " + info.toString());
List lengths = info.getLengths();
List<Long> lengths = info.getLengths();
if (lengths != null)
for (int i = 0; i < lengths.size(); i++)
System.out.println("File " + i + " is " + lengths.get(i) + " long.");
@@ -1688,8 +1687,8 @@ public class SnarkManager implements CompleteListener {
// Don't remove magnet torrents that don't have a torrent file yet
existingNames.removeAll(_magnets);
// now lets see which ones have been removed...
for (Iterator iter = existingNames.iterator(); iter.hasNext(); ) {
String name = (String)iter.next();
for (Iterator<String> iter = existingNames.iterator(); iter.hasNext(); ) {
String name = iter.next();
if (foundNames.contains(name)) {
// known and still there. noop
} else {

View File

@@ -75,7 +75,7 @@ public class Storage
public static final int MAX_PIECES = 10*1024;
public static final long MAX_TOTAL_SIZE = MAX_PIECE_SIZE * (long) MAX_PIECES;
private static final Map<String, String> _filterNameCache = new ConcurrentHashMap();
private static final Map<String, String> _filterNameCache = new ConcurrentHashMap<String, String>();
private static final boolean _isWindows = SystemVersion.isWindows();
@@ -101,7 +101,7 @@ public class Storage
total_length = metainfo.getTotalLength();
List<List<String>> files = metainfo.getFiles();
int sz = files != null ? files.size() : 1;
_torrentFiles = new ArrayList(sz);
_torrentFiles = new ArrayList<TorrentFile>(sz);
}
/**
@@ -127,7 +127,7 @@ public class Storage
_torrentFiles = getFiles(baseFile);
long total = 0;
ArrayList<Long> lengthsList = new ArrayList();
ArrayList<Long> lengthsList = new ArrayList<Long>();
for (TorrentFile tf : _torrentFiles)
{
long length = tf.length;
@@ -160,10 +160,10 @@ public class Storage
bitfield = new BitField(pieces);
needed = 0;
List<List<String>> files = new ArrayList();
List<List<String>> files = new ArrayList<List<String>>();
for (TorrentFile tf : _torrentFiles)
{
List<String> file = new ArrayList();
List<String> file = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(tf.name, File.separator);
while (st.hasMoreTokens())
{
@@ -218,11 +218,11 @@ public class Storage
{
if (base.getAbsolutePath().equals("/"))
throw new IOException("Don't seed root");
List<File> files = new ArrayList();
List<File> files = new ArrayList<File>();
addFiles(files, base);
int size = files.size();
List<TorrentFile> rv = new ArrayList(size);
List<TorrentFile> rv = new ArrayList<TorrentFile>(size);
for (File f : files) {
rv.add(new TorrentFile(base, f));
@@ -550,7 +550,7 @@ public class Storage
if (f.equals(_torrentFiles.get(j).RAFfile)) {
// Rename and start the check over again
// Copy path since metainfo list is unmodifiable
path = new ArrayList(path);
path = new ArrayList<String>(path);
int last = path.size() - 1;
String lastPath = path.get(last);
int dot = lastPath.lastIndexOf('.');

View File

@@ -21,8 +21,6 @@
package org.klomp.snark;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
@@ -38,7 +36,6 @@ import java.util.Locale;
import java.util.Random;
import java.util.Set;
import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
import net.i2p.data.Hash;
import net.i2p.util.ConvertToHash;
@@ -139,8 +136,8 @@ public class TrackerClient implements Runnable {
this.port = PORT; //(port == -1) ? 9 : port;
this.infoHash = urlencode(snark.getInfoHash());
this.peerID = urlencode(snark.getID());
this.trackers = new ArrayList(2);
this.backupTrackers = new ArrayList(2);
this.trackers = new ArrayList<TCTracker>(2);
this.backupTrackers = new ArrayList<TCTracker>(2);
}
public synchronized void start() {
@@ -274,7 +271,7 @@ public class TrackerClient implements Runnable {
primary = meta.getAnnounce();
else if (additionalTrackerURL != null)
primary = additionalTrackerURL;
Set<Hash> trackerHashes = new HashSet(8);
Set<Hash> trackerHashes = new HashSet<Hash>(8);
// primary tracker
if (primary != null) {
@@ -533,7 +530,7 @@ public class TrackerClient implements Runnable {
if (coordinator.needOutboundPeers()) {
// we only want to talk to new people if we need things
// from them (duh)
List<Peer> ordered = new ArrayList(peers);
List<Peer> ordered = new ArrayList<Peer>(peers);
Random r = _util.getContext().random();
Collections.shuffle(ordered, r);
Iterator<Peer> it = ordered.iterator();
@@ -598,7 +595,7 @@ public class TrackerClient implements Runnable {
if (!pids.isEmpty()) {
if (_log.shouldLog(Log.INFO))
_log.info("Got " + pids.size() + " from PEX");
List<Peer> peers = new ArrayList(pids.size());
List<Peer> peers = new ArrayList<Peer>(pids.size());
for (PeerID pID : pids) {
peers.add(new Peer(pID, snark.getID(), snark.getInfoHash(), snark.getMetaInfo()));
}
@@ -652,7 +649,7 @@ public class TrackerClient implements Runnable {
// now try these peers
if ((!stop) && !hashes.isEmpty()) {
List<Peer> peers = new ArrayList(hashes.size());
List<Peer> peers = new ArrayList<Peer>(hashes.size());
for (Hash h : hashes) {
try {
PeerID pID = new PeerID(h.getData(), _util);

View File

@@ -59,7 +59,7 @@ class TrackerInfo
this(be.bdecodeMap().getMap(), my_id, infohash, metainfo, util);
}
private TrackerInfo(Map m, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util)
private TrackerInfo(Map<String, BEValue> m, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util)
throws IOException
{
BEValue reason = (BEValue)m.get("failure reason");
@@ -80,7 +80,7 @@ class TrackerInfo
BEValue bePeers = (BEValue)m.get("peers");
if (bePeers == null) {
peers = Collections.EMPTY_SET;
peers = Collections.emptySet();
} else {
Set<Peer> p;
try {
@@ -127,7 +127,7 @@ class TrackerInfo
private static Set<Peer> getPeers(List<BEValue> l, byte[] my_id, byte[] infohash, MetaInfo metainfo, I2PSnarkUtil util)
throws IOException
{
Set<Peer> peers = new HashSet(l.size());
Set<Peer> peers = new HashSet<Peer>(l.size());
for (BEValue bev : l) {
PeerID peerID;
@@ -161,7 +161,7 @@ class TrackerInfo
throws IOException
{
int count = l.length / HASH_LENGTH;
Set<Peer> peers = new HashSet(count);
Set<Peer> peers = new HashSet<Peer>(count);
for (int i = 0; i < count; i++) {
PeerID peerID;

View File

@@ -6,11 +6,9 @@ import java.util.List;
import net.i2p.I2PAppContext;
import net.i2p.crypto.TrustedUpdate;
import net.i2p.data.DataHelper;
import net.i2p.update.*;
import net.i2p.util.Log;
import net.i2p.util.SimpleTimer2;
import net.i2p.util.VersionComparator;
/**
* The downloader for router signed updates.

View File

@@ -5,11 +5,8 @@ package org.klomp.snark.dht;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import net.i2p.I2PAppContext;
@@ -53,8 +50,8 @@ class DHTNodes {
_context = ctx;
_expireTime = MAX_EXPIRE_TIME;
_log = _context.logManager().getLog(DHTNodes.class);
_nodeMap = new ConcurrentHashMap();
_kad = new KBucketSet(ctx, me, KAD_K, KAD_B, new KBTrimmer(ctx, KAD_K));
_nodeMap = new ConcurrentHashMap<NID, NodeInfo>();
_kad = new KBucketSet<NID>(ctx, me, KAD_K, KAD_B, new KBTrimmer(ctx, KAD_K));
}
public void start() {
@@ -120,7 +117,7 @@ class DHTNodes {
else
key = new NID(h.getData());
List<NID> keys = _kad.getClosest(key, numWant);
List<NodeInfo> rv = new ArrayList(keys.size());
List<NodeInfo> rv = new ArrayList<NodeInfo>(keys.size());
for (NID nid : keys) {
NodeInfo ninfo = _nodeMap.get(nid);
if (ninfo != null)

View File

@@ -104,10 +104,10 @@ class DHTTracker {
List<Hash> getPeers(InfoHash ih, int max) {
Peers peers = _torrents.get(ih);
if (peers == null)
return Collections.EMPTY_LIST;
return Collections.emptyList();
int size = peers.size();
List<Hash> rv = new ArrayList(peers.values());
List<Hash> rv = new ArrayList<Hash>(peers.values());
if (max < size) {
Collections.shuffle(rv, _context.random());
rv = rv.subList(0, max);

View File

@@ -10,7 +10,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -24,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import net.i2p.I2PAppContext;
import net.i2p.client.I2PClient;
import net.i2p.client.I2PSession;
import net.i2p.client.I2PSessionException;
import net.i2p.client.I2PSessionMuxedListener;
@@ -32,12 +30,10 @@ import net.i2p.client.SendMessageOptions;
import net.i2p.client.datagram.I2PDatagramDissector;
import net.i2p.client.datagram.I2PDatagramMaker;
import net.i2p.client.datagram.I2PInvalidDatagramException;
import net.i2p.crypto.SHA1Hash;
import net.i2p.data.DataFormatException;
import net.i2p.data.DataHelper;
import net.i2p.data.Destination;
import net.i2p.data.Hash;
import net.i2p.data.SimpleDataStructure;
import net.i2p.util.ConcurrentHashSet;
import net.i2p.util.I2PAppThread;
import net.i2p.util.Log;
@@ -169,10 +165,10 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
_log = ctx.logManager().getLog(KRPC.class);
_tracker = new DHTTracker(ctx);
_sentQueries = new ConcurrentHashMap();
_outgoingTokens = new ConcurrentHashMap();
_incomingTokens = new ConcurrentHashMap();
_blacklist = new ConcurrentHashSet();
_sentQueries = new ConcurrentHashMap<MsgID, ReplyWaiter>();
_outgoingTokens = new ConcurrentHashMap<Token, NodeInfo>();
_incomingTokens = new ConcurrentHashMap<NID, Token>();
_blacklist = new ConcurrentHashSet<NID>();
// Construct my NodeInfo
// Pick ports over a big range to marginally increase security
@@ -246,9 +242,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
_log.info("DHT is empty, cannot explore");
return;
}
SortedSet<NodeInfo> toTry = new TreeSet(new NodeInfoComparator(target));
SortedSet<NodeInfo> toTry = new TreeSet<NodeInfo>(new NodeInfoComparator(target));
toTry.addAll(nodes);
Set<NodeInfo> tried = new HashSet();
Set<NodeInfo> tried = new HashSet<NodeInfo>();
if (_log.shouldLog(Log.INFO))
_log.info("Starting explore of " + target);
@@ -328,7 +324,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
rv.remove(_myNodeInfo.getHash());
if (rv.size() >= max)
return rv;
rv = new HashSet(rv);
rv = new HashSet<Hash>(rv);
long endTime = _context.clock().now() + maxWait;
// needs to be much higher than log(size) since many lookups will fail
@@ -337,10 +333,10 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
// Initial set to try, will get added to as we go
List<NodeInfo> nodes = _knownNodes.findClosest(iHash, maxNodes);
NodeInfoComparator comp = new NodeInfoComparator(iHash);
SortedSet<NodeInfo> toTry = new TreeSet(comp);
SortedSet<NodeInfo> heardFrom = new TreeSet(comp);
SortedSet<NodeInfo> toTry = new TreeSet<NodeInfo>(comp);
SortedSet<NodeInfo> heardFrom = new TreeSet<NodeInfo>(comp);
toTry.addAll(nodes);
SortedSet<NodeInfo> tried = new TreeSet(comp);
SortedSet<NodeInfo> tried = new TreeSet<NodeInfo>(comp);
if (_log.shouldLog(Log.INFO))
_log.info("Starting getPeers for " + iHash + " (b64: " + new NID(ih) + ") " + " with " + nodes.size() + " to try");
@@ -697,9 +693,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private ReplyWaiter sendPing(NodeInfo nInfo) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending ping to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("q", "ping");
Map<String, Object> args = new HashMap();
Map<String, Object> args = new HashMap<String, Object>();
map.put("a", args);
return sendQuery(nInfo, map, true);
}
@@ -714,9 +710,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private ReplyWaiter sendFindNode(NodeInfo nInfo, NID tID) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending find node of " + tID + " to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("q", "find_node");
Map<String, Object> args = new HashMap();
Map<String, Object> args = new HashMap<String, Object>();
args.put("target", tID.getData());
map.put("a", args);
return sendQuery(nInfo, map, true);
@@ -731,9 +727,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private ReplyWaiter sendGetPeers(NodeInfo nInfo, InfoHash ih) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending get peers of " + ih + " to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("q", "get_peers");
Map<String, Object> args = new HashMap();
Map<String, Object> args = new HashMap<String, Object>();
args.put("info_hash", ih.getData());
map.put("a", args);
ReplyWaiter rv = sendQuery(nInfo, map, true);
@@ -752,9 +748,9 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private ReplyWaiter sendAnnouncePeer(NodeInfo nInfo, InfoHash ih, Token token) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending announce of " + ih + " to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
map.put("q", "announce_peer");
Map<String, Object> args = new HashMap();
Map<String, Object> args = new HashMap<String, Object>();
args.put("info_hash", ih.getData());
// port ignored
args.put("port", Integer.valueOf(TrackerClient.PORT));
@@ -775,8 +771,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private boolean sendPong(NodeInfo nInfo, MsgID msgID) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending pong to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> resps = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> resps = new HashMap<String, Object>();
map.put("r", resps);
return sendResponse(nInfo, msgID, map);
}
@@ -794,8 +790,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private boolean sendNodes(NodeInfo nInfo, MsgID msgID, Token token, byte[] ids) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending nodes to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> resps = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> resps = new HashMap<String, Object>();
map.put("r", resps);
if (token != null)
resps.put("token", token.getData());
@@ -807,8 +803,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private boolean sendPeers(NodeInfo nInfo, MsgID msgID, Token token, List<byte[]> peers) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending peers to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> resps = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> resps = new HashMap<String, Object>();
map.put("r", resps);
resps.put("token", token.getData());
resps.put("values", peers);
@@ -824,8 +820,8 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
private boolean sendError(NodeInfo nInfo, MsgID msgID, int err, String msg) {
if (_log.shouldLog(Log.INFO))
_log.info("Sending error " + msg + " to: " + nInfo);
Map<String, Object> map = new HashMap();
Map<String, Object> resps = new HashMap();
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> resps = new HashMap<String, Object>();
map.put("r", resps);
return sendResponse(nInfo, msgID, map);
}
@@ -1260,7 +1256,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
}
sendNodes(nInfo, msgID, token, nodeArray);
} else {
List<byte[]> hashes = new ArrayList(peers.size());
List<byte[]> hashes = new ArrayList<byte[]>(peers.size());
for (Hash peer : peers) {
hashes.add(peer.getData());
}
@@ -1346,7 +1342,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
*/
private List<NodeInfo> receiveNodes(NodeInfo nInfo, byte[] ids) throws InvalidBEncodingException {
int max = Math.min(K, ids.length / NodeInfo.LENGTH);
List<NodeInfo> rv = new ArrayList(max);
List<NodeInfo> rv = new ArrayList<NodeInfo>(max);
for (int off = 0; off < ids.length && rv.size() < max; off += NodeInfo.LENGTH) {
NodeInfo nInf = new NodeInfo(ids, off);
if (_blacklist.contains(nInf.getNID())) {
@@ -1370,7 +1366,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT {
if (_log.shouldLog(Log.INFO))
_log.info("Rcvd peers from: " + nInfo);
int max = Math.min(MAX_WANT, peers.size());
List<Hash> rv = new ArrayList(max);
List<Hash> rv = new ArrayList<Hash>(max);
for (BEValue bev : peers) {
byte[] b = bev.getBytes();
//Hash h = new Hash(b);

View File

@@ -7,7 +7,6 @@ import java.util.Date;
import net.i2p.I2PAppContext;
import net.i2p.data.ByteArray;
import net.i2p.data.DataHelper;
/**
* Used for Both outgoing and incoming tokens

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-14 15:42+0000\n"
"POT-Creation-Date: 2013-11-19 22:57+0000\n"
"PO-Revision-Date: 2013-07-16 15:32+0000\n"
"Last-Translator: Boxoa590\n"
"Language-Team: French (http://www.transifex.com/projects/p/I2P/language/"
@@ -27,14 +27,14 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../java/src/org/klomp/snark/IdleChecker.java:69
#: ../java/src/org/klomp/snark/SnarkManager.java:1940
#: ../java/src/org/klomp/snark/SnarkManager.java:1951
#: ../java/src/org/klomp/snark/SnarkManager.java:1941
#: ../java/src/org/klomp/snark/SnarkManager.java:1952
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:1645
#: ../java/src/org/klomp/snark/SnarkManager.java:1646
msgid "Magnet"
msgstr "Magnet"
@@ -214,7 +214,7 @@ 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:907
#: ../java/src/org/klomp/snark/SnarkManager.java:1682
#: ../java/src/org/klomp/snark/SnarkManager.java:1683
#, java-format
msgid "Error: Could not add the torrent {0}"
msgstr "Erreur : Impossible dajouter le torrent : {0}"
@@ -227,8 +227,8 @@ msgstr "Impossible douvrir: \"{0}\""
#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
#: ../java/src/org/klomp/snark/SnarkManager.java:948
#: ../java/src/org/klomp/snark/SnarkManager.java:1048
#: ../java/src/org/klomp/snark/SnarkManager.java:1130
#: ../java/src/org/klomp/snark/SnarkManager.java:1049
#: ../java/src/org/klomp/snark/SnarkManager.java:1131
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:159
#, java-format
msgid "Torrent with this info hash is already running: {0}"
@@ -273,7 +273,7 @@ msgid "Torrent in \"{0}\" is invalid"
msgstr "Le torrent dans \"{0}\" est invalide"
#: ../java/src/org/klomp/snark/SnarkManager.java:990
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:181
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:183
#, java-format
msgid "ERROR - Out of memory, cannot create torrent from {0}"
msgstr ""
@@ -289,13 +289,13 @@ msgstr "Torrent ajouté et démarré: \"{0}\""
msgid "Torrent added: \"{0}\""
msgstr "Torrent ajouté: \"{0}\""
#: ../java/src/org/klomp/snark/SnarkManager.java:1059
#: ../java/src/org/klomp/snark/SnarkManager.java:1060
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:87
#, java-format
msgid "Fetching {0}"
msgstr "Envoi {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1065
#: ../java/src/org/klomp/snark/SnarkManager.java:1066
#, java-format
msgid ""
"Open trackers are disabled and we have no DHT peers. Fetch of {0} may not "
@@ -305,136 +305,136 @@ msgstr ""
"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:1069
#: ../java/src/org/klomp/snark/SnarkManager.java:1070
#, java-format
msgid "Adding {0}"
msgstr "Ajout {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1101
#: ../java/src/org/klomp/snark/SnarkManager.java:1102
#, java-format
msgid "Download already running: {0}"
msgstr "Téléchargements déjà en cours: {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1140
#: ../java/src/org/klomp/snark/SnarkManager.java:1163
#: ../java/src/org/klomp/snark/SnarkManager.java:1601
#: ../java/src/org/klomp/snark/SnarkManager.java:1141
#: ../java/src/org/klomp/snark/SnarkManager.java:1164
#: ../java/src/org/klomp/snark/SnarkManager.java:1602
#, 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:1390
#: ../java/src/org/klomp/snark/SnarkManager.java:1391
#, 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:1392
#: ../java/src/org/klomp/snark/SnarkManager.java:1393
#, 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:1394
#: ../java/src/org/klomp/snark/SnarkManager.java:1395
#, java-format
msgid "No pieces in \"{0}\", deleting it!"
msgstr "Pas de tronçon dans \"{0}\", suppression!"
#: ../java/src/org/klomp/snark/SnarkManager.java:1396
#: ../java/src/org/klomp/snark/SnarkManager.java:1397
#, 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:1398
#: ../java/src/org/klomp/snark/SnarkManager.java:1399
#, 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:1399
#: ../java/src/org/klomp/snark/SnarkManager.java:1400
#, java-format
msgid "Limit is {0}B"
msgstr "La limite est de \"{0}\"octets"
#: ../java/src/org/klomp/snark/SnarkManager.java:1401
#: ../java/src/org/klomp/snark/SnarkManager.java:1402
#, 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:1409
#: ../java/src/org/klomp/snark/SnarkManager.java:1410
#, 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:1425
#: ../java/src/org/klomp/snark/SnarkManager.java:1426
#, 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:1446
#: ../java/src/org/klomp/snark/SnarkManager.java:1464
#: ../java/src/org/klomp/snark/SnarkManager.java:1447
#: ../java/src/org/klomp/snark/SnarkManager.java:1465
#, java-format
msgid "Torrent stopped: \"{0}\""
msgstr "Torrent arrêté: \"{0}\""
#: ../java/src/org/klomp/snark/SnarkManager.java:1485
#: ../java/src/org/klomp/snark/SnarkManager.java:1486
#, java-format
msgid "Torrent removed: \"{0}\""
msgstr "Torrent supprimé: \"{0}\""
#: ../java/src/org/klomp/snark/SnarkManager.java:1493
#: ../java/src/org/klomp/snark/SnarkManager.java:1494
#, java-format
msgid "Adding torrents in {0}"
msgstr "Ajout des torrents dans {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1524
#: ../java/src/org/klomp/snark/SnarkManager.java:1525
#, java-format
msgid "Up bandwidth limit is {0} KBps"
msgstr "Limite bande passante haute est {0} KBps"
#: ../java/src/org/klomp/snark/SnarkManager.java:1546
#: ../java/src/org/klomp/snark/SnarkManager.java:1547
#, java-format
msgid "Download finished: {0}"
msgstr "Téléchargement terminé: \"{0}\""
#: ../java/src/org/klomp/snark/SnarkManager.java:1597
#: ../java/src/org/klomp/snark/SnarkManager.java:1598
#, java-format
msgid "Metainfo received for {0}"
msgstr "Metainfo reçue pour {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1598
#: ../java/src/org/klomp/snark/SnarkManager.java:1828
#: ../java/src/org/klomp/snark/SnarkManager.java:1599
#: ../java/src/org/klomp/snark/SnarkManager.java:1829
#, java-format
msgid "Starting up torrent {0}"
msgstr "Démarrage du torrent {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1613
#: ../java/src/org/klomp/snark/SnarkManager.java:1614
#, java-format
msgid "Error on torrent {0}"
msgstr "Erreur sur torrent {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1676
#: ../java/src/org/klomp/snark/SnarkManager.java:1677
msgid "Unable to connect to I2P!"
msgstr "Impossible de se connecter à I2P!"
#: ../java/src/org/klomp/snark/SnarkManager.java:1827
#: ../java/src/org/klomp/snark/SnarkManager.java:1828
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:124
msgid "Opening the I2P tunnel"
msgstr "Ouverture du tunnel I2P"
#: ../java/src/org/klomp/snark/SnarkManager.java:1851
#: ../java/src/org/klomp/snark/SnarkManager.java:1852
msgid "Opening the I2P tunnel and starting all torrents."
msgstr "Ouverture du tunnel I2P and démarrage de tous les torrents."
#: ../java/src/org/klomp/snark/SnarkManager.java:1914
#: ../java/src/org/klomp/snark/SnarkManager.java:1915
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:1933
#: ../java/src/org/klomp/snark/SnarkManager.java:1934
msgid "Closing I2P tunnel after notifying trackers."
msgstr "Fermeture du tunnel I2P après notification aux trackers."
#: ../java/src/org/klomp/snark/TrackerClient.java:236
#: ../java/src/org/klomp/snark/TrackerClient.java:237
#, java-format
msgid "No valid trackers for {0} - enable opentrackers or DHT?"
msgstr "Pas de trackers valides pour {0} - activer trackers ouverts ou DHT?"
@@ -474,7 +474,7 @@ msgstr "Torrent déjà actif: {0}"
msgid "Torrent already in the queue: {0}"
msgstr "Torrent déjà dans la file d''attente: {0}"
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:179
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:181
#, java-format
msgid "Torrent at {0} was not valid"
msgstr "Le torrent {0} est invalide"
@@ -493,8 +493,8 @@ msgstr "Torrents"
#: ../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:1519
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1486
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255
msgid "I2PSnark"
msgstr "I2PSnark"
@@ -517,8 +517,8 @@ msgstr "nettoyer messages"
#: ../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:2473
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2475
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2440
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2442
msgid "Status"
msgstr "État"
@@ -534,8 +534,8 @@ msgstr "Afficher les pairs"
#: ../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:2282
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2249
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2269
msgid "Torrent"
msgstr "Torrent"
@@ -751,12 +751,12 @@ msgstr ""
"Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2064
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2031
msgid "Delete selected"
msgstr "Effacer les sélectionnés"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2065
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2032
msgid "Save tracker configuration"
msgstr "Sauvegarder la configuration du tracker"
@@ -765,8 +765,8 @@ msgid "Removed"
msgstr "Retiré"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1063
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2063
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2068
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2030
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2035
msgid "Add tracker"
msgstr "Ajout tracker"
@@ -777,7 +777,7 @@ msgstr "Entrez nom de tracker valide et URLs"
#. "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" +
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1091
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2067
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2034
msgid "Restore defaults"
msgstr "Restaurer les paramètres d'origine"
@@ -785,126 +785,126 @@ msgstr "Restaurer les paramètres d'origine"
msgid "Restored default trackers"
msgstr "Restaurer les trackers d'origine"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1248
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1215
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216
msgid "Checking"
msgstr "Vérification"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1251
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1252
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1218
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1219
msgid "Allocating"
msgstr "Allocation"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240
msgid "Tracker Error"
msgstr "Erreur du 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:1296
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1312
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1323
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1328
#: ../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-format
msgid "1 peer"
msgid_plural "{0} peers"
msgstr[0] "{0} pair"
msgstr[1] "{0} pairs"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1276
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1277
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1243
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244
msgid "Starting"
msgstr "Démarrage"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1285
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1252
msgid "Seeding"
msgstr "Seed en cours"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1289
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1304
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2415
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2530
#: ../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
msgid "Complete"
msgstr "Complet"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1309
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1315
#: ../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
msgid "OK"
msgstr "OK"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1319
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326
#: ../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
msgid "Stalled"
msgstr "Figé"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1330
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1331
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1334
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1335
#: ../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
msgid "No Peers"
msgstr "Pas de pair"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1338
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1304
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1305
msgid "Stopped"
msgstr "Arrêté"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1371
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1338
msgid "Torrent details"
msgstr "Détails du torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1400
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367
msgid "View files"
msgstr "Voir les fichiers"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1402
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1369
msgid "Open file"
msgstr "Ouvrir fichier"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1444
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1411
msgid "Stop the torrent"
msgstr "Arrêter le torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1446
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1413
msgid "Stop"
msgstr "Arrêter"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1458
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1425
msgid "Start the torrent"
msgstr "Démarrer le torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1460
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1427
msgid "Start"
msgstr "Démarrer"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1439
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:1477
#, java-format
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1444
#, fuzzy, java-format
msgid ""
"Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
"data will not be deleted) ?"
"Are you sure you want to delete the file \\''{0}\\'' (downloaded data will "
"not be deleted) ?"
msgstr ""
"Êtes-vous certain de vouloir supprimer le fichier \\''{0}.torrent\\'' (les "
"données déjà téléchargées ne seront pas supprimées) ?"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1447
msgid "Remove"
msgstr "Enlever"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1459
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)"
@@ -912,7 +912,7 @@ msgstr ""
#. Can't figure out how to escape double quotes inside the onclick string.
#. Single quotes in translate strings with parameters must be doubled.
#. Then the remaining single quote must be escaped
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1497
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464
#, java-format
msgid ""
"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
@@ -921,53 +921,53 @@ 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:1500
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2030
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1467
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1997
msgid "Delete"
msgstr "Supprimer"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502
msgid "Unknown"
msgstr "Inconnu"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1547
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1514
msgid "Seed"
msgstr "Seed"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1570
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1537
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:1572
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539
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:1592
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1559
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:1594
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561
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:1649
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1616
#, java-format
msgid "Details at {0} tracker"
msgstr "Détails au tracker {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1666
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1633
msgid "Info"
msgstr "Info"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1717
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684
msgid "Add Torrent"
msgstr "Ajouter torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1719
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686
msgid "From URL"
msgstr "Depuis l'URL"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1722
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1689
msgid ""
"Enter the torrent file download URL (I2P only), magnet link, maggot link, or "
"info hash"
@@ -975,132 +975,132 @@ 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:1727
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1694
msgid "Add torrent"
msgstr "Ajouter torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697
#, 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:1732
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699
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:1755
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1722
msgid "Create Torrent"
msgstr "Créer torrent"
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1758
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1725
msgid "Data to seed"
msgstr "Données à seeder"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1762
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1729
msgid "File or directory to seed (must be within the specified path)"
msgstr "Fichier ou répertoire à seeder (doit être dans le chemin spécifié)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2008
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1731
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975
msgid "Trackers"
msgstr "Trackers"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1733
msgid "Primary"
msgstr "Primaire"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1768
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1735
msgid "Alternates"
msgstr "Alternatifs"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1771
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1738
msgid "Create torrent"
msgstr "Créer torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1789
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1756
msgid "none"
msgstr "aucun"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1822
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2079
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1789
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2046
msgid "Configuration"
msgstr "Configuration"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1826
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1793
msgid "Data directory"
msgstr "Répertoire de données"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1797
msgid "Files readable by all"
msgstr "Fichiers lisibles par tous"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1834
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1801
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:1838
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1805
msgid "Auto start"
msgstr "Démarrage automatique"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1842
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1809
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:1846
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1813
msgid "Theme"
msgstr "Thème"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1859
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1826
msgid "Refresh time"
msgstr "Temps de rafraîchissement "
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1872
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1839
msgid "Never"
msgstr "Jamais"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1878
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1845
msgid "Startup delay"
msgstr "Délais de démarrage"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1880
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1847
msgid "minutes"
msgstr "minutes"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1884
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1851
msgid "Page size"
msgstr "Taille page"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1886
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1853
msgid "torrents"
msgstr "torrents"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1910
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1877
msgid "Total uploader limit"
msgstr "Limite totale d'envoi"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1913
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1880
msgid "peers"
msgstr "pairs"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1917
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1884
msgid "Up bandwidth limit"
msgstr "Limite de bande passante en envoi"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1920
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1887
msgid "Half available bandwidth recommended."
msgstr "La moitié de la bande passante est recommandée."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1922
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1889
msgid "View or change router bandwidth"
msgstr "Consulter ou modifier la bande passante du routeur"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1926
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1893
msgid "Use open trackers also"
msgstr "Utiliser les open trackers aussi"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1930
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1897
msgid ""
"If checked, announce torrents to open trackers as well as the tracker listed "
"in the torrent file"
@@ -1108,184 +1108,184 @@ 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:1934
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1901
msgid "Enable DHT"
msgstr "Active DHT"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1938
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1905
msgid "If checked, use DHT"
msgstr "Si coché, utilise DHT"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1921
msgid "Inbound Settings"
msgstr "Paramètres entrants"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1960
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1927
msgid "Outbound Settings"
msgstr "Paramètres sortants"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1968
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1935
msgid "I2CP host"
msgstr "Hôte I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1973
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1940
msgid "I2CP port"
msgstr "Port I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1955
msgid "I2CP options"
msgstr "Options I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1993
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1960
msgid "Save configuration"
msgstr "Sauvegarder la configuration"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2013
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1980
msgid "Name"
msgstr "Nom"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2015
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982
msgid "Website URL"
msgstr "URL du site web"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2017
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2567
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1984
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2530
msgid "Open"
msgstr "Ouvrir le fichier"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2019
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1986
msgid "Private"
msgstr "Privé"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2021
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988
msgid "Announce URL"
msgstr "Annoncer URL"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2055
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2022
msgid "Add"
msgstr "Ajout"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2095
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2062
#, java-format
msgid "Invalid magnet URL {0}"
msgstr "URL magnet {0} incorrecte"
#. * dummies for translation
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2070
#, 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:2104
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2071
#, 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:2311
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2278
msgid "Torrent file"
msgstr "Fichier torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2324
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2291
msgid "Primary Tracker"
msgstr "Tracker primaire"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2333
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2300
msgid "Tracker List"
msgstr "Liste tracker"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2357
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2324
msgid "Comment"
msgstr "Commentaire"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2366
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2333
msgid "Created"
msgstr "Créé"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2376
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2343
msgid "Created By"
msgstr "Créé par"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2386
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2353
msgid "Magnet link"
msgstr "Lien magnet"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2360
msgid "Private torrent"
msgstr "Torrent privé"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2403
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2467
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2469
#: ../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 "Taille"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2410
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2377
msgid "Completion"
msgstr "Finalisation"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2420
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2387
msgid "Remaining"
msgstr "Restant"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2427
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2394
msgid "Files"
msgstr "Fichiers"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2432
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2399
msgid "Pieces"
msgstr "Tronçons"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2436
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2403
msgid "Piece size"
msgstr "Taille des tronçons"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2459
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2463
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2426
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2430
msgid "Directory"
msgstr "Répertoire"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2480
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2482
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2447
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2449
msgid "Priority"
msgstr "Priorité"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2488
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2455
msgid "Up to higher level directory"
msgstr "Vers le répertoire parent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2518
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2485
msgid "Torrent not found?"
msgstr "Torrent non trouvé?"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2527
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2493
msgid "File not found in torrent?"
msgstr "Fichier non trouvé dans le torrent?"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2540
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2506
msgid "complete"
msgstr "complet"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2541
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2507
msgid "remaining"
msgstr "restant"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2593
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2556
msgid "High"
msgstr "Haut"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2598
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2561
msgid "Normal"
msgstr "Normal"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2603
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2566
msgid "Skip"
msgstr "Ignorer"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2612
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2575
msgid "Save priorities"
msgstr "Sauvegarder les priorités"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -52,7 +52,7 @@ class ConnThrottler {
public ConnThrottler(int max, int totalMax, long period,
long throttlePeriod, long totalThrottlePeriod, String action, Log log) {
updateLimits(max, totalMax, period, throttlePeriod, totalThrottlePeriod);
_peers = new HashMap(4);
_peers = new HashMap<Hash, Record>(4);
_action = action;
_log = log;
// for logging
@@ -143,7 +143,7 @@ class ConnThrottler {
private long until;
public Record() {
times = new ArrayList(8);
times = new ArrayList<Long>(8);
increment();
}

View File

@@ -46,7 +46,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
@@ -99,10 +98,10 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
private static final String nocli_args[] = { "-nocli", "-die"};
private final List<I2PTunnelTask> tasks = new ArrayList();
private final List<I2PTunnelTask> tasks = new ArrayList<I2PTunnelTask>();
private int next_task_id = 1;
private final Set listeners = new CopyOnWriteArraySet();
private final Set<ConnectionEventListener> listeners = new CopyOnWriteArraySet<ConnectionEventListener>();
public static void main(String[] args) throws IOException {
new I2PTunnel(args);
@@ -124,7 +123,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
// as of 0.8.4, include context properties
Properties p = _context.getProperties();
_clientOptions = p;
_sessions = new CopyOnWriteArraySet();
_sessions = new CopyOnWriteArraySet<I2PSession>();
addConnectionEventListener(lsnr);
boolean gui = true;
@@ -196,7 +195,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
/** @return A copy, non-null */
List<I2PSession> getSessions() {
return new ArrayList(_sessions);
return new ArrayList<I2PSession>(_sessions);
}
void addSession(I2PSession session) {
@@ -1506,7 +1505,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
*
*/
private void purgetasks(Logging l) {
List<I2PTunnelTask> removed = new ArrayList();
List<I2PTunnelTask> removed = new ArrayList<I2PTunnelTask>();
for (I2PTunnelTask t : tasks) {
if (!t.isOpen()) {
_log.debug(getPrefix() + "Purging inactive tunnel: [" + t.getId() + "] " + t.toString());
@@ -1668,8 +1667,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
*/
void routerDisconnected() {
_log.error(getPrefix() + "Router disconnected - firing notification events");
for (Iterator iter = listeners.iterator(); iter.hasNext();) {
ConnectionEventListener lsnr = (ConnectionEventListener) iter.next();
for (Iterator<ConnectionEventListener> iter = listeners.iterator(); iter.hasNext();) {
ConnectionEventListener lsnr = iter.next();
if (lsnr != null) lsnr.routerDisconnected();
}
}

View File

@@ -43,13 +43,13 @@ public class I2PTunnelClient extends I2PTunnelClientBase {
"Standard client on " + tunnel.listenHost + ':' + localPort,
tunnel, pkf);
_addrs = new ArrayList(1);
_addrs = new ArrayList<I2PSocketAddress>(1);
if (waitEventValue("openBaseClientResult").equals("error")) {
notifyEvent("openClientResult", "error");
return;
}
dests = new ArrayList(1);
dests = new ArrayList<Destination>(1);
buildAddresses(destinations);
if (_addrs.isEmpty()) {

View File

@@ -48,7 +48,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
protected long _clientId;
protected final Object sockLock = new Object(); // Guards sockMgr and mySockets
protected I2PSocketManager sockMgr; // should be final and use a factory. LINT
protected final List<I2PSocket> mySockets = new ArrayList();
protected final List<I2PSocket> mySockets = new ArrayList<I2PSocket>();
protected boolean _ownDest;
protected Destination dest = null;
@@ -678,7 +678,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
private static class CustomThreadPoolExecutor extends ThreadPoolExecutor {
public CustomThreadPoolExecutor() {
super(0, Integer.MAX_VALUE, HANDLER_KEEPALIVE_MS, TimeUnit.MILLISECONDS,
new SynchronousQueue(), new CustomThreadFactory());
new SynchronousQueue<Runnable>(), new CustomThreadFactory());
}
}

View File

@@ -3,7 +3,6 @@
*/
package net.i2p.i2ptunnel;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

View File

@@ -3,7 +3,6 @@
*/
package net.i2p.i2ptunnel;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -70,7 +69,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
* Map of host name to base64 destination for destinations collected
* via address helper links
*/
private final ConcurrentHashMap<String, String> addressHelpers = new ConcurrentHashMap(8);
private final ConcurrentHashMap<String, String> addressHelpers = new ConcurrentHashMap<String, String>(8);
/**
* Used to protect actions via http://proxy.i2p/

View File

@@ -94,10 +94,10 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
EventDispatcher notifyThis, String handlerName,
I2PTunnel tunnel) throws IllegalArgumentException {
super(localPort, ownDest, l, notifyThis, handlerName, tunnel);
_proxyList = new ArrayList(4);
_proxyList = new ArrayList<String>(4);
_proxyNonce = new byte[PROXYNONCE_BYTES];
_context.random().nextBytes(_proxyNonce);
_nonces = new ConcurrentHashMap();
_nonces = new ConcurrentHashMap<String, NonceInfo>();
}
/**
@@ -110,10 +110,10 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
I2PTunnel tunnel, EventDispatcher notifyThis, long clientId )
throws IllegalArgumentException {
super(localPort, l, sktMgr, tunnel, notifyThis, clientId);
_proxyList = new ArrayList(4);
_proxyList = new ArrayList<String>(4);
_proxyNonce = new byte[PROXYNONCE_BYTES];
_context.random().nextBytes(_proxyNonce);
_nonces = new ConcurrentHashMap();
_nonces = new ConcurrentHashMap<String, NonceInfo>();
}
//////// Authorization stuff
@@ -409,7 +409,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
* @since 0.9.4
*/
private static Map<String, String> parseArgs(String args) {
Map<String, String> rv = new HashMap(8);
Map<String, String> rv = new HashMap<String, String>(8);
char data[] = args.toCharArray();
StringBuilder buf = new StringBuilder(32);
boolean isQuoted = false;

View File

@@ -8,7 +8,6 @@ import java.util.List;
import java.util.Properties;
import java.util.StringTokenizer;
import net.i2p.I2PException;
import net.i2p.client.streaming.I2PSocket;
import net.i2p.client.streaming.I2PSocketAddress;
import net.i2p.data.Base32;
@@ -60,7 +59,7 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase {
notifyThis,
"IRC Client on " + tunnel.listenHost + ':' + localPort, tunnel, pkf);
_addrs = new ArrayList(4);
_addrs = new ArrayList<I2PSocketAddress>(4);
buildAddresses(destinations);
if (_addrs.isEmpty()) {

View File

@@ -27,7 +27,6 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.ThreadFactory;
import net.i2p.I2PAppContext;
import net.i2p.I2PException;
import net.i2p.client.I2PSessionException;
import net.i2p.client.streaming.I2PServerSocket;
@@ -77,7 +76,7 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable {
protected I2PTunnelTask task;
protected boolean bidir;
private ThreadPoolExecutor _executor;
private final Map<Integer, InetSocketAddress> _socketMap = new ConcurrentHashMap(4);
private final Map<Integer, InetSocketAddress> _socketMap = new ConcurrentHashMap<Integer, InetSocketAddress>(4);
/** unused? port should always be specified */
private int DEFAULT_LOCALPORT = 4488;
@@ -321,7 +320,7 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable {
synchronized (lock) {
if (!forced && sockMgr.listSockets().size() != 0) {
l.log("There are still active connections!");
for (Iterator it = sockMgr.listSockets().iterator(); it.hasNext();) {
for (Iterator<I2PSocket> it = sockMgr.listSockets().iterator(); it.hasNext();) {
l.log("->" + it.next());
}
return false;
@@ -473,7 +472,7 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable {
private static class CustomThreadPoolExecutor extends ThreadPoolExecutor {
public CustomThreadPoolExecutor(int max, String name) {
super(MIN_HANDLERS, max, HANDLER_KEEPALIVE_MS, TimeUnit.MILLISECONDS,
new SynchronousQueue(), new CustomThreadFactory(name));
new SynchronousQueue<Runnable>(), new CustomThreadFactory(name));
}
}

View File

@@ -123,7 +123,7 @@ public class I2Ping extends I2PTunnelTask implements Runnable {
} else if (cmd.startsWith("-l ")) { // ping a list of hosts
BufferedReader br = new BufferedReader(new FileReader(cmd.substring(3)));
String line;
List pingHandlers = new ArrayList();
List<PingHandler> pingHandlers = new ArrayList<PingHandler>();
int i = 0;
while ((line = br.readLine()) != null) {
if (line.startsWith("#")) continue; // comments
@@ -137,7 +137,7 @@ public class I2Ping extends I2PTunnelTask implements Runnable {
reportTimes = false;
}
br.close();
for (Iterator it = pingHandlers.iterator(); it.hasNext();) {
for (Iterator<PingHandler> it = pingHandlers.iterator(); it.hasNext();) {
Thread t = (Thread) it.next();
t.join();
}

View File

@@ -4,13 +4,9 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Random;
import net.i2p.I2PAppContext;
import net.i2p.I2PException;
import net.i2p.client.I2PClient;
@@ -70,7 +66,7 @@ public class TunnelController implements Logging {
_tunnel = new I2PTunnel();
_log = I2PAppContext.getGlobalContext().logManager().getLog(TunnelController.class);
setConfig(config, prefix);
_messages = new ArrayList(4);
_messages = new ArrayList<String>(4);
_running = false;
boolean keyOK = true;
if (createKey && (getType().endsWith("server") || getPersistentClientKey()))
@@ -741,9 +737,9 @@ public class TunnelController implements Logging {
* @return list of messages pulled off (each is a String, earliest first)
*/
public List<String> clearMessages() {
List rv = null;
List<String> rv = null;
synchronized (this) {
rv = new ArrayList(_messages);
rv = new ArrayList<String>(_messages);
_messages.clear();
}
return rv;

View File

@@ -3,7 +3,6 @@ package net.i2p.i2ptunnel;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -83,14 +82,14 @@ public class TunnelControllerGroup implements ClientApp {
_context = context;
_mgr = mgr;
_log = _context.logManager().getLog(TunnelControllerGroup.class);
_controllers = new ArrayList();
_controllers = new ArrayList<TunnelController>();
if (args == null || args.length <= 0)
_configFile = DEFAULT_CONFIG_FILE;
else if (args.length == 1)
_configFile = args[0];
else
throw new IllegalArgumentException("Usage: TunnelControllerGroup [filename]");
_sessions = new HashMap(4);
_sessions = new HashMap<I2PSession, Set<TunnelController>>(4);
synchronized (TunnelControllerGroup.class) {
if (_instance == null)
_instance = this;
@@ -288,7 +287,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of messages from the controller as it is stopped
*/
public synchronized List<String> removeController(TunnelController controller) {
if (controller == null) return new ArrayList();
if (controller == null) return new ArrayList<String>();
controller.stopTunnel();
List<String> msgs = controller.clearMessages();
_controllers.remove(controller);
@@ -302,7 +301,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of messages the tunnels generate when stopped
*/
public synchronized List<String> stopAllControllers() {
List<String> msgs = new ArrayList();
List<String> msgs = new ArrayList<String>();
for (int i = 0; i < _controllers.size(); i++) {
TunnelController controller = _controllers.get(i);
controller.stopTunnel();
@@ -319,7 +318,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of messages the tunnels generate when started
*/
public synchronized List<String> startAllControllers() {
List<String> msgs = new ArrayList();
List<String> msgs = new ArrayList<String>();
for (int i = 0; i < _controllers.size(); i++) {
TunnelController controller = _controllers.get(i);
controller.startTunnelBackground();
@@ -337,7 +336,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of messages the tunnels generate when restarted
*/
public synchronized List<String> restartAllControllers() {
List<String> msgs = new ArrayList();
List<String> msgs = new ArrayList<String>();
for (int i = 0; i < _controllers.size(); i++) {
TunnelController controller = _controllers.get(i);
controller.restartTunnel();
@@ -354,7 +353,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of messages the tunnels have generated
*/
public synchronized List<String> clearAllMessages() {
List<String> msgs = new ArrayList();
List<String> msgs = new ArrayList<String>();
for (int i = 0; i < _controllers.size(); i++) {
TunnelController controller = _controllers.get(i);
msgs.addAll(controller.clearMessages());
@@ -426,7 +425,7 @@ public class TunnelControllerGroup implements ClientApp {
* @return list of TunnelController objects
*/
public synchronized List<TunnelController> getControllers() {
return new ArrayList(_controllers);
return new ArrayList<TunnelController>(_controllers);
}
@@ -439,7 +438,7 @@ public class TunnelControllerGroup implements ClientApp {
synchronized (_sessions) {
Set<TunnelController> owners = _sessions.get(session);
if (owners == null) {
owners = new HashSet(2);
owners = new HashSet<TunnelController>(2);
_sessions.put(session, owners);
}
owners.add(controller);

View File

@@ -55,9 +55,9 @@ public class DCCClientManager extends EventReceiver {
_dispatch = dispatch;
_tunnel = tunnel;
_log = tunnel.getContext().logManager().getLog(DCCClientManager.class);
_incoming = new ConcurrentHashMap(8);
_active = new ConcurrentHashMap(8);
_complete = new ConcurrentHashMap(8);
_incoming = new ConcurrentHashMap<Integer, I2PTunnelDCCClient>(8);
_active = new ConcurrentHashMap<Integer, I2PTunnelDCCClient>(8);
_complete = new ConcurrentHashMap<Integer, I2PTunnelDCCClient>(8);
}
public boolean close(boolean forced) {

View File

@@ -75,10 +75,10 @@ public class I2PTunnelDCCServer extends I2PTunnelServer {
public I2PTunnelDCCServer(I2PSocketManager sktMgr, Logging l,
EventDispatcher notifyThis, I2PTunnel tunnel) {
super(DUMMY, 0, sktMgr, l, notifyThis, tunnel);
_outgoing = new ConcurrentHashMap(8);
_active = new ConcurrentHashMap(8);
_resume = new ConcurrentHashMap(8);
_sockList = new CopyOnWriteArrayList();
_outgoing = new ConcurrentHashMap<Integer, LocalAddress>(8);
_active = new ConcurrentHashMap<Integer, LocalAddress>(8);
_resume = new ConcurrentHashMap<Integer, LocalAddress>(8);
_sockList = new CopyOnWriteArrayList<I2PSocket>();
}
/**

View File

@@ -232,7 +232,7 @@ abstract class IRCFilter {
"WALLOPS",
"ZLINE"
};
_allowedOutbound = new HashSet(Arrays.asList(allowedCommands));
_allowedOutbound = new HashSet<String>(Arrays.asList(allowedCommands));
}
/*************************************************************************

View File

@@ -17,7 +17,6 @@ import net.i2p.data.DataFormatException;
import net.i2p.data.Destination;
import net.i2p.i2ptunnel.I2PTunnelHTTPClient;
import net.i2p.util.FileUtil;
import net.i2p.util.Log;
import net.i2p.util.Translate;
/**
@@ -119,7 +118,7 @@ public abstract class LocalHTTPServer {
// Parameters are url, host, dest, nonce, and master | router | private.
// Do the add and redirect.
if (targetRequest.equals("/add")) {
Map<String, String> opts = new HashMap(8);
Map<String, String> opts = new HashMap<String, String>(8);
// this only works if all keys are followed by =value
StringTokenizer tok = new StringTokenizer(query, "=&;");
while (tok.hasMoreTokens()) {

View File

@@ -69,13 +69,13 @@ public class I2PSOCKSTunnel extends I2PTunnelClientBase {
private void parseOptions() {
Properties opts = getTunnel().getClientOptions();
proxies = new HashMap(1);
proxies = new HashMap<String, List<String>>(1);
for (Map.Entry e : opts.entrySet()) {
String prop = (String)e.getKey();
if ((!prop.startsWith(PROP_PROXY_PREFIX)) || prop.length() <= PROP_PROXY_PREFIX.length())
continue;
String port = prop.substring(PROP_PROXY_PREFIX.length());
List proxyList = new ArrayList(1);
List<String> proxyList = new ArrayList<String>(1);
StringTokenizer tok = new StringTokenizer((String)e.getValue(), ", \t");
while (tok.hasMoreTokens()) {
String proxy = tok.nextToken().trim();

View File

@@ -10,10 +10,10 @@ import net.i2p.util.Log;
* Sends to one of many Sinks
* @author zzz modded from streamr/MultiSource
*/
public class MultiSink implements Source, Sink {
public class MultiSink<S extends Sink> implements Source, Sink {
private static final Log _log = new Log(MultiSink.class);
public MultiSink(Map cache) {
public MultiSink(Map<Destination, S> cache) {
this.cache = cache;
}
@@ -31,5 +31,5 @@ public class MultiSink implements Source, Sink {
s.send(from, data);
}
private Map<Destination, Sink> cache;
private Map<Destination, S> cache;
}

View File

@@ -10,10 +10,10 @@ import net.i2p.util.Log;
* Track who the reply goes to
* @author zzz
*/
public class ReplyTracker implements Source, Sink {
public class ReplyTracker<S extends Sink> implements Source, Sink {
private static final Log _log = new Log(MultiSink.class);
public ReplyTracker(Sink reply, Map cache) {
public ReplyTracker(S reply, Map<Destination, S> cache) {
this.reply = reply;
this.cache = cache;
}
@@ -29,7 +29,7 @@ public class ReplyTracker implements Source, Sink {
this.sink.send(to, data);
}
private Sink reply;
private Map<Destination, Sink> cache;
private S reply;
private Map<Destination, S> cache;
private Sink sink;
}

View File

@@ -597,7 +597,7 @@ public class SOCKS5Server extends SOCKSServer {
* RFC 1928 isn't clear... maybe not.
*/
private void handleUDP(DataInputStream in, DataOutputStream out) throws SOCKSException {
List<Integer> ports = new ArrayList(1);
List<Integer> ports = new ArrayList<Integer>(1);
synchronized (_startLock) {
if (_tunnel == null) {
// tunnel options?

View File

@@ -26,10 +26,10 @@ import net.i2p.i2ptunnel.udp.*;
*/
public class SOCKSUDPPort implements Source, Sink {
public SOCKSUDPPort(InetAddress host, int port, Map replyMap) {
public SOCKSUDPPort(InetAddress host, int port, Map<Destination, SOCKSUDPPort> replyMap) {
// this passes the host and port from UDPUnwrapper to UDPWrapper
Map cache = new ConcurrentHashMap(4);
Map<Destination, SOCKSHeader> cache = new ConcurrentHashMap<Destination, SOCKSHeader>(4);
// rcv from I2P and send to a port
this.wrapper = new SOCKSUDPWrapper(cache);
@@ -41,7 +41,7 @@ public class SOCKSUDPPort implements Source, Sink {
this.udpsource = new UDPSource(sock);
this.unwrapper = new SOCKSUDPUnwrapper(cache);
this.udpsource.setSink(this.unwrapper);
this.udptracker = new ReplyTracker(this, replyMap);
this.udptracker = new ReplyTracker<SOCKSUDPPort>(this, replyMap);
this.unwrapper.setSink(this.udptracker);
}
@@ -73,5 +73,5 @@ public class SOCKSUDPPort implements Source, Sink {
private UDPSource udpsource;
private SOCKSUDPWrapper wrapper;
private SOCKSUDPUnwrapper unwrapper;
private ReplyTracker udptracker;
private ReplyTracker<SOCKSUDPPort> udptracker;
}

View File

@@ -4,7 +4,6 @@ import java.net.InetAddress;
import java.util.concurrent.ConcurrentHashMap;
import java.util.Iterator;
import java.util.Map;
import net.i2p.data.Destination;
import net.i2p.i2ptunnel.I2PTunnel;
import net.i2p.i2ptunnel.udpTunnel.I2PTunnelUDPClientBase;
@@ -33,9 +32,9 @@ public class SOCKSUDPTunnel extends I2PTunnelUDPClientBase {
public SOCKSUDPTunnel(I2PTunnel tunnel) {
super(null, tunnel, tunnel, tunnel);
this.ports = new ConcurrentHashMap(1);
this.cache = new ConcurrentHashMap(1);
this.demuxer = new MultiSink(this.cache);
this.ports = new ConcurrentHashMap<Integer, SOCKSUDPPort>(1);
this.cache = new ConcurrentHashMap<Destination, SOCKSUDPPort>(1);
this.demuxer = new MultiSink<SOCKSUDPPort>(this.cache);
setSink(this.demuxer);
}
@@ -53,8 +52,8 @@ public class SOCKSUDPTunnel extends I2PTunnelUDPClientBase {
SOCKSUDPPort sup = this.ports.remove(port);
if (sup != null)
sup.stop();
for (Iterator iter = cache.entrySet().iterator(); iter.hasNext();) {
Map.Entry<Destination, SOCKSUDPPort> e = (Map.Entry) iter.next();
for (Iterator<Map.Entry<Destination, SOCKSUDPPort>> iter = cache.entrySet().iterator(); iter.hasNext();) {
Map.Entry<Destination, SOCKSUDPPort> e = iter.next();
if (e.getValue() == sup)
iter.remove();
}
@@ -89,5 +88,5 @@ public class SOCKSUDPTunnel extends I2PTunnelUDPClientBase {
private Map<Integer, SOCKSUDPPort> ports;
private Map<Destination, SOCKSUDPPort> cache;
private MultiSink demuxer;
private MultiSink<SOCKSUDPPort> demuxer;
}

View File

@@ -8,8 +8,6 @@ package net.i2p.i2ptunnel.streamr;
// system
import java.util.Set;
// i2p
import net.i2p.client.I2PSession;
import net.i2p.data.Destination;
import net.i2p.i2ptunnel.udp.*;
import net.i2p.util.ConcurrentHashSet;

View File

@@ -32,7 +32,7 @@ public class I2PSource implements Source, Runnable {
this.raw = raw;
// create queue
this.queue = new ArrayBlockingQueue(256);
this.queue = new ArrayBlockingQueue<Integer>(256);
// create listener
this.sess.setSessionListener(new Listener());

View File

@@ -5,7 +5,6 @@ package net.i2p.i2ptunnel.udpTunnel;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.net.ServerSocket;
import java.util.concurrent.atomic.AtomicLong;
import net.i2p.I2PAppContext;

View File

@@ -8,11 +8,9 @@ package net.i2p.i2ptunnel.web;
*
*/
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.Set;
import java.util.TreeMap;
@@ -43,9 +41,9 @@ public class EditBean extends IndexBean {
TunnelControllerGroup group = TunnelControllerGroup.getInstance();
if (group == null)
return false;
List controllers = group.getControllers();
List<TunnelController> controllers = group.getControllers();
if (controllers.size() > tunnel) {
TunnelController cur = (TunnelController)controllers.get(tunnel);
TunnelController cur = controllers.get(tunnel);
if (cur == null) return false;
return isClient(cur.getType());
} else {
@@ -374,7 +372,7 @@ public class EditBean extends IndexBean {
if (opts == null) return "";
boolean isMD5Proxy = "httpclient".equals(tun.getType()) ||
"connectclient".equals(tun.getType());
Map<String, String> sorted = new TreeMap();
Map<String, String> sorted = new TreeMap<String, String>();
for (Map.Entry e : opts.entrySet()) {
String key = (String)e.getKey();
if (_noShowSet.contains(key))

View File

@@ -102,7 +102,7 @@ public class IndexBean {
/** 3 wasn't enough for some browsers. They are reloading the page for some reason - maybe HEAD? @since 0.8.1 */
private static final int MAX_NONCES = 8;
/** store nonces in a static FIFO instead of in System Properties @since 0.8.1 */
private static final List<String> _nonces = new ArrayList(MAX_NONCES + 1);
private static final List<String> _nonces = new ArrayList<String>(MAX_NONCES + 1);
static final String CLIENT_NICKNAME = "shared clients";
public static final String PROP_THEME_NAME = "routerconsole.theme";
@@ -129,8 +129,8 @@ public class IndexBean {
_tunnel = -1;
_curNonce = "-1";
addNonce();
_booleanOptions = new ConcurrentHashSet(4);
_otherOptions = new ConcurrentHashMap(4);
_booleanOptions = new ConcurrentHashSet<String>(4);
_otherOptions = new ConcurrentHashMap<String, String>(4);
}
/**
@@ -1224,8 +1224,8 @@ public class IndexBean {
"proxyUsername", "proxyPassword"
};
protected static final Set _noShowSet = new HashSet(128);
protected static final Set _nonProxyNoShowSet = new HashSet(4);
protected static final Set<String> _noShowSet = new HashSet<String>(128);
protected static final Set<String> _nonProxyNoShowSet = new HashSet<String>(4);
static {
_noShowSet.addAll(Arrays.asList(_noShowOpts));
_noShowSet.addAll(Arrays.asList(_booleanClientOpts));

View File

@@ -17,8 +17,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-26 21:33+0000\n"
"PO-Revision-Date: 2013-09-23 22:34+0000\n"
"POT-Creation-Date: 2013-11-19 22:54+0000\n"
"PO-Revision-Date: 2013-10-21 14:24+0000\n"
"Last-Translator: nextloop <ga25day@mytum.de>\n"
"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/"
"de/)\n"
@@ -35,49 +35,49 @@ msgstr ""
#: ../java/build/Proxy.java:6 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:27 ../java/build/Proxy.java:40
#: ../java/build/Proxy.java:49 ../java/build/Proxy.java:61
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:88
#: ../java/build/Proxy.java:99 ../java/build/Proxy.java:111
#: ../java/build/Proxy.java:121
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:196
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:126
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
msgid "Router Console"
msgstr "Routerkonsole"
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:28 ../java/build/Proxy.java:41
#: ../java/build/Proxy.java:50 ../java/build/Proxy.java:62
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:89
#: ../java/build/Proxy.java:100 ../java/build/Proxy.java:112
#: ../java/build/Proxy.java:122
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:94 ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:117 ../java/build/Proxy.java:127
msgid "I2P Router Console"
msgstr "Routerkonsole"
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:20
#: ../java/build/Proxy.java:29 ../java/build/Proxy.java:42
#: ../java/build/Proxy.java:51 ../java/build/Proxy.java:63
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:90
#: ../java/build/Proxy.java:101 ../java/build/Proxy.java:113
#: ../java/build/Proxy.java:123
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:128
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Configuration"
msgstr "Einstellungen"
#: ../java/build/Proxy.java:9 ../java/build/Proxy.java:21
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:43
#: ../java/build/Proxy.java:52 ../java/build/Proxy.java:64
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:91
#: ../java/build/Proxy.java:102 ../java/build/Proxy.java:114
#: ../java/build/Proxy.java:124
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:119 ../java/build/Proxy.java:129
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Help"
msgstr "Hilfe"
#: ../java/build/Proxy.java:10 ../java/build/Proxy.java:22
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:44
#: ../java/build/Proxy.java:53 ../java/build/Proxy.java:65
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:92
#: ../java/build/Proxy.java:103 ../java/build/Proxy.java:115
#: ../java/build/Proxy.java:125
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:130
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Addressbook"
msgstr "Adressbuch"
@@ -106,7 +106,7 @@ msgid ""
msgstr ""
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:38
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:97
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:102
msgid "Could not find the following destination:"
msgstr "Tunnel Ziel"
@@ -196,7 +196,7 @@ msgstr ""
msgid "The I2P host could also be offline."
msgstr ""
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:96
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:101
#, java-format
msgid "You may want to {0}retry{1}."
msgstr ""
@@ -218,47 +218,49 @@ msgid ""
"Your request was for a site outside of I2P, but you have no HTTP outproxy "
"configured."
msgstr ""
"Dieser Seitenaufruf ist nach außerhalb von I2P adressiert aber es ist kein "
"Ausgangsproxy eingestellt."
#: ../java/build/Proxy.java:76
msgid "Please configure an outproxy in I2PTunnel."
msgstr ""
msgstr "Bitte stelle einen Ausgangsproxy in I2PTunnel ein"
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:83
msgid "Warning: Destination Key Conflict"
msgstr ""
#: ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:84
msgid ""
"The addresshelper link you followed specifies a different destination key "
"than a host entry in your host database."
msgstr ""
#: ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:85
msgid ""
"Someone could be trying to impersonate another eepsite, or people have given "
"two eepsites identical names."
msgstr ""
#: ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:86
msgid ""
"You can resolve the conflict by considering which key you trust, and either "
"discarding the addresshelper link, discarding the host entry from your host "
"database, or naming one of them differently."
msgstr ""
#: ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:87
msgid "Proxy Authorization Required"
msgstr "Outproxy Autorisation"
msgstr "Anmeldung erforderlich"
#: ../java/build/Proxy.java:83
#: ../java/build/Proxy.java:88
msgid "I2P HTTP Proxy Authorization Required"
msgstr "Outproxy Autorisation"
msgstr "Anmeldung für den I2P-HTTP-Proxy vonnöten"
#: ../java/build/Proxy.java:84
#: ../java/build/Proxy.java:89
msgid "This proxy is configured to require a username and password for access."
msgstr "Dieser Proxy kann nur mit Benutzername und Passwort erreicht werde."
#: ../java/build/Proxy.java:85
#: ../java/build/Proxy.java:90
#, java-format
msgid ""
"Please enter your username and password, or check your {0}router "
@@ -267,95 +269,97 @@ msgstr ""
"Bitte Benutzername und Passwort eingeben, oder überprüfe die {0}Router-"
"Einstellungen{1} oder die {2}I2P-Tunnel Einstellungen{3}"
#: ../java/build/Proxy.java:86
#: ../java/build/Proxy.java:91
#, java-format
msgid ""
"To disable authorization, remove the configuration {0}i2ptunnel.proxy."
"auth=basic{1}, then stop and restart the HTTP Proxy tunnel."
msgstr ""
#: ../java/build/Proxy.java:87 ../java/build/Proxy.java:93
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:98
msgid "Warning: Eepsite Unreachable"
msgstr ""
#: ../java/build/Proxy.java:94
#: ../java/build/Proxy.java:99
msgid "The eepsite was not reachable."
msgstr ""
#: ../java/build/Proxy.java:95
#: ../java/build/Proxy.java:100
msgid ""
"The eepsite is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr ""
#: ../java/build/Proxy.java:98
#: ../java/build/Proxy.java:103
msgid "Information: New Host Name"
msgstr ""
msgstr "Information: Neuer Hostname"
#: ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:109
msgid "Information: New Host Name with Address Helper"
msgstr ""
msgstr "Information: Ein neuer Hostname mit Adresshelfer."
#: ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:110
msgid ""
"The address helper link you followed is for a new host name that is not in "
"your address book."
msgstr ""
"Der Adresshelferlink, den du versuchst aufzurufen, ist für einen neuen "
"Adressnamen, welcher nicht in dem Adressbuch ist."
#: ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:111
msgid "You may save this host name to your local address book."
msgstr ""
msgstr "Du kannst den Adressnamen in deinem Adressbuch speichern."
#: ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:112
msgid ""
"If you save it to your address book, you will not see this message again."
msgstr ""
#: ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:113
msgid ""
"If you do not save it, the host name will be forgotten after the next router "
"restart."
msgstr ""
#: ../java/build/Proxy.java:109
#: ../java/build/Proxy.java:114
msgid ""
"If you do not wish to visit this host, click the \"back\" button on your "
"browser."
msgstr ""
#: ../java/build/Proxy.java:110 ../java/build/Proxy.java:116
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:121
msgid "Warning: Bad Address Helper"
msgstr ""
#: ../java/build/Proxy.java:117
#: ../java/build/Proxy.java:122
#, java-format
msgid "The helper key in the URL ({0}i2paddresshelper={1}) is not resolvable."
msgstr ""
#: ../java/build/Proxy.java:118
#: ../java/build/Proxy.java:123
msgid "It seems to be garbage data, or a mistyped Base 32 address."
msgstr ""
#: ../java/build/Proxy.java:119
#: ../java/build/Proxy.java:124
msgid ""
"Check your URL to try and fix the helper key to be a valid Base 32 hostname "
"or Base 64 key."
msgstr ""
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:126
#: ../java/build/Proxy.java:125 ../java/build/Proxy.java:131
msgid "Warning: Non-HTTP Protocol"
msgstr ""
#: ../java/build/Proxy.java:127
#: ../java/build/Proxy.java:132
msgid "The request uses a bad protocol."
msgstr ""
#: ../java/build/Proxy.java:128
#: ../java/build/Proxy.java:133
#, java-format
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
msgstr ""
#: ../java/build/Proxy.java:129
#: ../java/build/Proxy.java:134
#, java-format
msgid ""
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
@@ -413,11 +417,11 @@ msgstr "{0} im Master-Adressbuch speichern und auf die Eepseite weiterleiten"
msgid "Save {0} to private address book and continue to eepsite"
msgstr "{0} im privaten Adressbuch speichern und auf die Eepseite weiterleiten"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1180
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1181
msgid "HTTP Outproxy"
msgstr "HTTP-Outproxy"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1217
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
@@ -425,7 +429,7 @@ msgstr ""
"Adresshelfer von einem \"Sprung\"-Service:"
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1225
#, java-format
msgid "{0} jump service"
msgstr "Weiterleitungsdienst {0}"
@@ -439,23 +443,35 @@ msgstr "Hinzugefüg über den Adressenhelfer von {0}"
msgid "Added via address helper"
msgstr "Durch Adresshelfer hinzugefügt"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:188
msgid "router"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:190
msgid "master"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:192
msgid "private"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:199
#, java-format
msgid "Redirecting to {0}"
msgstr "Weiterleitung zu {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:202
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:211
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr ""
"{0} wurde ins {1} Adressbuch geschrieben. Du wirst nun weitergeleitet."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:203
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:212
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr ""
"Konnte {0} nicht im {1} Adressbuch speichern. Du wirst nun weitergeleitet."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:214
msgid "Click here if you are not redirected automatically."
msgstr "Klick hier, wenn du nicht automatisch weitergeleitet wirst!"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-11 14:23+0000\n"
"POT-Creation-Date: 2013-11-19 23:51+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@@ -25,49 +25,49 @@ msgstr ""
#: ../java/build/Proxy.java:6 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:27 ../java/build/Proxy.java:40
#: ../java/build/Proxy.java:49 ../java/build/Proxy.java:61
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:88
#: ../java/build/Proxy.java:99 ../java/build/Proxy.java:111
#: ../java/build/Proxy.java:121
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:196
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:126
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
msgid "Router Console"
msgstr ""
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:28 ../java/build/Proxy.java:41
#: ../java/build/Proxy.java:50 ../java/build/Proxy.java:62
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:89
#: ../java/build/Proxy.java:100 ../java/build/Proxy.java:112
#: ../java/build/Proxy.java:122
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:94 ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:117 ../java/build/Proxy.java:127
msgid "I2P Router Console"
msgstr ""
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:20
#: ../java/build/Proxy.java:29 ../java/build/Proxy.java:42
#: ../java/build/Proxy.java:51 ../java/build/Proxy.java:63
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:90
#: ../java/build/Proxy.java:101 ../java/build/Proxy.java:113
#: ../java/build/Proxy.java:123
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:128
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Configuration"
msgstr ""
#: ../java/build/Proxy.java:9 ../java/build/Proxy.java:21
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:43
#: ../java/build/Proxy.java:52 ../java/build/Proxy.java:64
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:91
#: ../java/build/Proxy.java:102 ../java/build/Proxy.java:114
#: ../java/build/Proxy.java:124
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:119 ../java/build/Proxy.java:129
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Help"
msgstr ""
#: ../java/build/Proxy.java:10 ../java/build/Proxy.java:22
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:44
#: ../java/build/Proxy.java:53 ../java/build/Proxy.java:65
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:92
#: ../java/build/Proxy.java:103 ../java/build/Proxy.java:115
#: ../java/build/Proxy.java:125
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:130
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Addressbook"
msgstr ""
@@ -96,7 +96,7 @@ msgid ""
msgstr ""
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:38
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:97
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:102
msgid "Could not find the following destination:"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
msgid "The I2P host could also be offline."
msgstr ""
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:96
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:101
#, java-format
msgid "You may want to {0}retry{1}."
msgstr ""
@@ -213,137 +213,137 @@ msgstr ""
msgid "Please configure an outproxy in I2PTunnel."
msgstr ""
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:83
msgid "Warning: Destination Key Conflict"
msgstr ""
#: ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:84
msgid ""
"The addresshelper link you followed specifies a different destination key "
"than a host entry in your host database."
msgstr ""
#: ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:85
msgid ""
"Someone could be trying to impersonate another eepsite, or people have given "
"two eepsites identical names."
msgstr ""
#: ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:86
msgid ""
"You can resolve the conflict by considering which key you trust, and either "
"discarding the addresshelper link, discarding the host entry from your host "
"database, or naming one of them differently."
msgstr ""
#: ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:87
msgid "Proxy Authorization Required"
msgstr ""
#: ../java/build/Proxy.java:83
#: ../java/build/Proxy.java:88
msgid "I2P HTTP Proxy Authorization Required"
msgstr ""
#: ../java/build/Proxy.java:84
#: ../java/build/Proxy.java:89
msgid "This proxy is configured to require a username and password for access."
msgstr ""
#: ../java/build/Proxy.java:85
#: ../java/build/Proxy.java:90
#, java-format
msgid ""
"Please enter your username and password, or check your {0}router "
"configuration{1} or {2}I2PTunnel configuration{3}."
msgstr ""
#: ../java/build/Proxy.java:86
#: ../java/build/Proxy.java:91
#, java-format
msgid ""
"To disable authorization, remove the configuration {0}i2ptunnel.proxy."
"auth=basic{1}, then stop and restart the HTTP Proxy tunnel."
msgstr ""
#: ../java/build/Proxy.java:87 ../java/build/Proxy.java:93
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:98
msgid "Warning: Eepsite Unreachable"
msgstr ""
#: ../java/build/Proxy.java:94
#: ../java/build/Proxy.java:99
msgid "The eepsite was not reachable."
msgstr ""
#: ../java/build/Proxy.java:95
#: ../java/build/Proxy.java:100
msgid ""
"The eepsite is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr ""
#: ../java/build/Proxy.java:98
#: ../java/build/Proxy.java:103
msgid "Information: New Host Name"
msgstr ""
#: ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:109
msgid "Information: New Host Name with Address Helper"
msgstr ""
#: ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:110
msgid ""
"The address helper link you followed is for a new host name that is not in "
"your address book."
msgstr ""
#: ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:111
msgid "You may save this host name to your local address book."
msgstr ""
#: ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:112
msgid ""
"If you save it to your address book, you will not see this message again."
msgstr ""
#: ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:113
msgid ""
"If you do not save it, the host name will be forgotten after the next router "
"restart."
msgstr ""
#: ../java/build/Proxy.java:109
#: ../java/build/Proxy.java:114
msgid ""
"If you do not wish to visit this host, click the \"back\" button on your "
"browser."
msgstr ""
#: ../java/build/Proxy.java:110 ../java/build/Proxy.java:116
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:121
msgid "Warning: Bad Address Helper"
msgstr ""
#: ../java/build/Proxy.java:117
#: ../java/build/Proxy.java:122
#, java-format
msgid "The helper key in the URL ({0}i2paddresshelper={1}) is not resolvable."
msgstr ""
#: ../java/build/Proxy.java:118
#: ../java/build/Proxy.java:123
msgid "It seems to be garbage data, or a mistyped Base 32 address."
msgstr ""
#: ../java/build/Proxy.java:119
#: ../java/build/Proxy.java:124
msgid ""
"Check your URL to try and fix the helper key to be a valid Base 32 hostname "
"or Base 64 key."
msgstr ""
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:126
#: ../java/build/Proxy.java:125 ../java/build/Proxy.java:131
msgid "Warning: Non-HTTP Protocol"
msgstr ""
#: ../java/build/Proxy.java:127
#: ../java/build/Proxy.java:132
msgid "The request uses a bad protocol."
msgstr ""
#: ../java/build/Proxy.java:128
#: ../java/build/Proxy.java:133
#, java-format
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
msgstr ""
#: ../java/build/Proxy.java:129
#: ../java/build/Proxy.java:134
#, java-format
msgid ""
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
@@ -398,17 +398,17 @@ msgstr ""
msgid "Save {0} to private address book and continue to eepsite"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1180
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1181
msgid "HTTP Outproxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1217
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1225
#, java-format
msgid "{0} jump service"
msgstr ""
@@ -422,21 +422,33 @@ msgstr ""
msgid "Added via address helper"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:188
msgid "router"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:190
msgid "master"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:192
msgid "private"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:199
#, java-format
msgid "Redirecting to {0}"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:202
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:211
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:203
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:212
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:214
msgid "Click here if you are not redirected automatically."
msgstr ""

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-14 15:42+0000\n"
"POT-Creation-Date: 2013-11-19 22:57+0000\n"
"PO-Revision-Date: 2013-10-13 21:21+0000\n"
"Last-Translator: Towatowa441\n"
"Language-Team: French (http://www.transifex.com/projects/p/I2P/language/"
@@ -34,7 +34,7 @@ msgstr "Avertissement : outproxy non trouvé"
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:126
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:196
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
msgid "Router Console"
msgstr "Console du routeur"
@@ -53,7 +53,7 @@ msgstr "Console du routeur I2P"
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:128
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Configuration"
msgstr "Configuration"
@@ -63,7 +63,7 @@ msgstr "Configuration"
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:119 ../java/build/Proxy.java:129
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Help"
msgstr "Aide"
@@ -73,7 +73,7 @@ msgstr "Aide"
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:130
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Addressbook"
msgstr "Carnet d'adresses"
@@ -469,11 +469,11 @@ msgstr "Ajouter au carnet d''adresse principal {0} et aller sur le site i2p"
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Ajouter au carnet d''adresse privé {0} et aller sur le site i2p"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1180
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1181
msgid "HTTP Outproxy"
msgstr "proxy sortant HTTP"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1217
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
@@ -481,7 +481,7 @@ msgstr ""
"utilisant un \"service de saut\":"
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1225
#, java-format
msgid "{0} jump service"
msgstr "{0} jump service"
@@ -495,21 +495,33 @@ msgstr "Ajouté via assistant d''adresse depuis {0}"
msgid "Added via address helper"
msgstr "Ajouté via assitant d'adresse"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:188
msgid "router"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:190
msgid "master"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:192
msgid "private"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:199
#, java-format
msgid "Redirecting to {0}"
msgstr "Redirection vers {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:202
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:211
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "{0} ajouté au carnet d''adresses {1}. Redirection en cours."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:203
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:212
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "{0} non ajouté au carnet d''adresses {1}. Redirection en cours."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:214
msgid "Click here if you are not redirected automatically."
msgstr "Cliquez ici si vous n'êtes pas redirigé automatiquement."

View File

@@ -4,16 +4,17 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# hxdcmls, 2013
# rafaelbf, 2013
# tuliouel, 2013
# wicked, 2012
msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-11 15:44+0000\n"
"PO-Revision-Date: 2013-07-04 19:15+0000\n"
"Last-Translator: tuliouel\n"
"POT-Creation-Date: 2013-11-19 23:02+0000\n"
"PO-Revision-Date: 2013-10-28 00:07+0000\n"
"Last-Translator: hxdcmls\n"
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/"
"pt/)\n"
"Language: pt\n"
@@ -24,54 +25,54 @@ msgstr ""
#: ../java/build/Proxy.java:5 ../java/build/Proxy.java:11
msgid "Warning: Outproxy Not Found"
msgstr ""
msgstr "Aviso: Intermediador externo fora da rede I2P não encontrado"
#: ../java/build/Proxy.java:6 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:27 ../java/build/Proxy.java:40
#: ../java/build/Proxy.java:49 ../java/build/Proxy.java:61
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:88
#: ../java/build/Proxy.java:99 ../java/build/Proxy.java:111
#: ../java/build/Proxy.java:121
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:196
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:126
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
msgid "Router Console"
msgstr "Painel do Roteador"
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:28 ../java/build/Proxy.java:41
#: ../java/build/Proxy.java:50 ../java/build/Proxy.java:62
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:89
#: ../java/build/Proxy.java:100 ../java/build/Proxy.java:112
#: ../java/build/Proxy.java:122
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:94 ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:117 ../java/build/Proxy.java:127
msgid "I2P Router Console"
msgstr "Painel do Roteador"
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:20
#: ../java/build/Proxy.java:29 ../java/build/Proxy.java:42
#: ../java/build/Proxy.java:51 ../java/build/Proxy.java:63
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:90
#: ../java/build/Proxy.java:101 ../java/build/Proxy.java:113
#: ../java/build/Proxy.java:123
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:128
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Configuration"
msgstr "Configuração"
#: ../java/build/Proxy.java:9 ../java/build/Proxy.java:21
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:43
#: ../java/build/Proxy.java:52 ../java/build/Proxy.java:64
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:91
#: ../java/build/Proxy.java:102 ../java/build/Proxy.java:114
#: ../java/build/Proxy.java:124
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:119 ../java/build/Proxy.java:129
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Help"
msgstr "Ajuda"
#: ../java/build/Proxy.java:10 ../java/build/Proxy.java:22
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:44
#: ../java/build/Proxy.java:53 ../java/build/Proxy.java:65
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:92
#: ../java/build/Proxy.java:103 ../java/build/Proxy.java:115
#: ../java/build/Proxy.java:125
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:197
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:130
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Addressbook"
msgstr "Livro de endereços"
@@ -84,6 +85,8 @@ msgid ""
"It is offline, there is network congestion, or your router is not yet well-"
"integrated with peers."
msgstr ""
"Está fora do ar, há congestionamento de dados, ou teu roteador não está bem "
"integrado com os participantes."
#: ../java/build/Proxy.java:14
#, java-format
@@ -91,6 +94,9 @@ msgid ""
"You may want to {0}retry{1} as this will randomly reselect an outproxy from "
"the pool you have defined {2}here{3} (if you have more than one configured)."
msgstr ""
"Talvez queiras {0}tentar novamente{1}, o que irá selecionar aleatoriamente "
"um intermediador externo a rede I2P da lista que definiste {2}aqui{3} (Se "
"tens mais de um configurado)."
#: ../java/build/Proxy.java:15
#, java-format
@@ -98,19 +104,21 @@ msgid ""
"If you continue to have trouble you may want to edit your outproxy list {0}"
"here{1}."
msgstr ""
"Se continuas a ter problemas, podeis modificar tua lista de intermediadores "
"externos a rede I2P {0}aqui{1}."
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:38
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:97
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:102
msgid "Could not find the following destination:"
msgstr "Destino do túnel"
msgstr "Não foi possível encontrar o seguinte destinatário:"
#: ../java/build/Proxy.java:17
msgid "Error: Request Denied"
msgstr ""
msgstr "Erro: Pedido negado"
#: ../java/build/Proxy.java:23
msgid "Error: Local Access"
msgstr ""
msgstr "Erro: Endereço local"
#: ../java/build/Proxy.java:24
msgid "Your browser is misconfigured."
@@ -121,33 +129,39 @@ msgid ""
"Do not use the proxy to access the router console, localhost, or local LAN "
"destinations."
msgstr ""
"Não uses o intermediador (proxy) para acessar o painel controlador do "
"roteador, o autoendereço, ou endereços na rede local."
#: ../java/build/Proxy.java:26
msgid "Warning: Eepsite Unknown"
msgstr ""
msgstr "Aviso: Site na rede I2P desconhecido"
#: ../java/build/Proxy.java:32
msgid "Warning: Eepsite Not Found in Addressbook"
msgstr ""
msgstr "Aviso: Site na rede I2P não encontrado no livro de endereços"
#: ../java/build/Proxy.java:33
msgid "The eepsite was not found in your router's addressbook."
msgstr ""
"O site na rede I2P não foi encontrado no livro de endereços do seu roteador"
#: ../java/build/Proxy.java:34
msgid "Check the link or find a Base 32 or Base 64 address."
msgstr ""
msgstr "Verifique a ligação ou encontra um endereço na base 32 ou base 64."
#: ../java/build/Proxy.java:35
#, java-format
msgid "If you have the Base 64 address, {0}add it to your addressbook{1}."
msgstr ""
"Se tens o endereço na base 64, {0}adiciona-o para teu livro de endereços{1}."
#: ../java/build/Proxy.java:36
msgid ""
"Otherwise, find a Base 32 or address helper link, or use a jump service link "
"below."
msgstr ""
"Senão, encontra um endereço na base 32 ou uma ligação de ajudante para "
"endereço, ou um dos serviços buscadores de ligações abaixo."
#: ../java/build/Proxy.java:37
#, java-format
@@ -155,203 +169,244 @@ msgid ""
"Seeing this page often? See {0}the FAQ{1} for help in {2}adding some "
"subscriptions{3} to your addressbook."
msgstr ""
"Estar a ver esta página frequentemente? Veja as {0}perguntas frequentes{1} "
"para ajuda em {2}incluindo novos registros{3} em teu livro de endereços."
#: ../java/build/Proxy.java:39 ../java/build/Proxy.java:45
msgid "Warning: Invalid Request URI"
msgstr ""
msgstr "Aviso: URI inválida"
#: ../java/build/Proxy.java:46
msgid "The request URI is invalid, and probably contains illegal characters."
msgstr ""
msgstr "A URI informada é inválida, e provavelmente contém caracteres ilegais."
#: ../java/build/Proxy.java:47
msgid ""
"If you clicked a link, check the end of the URI for any characters the "
"browser has mistakenly added on."
msgstr ""
"Se acessaste uma ligação, verifique o final da URI para quaisquer caracteres "
"que o navegador possa, por engano, ter adicionado."
#: ../java/build/Proxy.java:48 ../java/build/Proxy.java:54
msgid "Warning: Invalid Destination"
msgstr "Destino local"
msgstr "Aviso: Destinatário inválido"
#: ../java/build/Proxy.java:55
msgid ""
"The eepsite destination specified was not valid, or was otherwise "
"unreachable."
msgstr ""
"O destinatário, um site na rede I2P, especificado não é valido, ou está "
"inalcançável."
#: ../java/build/Proxy.java:56
msgid ""
"Perhaps you pasted in the wrong Base 64 string or the link you are following "
"is bad."
msgstr ""
"Talvez colaste uma cadeia de caracteres na base 64 errada ou a ligação que "
"seguiste não serve."
#: ../java/build/Proxy.java:57
msgid "The I2P host could also be offline."
msgstr ""
"Também existe a possibilidade do anfitrião na rede I2P estar fora do ar."
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:96
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:101
#, java-format
msgid "You may want to {0}retry{1}."
msgstr ""
msgstr "Talvez queira {0}retentar{1}."
#: ../java/build/Proxy.java:60 ../java/build/Proxy.java:66
msgid "Warning: Request Denied"
msgstr ""
msgstr "Aviso: Pedido negado"
#: ../java/build/Proxy.java:67
msgid "You attempted to connect to a non-I2P website or location."
msgstr ""
msgstr "Tentaste acessar um site ou recurso fora da rede I2P."
#: ../java/build/Proxy.java:68 ../java/build/Proxy.java:74
msgid "Warning: No Outproxy Configured"
msgstr ""
msgstr "Aviso: nenhum intermediador (proxy) externo a rede I2P configurado"
#: ../java/build/Proxy.java:75
msgid ""
"Your request was for a site outside of I2P, but you have no HTTP outproxy "
"configured."
msgstr ""
"Teu pedido de acesso foi para um site fora da rede I2P, mas não há nenhum "
"intermediador (proxy) HTTP externo a rede I2P configurado."
#: ../java/build/Proxy.java:76
msgid "Please configure an outproxy in I2PTunnel."
msgstr ""
"Por favor, configura um intermediador (proxy) externo a rede I2P no túnel I2P"
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:83
msgid "Warning: Destination Key Conflict"
msgstr ""
msgstr "Aviso: Conflito entre ligações de ajudante de endereço"
#: ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:84
msgid ""
"The addresshelper link you followed specifies a different destination key "
"than a host entry in your host database."
msgstr ""
"A ligação de ajudante de endereço que seguiste especifica um destinatário "
"diferente daquele anfitrião que já está no seu banco de dados."
#: ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:85
msgid ""
"Someone could be trying to impersonate another eepsite, or people have given "
"two eepsites identical names."
msgstr ""
"Alguém pode estar a tentar se passar por outro site da rede I2P, ou pessoas "
"deram a dois sites da rede I2P distintos o mesmo nome."
#: ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:86
msgid ""
"You can resolve the conflict by considering which key you trust, and either "
"discarding the addresshelper link, discarding the host entry from your host "
"database, or naming one of them differently."
msgstr ""
"Podeis resolver o conflito decidindo em qual das ligações de ajudante para "
"endereço confias, ou descartando a ligação de ajudante para endereço atual, "
"descartando o nome do anfitrião do seu banco de dados, ou nomeando um deles "
"diferentemente do outro."
#: ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:87
msgid "Proxy Authorization Required"
msgstr "Autorização do proxy de saída"
#: ../java/build/Proxy.java:83
#: ../java/build/Proxy.java:88
msgid "I2P HTTP Proxy Authorization Required"
msgstr "Autorização do proxy de saída"
#: ../java/build/Proxy.java:84
#: ../java/build/Proxy.java:89
msgid "This proxy is configured to require a username and password for access."
msgstr ""
"Este intermediador (proxy) está configurado para pedir um nome de usuário e "
"palavra-passe para ser acessado."
#: ../java/build/Proxy.java:85
#: ../java/build/Proxy.java:90
#, java-format
msgid ""
"Please enter your username and password, or check your {0}router "
"configuration{1} or {2}I2PTunnel configuration{3}."
msgstr ""
"Por favor, insira teu nome de usuário e palavra-passe, ou verifique tua {0}"
"configuração do roteador{1} ou {2}configuração do túnel I2P{3}."
#: ../java/build/Proxy.java:86
#: ../java/build/Proxy.java:91
#, java-format
msgid ""
"To disable authorization, remove the configuration {0}i2ptunnel.proxy."
"auth=basic{1}, then stop and restart the HTTP Proxy tunnel."
msgstr ""
"Para desabilitar a autorização, remova a configuração {0}i2ptunnel.proxy."
"auth=basic{1}, então pare e reinicie o túnel do proxy HTTP."
#: ../java/build/Proxy.java:87 ../java/build/Proxy.java:93
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:98
msgid "Warning: Eepsite Unreachable"
msgstr ""
msgstr "Aviso: Site na rede I2P inalcançável."
#: ../java/build/Proxy.java:94
#: ../java/build/Proxy.java:99
msgid "The eepsite was not reachable."
msgstr ""
msgstr "O site na rede I2P não está alcançável."
#: ../java/build/Proxy.java:95
#: ../java/build/Proxy.java:100
msgid ""
"The eepsite is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr ""
"O site na rede I2P está fora do ar, há congestionamento de dados, ou teu "
"roteador não está bem integrado com os participantes."
#: ../java/build/Proxy.java:98
#: ../java/build/Proxy.java:103
msgid "Information: New Host Name"
msgstr ""
msgstr "Informação: Novo nome de anfitrião."
#: ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:109
msgid "Information: New Host Name with Address Helper"
msgstr ""
msgstr "Informação: Novo nome de anfitrião com ajudante para endereço."
#: ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:110
msgid ""
"The address helper link you followed is for a new host name that is not in "
"your address book."
msgstr ""
"A ligação de ajudante para endereço que seguiste é para um novo nome de "
"anfitrião que não está no seu livro de endereços."
#: ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:111
msgid "You may save this host name to your local address book."
msgstr ""
"Podeis salvar esse nome de anfitrião para seu livro local de endereços."
#: ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:112
msgid ""
"If you save it to your address book, you will not see this message again."
msgstr ""
"Se o salvares em teu livro de endereços, não verás esta mensagem novamente."
#: ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:113
msgid ""
"If you do not save it, the host name will be forgotten after the next router "
"restart."
msgstr ""
"Se não o salvares, o nome do anfitrião será esquecido na próxima "
"inicialização do roteador."
#: ../java/build/Proxy.java:109
#: ../java/build/Proxy.java:114
msgid ""
"If you do not wish to visit this host, click the \"back\" button on your "
"browser."
msgstr ""
"Se não queres visitar esse anfitrião, aperte o botão \"voltar\" de seu "
"navegador."
#: ../java/build/Proxy.java:110 ../java/build/Proxy.java:116
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:121
msgid "Warning: Bad Address Helper"
msgstr ""
msgstr "Aviso: Ajudante de endereço ruim"
#: ../java/build/Proxy.java:117
#: ../java/build/Proxy.java:122
#, java-format
msgid "The helper key in the URL ({0}i2paddresshelper={1}) is not resolvable."
msgstr ""
msgstr "A palavra ajudante na URL({0}i2paddresshelper={1}) não é traduzível."
#: ../java/build/Proxy.java:118
#: ../java/build/Proxy.java:123
msgid "It seems to be garbage data, or a mistyped Base 32 address."
msgstr ""
"Parece ser dados inúteis, ou um endereço na base 32 escrito incorretamente."
#: ../java/build/Proxy.java:119
#: ../java/build/Proxy.java:124
msgid ""
"Check your URL to try and fix the helper key to be a valid Base 32 hostname "
"or Base 64 key."
msgstr ""
"Verifica a URL para tentar consertar a palavra ajudante para ser um nome de "
"anfitrião na base 32 ou base 64 válido."
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:126
#: ../java/build/Proxy.java:125 ../java/build/Proxy.java:131
msgid "Warning: Non-HTTP Protocol"
msgstr ""
msgstr "Aviso: Protocolo fora do padrão HTTP"
#: ../java/build/Proxy.java:127
#: ../java/build/Proxy.java:132
msgid "The request uses a bad protocol."
msgstr ""
msgstr "O pedido usa um protocolo ruim."
#: ../java/build/Proxy.java:128
#: ../java/build/Proxy.java:133
#, java-format
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
msgstr ""
"O protocolo HTTP do intermediador I2P dá apoio APENAS para {0}http://{1}."
#: ../java/build/Proxy.java:129
#: ../java/build/Proxy.java:134
#, java-format
msgid ""
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
msgstr ""
"Outros protocolos como {0}https://{1} ou {0}ftp://{1} não são permitidos."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:572
msgid "This seems to be a bad destination:"
@@ -405,11 +460,11 @@ msgstr "Salvar {0} ao livro de endereços master e continuar no eepsite"
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Salvar {0} no livro de endereços particular e continuar no eepsite"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1180
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1181
msgid "HTTP Outproxy"
msgstr "Proxy de saída HTTP"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1217
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
@@ -417,7 +472,7 @@ msgstr ""
"serviço \"jump\":"
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1225
#, java-format
msgid "{0} jump service"
msgstr "{0} serviço de salto"
@@ -431,21 +486,33 @@ msgstr "Adicionado pelo auxiliar de endereços de {0}"
msgid "Added via address helper"
msgstr "Adicionado pelo auxiliar de endereços"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:188
msgid "router"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:190
msgid "master"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:192
msgid "private"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:199
#, java-format
msgid "Redirecting to {0}"
msgstr "Redirecionando para {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:202
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:211
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "{0} salvo no livro de endereços {1}, redirecionando agora."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:203
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:212
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "Falha ao salvar {0} no livro de endereços {1}, redirecionando agora."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:214
msgid "Click here if you are not redirected automatically."
msgstr "Clique aqui se você não for redirecionado automaticamente."

View File

@@ -0,0 +1,507 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the i2ptunnel package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-19 23:02+0000\n"
"PO-Revision-Date: 2013-11-12 08:28+0000\n"
"Last-Translator: polearnik <polearnik@mail.ru>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/I2P/language/"
"ro/)\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
#: ../java/build/Proxy.java:5 ../java/build/Proxy.java:11
msgid "Warning: Outproxy Not Found"
msgstr "Atenție: Outproxy Nu a fost găsit"
#: ../java/build/Proxy.java:6 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:27 ../java/build/Proxy.java:40
#: ../java/build/Proxy.java:49 ../java/build/Proxy.java:61
#: ../java/build/Proxy.java:69 ../java/build/Proxy.java:78
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:126
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:205
msgid "Router Console"
msgstr "Consola router"
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:28 ../java/build/Proxy.java:41
#: ../java/build/Proxy.java:50 ../java/build/Proxy.java:62
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:94 ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:117 ../java/build/Proxy.java:127
msgid "I2P Router Console"
msgstr "I2P consola router"
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:20
#: ../java/build/Proxy.java:29 ../java/build/Proxy.java:42
#: ../java/build/Proxy.java:51 ../java/build/Proxy.java:63
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:128
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Configuration"
msgstr "Configurație"
#: ../java/build/Proxy.java:9 ../java/build/Proxy.java:21
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:43
#: ../java/build/Proxy.java:52 ../java/build/Proxy.java:64
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:107
#: ../java/build/Proxy.java:119 ../java/build/Proxy.java:129
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Help"
msgstr "Ajutor"
#: ../java/build/Proxy.java:10 ../java/build/Proxy.java:22
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:44
#: ../java/build/Proxy.java:53 ../java/build/Proxy.java:65
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:108
#: ../java/build/Proxy.java:120 ../java/build/Proxy.java:130
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:206
msgid "Addressbook"
msgstr "Agendă"
#: ../java/build/Proxy.java:12
msgid "The HTTP Outproxy was not found."
msgstr "HTTP Outproxy nu a fost găsit."
#: ../java/build/Proxy.java:13
msgid ""
"It is offline, there is network congestion, or your router is not yet well-"
"integrated with peers."
msgstr ""
"Acesta este deconectat, este congestionarea rețelei, sau router-ul nu este "
"încă bine integrat cu colegii."
#: ../java/build/Proxy.java:14
#, java-format
msgid ""
"You may want to {0}retry{1} as this will randomly reselect an outproxy from "
"the pool you have defined {2}here{3} (if you have more than one configured)."
msgstr ""
"Este posibil să doriți să {0} încercați din nou {1} ca acest lucru se va "
"selecta din nou la întâmplare un outproxy din pool pe care l-ați definit {2} "
"aici {3} (dacă aveți mai mult de unul configurate)."
#: ../java/build/Proxy.java:15
#, java-format
msgid ""
"If you continue to have trouble you may want to edit your outproxy list {0}"
"here{1}."
msgstr ""
"Dacă aveți în continuare probleme, este posibil să doriți să editați lista "
"de outproxy {0} aici {1}."
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:38
#: ../java/build/Proxy.java:59 ../java/build/Proxy.java:102
msgid "Could not find the following destination:"
msgstr "Nu am putut găsi următoarea destinație:"
#: ../java/build/Proxy.java:17
msgid "Error: Request Denied"
msgstr "Eroare: Cerere interzisa"
#: ../java/build/Proxy.java:23
msgid "Error: Local Access"
msgstr "Eroare: acces local"
#: ../java/build/Proxy.java:24
msgid "Your browser is misconfigured."
msgstr "Browser-ul dumneavoastră este configurat incorect."
#: ../java/build/Proxy.java:25
msgid ""
"Do not use the proxy to access the router console, localhost, or local LAN "
"destinations."
msgstr ""
"Nu utilizați proxy pentru a accesa consola router, localhost, sau destinații "
"LAN locale."
#: ../java/build/Proxy.java:26
msgid "Warning: Eepsite Unknown"
msgstr "Atenție: Eepsite Necunoscut"
#: ../java/build/Proxy.java:32
msgid "Warning: Eepsite Not Found in Addressbook"
msgstr "Atenție: Eepsite nu a fost găsit în Agenda"
#: ../java/build/Proxy.java:33
msgid "The eepsite was not found in your router's addressbook."
msgstr "Eepsite nu a fost gasit in Agenda ruterului."
#: ../java/build/Proxy.java:34
msgid "Check the link or find a Base 32 or Base 64 address."
msgstr "Verificați link-ul sau găsiti adresa Base 32 sau adresa Base 64."
#: ../java/build/Proxy.java:35
#, java-format
msgid "If you have the Base 64 address, {0}add it to your addressbook{1}."
msgstr "Dacă aveți adresa Base 64, {0} adăugați-l la Agenda dvs. {1}."
#: ../java/build/Proxy.java:36
msgid ""
"Otherwise, find a Base 32 or address helper link, or use a jump service link "
"below."
msgstr ""
"În caz contrar, găsiți o bază 32 sau link-ul adress helper, sau folositi "
"link-ul de serviciu-salt de mai jos."
#: ../java/build/Proxy.java:37
#, java-format
msgid ""
"Seeing this page often? See {0}the FAQ{1} for help in {2}adding some "
"subscriptions{3} to your addressbook."
msgstr ""
"Vedeti aceasta pagina des? Vezi {0} FAQ {1} pentru ajutor în {2} adăugarea "
"unor abonamente {3} la Agenda dumneavoastră."
#: ../java/build/Proxy.java:39 ../java/build/Proxy.java:45
msgid "Warning: Invalid Request URI"
msgstr "Atenție: URI de solicitare incorect"
#: ../java/build/Proxy.java:46
msgid "The request URI is invalid, and probably contains illegal characters."
msgstr "Cererea URI este incorecta, și, probabil, contine caractere ilegale."
#: ../java/build/Proxy.java:47
msgid ""
"If you clicked a link, check the end of the URI for any characters the "
"browser has mistakenly added on."
msgstr ""
"Dacă ați făcut clic pe un link, verificați sfârșitul URI pentru orice "
"caractere, pe care browser-ul a adăugat din greșeală ."
#: ../java/build/Proxy.java:48 ../java/build/Proxy.java:54
msgid "Warning: Invalid Destination"
msgstr "Atenție: Destinație incorecta"
#: ../java/build/Proxy.java:55
msgid ""
"The eepsite destination specified was not valid, or was otherwise "
"unreachable."
msgstr ""
"Destinația eepsite specificat nu a fost valabila, sau a fost inaccesibila."
#: ../java/build/Proxy.java:56
msgid ""
"Perhaps you pasted in the wrong Base 64 string or the link you are following "
"is bad."
msgstr ""
"Poate că ați inserat șir Base 64 greșit sau link-ul pe care urmează este "
"incorect."
#: ../java/build/Proxy.java:57
msgid "The I2P host could also be offline."
msgstr "I2P gazdă a putea fi, de asemenea, offline."
#: ../java/build/Proxy.java:58 ../java/build/Proxy.java:101
#, java-format
msgid "You may want to {0}retry{1}."
msgstr "Este posibil să doriți să {0} {1} încercați din nou."
#: ../java/build/Proxy.java:60 ../java/build/Proxy.java:66
msgid "Warning: Request Denied"
msgstr "Atenție: Cerere interzisa"
#: ../java/build/Proxy.java:67
msgid "You attempted to connect to a non-I2P website or location."
msgstr "Ați încercat să vă conectați la un site sau locație non-I2P ."
#: ../java/build/Proxy.java:68 ../java/build/Proxy.java:74
msgid "Warning: No Outproxy Configured"
msgstr "Atenție: Outproxy nu este configurată"
#: ../java/build/Proxy.java:75
msgid ""
"Your request was for a site outside of I2P, but you have no HTTP outproxy "
"configured."
msgstr ""
"Cererea Dvs a fost de un site in afara de I2P, dar nu aveți nici HTTP "
"outproxy configurat."
#: ../java/build/Proxy.java:76
msgid "Please configure an outproxy in I2PTunnel."
msgstr "Vă rugăm să configurați un outproxy în I2PTunnel."
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:83
msgid "Warning: Destination Key Conflict"
msgstr "Atenție: Conflictul destinație-cheie"
#: ../java/build/Proxy.java:84
msgid ""
"The addresshelper link you followed specifies a different destination key "
"than a host entry in your host database."
msgstr ""
"Link-ul addresshelper ați specificat o cheie de destinație diferită de o "
"intrare în baza de date gazdă."
#: ../java/build/Proxy.java:85
msgid ""
"Someone could be trying to impersonate another eepsite, or people have given "
"two eepsites identical names."
msgstr ""
"Cineva ar putea fi încercă să imita un alt eepsite, sau cineva au dat două "
"nume eepsite identice."
#: ../java/build/Proxy.java:86
msgid ""
"You can resolve the conflict by considering which key you trust, and either "
"discarding the addresshelper link, discarding the host entry from your host "
"database, or naming one of them differently."
msgstr ""
"Puteți rezolva conflictul, luând în considerare cheie in care aveți "
"încredere, și aruncând link addresshelper, aruncând intrarea gazda din baza "
"de date gazdă, sau denumirea unului dintre ei diferit."
#: ../java/build/Proxy.java:87
msgid "Proxy Authorization Required"
msgstr "Autentificare proxy necesară"
#: ../java/build/Proxy.java:88
msgid "I2P HTTP Proxy Authorization Required"
msgstr "Autentificare I2P HTTP proxy necesară"
#: ../java/build/Proxy.java:89
msgid "This proxy is configured to require a username and password for access."
msgstr ""
"Acest proxy este configurat pentru a necesita un nume de utilizator și o "
"parolă de acces."
#: ../java/build/Proxy.java:90
#, java-format
msgid ""
"Please enter your username and password, or check your {0}router "
"configuration{1} or {2}I2PTunnel configuration{3}."
msgstr ""
"Va rugam sa introduceti numele de utilizator si parola, sau verifica {0} "
"configurația router {1} sau {2} configurare I2PTunnel {3}."
#: ../java/build/Proxy.java:91
#, java-format
msgid ""
"To disable authorization, remove the configuration {0}i2ptunnel.proxy."
"auth=basic{1}, then stop and restart the HTTP Proxy tunnel."
msgstr ""
"Pentru a dezactiva autorizare, stergeti  configurarea {0} i2ptunnel.proxy."
"auth = basic {1}, apoi opriți și reporniți tunelul proxy HTTP."
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:98
msgid "Warning: Eepsite Unreachable"
msgstr "Atenție: Eepsite indisponibil"
#: ../java/build/Proxy.java:99
msgid "The eepsite was not reachable."
msgstr "Eepsite nu a fost accesibil."
#: ../java/build/Proxy.java:100
msgid ""
"The eepsite is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr ""
"Eepsite este deconectat, este congestionarea rețelei, sau router-ul nu este "
"încă bine integrat cu colegii."
#: ../java/build/Proxy.java:103
msgid "Information: New Host Name"
msgstr "Informații: Nume de gazda nou"
#: ../java/build/Proxy.java:109
msgid "Information: New Host Name with Address Helper"
msgstr "Informații:Nume de gazda nou cu adress helper"
#: ../java/build/Proxy.java:110
msgid ""
"The address helper link you followed is for a new host name that is not in "
"your address book."
msgstr ""
"Link-ul de adress helper pe care a urmat este pentru un nume de gazdă nou, "
"care nu este în agendă."
#: ../java/build/Proxy.java:111
msgid "You may save this host name to your local address book."
msgstr "Puteți salva acest nume gazdă în agenda dvs. locală."
#: ../java/build/Proxy.java:112
msgid ""
"If you save it to your address book, you will not see this message again."
msgstr "Dacă-l salvați în agenda dvs., nu veți mai vedea acest mesaj."
#: ../java/build/Proxy.java:113
msgid ""
"If you do not save it, the host name will be forgotten after the next router "
"restart."
msgstr ""
"Dacă nu-l salvați, numele de gazdă va fi uitat după următoarea repornire "
"router."
#: ../java/build/Proxy.java:114
msgid ""
"If you do not wish to visit this host, click the \"back\" button on your "
"browser."
msgstr ""
"Dacă nu doriți să vizitați această gazdă, faceți clic pe butonul \"Înapoi\" "
"din browser"
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:121
msgid "Warning: Bad Address Helper"
msgstr "Atenție: Adress Helper incorect"
#: ../java/build/Proxy.java:122
#, java-format
msgid "The helper key in the URL ({0}i2paddresshelper={1}) is not resolvable."
msgstr ""
"Cheia ajutor în URL-ul ({0} i2paddresshelper = {1}) nu este rezolvabila."
#: ../java/build/Proxy.java:123
msgid "It seems to be garbage data, or a mistyped Base 32 address."
msgstr "Se pare a fi date de gunoi, sau de o bază adresa 32 introdusă greșit."
#: ../java/build/Proxy.java:124
msgid ""
"Check your URL to try and fix the helper key to be a valid Base 32 hostname "
"or Base 64 key."
msgstr ""
"Verificați URL-ul dvs. pentru a încercarea și stabilirea cheii de ajutor "
"pentru a fi nume de gazdă Base34 sau cheie Base 64 validă."
#: ../java/build/Proxy.java:125 ../java/build/Proxy.java:131
msgid "Warning: Non-HTTP Protocol"
msgstr "Atenție: protocolul Non-HTTP"
#: ../java/build/Proxy.java:132
msgid "The request uses a bad protocol."
msgstr "Cererea utilizează un protocol incorect."
#: ../java/build/Proxy.java:133
#, java-format
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
msgstr "I2P HTTP Proxy suporta {0} numai cereri http:// {1} ."
#: ../java/build/Proxy.java:134
#, java-format
msgid ""
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
msgstr ""
"Alte protocoale, cum ar fi {0} https:// {1} și {0} ftp:// {1} nu sunt "
"permise."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:572
msgid "This seems to be a bad destination:"
msgstr "Aceasta pare a fi o destinație rea:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:572
msgid "i2paddresshelper cannot help you with a destination like that!"
msgstr "i2paddresshelper nu vă poate ajuta cu o destinație de genul asta!"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:639
#, java-format
msgid ""
"To visit the destination in your host database, click <a href=\"{0}\">here</"
"a>. To visit the conflicting addresshelper destination, click <a href="
"\"{1}\">here</a>."
msgstr ""
"Pentru a vizita destinație în baza de date gazdă, click <a href="
"\"{0}\">aici</a>.Pentru a vizita destinația addresshelper conflict, click<a "
"href=\"{1}\"> aici</a>"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1043
msgid "Host"
msgstr "Gazdă"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1047
msgid "Base 32"
msgstr "Base 32"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1051
msgid "Destination"
msgstr "Destinație"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1057
#, java-format
msgid "Continue to {0} without saving"
msgstr "Continuați {0} fără salvare"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1062
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "Salvați {0} în agendă router și continuă la eepsite"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1065
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "Salvați {0} în agenda master și continuă la eepsite"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1066
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Salvați {0} în agendă router privata și continuă la eepsite"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1181
msgid "HTTP Outproxy"
msgstr "OutProxy HTTP"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1217
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
"Faceți clic pe link-ul de mai jos pentru a cauta un adress helper prin "
"utilizarea unui serviciu de \"salt\":"
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1225
#, java-format
msgid "{0} jump service"
msgstr " serviciu salt {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:163
#, java-format
msgid "Added via address helper from {0}"
msgstr "Adăugat prin adresa de ajutor de la {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:165
msgid "Added via address helper"
msgstr "Adăugat prin adresa de ajutor"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:188
msgid "router"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:190
msgid "master"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:192
msgid "private"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:199
#, java-format
msgid "Redirecting to {0}"
msgstr "Redirecționare la {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:211
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "Salvate {0} in {1} agenda, redirecționarea acum."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:212
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "Salvarea {0} in agenda {1} a eșuat , redirecționarea acum."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:214
msgid "Click here if you are not redirected automatically."
msgstr "Clic aici dacă nu sunteți redirecționat automat."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More