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

to branch 'i2p.i2p.zzz.dhtsnark' (head 0562e4f429dcebf3f623d0975bd3a63d7645c0b7)
This commit is contained in:
zzz
2012-06-02 15:16:14 +00:00
64 changed files with 10331 additions and 8632 deletions

View File

@ -29,8 +29,12 @@ import net.i2p.I2PAppContext;
import net.i2p.I2PException; import net.i2p.I2PException;
import net.i2p.client.streaming.I2PServerSocket; import net.i2p.client.streaming.I2PServerSocket;
import net.i2p.client.streaming.I2PSocket; import net.i2p.client.streaming.I2PSocket;
import net.i2p.data.Hash;
import net.i2p.util.I2PAppThread; import net.i2p.util.I2PAppThread;
import net.i2p.util.Log; import net.i2p.util.Log;
import net.i2p.util.ObjectCounter;
import net.i2p.util.SimpleScheduler;
import net.i2p.util.SimpleTimer;
/** /**
* Accepts connections on a TCP port and routes them to sub-acceptors. * Accepts connections on a TCP port and routes them to sub-acceptors.
@ -41,11 +45,15 @@ public class ConnectionAcceptor implements Runnable
private I2PServerSocket serverSocket; private I2PServerSocket serverSocket;
private PeerAcceptor peeracceptor; private PeerAcceptor peeracceptor;
private Thread thread; private Thread thread;
private I2PSnarkUtil _util; private final I2PSnarkUtil _util;
private final ObjectCounter<Hash> _badCounter = new ObjectCounter();
private boolean stop; private boolean stop;
private boolean socketChanged; private boolean socketChanged;
private static final int MAX_BAD = 2;
private static final long BAD_CLEAN_INTERVAL = 30*60*1000;
public ConnectionAcceptor(I2PSnarkUtil util) { _util = util; } public ConnectionAcceptor(I2PSnarkUtil util) { _util = util; }
public synchronized void startAccepting(PeerCoordinatorSet set, I2PServerSocket socket) { public synchronized void startAccepting(PeerCoordinatorSet set, I2PServerSocket socket) {
@ -59,6 +67,7 @@ public class ConnectionAcceptor implements Runnable
thread = new I2PAppThread(this, "I2PSnark acceptor"); thread = new I2PAppThread(this, "I2PSnark acceptor");
thread.setDaemon(true); thread.setDaemon(true);
thread.start(); thread.start();
SimpleScheduler.getInstance().addPeriodicEvent(new Cleaner(), BAD_CLEAN_INTERVAL);
} }
} }
} }
@ -70,11 +79,10 @@ public class ConnectionAcceptor implements Runnable
this.peeracceptor = peeracceptor; this.peeracceptor = peeracceptor;
_util = util; _util = util;
socketChanged = false;
stop = false;
thread = new I2PAppThread(this, "I2PSnark acceptor"); thread = new I2PAppThread(this, "I2PSnark acceptor");
thread.setDaemon(true); thread.setDaemon(true);
thread.start(); thread.start();
SimpleScheduler.getInstance().addPeriodicEvent(new Cleaner(), BAD_CLEAN_INTERVAL);
} }
public void halt() public void halt()
@ -142,6 +150,12 @@ public class ConnectionAcceptor implements Runnable
try { socket.close(); } catch (IOException ioe) {} try { socket.close(); } catch (IOException ioe) {}
continue; continue;
} }
if (_badCounter.count(socket.getPeerDestination().calculateHash()) >= MAX_BAD) {
if (_log.shouldLog(Log.WARN))
_log.warn("Rejecting connection from " + socket.getPeerDestination().calculateHash() + " after " + MAX_BAD + " failures");
try { socket.close(); } catch (IOException ioe) {}
continue;
}
Thread t = new I2PAppThread(new Handler(socket), "I2PSnark incoming connection"); Thread t = new I2PAppThread(new Handler(socket), "I2PSnark incoming connection");
t.start(); t.start();
} }
@ -171,10 +185,12 @@ public class ConnectionAcceptor implements Runnable
} }
private class Handler implements Runnable { private class Handler implements Runnable {
private I2PSocket _socket; private final I2PSocket _socket;
public Handler(I2PSocket socket) { public Handler(I2PSocket socket) {
_socket = socket; _socket = socket;
} }
public void run() { public void run() {
try { try {
InputStream in = _socket.getInputStream(); InputStream in = _socket.getInputStream();
@ -182,13 +198,23 @@ public class ConnectionAcceptor implements Runnable
// this is for the readahead in PeerAcceptor.connection() // this is for the readahead in PeerAcceptor.connection()
in = new BufferedInputStream(in); in = new BufferedInputStream(in);
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug("Handling socket from " + _socket.getPeerDestination().calculateHash().toBase64()); _log.debug("Handling socket from " + _socket.getPeerDestination().calculateHash());
peeracceptor.connection(_socket, in, out); peeracceptor.connection(_socket, in, out);
} catch (PeerAcceptor.ProtocolException ihe) {
_badCounter.increment(_socket.getPeerDestination().calculateHash());
if (_log.shouldLog(Log.INFO))
_log.info("Protocol error from " + _socket.getPeerDestination().calculateHash(), ihe);
try { _socket.close(); } catch (IOException ignored) { }
} catch (IOException ioe) { } catch (IOException ioe) {
if (_log.shouldLog(Log.DEBUG)) if (_log.shouldLog(Log.DEBUG))
_log.debug("Error handling connection from " + _socket.getPeerDestination().calculateHash().toBase64(), ioe); _log.debug("Error handling connection from " + _socket.getPeerDestination().calculateHash(), ioe);
try { _socket.close(); } catch (IOException ignored) { } try { _socket.close(); } catch (IOException ignored) { }
} }
} }
} }
/** @since 0.9.1 */
private class Cleaner implements SimpleTimer.TimedEvent {
public void timeReached() { _badCounter.clear(); }
}
} }

View File

@ -20,6 +20,7 @@ import net.i2p.client.streaming.I2PSocket;
import net.i2p.client.streaming.I2PSocketEepGet; import net.i2p.client.streaming.I2PSocketEepGet;
import net.i2p.client.streaming.I2PSocketManager; import net.i2p.client.streaming.I2PSocketManager;
import net.i2p.client.streaming.I2PSocketManagerFactory; import net.i2p.client.streaming.I2PSocketManagerFactory;
import net.i2p.client.streaming.I2PSocketOptions;
import net.i2p.data.Base32; import net.i2p.data.Base32;
import net.i2p.data.DataFormatException; import net.i2p.data.DataFormatException;
import net.i2p.data.Destination; import net.i2p.data.Destination;
@ -210,6 +211,8 @@ public class I2PSnarkUtil {
// we don't need fast handshake for peer connections. // we don't need fast handshake for peer connections.
//if (opts.getProperty("i2p.streaming.connectDelay") == null) //if (opts.getProperty("i2p.streaming.connectDelay") == null)
// opts.setProperty("i2p.streaming.connectDelay", "500"); // opts.setProperty("i2p.streaming.connectDelay", "500");
if (opts.getProperty(I2PSocketOptions.PROP_CONNECT_TIMEOUT) == null)
opts.setProperty(I2PSocketOptions.PROP_CONNECT_TIMEOUT, "75000");
if (opts.getProperty("i2p.streaming.inactivityTimeout") == null) if (opts.getProperty("i2p.streaming.inactivityTimeout") == null)
opts.setProperty("i2p.streaming.inactivityTimeout", "240000"); opts.setProperty("i2p.streaming.inactivityTimeout", "240000");
if (opts.getProperty("i2p.streaming.inactivityAction") == null) if (opts.getProperty("i2p.streaming.inactivityAction") == null)
@ -225,7 +228,9 @@ public class I2PSnarkUtil {
if (opts.getProperty("i2p.streaming.maxConnsPerMinute") == null) if (opts.getProperty("i2p.streaming.maxConnsPerMinute") == null)
opts.setProperty("i2p.streaming.maxConnsPerMinute", "2"); opts.setProperty("i2p.streaming.maxConnsPerMinute", "2");
if (opts.getProperty("i2p.streaming.maxTotalConnsPerMinute") == null) if (opts.getProperty("i2p.streaming.maxTotalConnsPerMinute") == null)
opts.setProperty("i2p.streaming.maxTotalConnsPerMinute", "6"); opts.setProperty("i2p.streaming.maxTotalConnsPerMinute", "8");
if (opts.getProperty("i2p.streaming.maxConnsPerHour") == null)
opts.setProperty("i2p.streaming.maxConnsPerHour", "20");
_manager = I2PSocketManagerFactory.createManager(_i2cpHost, _i2cpPort, opts); _manager = I2PSocketManagerFactory.createManager(_i2cpHost, _i2cpPort, opts);
} }
// FIXME this only instantiates krpc once, left stuck with old manager // FIXME this only instantiates krpc once, left stuck with old manager
@ -452,14 +457,18 @@ public class I2PSnarkUtil {
_openTrackerString = ot; _openTrackerString = ot;
} }
/** Comma delimited list of open trackers to use as backups
* non-null but possibly empty
*/
public String getOpenTrackerString() { public String getOpenTrackerString() {
if (_openTrackerString == null) if (_openTrackerString == null)
return DEFAULT_OPENTRACKERS; return DEFAULT_OPENTRACKERS;
return _openTrackerString; return _openTrackerString;
} }
/** comma delimited list open trackers to use as backups */ /** List of open trackers to use as backups
/** sorted map of name to announceURL=baseURL */ * Null if disabled
*/
public List<String> getOpenTrackers() { public List<String> getOpenTrackers() {
if (!shouldUseOpenTrackers()) if (!shouldUseOpenTrackers())
return null; return null;

View File

@ -46,6 +46,10 @@ public class PeerAcceptor
private final PeerCoordinator coordinator; private final PeerCoordinator coordinator;
final PeerCoordinatorSet coordinators; final PeerCoordinatorSet coordinators;
/** shorten timeout while reading handshake */
private static final long HASH_READ_TIMEOUT = 45*1000;
public PeerAcceptor(PeerCoordinator coordinator) public PeerAcceptor(PeerCoordinator coordinator)
{ {
this.coordinator = coordinator; this.coordinator = coordinator;
@ -69,11 +73,20 @@ public class PeerAcceptor
// talk about, and we can just look for that in our list of active torrents. // talk about, and we can just look for that in our list of active torrents.
byte peerInfoHash[] = null; byte peerInfoHash[] = null;
if (in instanceof BufferedInputStream) { if (in instanceof BufferedInputStream) {
// multitorrent
in.mark(LOOKAHEAD_SIZE); in.mark(LOOKAHEAD_SIZE);
long timeout = socket.getReadTimeout();
socket.setReadTimeout(HASH_READ_TIMEOUT);
try {
peerInfoHash = readHash(in); peerInfoHash = readHash(in);
} catch (IOException ioe) {
// unique exception so ConnectionAcceptor can blame the peer
throw new ProtocolException(ioe.toString());
}
socket.setReadTimeout(timeout);
in.reset(); in.reset();
} else { } else {
// is this working right? // Single torrent - is this working right?
try { try {
peerInfoHash = readHash(in); peerInfoHash = readHash(in);
if (_log.shouldLog(Log.INFO)) if (_log.shouldLog(Log.INFO))
@ -130,22 +143,50 @@ public class PeerAcceptor
} }
} }
private static final String PROTO_STR = "BitTorrent protocol";
private static final int PROTO_STR_LEN = PROTO_STR.length();
private static final int PROTO_LEN = PROTO_STR_LEN + 1;
private static final int[] PROTO = new int[PROTO_LEN];
static {
PROTO[0] = PROTO_STR_LEN;
for (int i = 0; i < PROTO_STR_LEN; i++) {
PROTO[i+1] = PROTO_STR.charAt(i);
}
}
/** 48 */ /** 48 */
private static final int LOOKAHEAD_SIZE = 1 + // chr(19) private static final int LOOKAHEAD_SIZE = PROTO_LEN +
"BitTorrent protocol".length() +
8 + // blank, reserved 8 + // blank, reserved
20; // infohash 20; // infohash
/** /**
* Read ahead to the infohash, throwing an exception if there isn't enough data * Read ahead to the infohash, throwing an exception if there isn't enough data.
* Also check the first 20 bytes for the correct protocol here and throw IOE if bad,
* so we don't hang waiting for 48 bytes if it's not a bittorrent client.
* The 20 bytes are checked again in Peer.handshake().
*/ */
private byte[] readHash(InputStream in) throws IOException { private static byte[] readHash(InputStream in) throws IOException {
byte buf[] = new byte[LOOKAHEAD_SIZE]; for (int i = 0; i < PROTO_LEN; i++) {
int b = in.read();
if (b != PROTO[i])
throw new IOException("Bad protocol 0x" + Integer.toHexString(b) + " at byte " + i);
}
if (in.skip(8) != 8)
throw new IOException("EOF before hash");
byte buf[] = new byte[20];
int read = DataHelper.read(in, buf); int read = DataHelper.read(in, buf);
if (read != buf.length) if (read != buf.length)
throw new IOException("Unable to read the hash (read " + read + ")"); throw new IOException("Unable to read the hash (read " + read + ")");
byte rv[] = new byte[20]; return buf;
System.arraycopy(buf, buf.length-rv.length, rv, 0, rv.length); }
return rv;
/**
* A unique exception so we can tell the ConnectionAcceptor about non-BT connections
* @since 0.9.1
*/
public static class ProtocolException extends IOException {
public ProtocolException(String s) {
super(s);
}
} }
} }

View File

@ -371,7 +371,9 @@ class PeerCoordinator implements PeerListener
* @since 0.9.1 * @since 0.9.1
*/ */
public boolean needOutboundPeers() { public boolean needOutboundPeers() {
return wantedBytes != 0 && needPeers(); //return wantedBytes != 0 && needPeers();
// minus one to make it a little easier for new peers to get in on large swarms
return wantedBytes != 0 && !halted && peers.size() < getMaxConnections() - 1;
} }
/** /**
@ -1146,10 +1148,18 @@ class PeerCoordinator implements PeerListener
PartialPiece pp = iter.next(); PartialPiece pp = iter.next();
int savedPiece = pp.getPiece(); int savedPiece = pp.getPiece();
if (havePieces.get(savedPiece)) { if (havePieces.get(savedPiece)) {
iter.remove();
// this is just a double-check, it should be in there // this is just a double-check, it should be in there
boolean skipped = false;
for(Piece piece : wantedPieces) { for(Piece piece : wantedPieces) {
if (piece.getId() == savedPiece) { if (piece.getId() == savedPiece) {
if (peer.isCompleted() && piece.getPeerCount() > 1) {
// Try to preserve rarest-first when we have only one seeder
// by not preferring a partial piece that others have too
// from a seeder
skipped = true;
break;
}
iter.remove();
piece.setRequested(peer, true); piece.setRequested(peer, true);
if (_log.shouldLog(Log.INFO)) { if (_log.shouldLog(Log.INFO)) {
_log.info("Restoring orphaned partial piece " + pp + _log.info("Restoring orphaned partial piece " + pp +
@ -1158,10 +1168,14 @@ class PeerCoordinator implements PeerListener
return pp; return pp;
} }
} }
if (_log.shouldLog(Log.WARN)) if (_log.shouldLog(Log.WARN)) {
if (skipped)
_log.warn("Partial piece " + pp + " with multiple peers skipped for seeder");
else
_log.warn("Partial piece " + pp + " NOT in wantedPieces??"); _log.warn("Partial piece " + pp + " NOT in wantedPieces??");
} }
} }
}
if (_log.shouldLog(Log.WARN) && !partialPieces.isEmpty()) if (_log.shouldLog(Log.WARN) && !partialPieces.isEmpty())
_log.warn("Peer " + peer + " has none of our partials " + partialPieces); _log.warn("Peer " + peer + " has none of our partials " + partialPieces);
} }

View File

@ -57,6 +57,15 @@ class Piece implements Comparable {
/** caller must synchronize */ /** caller must synchronize */
public boolean removePeer(Peer peer) { return this.peers.remove(peer.getPeerID()); } public boolean removePeer(Peer peer) { return this.peers.remove(peer.getPeerID()); }
/**
* How many peers have this piece?
* Caller must synchronize
* @since 0.9.1
*/
public int getPeerCount() {
return this.peers.size();
}
/** caller must synchronize */ /** caller must synchronize */
public boolean isRequested() { public boolean isRequested() {
return this.requests != null && !this.requests.isEmpty(); return this.requests != null && !this.requests.isEmpty();

View File

@ -365,7 +365,7 @@ public class SnarkManager implements Snark.CompleteListener {
public void updateConfig(String dataDir, boolean filesPublic, boolean autoStart, String refreshDelay, public void updateConfig(String dataDir, boolean filesPublic, boolean autoStart, String refreshDelay,
String startDelay, String seedPct, String eepHost, String startDelay, String seedPct, String eepHost,
String eepPort, String i2cpHost, String i2cpPort, String i2cpOpts, String eepPort, String i2cpHost, String i2cpPort, String i2cpOpts,
String upLimit, String upBW, boolean useOpenTrackers, String openTrackers, String theme) { String upLimit, String upBW, boolean useOpenTrackers, String theme) {
boolean changed = false; boolean changed = false;
//if (eepHost != null) { //if (eepHost != null) {
// // unused, we use socket eepget // // unused, we use socket eepget
@ -549,14 +549,6 @@ public class SnarkManager implements Snark.CompleteListener {
_util.setUseOpenTrackers(useOpenTrackers); _util.setUseOpenTrackers(useOpenTrackers);
changed = true; changed = true;
} }
if (openTrackers != null) {
if (openTrackers.trim().length() > 0 && !openTrackers.trim().equals(_util.getOpenTrackerString())) {
_config.setProperty(PROP_OPENTRACKERS, openTrackers.trim());
_util.setOpenTrackerString(openTrackers);
addMessage(_("Open Tracker list changed - torrent restart required to take effect."));
changed = true;
}
}
if (theme != null) { if (theme != null) {
if(!theme.equals(_config.getProperty(PROP_THEME))) { if(!theme.equals(_config.getProperty(PROP_THEME))) {
_config.setProperty(PROP_THEME, theme); _config.setProperty(PROP_THEME, theme);
@ -571,6 +563,20 @@ public class SnarkManager implements Snark.CompleteListener {
} }
} }
/**
* @param ot null to restore default
* @since 0.9.1
*/
public void saveOpenTrackers(String ot) {
_util.setOpenTrackerString(ot);
if (ot != null)
_config.setProperty(PROP_OPENTRACKERS, ot);
else
_config.remove(PROP_OPENTRACKERS);
addMessage(_("Open Tracker list changed - torrent restart required to take effect."));
saveConfig();
}
public void saveConfig() { public void saveConfig() {
try { try {
synchronized (_configFile) { synchronized (_configFile) {
@ -1442,7 +1448,7 @@ public class SnarkManager implements Snark.CompleteListener {
String name = toks[i].trim().replace("&#44;", ","); String name = toks[i].trim().replace("&#44;", ",");
String url = toks[i+1].trim().replace("&#44;", ","); String url = toks[i+1].trim().replace("&#44;", ",");
if ( (name.length() > 0) && (url.length() > 0) ) { if ( (name.length() > 0) && (url.length() > 0) ) {
String urls[] = DEFAULT_TRACKERS[i+1].split("=", 2); String urls[] = url.split("=", 2);
String url2 = urls.length > 1 ? urls[1] : null; String url2 = urls.length > 1 ? urls[1] : null;
_trackerMap.put(name, new Tracker(name, urls[0], url2)); _trackerMap.put(name, new Tracker(name, urls[0], url2));
} }

View File

@ -260,7 +260,7 @@ public class TrackerClient extends I2PAppThread
for (Iterator iter = trackers.iterator(); iter.hasNext(); ) { for (Iterator iter = trackers.iterator(); iter.hasNext(); ) {
Tracker tr = (Tracker)iter.next(); Tracker tr = (Tracker)iter.next();
if ((!stop) && (!tr.stop) && if ((!stop) && (!tr.stop) &&
(completed || coordinator.needOutboundPeers()) && (completed || coordinator.needOutboundPeers() || !tr.started) &&
(event.equals(COMPLETED_EVENT) || System.currentTimeMillis() > tr.lastRequestTime + tr.interval)) (event.equals(COMPLETED_EVENT) || System.currentTimeMillis() > tr.lastRequestTime + tr.interval))
{ {
try try
@ -298,7 +298,7 @@ public class TrackerClient extends I2PAppThread
List<Peer> ordered = new ArrayList(peers); List<Peer> ordered = new ArrayList(peers);
Collections.shuffle(ordered, r); Collections.shuffle(ordered, r);
Iterator<Peer> it = ordered.iterator(); Iterator<Peer> it = ordered.iterator();
while ((!stop) && it.hasNext()) { while ((!stop) && it.hasNext() && coordinator.needOutboundPeers()) {
Peer cur = it.next(); Peer cur = it.next();
// FIXME if id == us || dest == us continue; // FIXME if id == us || dest == us continue;
// only delay if we actually make an attempt to add peer // only delay if we actually make an attempt to add peer
@ -351,7 +351,7 @@ public class TrackerClient extends I2PAppThread
} }
Collections.shuffle(peers, r); Collections.shuffle(peers, r);
Iterator<Peer> it = peers.iterator(); Iterator<Peer> it = peers.iterator();
while ((!stop) && it.hasNext()) { while ((!stop) && it.hasNext() && coordinator.needOutboundPeers()) {
Peer cur = it.next(); Peer cur = it.next();
if (coordinator.addPeer(cur) && it.hasNext()) { if (coordinator.addPeer(cur) && it.hasNext()) {
int delay = (DELAY_MUL * r.nextInt(10)) + DELAY_MIN; int delay = (DELAY_MUL * r.nextInt(10)) + DELAY_MIN;
@ -387,7 +387,7 @@ public class TrackerClient extends I2PAppThread
} }
Collections.shuffle(peers, r); Collections.shuffle(peers, r);
Iterator<Peer> it = peers.iterator(); Iterator<Peer> it = peers.iterator();
while ((!stop) && it.hasNext()) { while ((!stop) && it.hasNext() && coordinator.needOutboundPeers()) {
Peer cur = it.next(); Peer cur = it.next();
if (coordinator.addPeer(cur) && it.hasNext()) { if (coordinator.addPeer(cur) && it.hasNext()) {
int delay = (DELAY_MUL * r.nextInt(10)) + DELAY_MIN; int delay = (DELAY_MUL * r.nextInt(10)) + DELAY_MIN;

View File

@ -4,6 +4,9 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.Collator; import java.text.Collator;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -690,11 +693,11 @@ public class I2PSnarkServlet extends DefaultServlet {
String refreshDel = req.getParameter("refreshDelay"); String refreshDel = req.getParameter("refreshDelay");
String startupDel = req.getParameter("startupDelay"); String startupDel = req.getParameter("startupDelay");
boolean useOpenTrackers = req.getParameter("useOpenTrackers") != null; boolean useOpenTrackers = req.getParameter("useOpenTrackers") != null;
String openTrackers = req.getParameter("openTrackers"); //String openTrackers = req.getParameter("openTrackers");
String theme = req.getParameter("theme"); String theme = req.getParameter("theme");
_manager.updateConfig(dataDir, filesPublic, autoStart, refreshDel, startupDel, _manager.updateConfig(dataDir, filesPublic, autoStart, refreshDel, startupDel,
seedPct, eepHost, eepPort, i2cpHost, i2cpPort, i2cpOpts, seedPct, eepHost, eepPort, i2cpHost, i2cpPort, i2cpOpts,
upLimit, upBW, useOpenTrackers, openTrackers, theme); upLimit, upBW, useOpenTrackers, theme);
} else if ("Save2".equals(action)) { } else if ("Save2".equals(action)) {
String taction = req.getParameter("taction"); String taction = req.getParameter("taction");
if (taction != null) if (taction != null)
@ -768,26 +771,35 @@ public class I2PSnarkServlet extends DefaultServlet {
/** @since 0.9 */ /** @since 0.9 */
private void processTrackerForm(String action, HttpServletRequest req) { private void processTrackerForm(String action, HttpServletRequest req) {
if (action.equals(_("Delete selected"))) { if (action.equals(_("Delete selected")) || action.equals(_("Change open trackers"))) {
boolean changed = false; boolean changed = false;
Map<String, Tracker> trackers = _manager.getTrackerMap(); Map<String, Tracker> trackers = _manager.getTrackerMap();
StringBuilder openBuf = new StringBuilder(128);
Enumeration e = req.getParameterNames(); Enumeration e = req.getParameterNames();
while (e.hasMoreElements()) { while (e.hasMoreElements()) {
Object o = e.nextElement(); Object o = e.nextElement();
if (!(o instanceof String)) if (!(o instanceof String))
continue; continue;
String k = (String) o; String k = (String) o;
if (!k.startsWith("delete_")) if (k.startsWith("delete_")) {
continue;
k = k.substring(7); k = k.substring(7);
if (trackers.remove(k) != null) { if (trackers.remove(k) != null) {
_manager.addMessage(_("Removed") + ": " + k); _manager.addMessage(_("Removed") + ": " + k);
changed = true; changed = true;
} }
} else if (k.startsWith("open_")) {
if (openBuf.length() > 0)
openBuf.append(',');
openBuf.append(k.substring(5));
}
} }
if (changed) { if (changed) {
_manager.saveTrackerMap(); _manager.saveTrackerMap();
} }
String newOpen = openBuf.toString();
if (!newOpen.equals(_manager.util().getOpenTrackerString())) {
_manager.saveOpenTrackers(newOpen);
}
} else if (action.equals(_("Add tracker"))) { } else if (action.equals(_("Add tracker"))) {
String name = req.getParameter("tname"); String name = req.getParameter("tname");
String hurl = req.getParameter("thurl"); String hurl = req.getParameter("thurl");
@ -800,6 +812,11 @@ public class I2PSnarkServlet extends DefaultServlet {
Map<String, Tracker> trackers = _manager.getTrackerMap(); Map<String, Tracker> trackers = _manager.getTrackerMap();
trackers.put(name, new Tracker(name, aurl, hurl)); trackers.put(name, new Tracker(name, aurl, hurl));
_manager.saveTrackerMap(); _manager.saveTrackerMap();
if (req.getParameter("_add_open_") != null) {
String oldOpen = _manager.util().getOpenTrackerString();
String newOpen = oldOpen.length() <= 0 ? aurl : oldOpen + ',' + aurl;
_manager.saveOpenTrackers(newOpen);
}
} else { } else {
_manager.addMessage(_("Enter valid tracker name and URLs")); _manager.addMessage(_("Enter valid tracker name and URLs"));
} }
@ -808,6 +825,7 @@ public class I2PSnarkServlet extends DefaultServlet {
} }
} else if (action.equals(_("Restore defaults"))) { } else if (action.equals(_("Restore defaults"))) {
_manager.setDefaultTrackerMap(); _manager.setDefaultTrackerMap();
_manager.saveOpenTrackers(null);
_manager.addMessage(_("Restored default trackers")); _manager.addMessage(_("Restored default trackers"));
} else { } else {
_manager.addMessage("Unknown POST action: \"" + action + '\"'); _manager.addMessage("Unknown POST action: \"" + action + '\"');
@ -1419,7 +1437,7 @@ public class I2PSnarkServlet extends DefaultServlet {
boolean filesPublic = _manager.areFilesPublic(); boolean filesPublic = _manager.areFilesPublic();
boolean autoStart = _manager.shouldAutoStart(); boolean autoStart = _manager.shouldAutoStart();
boolean useOpenTrackers = _manager.util().shouldUseOpenTrackers(); boolean useOpenTrackers = _manager.util().shouldUseOpenTrackers();
String openTrackers = _manager.util().getOpenTrackerString(); //String openTrackers = _manager.util().getOpenTrackerString();
//int seedPct = 0; //int seedPct = 0;
out.write("<form action=\"/i2psnark/configure\" method=\"POST\">\n" + out.write("<form action=\"/i2psnark/configure\" method=\"POST\">\n" +
@ -1521,7 +1539,7 @@ public class I2PSnarkServlet extends DefaultServlet {
"<tr><td>"); "<tr><td>");
out.write(_("Up bandwidth limit")); out.write(_("Up bandwidth limit"));
out.write(": <td><input type=\"text\" name=\"upBW\" class=\"r\" value=\"" out.write(": <td><input type=\"text\" name=\"upBW\" class=\"r\" value=\""
+ _manager.util().getMaxUpBW() + "\" size=\"3\" maxlength=\"3\" > KBps <i>"); + _manager.util().getMaxUpBW() + "\" size=\"4\" maxlength=\"4\" > KBps <i>");
out.write(_("Half available bandwidth recommended.")); out.write(_("Half available bandwidth recommended."));
out.write("<br><a href=\"/config.jsp\" target=\"blank\">"); out.write("<br><a href=\"/config.jsp\" target=\"blank\">");
out.write(_("View or change router bandwidth")); out.write(_("View or change router bandwidth"));
@ -1533,12 +1551,12 @@ public class I2PSnarkServlet extends DefaultServlet {
+ (useOpenTrackers ? "checked " : "") + (useOpenTrackers ? "checked " : "")
+ "title=\""); + "title=\"");
out.write(_("If checked, announce torrents to open trackers as well as the tracker listed in the torrent file")); out.write(_("If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"));
out.write("\" > " + out.write("\" ></td></tr>\n");
"<tr><td>"); // "<tr><td>");
out.write(_("Open tracker announce URLs")); //out.write(_("Open tracker announce URLs"));
out.write(": <td><input type=\"text\" name=\"openTrackers\" value=\"" //out.write(": <td><input type=\"text\" name=\"openTrackers\" value=\""
+ openTrackers + "\" size=\"50\" ><br>\n"); // + openTrackers + "\" size=\"50\" ><br>\n");
//out.write("\n"); //out.write("\n");
//out.write("EepProxy host: <input type=\"text\" name=\"eepHost\" value=\"" //out.write("EepProxy host: <input type=\"text\" name=\"eepHost\" value=\""
@ -1610,27 +1628,37 @@ public class I2PSnarkServlet extends DefaultServlet {
.append("</th><th>") .append("</th><th>")
.append(_("Website URL")) .append(_("Website URL"))
.append("</th><th>") .append("</th><th>")
.append(_("Open Tracker?"))
.append("</th><th>")
.append(_("Announce URL")) .append(_("Announce URL"))
.append("</th></tr>\n"); .append("</th></tr>\n");
List<String> openTrackers = _manager.util().getOpenTrackers();
for (Tracker t : _manager.getSortedTrackers()) { for (Tracker t : _manager.getSortedTrackers()) {
String name = t.name; String name = t.name;
String homeURL = t.baseURL; String homeURL = t.baseURL;
String announceURL = t.announceURL.replace("&#61;", "="); String announceURL = t.announceURL.replace("&#61;", "=");
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"delete_") buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"delete_")
.append(name).append("\">" + .append(name).append("\" title=\"").append(_("Delete")).append("\">" +
"</td><td align=\"left\">").append(name) "</td><td align=\"left\">").append(name)
.append("</td><td align=\"left\">").append(urlify(homeURL, 35)) .append("</td><td align=\"left\">").append(urlify(homeURL, 35))
.append("</td><td align=\"left\">").append(urlify(announceURL, 35)) .append("</td><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"open_")
.append(announceURL).append("\"");
if (openTrackers != null && openTrackers.contains(t.announceURL))
buf.append(" checked=\"checked\"");
buf.append(">" +
"</td><td align=\"left\">").append(urlify(announceURL, 35))
.append("</td></tr>\n"); .append("</td></tr>\n");
} }
buf.append("<tr><td align=\"center\"><b>") buf.append("<tr><td align=\"center\"><b>")
.append(_("Add")).append(":</b></td>" + .append(_("Add")).append(":</b></td>" +
"<td align=\"left\"><input type=\"text\" size=\"16\" name=\"tname\"></td>" + "<td align=\"left\"><input type=\"text\" size=\"16\" name=\"tname\"></td>" +
"<td align=\"left\"><input type=\"text\" size=\"40\" name=\"thurl\"></td>" + "<td align=\"left\"><input type=\"text\" size=\"40\" name=\"thurl\"></td>" +
"<td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"_add_open_\"></td>" +
"<td align=\"left\"><input type=\"text\" size=\"40\" name=\"taurl\"></td></tr>\n" + "<td align=\"left\"><input type=\"text\" size=\"40\" name=\"taurl\"></td></tr>\n" +
"<tr><td colspan=\"2\"></td><td colspan=\"2\" align=\"left\">\n" + "<tr><td colspan=\"2\"></td><td colspan=\"3\" align=\"left\">\n" +
"<input type=\"submit\" name=\"taction\" class=\"default\" value=\"").append(_("Add tracker")).append("\">\n" + "<input type=\"submit\" name=\"taction\" class=\"default\" value=\"").append(_("Add tracker")).append("\">\n" +
"<input type=\"submit\" name=\"taction\" class=\"delete\" value=\"").append(_("Delete selected")).append("\">\n" + "<input type=\"submit\" name=\"taction\" class=\"delete\" value=\"").append(_("Delete selected")).append("\">\n" +
"<input type=\"submit\" name=\"taction\" class=\"accept\" value=\"").append(_("Change open trackers")).append("\">\n" +
// "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" + // "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" +
"<input type=\"submit\" name=\"taction\" class=\"reload\" value=\"").append(_("Restore defaults")).append("\">\n" + "<input type=\"submit\" name=\"taction\" class=\"reload\" value=\"").append(_("Restore defaults")).append("\">\n" +
"<input type=\"submit\" name=\"taction\" class=\"add\" value=\"").append(_("Add tracker")).append("\">\n" + "<input type=\"submit\" name=\"taction\" class=\"add\" value=\"").append(_("Add tracker")).append("\">\n" +
@ -1647,7 +1675,7 @@ public class I2PSnarkServlet extends DefaultServlet {
} }
/** /**
* @param url in base32 or hex, xt must be first magnet param * @param url in base32 or hex
* @since 0.8.4 * @since 0.8.4
*/ */
private void addMagnet(String url) { private void addMagnet(String url) {
@ -1662,7 +1690,7 @@ public class I2PSnarkServlet extends DefaultServlet {
return; return;
} }
ihash = xt.substring("urn:btih:".length()); ihash = xt.substring("urn:btih:".length());
trackerURL = getParam("tr", url); trackerURL = getTrackerParam(url);
name = "Magnet " + ihash; name = "Magnet " + ihash;
String dn = getParam("dn", url); String dn = getParam("dn", url);
if (dn != null) if (dn != null)
@ -1698,6 +1726,9 @@ public class I2PSnarkServlet extends DefaultServlet {
_manager.addMagnet(name, ih, trackerURL, true); _manager.addMagnet(name, ih, trackerURL, true);
} }
/**
* @return first decoded parameter or null
*/
private static String getParam(String key, String uri) { private static String getParam(String key, String uri) {
int idx = uri.indexOf('?' + key + '='); int idx = uri.indexOf('?' + key + '=');
if (idx >= 0) { if (idx >= 0) {
@ -1715,9 +1746,100 @@ public class I2PSnarkServlet extends DefaultServlet {
rv = rv.substring(0, idx); rv = rv.substring(0, idx);
else else
rv = rv.trim(); rv = rv.trim();
return decode(rv);
}
/**
* @return all decoded parameters or null
* @since 0.9.1
*/
private static List<String> getMultiParam(String key, String uri) {
int idx = uri.indexOf('?' + key + '=');
if (idx >= 0) {
idx += key.length() + 2;
} else {
idx = uri.indexOf('&' + key + '=');
if (idx >= 0)
idx += key.length() + 2;
}
if (idx < 0 || idx > uri.length())
return null;
List<String> rv = new ArrayList();
while (true) {
String p = uri.substring(idx);
uri = p;
idx = p.indexOf('&');
if (idx >= 0)
p = p.substring(0, idx);
else
p = p.trim();
rv.add(decode(p));
idx = uri.indexOf('&' + key + '=');
if (idx < 0)
break;
idx += key.length() + 2;
}
return rv; return rv;
} }
/**
* @return first valid I2P tracker or null
* @since 0.9.1
*/
private static String getTrackerParam(String uri) {
List<String> trackers = getMultiParam("tr", uri);
if (trackers == null)
return null;
for (String t : trackers) {
try {
URI u = new URI(t);
String protocol = u.getScheme();
String host = u.getHost();
if (protocol == null || host == null ||
!protocol.toLowerCase(Locale.US).equals("http") ||
!host.toLowerCase(Locale.US).endsWith(".i2p"))
continue;
return t;
} catch(URISyntaxException use) {}
}
return null;
}
/**
* Decode %xx encoding, convert to UTF-8 if necessary
* Copied from i2ptunnel LocalHTTPServer
* @since 0.9.1
*/
private static String decode(String s) {
if (!s.contains("%"))
return s;
StringBuilder buf = new StringBuilder(s.length());
boolean utf8 = false;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c != '%') {
buf.append(c);
} else {
try {
int val = Integer.parseInt(s.substring(++i, (++i) + 1), 16);
if ((val & 0x80) != 0)
utf8 = true;
buf.append((char) val);
} catch (IndexOutOfBoundsException ioobe) {
break;
} catch (NumberFormatException nfe) {
break;
}
}
}
if (utf8) {
try {
return new String(buf.toString().getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException uee) {}
}
return buf.toString();
}
/** copied from ConfigTunnelsHelper */ /** copied from ConfigTunnelsHelper */
private static final String HOP = "hop"; private static final String HOP = "hop";
private static final String TUNNEL = "tunnel"; private static final String TUNNEL = "tunnel";

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 "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-05 19:46+0000\n" "POT-Creation-Date: 2012-05-25 12:35+0000\n"
"PO-Revision-Date: 2012-04-27 04:54+0000\n" "PO-Revision-Date: 2012-04-27 04:54+0000\n"
"Last-Translator: blabla <blabla@trash-mail.com>\n" "Last-Translator: blabla <blabla@trash-mail.com>\n"
"Language-Team: German (http://www.transifex.net/projects/p/I2P/language/" "Language-Team: German (http://www.transifex.net/projects/p/I2P/language/"
@ -49,7 +49,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:151 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:151
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:406 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:408
msgid "Host" msgid "Host"
msgstr "Host" msgstr "Host"
@ -58,7 +58,7 @@ msgid "Base 32"
msgstr "Base 32" msgstr "Base 32"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1016 #: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1016
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:376 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:378
msgid "Destination" msgid "Destination"
msgstr "Ziel" msgstr "Ziel"
@ -223,12 +223,12 @@ msgid "HTTP bidir"
msgstr "HTTP Bidir" msgstr "HTTP Bidir"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:555 #: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:555
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:301 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:303
msgid "Host not set" msgid "Host not set"
msgstr "Host nicht gesetzt" msgstr "Host nicht gesetzt"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:559 #: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:559
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:285
msgid "Port not set" msgid "Port not set"
msgstr "Port nicht gesetzt" msgstr "Port nicht gesetzt"
@ -246,26 +246,26 @@ msgstr "Neue Proxyeinstellungen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:119 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:135
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:268 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:270
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:322 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:324
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:292
msgid "Type" msgid "Type"
msgstr "Typ" msgstr "Typ"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:129 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:395 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:326 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:328
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
@ -291,27 +291,27 @@ msgstr "benötigt"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:167 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:186 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:186
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:475 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:477
msgid "Reachable by" msgid "Reachable by"
msgstr "Erreichbar von" msgstr "Erreichbar von"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:188 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:188
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:354 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:356
msgid "Outproxies" msgid "Outproxies"
msgstr "Ausgehende Proxies" msgstr "Ausgehende Proxies"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:374 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:376
msgid "Tunnel Destination" msgid "Tunnel Destination"
msgstr "Ziel des Tunnels" msgstr "Ziel des Tunnels"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:378 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:380
msgid "name or destination" msgid "name or destination"
msgstr "Name oder Ziel" msgstr "Name oder Ziel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:210 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:210
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:381 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:383
msgid "b32 not recommended" msgid "b32 not recommended"
msgstr "B32-Adressen nicht empfohlen" msgstr "B32-Adressen nicht empfohlen"
@ -329,14 +329,14 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:515 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:517
msgid "Auto Start" msgid "Auto Start"
msgstr "Automatischer Start" msgstr "Automatischer Start"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:519 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:521
msgid "(Check the Box for 'YES')" msgid "(Check the Box for 'YES')"
msgstr "(Aktiviere das Kästchen für 'ja')" msgstr "(Aktiviere das Kästchen für 'ja')"
@ -531,9 +531,9 @@ msgstr "I2CP-Adresse des Routers"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:409 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:413 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:413
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:277 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:279
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:427 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:429
msgid "Port" msgid "Port"
msgstr "Port" msgstr "Port"
@ -637,7 +637,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:525 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:525
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:695 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:697
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
@ -784,179 +784,179 @@ msgstr "Zertifikat modifizieren"
msgid "Modify" msgid "Modify"
msgstr "Modifizieren" msgstr "Modifizieren"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:81 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
msgid "I2P Tunnel Manager - List" msgid "I2P Tunnel Manager - List"
msgstr "I2P-Tunnel-Manager - Liste" msgstr "I2P-Tunnel-Manager - Liste"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:93 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
msgid "Status Messages" msgid "Status Messages"
msgstr "Statusnachrichten" msgstr "Statusnachrichten"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:97 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
msgid "Refresh" msgid "Refresh"
msgstr "Auffrischen" msgstr "Auffrischen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:101
msgid "Tunnel Wizard" msgid "Tunnel Wizard"
msgstr "Tunnel Wizard" msgstr "Tunnel Wizard"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
msgid "Stop All" msgid "Stop All"
msgstr "Alle stoppen" msgstr "Alle stoppen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:107 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
msgid "Start All" msgid "Start All"
msgstr "Alle starten" msgstr "Alle starten"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:111 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
msgid "Restart All" msgid "Restart All"
msgstr "Alle neustarten" msgstr "Alle neustarten"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:115 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:117
msgid "Reload Config" msgid "Reload Config"
msgstr "Konfiguration neu einlesen" msgstr "Konfiguration neu einlesen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:117 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:119
msgid "I2P Server Tunnels" msgid "I2P Server Tunnels"
msgstr "I2P-Servertunnel" msgstr "I2P-Servertunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:123
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:142 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:144
msgid "Points at" msgid "Points at"
msgstr "Läuft auf" msgstr "Läuft auf"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:123 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:164 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:168 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:170
msgid "Preview" msgid "Preview"
msgstr "Vorschau" msgstr "Vorschau"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:127
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:188 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:190
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:308 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:310
msgid "Status" msgid "Status"
msgstr "Status" msgstr "Status"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:176
msgid "Base32 Address" msgid "Base32 Address"
msgstr "Basis-32-Adresse" msgstr "Basis-32-Adresse"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:182 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:184
msgid "No Preview" msgid "No Preview"
msgstr "Keine Vorschau" msgstr "Keine Vorschau"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:197
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:315 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:317
msgid "Starting..." msgid "Starting..."
msgstr "Starte ..." msgstr "Starte ..."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:202 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:204
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:216 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:218
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:322 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:324
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:336 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:338
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:352
msgid "Stop" msgid "Stop"
msgstr "Stopp" msgstr "Stopp"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:209 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:211
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:343 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:345
msgid "Running" msgid "Running"
msgstr "Aktiv" msgstr "Aktiv"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:225
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:357 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:359
msgid "Stopped" msgid "Stopped"
msgstr "Gestoppt" msgstr "Gestoppt"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:230 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:232
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:364 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
msgid "Start" msgid "Start"
msgstr "Start" msgstr "Start"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247
msgid "New server tunnel" msgid "New server tunnel"
msgstr "Neuer Servertunnel" msgstr "Neuer Servertunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:405 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:407
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:219 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:221
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:261 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:291 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:293
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:297 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:299
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:569 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:571
msgid "Standard" msgid "Standard"
msgstr "Standard" msgstr "Standard"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:407 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:409
msgid "Create" msgid "Create"
msgstr "Erstellen" msgstr "Erstellen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
msgid "I2P Client Tunnels" msgid "I2P Client Tunnels"
msgstr "I2P-Klienten-Tunnel" msgstr "I2P-Klienten-Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:294 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:296
msgid "Interface" msgid "Interface"
msgstr "Interface" msgstr "Interface"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:329 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:331
msgid "Standby" msgid "Standby"
msgstr "Wartestellung" msgstr "Wartestellung"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:373 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:375
msgid "Outproxy" msgid "Outproxy"
msgstr "Ausgehender Proxy" msgstr "Ausgehender Proxy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:390 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:392
msgid "none" msgid "none"
msgstr "Keiner" msgstr "Keiner"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:403 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:405
msgid "New client tunnel" msgid "New client tunnel"
msgstr "Neuer Kliententunnel" msgstr "Neuer Kliententunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:117 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:119
msgid "I2P Tunnel Manager - Tunnel Creation Wizard" msgid "I2P Tunnel Manager - Tunnel Creation Wizard"
msgstr "I2P Tunnel Verwaltung - Tunnel aufsetz Wizard" msgstr "I2P Tunnel Verwaltung - Tunnel aufsetz Wizard"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:135 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:560 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:562
msgid "Server or client tunnel?" msgid "Server or client tunnel?"
msgstr "Server oder Client Tunnel ?" msgstr "Server oder Client Tunnel ?"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:141 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:143
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:564 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:566
msgid "Tunnel type" msgid "Tunnel type"
msgstr "Tunnel Typ" msgstr "Tunnel Typ"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:147 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:149
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:594 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:596
msgid "Tunnel name and description" msgid "Tunnel name and description"
msgstr "Tunnel Name und Beschreibung" msgstr "Tunnel Name und Beschreibung"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:153 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:155
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:603 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:605
msgid "Tunnel destination" msgid "Tunnel destination"
msgstr "Tunnel Ziel" msgstr "Tunnel Ziel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:159 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:161
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:619 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:621
msgid "Binding address and port" msgid "Binding address and port"
msgstr "Adresse und Port" msgstr "Adresse und Port"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:165 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:645 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:647
msgid "Tunnel auto-start" msgid "Tunnel auto-start"
msgstr "Tunnel automatisch starten ?" msgstr "Tunnel automatisch starten ?"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:171 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:173
msgid "Wizard completed" msgid "Wizard completed"
msgstr "Wizard abgeschlossen" msgstr "Wizard abgeschlossen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:185 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:187
msgid "" msgid ""
"This wizard will take you through the various options available for creating " "This wizard will take you through the various options available for creating "
"tunnels in I2P." "tunnels in I2P."
@ -964,7 +964,7 @@ msgstr ""
"Dieser Assisten wird durch die unterschiedlichen Optionen führen die zur " "Dieser Assisten wird durch die unterschiedlichen Optionen führen die zur "
"Erstellung von I2P Tunneln verfügbar sind." "Erstellung von I2P Tunneln verfügbar sind."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:187 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189
msgid "" msgid ""
"The first thing to decide is whether you want to create a server or a client " "The first thing to decide is whether you want to create a server or a client "
"tunnel." "tunnel."
@ -972,7 +972,7 @@ msgstr ""
"Das erste zu entscheiden ist, ob es ein Server oder Client Tunnel werden " "Das erste zu entscheiden ist, ob es ein Server oder Client Tunnel werden "
"soll." "soll."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:191
msgid "" msgid ""
"If you need to connect to a remote service, such as an IRC server inside I2P " "If you need to connect to a remote service, such as an IRC server inside I2P "
"or a code repository, then you will require a CLIENT tunnel." "or a code repository, then you will require a CLIENT tunnel."
@ -980,7 +980,7 @@ msgstr ""
"Um auf einen I2P Service innerhalb des Netzes zuzugreifen (z.b. SVN), musst " "Um auf einen I2P Service innerhalb des Netzes zuzugreifen (z.b. SVN), musst "
"ein Client Tunnel erstellt werden." "ein Client Tunnel erstellt werden."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:191 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:193
msgid "" msgid ""
"On the other hand, if you wish to host a service for others to connect to " "On the other hand, if you wish to host a service for others to connect to "
"you'll need to create a SERVER tunnel." "you'll need to create a SERVER tunnel."
@ -988,37 +988,37 @@ msgstr ""
"Wenn andere auf einen Service zugreifen sollen, muss einen Server Tunnel " "Wenn andere auf einen Service zugreifen sollen, muss einen Server Tunnel "
"erstellen." "erstellen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:193 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:195
msgid "Server Tunnel" msgid "Server Tunnel"
msgstr "Server Tunnel" msgstr "Server Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:197
msgid "Client Tunnel" msgid "Client Tunnel"
msgstr "Client Tunnel" msgstr "Client Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:213 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:215
msgid "There are several types of tunnels to choose from:" msgid "There are several types of tunnels to choose from:"
msgstr "" msgstr ""
"Es gibt mehrere unterschiedliche Typen von Tunneln aus denen gewählt werden " "Es gibt mehrere unterschiedliche Typen von Tunneln aus denen gewählt werden "
"kann:" "kann:"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:221 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
msgid "Basic tunnel for connecting to a single service inside I2P." msgid "Basic tunnel for connecting to a single service inside I2P."
msgstr "Standart Tunnel zur Verbindung mit einem einzelnen Service im I2P Netz" msgstr "Standart Tunnel zur Verbindung mit einem einzelnen Service im I2P Netz"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:225
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:267
msgid "" msgid ""
"Try this if none of the tunnel types below fit your requirements, or you " "Try this if none of the tunnel types below fit your requirements, or you "
"don't know what type of tunnel you need." "don't know what type of tunnel you need."
msgstr "Wenn keiner der anderen Tunneltypen den Anforderungen entspricht" msgstr "Wenn keiner der anderen Tunneltypen den Anforderungen entspricht"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:225 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:227
msgid "Tunnel that acts as an HTTP proxy for reaching eepsites inside I2P." msgid "Tunnel that acts as an HTTP proxy for reaching eepsites inside I2P."
msgstr "" msgstr ""
"Tunnel der als HTTP-Proxy fungiert, um Eepseiten im I2P Netz zu errreichen." "Tunnel der als HTTP-Proxy fungiert, um Eepseiten im I2P Netz zu errreichen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:227 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:229
msgid "" msgid ""
"Set your browser to use this tunnel as an http proxy, or set your " "Set your browser to use this tunnel as an http proxy, or set your "
"\"http_proxy\" environment variable for command-line applications in GNU/" "\"http_proxy\" environment variable for command-line applications in GNU/"
@ -1028,7 +1028,7 @@ msgstr ""
"setze deine \"http_proxy\"-Umgebungsvariable für Kommandozeilen-Anwendungen " "setze deine \"http_proxy\"-Umgebungsvariable für Kommandozeilen-Anwendungen "
"in GNU/Linux." "in GNU/Linux."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:229 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:231
msgid "" msgid ""
"Websites outside I2P can also be reached if an HTTP proxy within I2P is " "Websites outside I2P can also be reached if an HTTP proxy within I2P is "
"known." "known."
@ -1036,11 +1036,11 @@ msgstr ""
"Webseiten außerhalb von I2P können ebenfalls erreicht werden wenn ein HTTP-" "Webseiten außerhalb von I2P können ebenfalls erreicht werden wenn ein HTTP-"
"Proxy innerhalb des I2P Netzes bekannt ist." "Proxy innerhalb des I2P Netzes bekannt ist."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:231 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:233
msgid "Customised client tunnel specific for IRC connections." msgid "Customised client tunnel specific for IRC connections."
msgstr "für IRC-Verbindungen zugeschnittener Kliententunnel" msgstr "für IRC-Verbindungen zugeschnittener Kliententunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:233 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:235
msgid "" msgid ""
"With this tunnel type, your IRC client will be able to connect to an IRC " "With this tunnel type, your IRC client will be able to connect to an IRC "
"network inside I2P." "network inside I2P."
@ -1048,7 +1048,7 @@ msgstr ""
"Durch diese Art von Tunnel kann sich Ihr IRC-Klient mit einem IRC-Netzwerk " "Durch diese Art von Tunnel kann sich Ihr IRC-Klient mit einem IRC-Netzwerk "
"in I2P verbinden." "in I2P verbinden."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:235 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:237
msgid "" msgid ""
"Each IRC network in I2P that you wish to connect to will require its own " "Each IRC network in I2P that you wish to connect to will require its own "
"tunnel. (See Also, SOCKS IRC)" "tunnel. (See Also, SOCKS IRC)"
@ -1056,11 +1056,11 @@ msgstr ""
"Jedes IRC-Netzwerk, mit dem du dich verbinden willst, benötigt einen eigenen " "Jedes IRC-Netzwerk, mit dem du dich verbinden willst, benötigt einen eigenen "
"IRC-Tunnel. (Siehe auch SOCKS-IRC)" "IRC-Tunnel. (Siehe auch SOCKS-IRC)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:237 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:239
msgid "A tunnel that implements the SOCKS protocol." msgid "A tunnel that implements the SOCKS protocol."
msgstr "ein Tunnel, der das SOCKS-Protokoll implementiert" msgstr "ein Tunnel, der das SOCKS-Protokoll implementiert"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:239 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:241
msgid "" msgid ""
"This enables both TCP and UDP connections to be made through a SOCKS " "This enables both TCP and UDP connections to be made through a SOCKS "
"outproxy within I2P." "outproxy within I2P."
@ -1068,7 +1068,7 @@ msgstr ""
"Dies aktiviert TCP und UDP Verbindungen, die durch ein Socks-Outproxy in I2P " "Dies aktiviert TCP und UDP Verbindungen, die durch ein Socks-Outproxy in I2P "
"gemacht werden können." "gemacht werden können."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:241 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:243
msgid "" msgid ""
"A client tunnel implementing the SOCKS protocol, which is customised for " "A client tunnel implementing the SOCKS protocol, which is customised for "
"connecting to IRC networks." "connecting to IRC networks."
@ -1076,7 +1076,7 @@ msgstr ""
"Ein Client Tunnel der das Socks-Protokoll implementiert, das speziell für " "Ein Client Tunnel der das Socks-Protokoll implementiert, das speziell für "
"die Verbindung zu IRC-Servern angepasst wurde." "die Verbindung zu IRC-Servern angepasst wurde."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:243 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:245
msgid "" msgid ""
"With this tunnel type, IRC networks in I2P can be reached by typing the I2P " "With this tunnel type, IRC networks in I2P can be reached by typing the I2P "
"address into your IRC client, and configuring the IRC client to use this " "address into your IRC client, and configuring the IRC client to use this "
@ -1086,7 +1086,7 @@ msgstr ""
"die I2P-Adresse in den IRC-Klienten eingibt und selbigen veranlasst, als " "die I2P-Adresse in den IRC-Klienten eingibt und selbigen veranlasst, als "
"Proxy den SOCKS-Tunnel zu verwenden." "Proxy den SOCKS-Tunnel zu verwenden."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:245 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:247
msgid "" msgid ""
"This means that only one I2P tunnel is required rather than a separate " "This means that only one I2P tunnel is required rather than a separate "
"tunnel per IRC network." "tunnel per IRC network."
@ -1094,7 +1094,7 @@ msgstr ""
"Das heißt, es wird nur noch ein I2P-Tunnel benötigt, und nicht mehr je ein " "Das heißt, es wird nur noch ein I2P-Tunnel benötigt, und nicht mehr je ein "
"Tunnel für jedes IRC-Netzwerk." "Tunnel für jedes IRC-Netzwerk."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:247 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:249
msgid "" msgid ""
"IRC networks outside I2P can also be reached if a SOCKS outproxy within I2P " "IRC networks outside I2P can also be reached if a SOCKS outproxy within I2P "
"is known, though it depends on whether or not the outproxy has been blocked " "is known, though it depends on whether or not the outproxy has been blocked "
@ -1104,11 +1104,11 @@ msgstr ""
"vorausgesetzt, ein vom betreffenden IRC-Netzwerk nicht blockierter SOCKS-" "vorausgesetzt, ein vom betreffenden IRC-Netzwerk nicht blockierter SOCKS-"
"Outproxy in I2P ist bekannt." "Outproxy in I2P ist bekannt."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:249 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:251
msgid "A client tunnel that implements the HTTP CONNECT command." msgid "A client tunnel that implements the HTTP CONNECT command."
msgstr "ein Kliententunnel, in dem der HTTP-CONNECT-Befehl implementiert wurde" msgstr "ein Kliententunnel, in dem der HTTP-CONNECT-Befehl implementiert wurde"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:251 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:253
msgid "" msgid ""
"This enables TCP connections to be made through an HTTP outproxy, assuming " "This enables TCP connections to be made through an HTTP outproxy, assuming "
"the proxy supports the CONNECT command." "the proxy supports the CONNECT command."
@ -1116,25 +1116,25 @@ msgstr ""
"Dies erlaubt das Aufbauen von TCP-Verbindungen über einen HTTP-Outproxy, " "Dies erlaubt das Aufbauen von TCP-Verbindungen über einen HTTP-Outproxy, "
"vorausgessetzt, der Proxy unterstützt dies." "vorausgessetzt, der Proxy unterstützt dies."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:253 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:255
msgid "A customised client tunnel for Streamr." msgid "A customised client tunnel for Streamr."
msgstr "ein spezieller Kliententunnel für Streamr" msgstr "ein spezieller Kliententunnel für Streamr"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:263 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
msgid "A basic server tunnel for hosting a generic service inside I2P." msgid "A basic server tunnel for hosting a generic service inside I2P."
msgstr "" msgstr ""
"ein einfacher Servertunnel für die Bereitstellung allgemeiner Dienste im I2P-" "ein einfacher Servertunnel für die Bereitstellung allgemeiner Dienste im I2P-"
"Netz" "Netz"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:267 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:269
msgid "A server tunnel that is customised for HTTP connections." msgid "A server tunnel that is customised for HTTP connections."
msgstr "ein auf HTTP-Verbindungen zugeschnittener Servertunnel" msgstr "ein auf HTTP-Verbindungen zugeschnittener Servertunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:269 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:271
msgid "Use this tunnel type if you want to host an eepsite." msgid "Use this tunnel type if you want to host an eepsite."
msgstr "Benutz diesen Tunnel Typ um eine Eepsite zu hosten." msgstr "Benutz diesen Tunnel Typ um eine Eepsite zu hosten."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:271 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:273
msgid "" msgid ""
"A customised server tunnel that can both serve HTTP data and connect to " "A customised server tunnel that can both serve HTTP data and connect to "
"other server tunnels." "other server tunnels."
@ -1142,17 +1142,17 @@ msgstr ""
"Ein modifizierter Server Tunnel welcher HTTP Daten senden, als auch zu " "Ein modifizierter Server Tunnel welcher HTTP Daten senden, als auch zu "
"anderen Server Tunnel verbinden kann." "anderen Server Tunnel verbinden kann."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:273 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:275
msgid "This tunnel type is predominantly used when running a Seedless server." msgid "This tunnel type is predominantly used when running a Seedless server."
msgstr "" msgstr ""
"Dieser Tunneltyp kommt vorranging beim Betreiben eines Seedless-Servers zum " "Dieser Tunneltyp kommt vorranging beim Betreiben eines Seedless-Servers zum "
"Einsatz." "Einsatz."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:275 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:277
msgid "A customised server tunnel for hosting IRC networks inside I2P." msgid "A customised server tunnel for hosting IRC networks inside I2P."
msgstr "Ein angepasster Servertunnel, um IRC-Netzwerke im I2P zu betreiben." msgstr "Ein angepasster Servertunnel, um IRC-Netzwerke im I2P zu betreiben."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:277 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:279
msgid "" msgid ""
"Usually, a separate tunnel needs to be created for each IRC server that is " "Usually, a separate tunnel needs to be created for each IRC server that is "
"to be accessible inside I2P." "to be accessible inside I2P."
@ -1160,15 +1160,15 @@ msgstr ""
"Normalerweise muss ein anderer Tunnel für jeden IRC Server erstellt werden, " "Normalerweise muss ein anderer Tunnel für jeden IRC Server erstellt werden, "
"auf welchen durch I2P zugegriffen werden soll." "auf welchen durch I2P zugegriffen werden soll."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:279 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:281
msgid "A customised server tunnel for Streamr." msgid "A customised server tunnel for Streamr."
msgstr "Ein modifizierter Server Tunnel für Streamr." msgstr "Ein modifizierter Server Tunnel für Streamr."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:318 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:320
msgid "Choose a name and description for your tunnel." msgid "Choose a name and description for your tunnel."
msgstr "Wähle einen Namen und eine Beschreibung für deinen Tunnel." msgstr "Wähle einen Namen und eine Beschreibung für deinen Tunnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:320 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:322
msgid "" msgid ""
"These can be anything you want - they are just for ease of identifying the " "These can be anything you want - they are just for ease of identifying the "
"tunnel in the routerconsole." "tunnel in the routerconsole."
@ -1176,7 +1176,7 @@ msgstr ""
"Du kannst es nennen wie du willst, der Name dient nur des leichten Auffinden " "Du kannst es nennen wie du willst, der Name dient nur des leichten Auffinden "
"in der Router Console." "in der Router Console."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:350 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:352
msgid "" msgid ""
"If you know of any outproxies for this type of tunnel (either HTTP or " "If you know of any outproxies for this type of tunnel (either HTTP or "
"SOCKS), fill them in below." "SOCKS), fill them in below."
@ -1184,17 +1184,17 @@ msgstr ""
"Wenn du andere Outproxys dieses Typs kennst (entweder HTTP oder SOCKS), " "Wenn du andere Outproxys dieses Typs kennst (entweder HTTP oder SOCKS), "
"kannst du sie hier eintragen." "kannst du sie hier eintragen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:352 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:354
msgid "Separate multiple proxies with commas." msgid "Separate multiple proxies with commas."
msgstr "Trenne mehrere Proxies mit Kommas." msgstr "Trenne mehrere Proxies mit Kommas."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:370 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:372
msgid "" msgid ""
"Type in the I2P destination of the service that this client tunnel should " "Type in the I2P destination of the service that this client tunnel should "
"connect to." "connect to."
msgstr "Gib das Ziel des I2P Dienstes ein zu dem dieser Tunnel verbinden soll." msgstr "Gib das Ziel des I2P Dienstes ein zu dem dieser Tunnel verbinden soll."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:372 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:374
msgid "" msgid ""
"This could be the full base 64 destination key, or an I2P URL from your " "This could be the full base 64 destination key, or an I2P URL from your "
"address book." "address book."
@ -1202,7 +1202,7 @@ msgstr ""
"Es kann der volle Base64 Ziel Schlüssel, sowohl als auch eine I2P URL aus " "Es kann der volle Base64 Ziel Schlüssel, sowohl als auch eine I2P URL aus "
"deinem Adressbuch sein." "deinem Adressbuch sein."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:402 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:404
msgid "" msgid ""
"This is the IP that your service is running on, this is usually on the same " "This is the IP that your service is running on, this is usually on the same "
"machine so 127.0.0.1 is autofilled." "machine so 127.0.0.1 is autofilled."
@ -1210,19 +1210,19 @@ msgstr ""
"Dies ist die IP auf der der Service läuft, normalerweise ist dies der " "Dies ist die IP auf der der Service läuft, normalerweise ist dies der "
"gleiche Computer, somit ist 127.0.0.1 automatisch eingetragen." "gleiche Computer, somit ist 127.0.0.1 automatisch eingetragen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:425 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:427
msgid "This is the port that the service is accepting connections on." msgid "This is the port that the service is accepting connections on."
msgstr "Dies ist der Port auf dem der Service Verbindungen akzeptiert." msgstr "Dies ist der Port auf dem der Service Verbindungen akzeptiert."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:446 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:448
msgid "This is the port that the client tunnel will be accessed from locally." msgid "This is the port that the client tunnel will be accessed from locally."
msgstr "Dies ist der Port den der Client Tunnel lokal verwendet." msgstr "Dies ist der Port den der Client Tunnel lokal verwendet."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:448 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:450
msgid "This is also the client port for the HTTPBidir server tunnel." msgid "This is also the client port for the HTTPBidir server tunnel."
msgstr "Dies ist auch der Client Port für den HTTPBidir Server Tunnel" msgstr "Dies ist auch der Client Port für den HTTPBidir Server Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:467 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:469
msgid "" msgid ""
"How do you want this tunnel to be accessed? By just this machine, your " "How do you want this tunnel to be accessed? By just this machine, your "
"entire subnet, or external internet?" "entire subnet, or external internet?"
@ -1230,17 +1230,17 @@ msgstr ""
"Wie soll der Tunnel erreichbar sein? Nur von diesem Computer, dem gesamten " "Wie soll der Tunnel erreichbar sein? Nur von diesem Computer, dem gesamten "
"Subnetz, oder dem Internet ?" "Subnetz, oder dem Internet ?"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:469 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:471
msgid "You will most likely want to just allow 127.0.0.1" msgid "You will most likely want to just allow 127.0.0.1"
msgstr "Hauptsächlich will man 127.0.0.1 erlauben" msgstr "Hauptsächlich will man 127.0.0.1 erlauben"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:511 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:513
msgid "" msgid ""
"The I2P router can automatically start this tunnel for you when the router " "The I2P router can automatically start this tunnel for you when the router "
"is started." "is started."
msgstr "Der I2P-Router kann diesen Tunnel beim Start automatisch mitstarten." msgstr "Der I2P-Router kann diesen Tunnel beim Start automatisch mitstarten."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:513 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:515
msgid "" msgid ""
"This can be useful for frequently-used tunnels (especially server tunnels), " "This can be useful for frequently-used tunnels (especially server tunnels), "
"but for tunnels that are only used occassionally it would mean that the I2P " "but for tunnels that are only used occassionally it would mean that the I2P "
@ -1250,12 +1250,12 @@ msgstr ""
"Bei Tunneln, die nur sporadisch genutzt werden, bedeutet dies jedoch den " "Bei Tunneln, die nur sporadisch genutzt werden, bedeutet dies jedoch den "
"unnötigen Aufbau und Unterhalt ungenutzter Tunnel." "unnötigen Aufbau und Unterhalt ungenutzter Tunnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:539 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:541
msgid "The wizard has now collected enough information to create your tunnel." msgid "The wizard has now collected enough information to create your tunnel."
msgstr "" msgstr ""
"Der Wizard hat nun genug Informationen für die Tunnelerstellung gesammelt." "Der Wizard hat nun genug Informationen für die Tunnelerstellung gesammelt."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:541 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:543
msgid "" msgid ""
"Upon clicking the Save button below, the wizard will set up the tunnel, and " "Upon clicking the Save button below, the wizard will set up the tunnel, and "
"take you back to the main I2PTunnel page." "take you back to the main I2PTunnel page."
@ -1263,7 +1263,7 @@ msgstr ""
"Nach Klicken des \"Speichern\"-Knopfes wird der Tunnel eingerichtet und du " "Nach Klicken des \"Speichern\"-Knopfes wird der Tunnel eingerichtet und du "
"gelangst wieder auf die I2PTunel Hauptseite." "gelangst wieder auf die I2PTunel Hauptseite."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:546 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:548
msgid "" msgid ""
"Because you chose to automatically start the tunnel when the router starts, " "Because you chose to automatically start the tunnel when the router starts, "
"you don't have to do anything further." "you don't have to do anything further."
@ -1271,11 +1271,11 @@ msgstr ""
"Weil Sie ausgewählt haben, den Tunnel automatisch zu starten, müssen Sie " "Weil Sie ausgewählt haben, den Tunnel automatisch zu starten, müssen Sie "
"nichts weiteres machen." "nichts weiteres machen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:548 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:550
msgid "The router will start the tunnel once it has been set up." msgid "The router will start the tunnel once it has been set up."
msgstr "Der Router startet den Tunnel sobald er eingerichtet ist." msgstr "Der Router startet den Tunnel sobald er eingerichtet ist."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:552 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:554
msgid "" msgid ""
"Because you chose not to automatically start the tunnel, you will have to " "Because you chose not to automatically start the tunnel, you will have to "
"manually start it." "manually start it."
@ -1283,7 +1283,7 @@ msgstr ""
"Weil Sie ausgewählt haben, den Tunnel nicht automatisch zu starten, müssen " "Weil Sie ausgewählt haben, den Tunnel nicht automatisch zu starten, müssen "
"Sie ihn manuell starten." "Sie ihn manuell starten."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:554 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:556
msgid "" msgid ""
"You can do this by clicking the Start button on the main page which " "You can do this by clicking the Start button on the main page which "
"corresponds to the new tunnel." "corresponds to the new tunnel."
@ -1291,11 +1291,11 @@ msgstr ""
"Klicke dazu auf der Hauptseite auf den entsprechenden Start-Knopf des neuen " "Klicke dazu auf der Hauptseite auf den entsprechenden Start-Knopf des neuen "
"Tunnels." "Tunnels."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:558 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:560
msgid "Below is a summary of the options you chose:" msgid "Below is a summary of the options you chose:"
msgstr "Zusammenfassung der gewählten Optionen:" msgstr "Zusammenfassung der gewählten Optionen:"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:656 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:658
msgid "" msgid ""
"Alongside these basic settings, there are a number of advanced options for " "Alongside these basic settings, there are a number of advanced options for "
"tunnel configuration." "tunnel configuration."
@ -1303,7 +1303,7 @@ msgstr ""
"Neben diesen grundlegenden Einstellungen gibt es eine Reihe fortgeschritener " "Neben diesen grundlegenden Einstellungen gibt es eine Reihe fortgeschritener "
"Tunneloptionen." "Tunneloptionen."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:658 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:660
msgid "" msgid ""
"The wizard will set reasonably sensible default values for these, but you " "The wizard will set reasonably sensible default values for these, but you "
"can view and/or edit these by clicking on the tunnel's name in the main " "can view and/or edit these by clicking on the tunnel's name in the main "
@ -1313,18 +1313,18 @@ msgstr ""
"Tunnelnamen auf der I2PTunnel-Hauptseite eingesehen und/oder bearbeitet " "Tunnelnamen auf der I2PTunnel-Hauptseite eingesehen und/oder bearbeitet "
"werden können." "werden können."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:700 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:702
msgid "Previous" msgid "Previous"
msgstr "Vorheriges" msgstr "Vorheriges"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:708 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:710
msgid "Save Tunnel" msgid "Save Tunnel"
msgstr "Speichere Tunnel" msgstr "Speichere Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:714 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:716
msgid "Finish" msgid "Finish"
msgstr "Abschließen" msgstr "Abschließen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:720 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:722
msgid "Next" msgid "Next"
msgstr "Nächstes" msgstr "Nächstes"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-05 19:49+0000\n" "POT-Creation-Date: 2012-05-25 12:34+0000\n"
"PO-Revision-Date: 2012-04-21 15:03+0000\n" "PO-Revision-Date: 2012-04-21 15:03+0000\n"
"Last-Translator: punkibastardo <punkibastardo@gmail.com>\n" "Last-Translator: punkibastardo <punkibastardo@gmail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/"
@ -48,7 +48,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:151 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:151
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:406 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:408
msgid "Host" msgid "Host"
msgstr "Host" msgstr "Host"
@ -57,7 +57,7 @@ msgid "Base 32"
msgstr "Base 32" msgstr "Base 32"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1016 #: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1016
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:376 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:378
msgid "Destination" msgid "Destination"
msgstr "Destino" msgstr "Destino"
@ -223,12 +223,12 @@ msgid "HTTP bidir"
msgstr "HTTP bidir" msgstr "HTTP bidir"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:555 #: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:555
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:301 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:303
msgid "Host not set" msgid "Host not set"
msgstr "Host no establecido" msgstr "Host no establecido"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:559 #: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:559
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:285
msgid "Port not set" msgid "Port not set"
msgstr "Puerto no establecido" msgstr "Puerto no establecido"
@ -246,26 +246,26 @@ msgstr "Nueva configuración de proxy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:119 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:135
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:268 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:270
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:322 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:324
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:292
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:129 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:395 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:326 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:328
msgid "Description" msgid "Description"
msgstr "Descripción" msgstr "Descripción"
@ -291,27 +291,27 @@ msgstr "requerido"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:167 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:186 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:186
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:475 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:477
msgid "Reachable by" msgid "Reachable by"
msgstr "Accesible por" msgstr "Accesible por"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:188 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:188
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:354 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:356
msgid "Outproxies" msgid "Outproxies"
msgstr "Outproxis" msgstr "Outproxis"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:374 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:376
msgid "Tunnel Destination" msgid "Tunnel Destination"
msgstr "Túnel del Destino" msgstr "Túnel del Destino"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:378 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:380
msgid "name or destination" msgid "name or destination"
msgstr "nombre o destino" msgstr "nombre o destino"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:210 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:210
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:381 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:383
msgid "b32 not recommended" msgid "b32 not recommended"
msgstr "b32 no recomendado" msgstr "b32 no recomendado"
@ -329,14 +329,14 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:515 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:517
msgid "Auto Start" msgid "Auto Start"
msgstr "Autoarranque" msgstr "Autoarranque"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:519 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:521
msgid "(Check the Box for 'YES')" msgid "(Check the Box for 'YES')"
msgstr "(Marca la casilla para \"SÍ\")" msgstr "(Marca la casilla para \"SÍ\")"
@ -535,9 +535,9 @@ msgstr "Dirección I2CP del router"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:409 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:413 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:413
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:277 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:279
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:427 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:429
msgid "Port" msgid "Port"
msgstr "Puerto" msgstr "Puerto"
@ -641,7 +641,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:525 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:525
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:695 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:697
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@ -788,179 +788,179 @@ msgstr "Modificar Certificado"
msgid "Modify" msgid "Modify"
msgstr "Modificar" msgstr "Modificar"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:81 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
msgid "I2P Tunnel Manager - List" msgid "I2P Tunnel Manager - List"
msgstr "Gestor de túneles I2P - Lista" msgstr "Gestor de túneles I2P - Lista"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:93 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
msgid "Status Messages" msgid "Status Messages"
msgstr "Mensajes de estado" msgstr "Mensajes de estado"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:97 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
msgid "Refresh" msgid "Refresh"
msgstr "Actualizar" msgstr "Actualizar"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:101
msgid "Tunnel Wizard" msgid "Tunnel Wizard"
msgstr "Asistente de túnel" msgstr "Asistente de túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
msgid "Stop All" msgid "Stop All"
msgstr "Detener todos" msgstr "Detener todos"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:107 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
msgid "Start All" msgid "Start All"
msgstr "Iniciar todos" msgstr "Iniciar todos"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:111 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
msgid "Restart All" msgid "Restart All"
msgstr "Reiniciar todos" msgstr "Reiniciar todos"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:115 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:117
msgid "Reload Config" msgid "Reload Config"
msgstr "Actualizar configuración" msgstr "Actualizar configuración"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:117 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:119
msgid "I2P Server Tunnels" msgid "I2P Server Tunnels"
msgstr "Túneles de servidor I2P" msgstr "Túneles de servidor I2P"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:123
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:142 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:144
msgid "Points at" msgid "Points at"
msgstr "Apunta a" msgstr "Apunta a"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:123 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:125
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:164 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:168 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:170
msgid "Preview" msgid "Preview"
msgstr "Vista previa" msgstr "Vista previa"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:125 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:127
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:188 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:190
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:308 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:310
msgid "Status" msgid "Status"
msgstr "Estado" msgstr "Estado"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:176
msgid "Base32 Address" msgid "Base32 Address"
msgstr "Dirección Base32" msgstr "Dirección Base32"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:182 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:184
msgid "No Preview" msgid "No Preview"
msgstr "Sin vista previa" msgstr "Sin vista previa"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:197
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:315 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:317
msgid "Starting..." msgid "Starting..."
msgstr "Iniciando..." msgstr "Iniciando..."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:202 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:204
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:216 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:218
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:322 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:324
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:336 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:338
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:352
msgid "Stop" msgid "Stop"
msgstr "Detener" msgstr "Detener"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:209 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:211
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:343 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:345
msgid "Running" msgid "Running"
msgstr "Ejecutándose" msgstr "Ejecutándose"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:225
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:357 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:359
msgid "Stopped" msgid "Stopped"
msgstr "Detenido" msgstr "Detenido"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:230 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:232
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:364 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
msgid "Start" msgid "Start"
msgstr "Iniciar" msgstr "Iniciar"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247
msgid "New server tunnel" msgid "New server tunnel"
msgstr "Nuevo servidor de túnel" msgstr "Nuevo servidor de túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:405 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:407
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:219 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:221
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:261 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:291 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:293
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:297 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:299
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:569 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:571
msgid "Standard" msgid "Standard"
msgstr "Estándar" msgstr "Estándar"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:407 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:409
msgid "Create" msgid "Create"
msgstr "Crear" msgstr "Crear"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
msgid "I2P Client Tunnels" msgid "I2P Client Tunnels"
msgstr "Túneles de cliente I2P" msgstr "Túneles de cliente I2P"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:294 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:296
msgid "Interface" msgid "Interface"
msgstr "Interfaz" msgstr "Interfaz"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:329 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:331
msgid "Standby" msgid "Standby"
msgstr "En espera" msgstr "En espera"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:373 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:375
msgid "Outproxy" msgid "Outproxy"
msgstr "Puerta de salida" msgstr "Puerta de salida"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:390 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:392
msgid "none" msgid "none"
msgstr "ninguno" msgstr "ninguno"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:403 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:405
msgid "New client tunnel" msgid "New client tunnel"
msgstr "Nuevo túnel cliente" msgstr "Nuevo túnel cliente"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:117 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:119
msgid "I2P Tunnel Manager - Tunnel Creation Wizard" msgid "I2P Tunnel Manager - Tunnel Creation Wizard"
msgstr "Gestor de túneles I2P - Asistente para la creación de túneles" msgstr "Gestor de túneles I2P - Asistente para la creación de túneles"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:135 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:560 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:562
msgid "Server or client tunnel?" msgid "Server or client tunnel?"
msgstr "Túnel de cliente o servidor?" msgstr "Túnel de cliente o servidor?"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:141 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:143
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:564 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:566
msgid "Tunnel type" msgid "Tunnel type"
msgstr "Tipo de túnel" msgstr "Tipo de túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:147 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:149
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:594 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:596
msgid "Tunnel name and description" msgid "Tunnel name and description"
msgstr "Nombre y descripción del túnel" msgstr "Nombre y descripción del túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:153 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:155
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:603 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:605
msgid "Tunnel destination" msgid "Tunnel destination"
msgstr "Destino del túnel" msgstr "Destino del túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:159 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:161
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:619 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:621
msgid "Binding address and port" msgid "Binding address and port"
msgstr "Dirección de enlace y puerto" msgstr "Dirección de enlace y puerto"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:165 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:645 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:647
msgid "Tunnel auto-start" msgid "Tunnel auto-start"
msgstr "Auto-iniciar túnel" msgstr "Auto-iniciar túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:171 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:173
msgid "Wizard completed" msgid "Wizard completed"
msgstr "Asistente completado" msgstr "Asistente completado"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:185 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:187
msgid "" msgid ""
"This wizard will take you through the various options available for creating " "This wizard will take you through the various options available for creating "
"tunnels in I2P." "tunnels in I2P."
@ -968,7 +968,7 @@ msgstr ""
"Este asistente le guiará a través de las distintas opciones disponibles para " "Este asistente le guiará a través de las distintas opciones disponibles para "
"la creación de túneles en I2P." "la creación de túneles en I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:187 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189
msgid "" msgid ""
"The first thing to decide is whether you want to create a server or a client " "The first thing to decide is whether you want to create a server or a client "
"tunnel." "tunnel."
@ -976,7 +976,7 @@ msgstr ""
"Lo primero que debe decidir es si se desea crear un túnel de servidor o de " "Lo primero que debe decidir es si se desea crear un túnel de servidor o de "
"cliente." "cliente."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:191
msgid "" msgid ""
"If you need to connect to a remote service, such as an IRC server inside I2P " "If you need to connect to a remote service, such as an IRC server inside I2P "
"or a code repository, then you will require a CLIENT tunnel." "or a code repository, then you will require a CLIENT tunnel."
@ -984,7 +984,7 @@ msgstr ""
"Si necesita conectarse a un servicio remoto, como un servidor de IRC dentro " "Si necesita conectarse a un servicio remoto, como un servidor de IRC dentro "
"de I2P o un repositorio de código, va a requerir un túnel CLIENTE." "de I2P o un repositorio de código, va a requerir un túnel CLIENTE."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:191 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:193
msgid "" msgid ""
"On the other hand, if you wish to host a service for others to connect to " "On the other hand, if you wish to host a service for others to connect to "
"you'll need to create a SERVER tunnel." "you'll need to create a SERVER tunnel."
@ -992,24 +992,24 @@ msgstr ""
"Por otro lado, si desea hospedar un servicio para que otros puedan " "Por otro lado, si desea hospedar un servicio para que otros puedan "
"conectarse a usted, necesitará crear un túnel SERVIDOR." "conectarse a usted, necesitará crear un túnel SERVIDOR."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:193 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:195
msgid "Server Tunnel" msgid "Server Tunnel"
msgstr "Túnel de servidor" msgstr "Túnel de servidor"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:195 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:197
msgid "Client Tunnel" msgid "Client Tunnel"
msgstr "Túnel de cliente" msgstr "Túnel de cliente"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:213 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:215
msgid "There are several types of tunnels to choose from:" msgid "There are several types of tunnels to choose from:"
msgstr "Hay varios tipos de túneles para elegir:" msgstr "Hay varios tipos de túneles para elegir:"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:221 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
msgid "Basic tunnel for connecting to a single service inside I2P." msgid "Basic tunnel for connecting to a single service inside I2P."
msgstr "Túnel básico para la conexión a un servicio dentro de I2P." msgstr "Túnel básico para la conexión a un servicio dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:225
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:267
msgid "" msgid ""
"Try this if none of the tunnel types below fit your requirements, or you " "Try this if none of the tunnel types below fit your requirements, or you "
"don't know what type of tunnel you need." "don't know what type of tunnel you need."
@ -1017,11 +1017,11 @@ msgstr ""
"Pruebe esto si ninguno de los tipos de túneles a continuación se ajustan a " "Pruebe esto si ninguno de los tipos de túneles a continuación se ajustan a "
"sus requerimientos, o si no sabe qué tipo de túnel necesita." "sus requerimientos, o si no sabe qué tipo de túnel necesita."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:225 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:227
msgid "Tunnel that acts as an HTTP proxy for reaching eepsites inside I2P." msgid "Tunnel that acts as an HTTP proxy for reaching eepsites inside I2P."
msgstr "Túnel que actúa como un proxy HTTP para llegar a eepsites dentro I2P." msgstr "Túnel que actúa como un proxy HTTP para llegar a eepsites dentro I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:227 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:229
msgid "" msgid ""
"Set your browser to use this tunnel as an http proxy, or set your " "Set your browser to use this tunnel as an http proxy, or set your "
"\"http_proxy\" environment variable for command-line applications in GNU/" "\"http_proxy\" environment variable for command-line applications in GNU/"
@ -1031,7 +1031,7 @@ msgstr ""
"su variable de entorno \"http_proxy\" para aplicaciones de línea de comandos " "su variable de entorno \"http_proxy\" para aplicaciones de línea de comandos "
"en GNU / Linux." "en GNU / Linux."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:229 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:231
msgid "" msgid ""
"Websites outside I2P can also be reached if an HTTP proxy within I2P is " "Websites outside I2P can also be reached if an HTTP proxy within I2P is "
"known." "known."
@ -1039,11 +1039,11 @@ msgstr ""
"También es posible llegar a sitios web de fuera de I2P si se conoce algún " "También es posible llegar a sitios web de fuera de I2P si se conoce algún "
"proxy HTTP dentro de I2P." "proxy HTTP dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:231 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:233
msgid "Customised client tunnel specific for IRC connections." msgid "Customised client tunnel specific for IRC connections."
msgstr "Túnel de cliente personalizado específicamente para conexiones de IRC." msgstr "Túnel de cliente personalizado específicamente para conexiones de IRC."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:233 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:235
msgid "" msgid ""
"With this tunnel type, your IRC client will be able to connect to an IRC " "With this tunnel type, your IRC client will be able to connect to an IRC "
"network inside I2P." "network inside I2P."
@ -1051,7 +1051,7 @@ msgstr ""
"Con este tipo de túnel, su cliente de IRC será capaz de conectarse a una red " "Con este tipo de túnel, su cliente de IRC será capaz de conectarse a una red "
"de IRC dentro de I2P." "de IRC dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:235 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:237
msgid "" msgid ""
"Each IRC network in I2P that you wish to connect to will require its own " "Each IRC network in I2P that you wish to connect to will require its own "
"tunnel. (See Also, SOCKS IRC)" "tunnel. (See Also, SOCKS IRC)"
@ -1059,11 +1059,11 @@ msgstr ""
"Cada red IRC en I2P a la que desee conectarse requerirá su propio túnel. " "Cada red IRC en I2P a la que desee conectarse requerirá su propio túnel. "
"(Véase también, SOCKS IRC)" "(Véase también, SOCKS IRC)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:237 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:239
msgid "A tunnel that implements the SOCKS protocol." msgid "A tunnel that implements the SOCKS protocol."
msgstr "Un túnel que implementa el protocolo SOCKS." msgstr "Un túnel que implementa el protocolo SOCKS."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:239 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:241
msgid "" msgid ""
"This enables both TCP and UDP connections to be made through a SOCKS " "This enables both TCP and UDP connections to be made through a SOCKS "
"outproxy within I2P." "outproxy within I2P."
@ -1071,7 +1071,7 @@ msgstr ""
"Esto permite que las conexiones TCP y UDP se hagan a través de un outproxy " "Esto permite que las conexiones TCP y UDP se hagan a través de un outproxy "
"SOCKS que esté dentro de I2P." "SOCKS que esté dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:241 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:243
msgid "" msgid ""
"A client tunnel implementing the SOCKS protocol, which is customised for " "A client tunnel implementing the SOCKS protocol, which is customised for "
"connecting to IRC networks." "connecting to IRC networks."
@ -1079,7 +1079,7 @@ msgstr ""
"Un túnel de cliente que implementa el protocolo SOCKS, personalizado para la " "Un túnel de cliente que implementa el protocolo SOCKS, personalizado para la "
"conexión con redes IRC." "conexión con redes IRC."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:243 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:245
msgid "" msgid ""
"With this tunnel type, IRC networks in I2P can be reached by typing the I2P " "With this tunnel type, IRC networks in I2P can be reached by typing the I2P "
"address into your IRC client, and configuring the IRC client to use this " "address into your IRC client, and configuring the IRC client to use this "
@ -1089,7 +1089,7 @@ msgstr ""
"escribiendo directamente la dirección I2P en el cliente de IRC, y " "escribiendo directamente la dirección I2P en el cliente de IRC, y "
"configurando el cliente de IRC para utilizar este túnel SOCKS." "configurando el cliente de IRC para utilizar este túnel SOCKS."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:245 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:247
msgid "" msgid ""
"This means that only one I2P tunnel is required rather than a separate " "This means that only one I2P tunnel is required rather than a separate "
"tunnel per IRC network." "tunnel per IRC network."
@ -1097,7 +1097,7 @@ msgstr ""
"Esto significa que sólo es necesario un único túnel I2P en lugar de un túnel " "Esto significa que sólo es necesario un único túnel I2P en lugar de un túnel "
"distinto por cada red IRC." "distinto por cada red IRC."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:247 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:249
msgid "" msgid ""
"IRC networks outside I2P can also be reached if a SOCKS outproxy within I2P " "IRC networks outside I2P can also be reached if a SOCKS outproxy within I2P "
"is known, though it depends on whether or not the outproxy has been blocked " "is known, though it depends on whether or not the outproxy has been blocked "
@ -1107,11 +1107,11 @@ msgstr ""
"SOCKS en I2P, aunque depende de si el outproxy ha sido bloqueado por la red " "SOCKS en I2P, aunque depende de si el outproxy ha sido bloqueado por la red "
"IRC." "IRC."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:249 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:251
msgid "A client tunnel that implements the HTTP CONNECT command." msgid "A client tunnel that implements the HTTP CONNECT command."
msgstr "Un túnel de cliente que implementa el comando HTTP CONNECT." msgstr "Un túnel de cliente que implementa el comando HTTP CONNECT."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:251 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:253
msgid "" msgid ""
"This enables TCP connections to be made through an HTTP outproxy, assuming " "This enables TCP connections to be made through an HTTP outproxy, assuming "
"the proxy supports the CONNECT command." "the proxy supports the CONNECT command."
@ -1119,24 +1119,24 @@ msgstr ""
"Esto permite hacer conexiones TCP a través de un outproxy HTTP, suponiendo " "Esto permite hacer conexiones TCP a través de un outproxy HTTP, suponiendo "
"que el servidor proxy admita el comando CONNECT." "que el servidor proxy admita el comando CONNECT."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:253 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:255
msgid "A customised client tunnel for Streamr." msgid "A customised client tunnel for Streamr."
msgstr "Un túnel de cliente personalizado para Streamr." msgstr "Un túnel de cliente personalizado para Streamr."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:263 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
msgid "A basic server tunnel for hosting a generic service inside I2P." msgid "A basic server tunnel for hosting a generic service inside I2P."
msgstr "" msgstr ""
"Un túnel básico de servidor para alojar un servicio genérico dentro de I2P." "Un túnel básico de servidor para alojar un servicio genérico dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:267 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:269
msgid "A server tunnel that is customised for HTTP connections." msgid "A server tunnel that is customised for HTTP connections."
msgstr "Un túnel de servidor personalizado para conexiones HTTP." msgstr "Un túnel de servidor personalizado para conexiones HTTP."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:269 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:271
msgid "Use this tunnel type if you want to host an eepsite." msgid "Use this tunnel type if you want to host an eepsite."
msgstr "Utilice este tipo de túnel si desea alojar una eepsite." msgstr "Utilice este tipo de túnel si desea alojar una eepsite."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:271 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:273
msgid "" msgid ""
"A customised server tunnel that can both serve HTTP data and connect to " "A customised server tunnel that can both serve HTTP data and connect to "
"other server tunnels." "other server tunnels."
@ -1144,18 +1144,18 @@ msgstr ""
"Un túnel de servidor personalizado que puede servir tanto datos HTTP como " "Un túnel de servidor personalizado que puede servir tanto datos HTTP como "
"conectar a otros túneles de servidor." "conectar a otros túneles de servidor."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:273 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:275
msgid "This tunnel type is predominantly used when running a Seedless server." msgid "This tunnel type is predominantly used when running a Seedless server."
msgstr "" msgstr ""
"Este tipo de túnel se utiliza principalmente cuando se ejecuta un servidor " "Este tipo de túnel se utiliza principalmente cuando se ejecuta un servidor "
"sin semillas (Seedless)." "sin semillas (Seedless)."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:275 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:277
msgid "A customised server tunnel for hosting IRC networks inside I2P." msgid "A customised server tunnel for hosting IRC networks inside I2P."
msgstr "" msgstr ""
"Un túnel de servidor personalizado para alojar redes IRC dentro de I2P." "Un túnel de servidor personalizado para alojar redes IRC dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:277 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:279
msgid "" msgid ""
"Usually, a separate tunnel needs to be created for each IRC server that is " "Usually, a separate tunnel needs to be created for each IRC server that is "
"to be accessible inside I2P." "to be accessible inside I2P."
@ -1163,15 +1163,15 @@ msgstr ""
"Normalmente, se debe crear un túnel por separado para cada servidor IRC, que " "Normalmente, se debe crear un túnel por separado para cada servidor IRC, que "
"será accesible dentro de I2P." "será accesible dentro de I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:279 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:281
msgid "A customised server tunnel for Streamr." msgid "A customised server tunnel for Streamr."
msgstr "Un túnel de servidor personalizado para Streamr." msgstr "Un túnel de servidor personalizado para Streamr."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:318 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:320
msgid "Choose a name and description for your tunnel." msgid "Choose a name and description for your tunnel."
msgstr "Elegir un nombre y una descripción para su túnel." msgstr "Elegir un nombre y una descripción para su túnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:320 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:322
msgid "" msgid ""
"These can be anything you want - they are just for ease of identifying the " "These can be anything you want - they are just for ease of identifying the "
"tunnel in the routerconsole." "tunnel in the routerconsole."
@ -1179,7 +1179,7 @@ msgstr ""
"Estos pueden ser lo que se quiera - son sólo para facilitar la " "Estos pueden ser lo que se quiera - son sólo para facilitar la "
"identificación del túnel en la consola del router." "identificación del túnel en la consola del router."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:350 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:352
msgid "" msgid ""
"If you know of any outproxies for this type of tunnel (either HTTP or " "If you know of any outproxies for this type of tunnel (either HTTP or "
"SOCKS), fill them in below." "SOCKS), fill them in below."
@ -1187,11 +1187,11 @@ msgstr ""
"Si conoce algún outproxie para este tipo de túnel (HTTP o SOCKS), rellénelo " "Si conoce algún outproxie para este tipo de túnel (HTTP o SOCKS), rellénelo "
"a continuación." "a continuación."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:352 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:354
msgid "Separate multiple proxies with commas." msgid "Separate multiple proxies with commas."
msgstr "Separe múltiples servidores proxy con comas." msgstr "Separe múltiples servidores proxy con comas."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:370 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:372
msgid "" msgid ""
"Type in the I2P destination of the service that this client tunnel should " "Type in the I2P destination of the service that this client tunnel should "
"connect to." "connect to."
@ -1199,7 +1199,7 @@ msgstr ""
"Introduzca el destino de I2P del servicio al que este túnel de cliente debe " "Introduzca el destino de I2P del servicio al que este túnel de cliente debe "
"conectarse." "conectarse."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:372 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:374
msgid "" msgid ""
"This could be the full base 64 destination key, or an I2P URL from your " "This could be the full base 64 destination key, or an I2P URL from your "
"address book." "address book."
@ -1207,7 +1207,7 @@ msgstr ""
"Este puede ser la clave de destino en base 64 o una dirección URL I2P de su " "Este puede ser la clave de destino en base 64 o una dirección URL I2P de su "
"libreta de direcciones." "libreta de direcciones."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:402 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:404
msgid "" msgid ""
"This is the IP that your service is running on, this is usually on the same " "This is the IP that your service is running on, this is usually on the same "
"machine so 127.0.0.1 is autofilled." "machine so 127.0.0.1 is autofilled."
@ -1215,21 +1215,21 @@ msgstr ""
"Esta es la IP en la que el servicio se está ejecutando, esto suele ser en la " "Esta es la IP en la que el servicio se está ejecutando, esto suele ser en la "
"misma máquina, por lo que se ha auto-rellenado con 127.0.0.1 " "misma máquina, por lo que se ha auto-rellenado con 127.0.0.1 "
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:425 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:427
msgid "This is the port that the service is accepting connections on." msgid "This is the port that the service is accepting connections on."
msgstr "" msgstr ""
"Este es el puerto por el que el servicio está aceptando conexiones entrantes." "Este es el puerto por el que el servicio está aceptando conexiones entrantes."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:446 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:448
msgid "This is the port that the client tunnel will be accessed from locally." msgid "This is the port that the client tunnel will be accessed from locally."
msgstr "" msgstr ""
"Este es el puerto por el que se accederá al túnel de cliente localmente." "Este es el puerto por el que se accederá al túnel de cliente localmente."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:448 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:450
msgid "This is also the client port for the HTTPBidir server tunnel." msgid "This is also the client port for the HTTPBidir server tunnel."
msgstr "También es el puerto de cliente para el túnel de servidor HTTPBidir." msgstr "También es el puerto de cliente para el túnel de servidor HTTPBidir."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:467 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:469
msgid "" msgid ""
"How do you want this tunnel to be accessed? By just this machine, your " "How do you want this tunnel to be accessed? By just this machine, your "
"entire subnet, or external internet?" "entire subnet, or external internet?"
@ -1237,11 +1237,11 @@ msgstr ""
"¿Cómo quiere que se acceda a este túnel? ¿Sólo esta máquina, su subred " "¿Cómo quiere que se acceda a este túnel? ¿Sólo esta máquina, su subred "
"entera, o todo el internet externo?" "entera, o todo el internet externo?"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:469 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:471
msgid "You will most likely want to just allow 127.0.0.1" msgid "You will most likely want to just allow 127.0.0.1"
msgstr "Lo más probable es que desee permitir sólo 127.0.0.1" msgstr "Lo más probable es que desee permitir sólo 127.0.0.1"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:511 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:513
msgid "" msgid ""
"The I2P router can automatically start this tunnel for you when the router " "The I2P router can automatically start this tunnel for you when the router "
"is started." "is started."
@ -1249,7 +1249,7 @@ msgstr ""
"El router I2P puede activar automáticamente este túnel cuando el router se " "El router I2P puede activar automáticamente este túnel cuando el router se "
"inicie" "inicie"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:513 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:515
msgid "" msgid ""
"This can be useful for frequently-used tunnels (especially server tunnels), " "This can be useful for frequently-used tunnels (especially server tunnels), "
"but for tunnels that are only used occassionally it would mean that the I2P " "but for tunnels that are only used occassionally it would mean that the I2P "
@ -1260,12 +1260,12 @@ msgstr ""
"ocasionalmente, significaría que el router I2P está creando y manteniendo " "ocasionalmente, significaría que el router I2P está creando y manteniendo "
"túneles innecesarios." "túneles innecesarios."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:539 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:541
msgid "The wizard has now collected enough information to create your tunnel." msgid "The wizard has now collected enough information to create your tunnel."
msgstr "" msgstr ""
"El asistente ya ha recogido suficiente información para crear el túnel." "El asistente ya ha recogido suficiente información para crear el túnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:541 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:543
msgid "" msgid ""
"Upon clicking the Save button below, the wizard will set up the tunnel, and " "Upon clicking the Save button below, the wizard will set up the tunnel, and "
"take you back to the main I2PTunnel page." "take you back to the main I2PTunnel page."
@ -1273,7 +1273,7 @@ msgstr ""
"Al hacer clic en el botón Guardar a continuación, el asistente creará el " "Al hacer clic en el botón Guardar a continuación, el asistente creará el "
"túnel, y le llevará de vuelta a la página principal de túneles I2P." "túnel, y le llevará de vuelta a la página principal de túneles I2P."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:546 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:548
msgid "" msgid ""
"Because you chose to automatically start the tunnel when the router starts, " "Because you chose to automatically start the tunnel when the router starts, "
"you don't have to do anything further." "you don't have to do anything further."
@ -1281,11 +1281,11 @@ msgstr ""
"Como ha decidido iniciar automáticamente el túnel cuando el router se " "Como ha decidido iniciar automáticamente el túnel cuando el router se "
"inicie, no tiene que hacer nada más." "inicie, no tiene que hacer nada más."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:548 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:550
msgid "The router will start the tunnel once it has been set up." msgid "The router will start the tunnel once it has been set up."
msgstr "El router iniciará el túnel una vez haya sido establecido." msgstr "El router iniciará el túnel una vez haya sido establecido."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:552 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:554
msgid "" msgid ""
"Because you chose not to automatically start the tunnel, you will have to " "Because you chose not to automatically start the tunnel, you will have to "
"manually start it." "manually start it."
@ -1293,7 +1293,7 @@ msgstr ""
"Como usted ha decidido no iniciar automáticamente el túnel, tendrá que " "Como usted ha decidido no iniciar automáticamente el túnel, tendrá que "
"iniciarlo de forma manual." "iniciarlo de forma manual."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:554 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:556
msgid "" msgid ""
"You can do this by clicking the Start button on the main page which " "You can do this by clicking the Start button on the main page which "
"corresponds to the new tunnel." "corresponds to the new tunnel."
@ -1301,11 +1301,11 @@ msgstr ""
"Esto se puede hacer haciendo clic en el botón Iniciar en la página principal " "Esto se puede hacer haciendo clic en el botón Iniciar en la página principal "
"que corresponde al nuevo túnel." "que corresponde al nuevo túnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:558 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:560
msgid "Below is a summary of the options you chose:" msgid "Below is a summary of the options you chose:"
msgstr "A continuación se muestra un resumen de las opciones que ha elegido:" msgstr "A continuación se muestra un resumen de las opciones que ha elegido:"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:656 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:658
msgid "" msgid ""
"Alongside these basic settings, there are a number of advanced options for " "Alongside these basic settings, there are a number of advanced options for "
"tunnel configuration." "tunnel configuration."
@ -1313,7 +1313,7 @@ msgstr ""
"Junto a estos valores básicos, hay una serie de opciones avanzadas para la " "Junto a estos valores básicos, hay una serie de opciones avanzadas para la "
"configuración de túneles." "configuración de túneles."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:658 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:660
msgid "" msgid ""
"The wizard will set reasonably sensible default values for these, but you " "The wizard will set reasonably sensible default values for these, but you "
"can view and/or edit these by clicking on the tunnel's name in the main " "can view and/or edit these by clicking on the tunnel's name in the main "
@ -1323,18 +1323,18 @@ msgstr ""
"defecto, pero se pueden ver y/o editar haciendo clic en el nombre del túnel " "defecto, pero se pueden ver y/o editar haciendo clic en el nombre del túnel "
"en la página de túneles I2P principal." "en la página de túneles I2P principal."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:700 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:702
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:708 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:710
msgid "Save Tunnel" msgid "Save Tunnel"
msgstr "Guardar Túnel" msgstr "Guardar Túnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:714 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:716
msgid "Finish" msgid "Finish"
msgstr "Finalizar" msgstr "Finalizar"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:720 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:722
msgid "Next" msgid "Next"
msgstr "Siguiente" msgstr "Siguiente"

File diff suppressed because it is too large Load Diff

View File

@ -61,7 +61,6 @@ public class ConfigNetHandler extends FormHandler {
} }
public void setSave(String moo) { _saveRequested = true; } public void setSave(String moo) { _saveRequested = true; }
public void setEnabletimesync(String moo) { }
public void setRecheckReachability(String moo) { _recheckReachabilityRequested = true; } public void setRecheckReachability(String moo) { _recheckReachabilityRequested = true; }
public void setRequireIntroductions(String moo) { _requireIntroductions = true; } public void setRequireIntroductions(String moo) { _requireIntroductions = true; }
public void setDynamicKeys(String moo) { _dynamicKeys = true; } public void setDynamicKeys(String moo) { _dynamicKeys = true; }
@ -289,10 +288,6 @@ public class ConfigNetHandler extends FormHandler {
removes.add(UDPTransport.PROP_FORCE_INTRODUCERS); removes.add(UDPTransport.PROP_FORCE_INTRODUCERS);
} }
// Time sync enable, means NOT disabled
// Hmm router sets this at startup, not required here
//changes.put(Timestamper.PROP_DISABLED, "false");
// Hidden in the GUI // Hidden in the GUI
//LoadTestManager.setEnableLoadTesting(_context, _enableLoadTesting); //LoadTestManager.setEnableLoadTesting(_context, _enableLoadTesting);
} }

View File

@ -9,7 +9,6 @@ import net.i2p.router.Router;
import net.i2p.router.transport.TransportManager; import net.i2p.router.transport.TransportManager;
import net.i2p.router.transport.udp.UDPAddress; import net.i2p.router.transport.udp.UDPAddress;
import net.i2p.router.transport.udp.UDPTransport; import net.i2p.router.transport.udp.UDPTransport;
import net.i2p.time.Timestamper;
import net.i2p.util.Addresses; import net.i2p.util.Addresses;
public class ConfigNetHelper extends HelperBase { public class ConfigNetHelper extends HelperBase {
@ -65,14 +64,6 @@ public class ConfigNetHelper extends HelperBase {
return "" + _context.getProperty(UDPTransport.PROP_INTERNAL_PORT, UDPTransport.DEFAULT_INTERNAL_PORT); return "" + _context.getProperty(UDPTransport.PROP_INTERNAL_PORT, UDPTransport.DEFAULT_INTERNAL_PORT);
} }
public String getEnableTimeSyncChecked() {
boolean disabled = _context.getBooleanProperty(Timestamper.PROP_DISABLED);
if (disabled)
return "";
else
return CHECKED;
}
/** @param prop must default to false */ /** @param prop must default to false */
public String getChecked(String prop) { public String getChecked(String prop) {
if (_context.getBooleanProperty(prop)) if (_context.getBooleanProperty(prop))

View File

@ -11,8 +11,27 @@ public class NetDbHelper extends HelperBase {
private int _full; private int _full;
private boolean _lease; private boolean _lease;
private boolean _debug; private boolean _debug;
private boolean _graphical;
public NetDbHelper() {} private static final String PROP_DEBUG = "routerconsole.debug";
private static final String titles[] =
{_x("Summary"), // 0
_x("Local Router"), // 1
_x("Router Lookup"), // 2
_x("All Routers"), // 3
_x("All Routers with Full Stats"), // 4
"LeaseSet Debug", // 5
_x("LeaseSets") }; // 6
private static final String links[] =
{"", // 0
"?r=.", // 1
"", // 2
"?f=2", // 3
"?f=1", // 4
"?l=2", // 5
"?l=1" }; // 6
public void setRouter(String r) { public void setRouter(String r) {
if (r != null) if (r != null)
@ -30,30 +49,88 @@ public class NetDbHelper extends HelperBase {
_lease = _debug || "1".equals(l); _lease = _debug || "1".equals(l);
} }
/**
* call for non-text-mode browsers
* @since 0.9.1
*/
public void allowGraphical() {
_graphical = true;
}
/**
* storeWriter() must be called previously
*/
public String getNetDbSummary() { public String getNetDbSummary() {
NetDbRenderer renderer = new NetDbRenderer(_context); NetDbRenderer renderer = new NetDbRenderer(_context);
try { try {
if (_out != null) { renderNavBar();
if (_routerPrefix != null) if (_routerPrefix != null)
renderer.renderRouterInfoHTML(_out, _routerPrefix); renderer.renderRouterInfoHTML(_out, _routerPrefix);
else if (_lease) else if (_lease)
renderer.renderLeaseSetHTML(_out, _debug); renderer.renderLeaseSetHTML(_out, _debug);
else else
renderer.renderStatusHTML(_out, _full); renderer.renderStatusHTML(_out, _full);
return "";
} else {
ByteArrayOutputStream baos = new ByteArrayOutputStream(32*1024);
if (_routerPrefix != null)
renderer.renderRouterInfoHTML(new OutputStreamWriter(baos), _routerPrefix);
else if (_lease)
renderer.renderLeaseSetHTML(new OutputStreamWriter(baos), _debug);
else
renderer.renderStatusHTML(new OutputStreamWriter(baos), _full);
return new String(baos.toByteArray());
}
} catch (IOException ioe) { } catch (IOException ioe) {
ioe.printStackTrace(); ioe.printStackTrace();
}
return ""; return "";
} }
/**
* @since 0.9.1
*/
private int getTab() {
if (_debug)
return 5;
if (_lease)
return 6;
if (".".equals(_routerPrefix))
return 1;
if (_routerPrefix != null)
return 2;
if (_full == 2)
return 3;
if (_full == 1)
return 4;
return 0;
}
/**
* @since 0.9.1
*/
private void renderNavBar() throws IOException {
StringBuilder buf = new StringBuilder(1024);
buf.append("<div class=\"confignav\" id=\"confignav\">");
// TODO fix up the non-light themes
String theme = _context.getProperty(CSSHelper.PROP_THEME_NAME);
boolean span = _graphical && (theme == null || theme.equals(CSSHelper.DEFAULT_THEME));
if (!span)
buf.append("<center>");
int tab = getTab();
for (int i = 0; i < titles.length; i++) {
if (i == 2 && tab != 2)
continue; // can't nav to lookup
if (i == 5 && !_context.getBooleanProperty(PROP_DEBUG))
continue;
if (i == tab) {
// we are there
if (span)
buf.append("<span class=\"tab2\">");
buf.append(_(titles[i]));
} else {
// we are not there, make a link
if (span)
buf.append("<span class=\"tab\">");
buf.append("<a href=\"netdb").append(links[i]).append("\">").append(_(titles[i])).append("</a>");
}
if (span)
buf.append(" </span>\n");
else if (i != titles.length - 1)
buf.append(" |\n");
}
if (!span)
buf.append("</center>");
buf.append("</div>");
_out.write(buf.toString());
} }
} }

View File

@ -75,7 +75,6 @@ public class NetDbRenderer {
public void renderRouterInfoHTML(Writer out, String routerPrefix) throws IOException { public void renderRouterInfoHTML(Writer out, String routerPrefix) throws IOException {
StringBuilder buf = new StringBuilder(4*1024); StringBuilder buf = new StringBuilder(4*1024);
buf.append("<h2>" + _("Network Database RouterInfo Lookup") + "</h2>\n");
if (".".equals(routerPrefix)) { if (".".equals(routerPrefix)) {
renderRouterInfo(buf, _context.router().getRouterInfo(), true, true); renderRouterInfo(buf, _context.router().getRouterInfo(), true, true);
} else { } else {
@ -102,12 +101,8 @@ public class NetDbRenderer {
*/ */
public void renderLeaseSetHTML(Writer out, boolean debug) throws IOException { public void renderLeaseSetHTML(Writer out, boolean debug) throws IOException {
StringBuilder buf = new StringBuilder(4*1024); StringBuilder buf = new StringBuilder(4*1024);
buf.append("<h2>" + _("Network Database Contents") + "</h2>\n");
buf.append("<a href=\"netdb\">" + _("View RouterInfo") + "</a>");
buf.append("<h3>").append(_("LeaseSets"));
if (debug) if (debug)
buf.append(" - Debug mode - Sorted by hash distance, closest first"); buf.append("<p>Debug mode - Sorted by hash distance, closest first</p>\n");
buf.append("</h3>\n");
Hash ourRKey; Hash ourRKey;
Set<LeaseSet> leases; Set<LeaseSet> leases;
DecimalFormat fmt; DecimalFormat fmt;
@ -233,7 +228,6 @@ public class NetDbRenderer {
* @param mode 0: our info and charts only; 1: full routerinfos and charts; 2: abbreviated routerinfos and charts * @param mode 0: our info and charts only; 1: full routerinfos and charts; 2: abbreviated routerinfos and charts
*/ */
public void renderStatusHTML(Writer out, int mode) throws IOException { public void renderStatusHTML(Writer out, int mode) throws IOException {
out.write("<h2>" + _("Network Database Contents") + " (<a href=\"netdb?l=1\">" + _("View LeaseSets") + "</a>)</h2>\n");
if (!_context.netDb().isInitialized()) { if (!_context.netDb().isInitialized()) {
out.write(_("Not initialized")); out.write(_("Not initialized"));
out.flush(); out.flush();
@ -244,12 +238,6 @@ public class NetDbRenderer {
boolean shortStats = mode == 2; boolean shortStats = mode == 2;
boolean showStats = full || shortStats; boolean showStats = full || shortStats;
Hash us = _context.routerHash(); Hash us = _context.routerHash();
out.write("<a name=\"routers\" ></a><h3>" + _("Routers") + " (<a href=\"netdb");
if (full || !showStats)
out.write("?f=2#routers\" >" + _("Show all routers"));
else
out.write("?f=1#routers\" >" + _("Show all routers with full stats"));
out.write("</a>)</h3>\n");
StringBuilder buf = new StringBuilder(8192); StringBuilder buf = new StringBuilder(8192);
RouterInfo ourInfo = _context.router().getRouterInfo(); RouterInfo ourInfo = _context.router().getRouterInfo();
@ -365,11 +353,10 @@ public class NetDbRenderer {
buf.append("<a name=\"our-info\" ></a><b>" + _("Our info") + ": ").append(hash).append("</b></th></tr><tr><td>\n"); buf.append("<a name=\"our-info\" ></a><b>" + _("Our info") + ": ").append(hash).append("</b></th></tr><tr><td>\n");
} else { } else {
buf.append("<b>" + _("Peer info for") + ":</b> ").append(hash).append("\n"); buf.append("<b>" + _("Peer info for") + ":</b> ").append(hash).append("\n");
if (full) { if (!full) {
buf.append("[<a href=\"netdb\" >Back</a>]</th></tr><tr><td>\n"); buf.append("[<a href=\"netdb?r=").append(hash.substring(0, 6)).append("\" >").append(_("Full entry")).append("</a>]");
} else {
buf.append("[<a href=\"netdb?r=").append(hash.substring(0, 6)).append("\" >").append(_("Full entry")).append("</a>]</th></tr><tr><td>\n");
} }
buf.append("</th></tr><tr><td>\n");
} }
long age = _context.clock().now() - info.getPublished(); long age = _context.clock().now() - info.getPublished();

View File

@ -23,16 +23,21 @@ import net.i2p.stat.RateStat;
* *
*/ */
class ProfileOrganizerRenderer { class ProfileOrganizerRenderer {
private RouterContext _context; private final RouterContext _context;
private ProfileOrganizer _organizer; private final ProfileOrganizer _organizer;
private ProfileComparator _comparator; private final ProfileComparator _comparator;
public ProfileOrganizerRenderer(ProfileOrganizer organizer, RouterContext context) { public ProfileOrganizerRenderer(ProfileOrganizer organizer, RouterContext context) {
_context = context; _context = context;
_organizer = organizer; _organizer = organizer;
_comparator = new ProfileComparator(); _comparator = new ProfileComparator();
} }
public void renderStatusHTML(Writer out, boolean full) throws IOException {
/**
* @param mode 0 = high cap; 1 = all; 2 = floodfill
*/
public void renderStatusHTML(Writer out, int mode) throws IOException {
boolean full = mode == 1;
Set<Hash> peers = _organizer.selectAllPeers(); Set<Hash> peers = _organizer.selectAllPeers();
long now = _context.clock().now(); long now = _context.clock().now();
@ -68,7 +73,13 @@ class ProfileOrganizerRenderer {
int reliable = 0; int reliable = 0;
int integrated = 0; int integrated = 0;
StringBuilder buf = new StringBuilder(16*1024); StringBuilder buf = new StringBuilder(16*1024);
buf.append("<h2>").append(_("Peer Profiles")).append("</h2>\n<p>");
////
//// don't bother reindenting
////
if (mode < 2) {
//buf.append("<h2>").append(_("Peer Profiles")).append("</h2>\n<p>");
buf.append(ngettext("Showing 1 recent profile.", "Showing {0} recent profiles.", order.size())).append('\n'); buf.append(ngettext("Showing 1 recent profile.", "Showing {0} recent profiles.", order.size())).append('\n');
if (older > 0) if (older > 0)
buf.append(ngettext("Hiding 1 older profile.", "Hiding {0} older profiles.", older)).append('\n'); buf.append(ngettext("Hiding 1 older profile.", "Hiding {0} older profiles.", older)).append('\n');
@ -181,8 +192,13 @@ class ProfileOrganizerRenderer {
} }
buf.append("</table>"); buf.append("</table>");
buf.append("<h2><a name=\"flood\"></a>").append(_("Floodfill and Integrated Peers")) ////
.append(" (").append(integratedPeers.size()).append(")</h2>\n"); //// don't bother reindenting
////
} else {
//buf.append("<h2><a name=\"flood\"></a>").append(_("Floodfill and Integrated Peers"))
// .append(" (").append(integratedPeers.size()).append(")</h2>\n");
buf.append("<table>"); buf.append("<table>");
buf.append("<tr>"); buf.append("<tr>");
buf.append("<th class=\"smallhead\">").append(_("Peer")).append("</th>"); buf.append("<th class=\"smallhead\">").append(_("Peer")).append("</th>");
@ -247,6 +263,12 @@ class ProfileOrganizerRenderer {
} }
buf.append("</table>"); buf.append("</table>");
////
//// don't bother reindenting
////
}
if (mode < 2) {
buf.append("<h3>").append(_("Thresholds")).append("</h3>"); buf.append("<h3>").append(_("Thresholds")).append("</h3>");
buf.append("<p><b>").append(_("Speed")).append(":</b> ").append(num(_organizer.getSpeedThreshold())) buf.append("<p><b>").append(_("Speed")).append(":</b> ").append(num(_organizer.getSpeedThreshold()))
.append(" (").append(fast).append(' ').append(_("fast peers")).append(")<br>"); .append(" (").append(fast).append(' ').append(_("fast peers")).append(")<br>");
@ -262,6 +284,12 @@ class ProfileOrganizerRenderer {
buf.append("<li><b>").append(_("integration")).append("</b>: ").append(_("how many new peers have they told us about lately?")).append("</li>"); buf.append("<li><b>").append(_("integration")).append("</b>: ").append(_("how many new peers have they told us about lately?")).append("</li>");
buf.append("<li><b>").append(_("status")).append("</b>: ").append(_("is the peer banned, or unreachable, or failing tunnel tests?")).append("</li>"); buf.append("<li><b>").append(_("status")).append("</b>: ").append(_("is the peer banned, or unreachable, or failing tunnel tests?")).append("</li>");
buf.append("</ul>"); buf.append("</ul>");
////
//// don't bother reindenting
////
} // mode < 2
out.write(buf.toString()); out.write(buf.toString());
out.flush(); out.flush();
} }

View File

@ -4,12 +4,52 @@ import java.io.IOException;
public class ProfilesHelper extends HelperBase { public class ProfilesHelper extends HelperBase {
private boolean _full; private int _full;
private boolean _graphical;
public ProfilesHelper() {} private static final String titles[] =
{_x("High Capacity"), // 0
_x("Floodfill "), // 1
_x("Banned"), // 2
_x("All"), }; // 3
private static final String links[] =
{"", // 0
"?f=2", // 1
"?f=3", // 2
"?f=1" }; // 3
public void setFull(String f) { public void setFull(String f) {
_full = f != null; if (f != null) {
try {
_full = Integer.parseInt(f);
if (_full < 0 || _full > 3)
_full = 0;
} catch (NumberFormatException nfe) {}
}
}
/**
* call for non-text-mode browsers
* @since 0.9.1
*/
public void allowGraphical() {
_graphical = true;
}
/**
* @return empty string, writes directly to _out
* @since 0.9.1
*/
public String getSummary() {
try {
renderNavBar();
} catch (IOException ioe) {}
if (_full == 3)
getShitlistSummary();
else
getProfileSummary();
return "";
} }
/** @return empty string, writes directly to _out */ /** @return empty string, writes directly to _out */
@ -33,4 +73,52 @@ public class ProfilesHelper extends HelperBase {
} }
return ""; return "";
} }
/**
* @since 0.9.1
*/
private int getTab() {
if (_full == 2)
return 1;
if (_full == 3)
return 2;
if (_full == 1)
return 3;
return 0;
}
/**
* @since 0.9.1
*/
private void renderNavBar() throws IOException {
StringBuilder buf = new StringBuilder(1024);
buf.append("<div class=\"confignav\" id=\"confignav\">");
// TODO fix up the non-light themes
String theme = _context.getProperty(CSSHelper.PROP_THEME_NAME);
boolean span = _graphical && (theme == null || theme.equals(CSSHelper.DEFAULT_THEME));
if (!span)
buf.append("<center>");
int tab = getTab();
for (int i = 0; i < titles.length; i++) {
if (i == tab) {
// we are there
if (span)
buf.append("<span class=\"tab2\">");
buf.append(_(titles[i]));
} else {
// we are not there, make a link
if (span)
buf.append("<span class=\"tab\">");
buf.append("<a href=\"profiles").append(links[i]).append("\">").append(_(titles[i])).append("</a>");
}
if (span)
buf.append(" </span>\n");
else if (i != titles.length - 1)
buf.append(" |\n");
}
if (!span)
buf.append("</center>");
buf.append("</div>");
_out.write(buf.toString());
}
} }

View File

@ -369,7 +369,8 @@ public class StatSummarizer implements Runnable {
_log.error("Error rendering", re); _log.error("Error rendering", re);
throw new IOException("Error plotting: " + re.getMessage()); throw new IOException("Error plotting: " + re.getMessage());
} catch (IOException ioe) { } catch (IOException ioe) {
_log.error("Error rendering", ioe); if (_log.shouldLog(Log.WARN))
_log.warn("Error rendering", ioe);
throw ioe; throw ioe;
} catch (OutOfMemoryError oom) { } catch (OutOfMemoryError oom) {
_log.error("Error rendering", oom); _log.error("Error rendering", oom);

View File

@ -196,7 +196,9 @@ class SummaryRenderer {
_log.error("Error rendering", re); _log.error("Error rendering", re);
throw new IOException("Error plotting: " + re.getMessage()); throw new IOException("Error plotting: " + re.getMessage());
} catch (IOException ioe) { } catch (IOException ioe) {
_log.error("Error rendering", ioe); // typically org.mortbay.jetty.EofException extends java.io.EOFException
if (_log.shouldLog(Log.WARN))
_log.warn("Error rendering", ioe);
throw ioe; throw ioe;
} catch (OutOfMemoryError oom) { } catch (OutOfMemoryError oom) {
_log.error("Error rendering", oom); _log.error("Error rendering", oom);

View File

@ -23,7 +23,7 @@
<jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" />
<jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
<div class="routersummaryouter" id="appsummary"> <div class="routersummaryouter">
<div class="routersummary"> <div class="routersummary">
<div style="height: 36px;"> <div style="height: 36px;">
<a href="/console"><img src="<%=intl.getTheme(request.getHeader("User-Agent"))%>images/i2plogo.png" alt="<%=intl._("I2P Router Console")%>" title="<%=intl._("I2P Router Console")%>"></a> <a href="/console"><img src="<%=intl.getTheme(request.getHeader("User-Agent"))%>images/i2plogo.png" alt="<%=intl._("I2P Router Console")%>" title="<%=intl._("I2P Router Console")%>"></a>
@ -44,7 +44,24 @@
</div> </div>
</div> </div>
<div id="homemain"> <h1><%=intl._("I2P Router Console")%></h1>
<%
if (newshelper.shouldShowNews()) {
java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getRouterDir(), "docs/news.xml");
%>
<div class="news" id="news">
<jsp:setProperty name="newshelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
<jsp:setProperty name="newshelper" property="maxLines" value="300" />
<jsp:getProperty name="newshelper" property="content" />
<hr>
<jsp:getProperty name="updatehelper" property="newsStatus" /><br>
</div>
<%
} // shouldShowNews()
%>
<div class="main" id="main">
<jsp:useBean class="net.i2p.router.web.HomeHelper" id="homehelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.HomeHelper" id="homehelper" scope="request" />
<jsp:setProperty name="homehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <jsp:setProperty name="homehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
<% if (homehelper.shouldShowWelcome()) { %> <% if (homehelper.shouldShowWelcome()) { %>
@ -69,25 +86,10 @@
<a href="/home?lang=uk&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ua" title="Ukrainian" alt="Ukrainian"></a> <a href="/home?lang=uk&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ua" title="Ukrainian" alt="Ukrainian"></a>
<a href="/home?lang=vi&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=vn" title="Tiếng Việt" alt="Tiếng Việt"></a> <a href="/home?lang=vi&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=vn" title="Tiếng Việt" alt="Tiếng Việt"></a>
</div> </div>
<h2 class="app"><%=intl._("Welcome to I2P")%></h2> <h2><%=intl._("Welcome to I2P")%></h2>
</div> </div>
<% } // shouldShowWelcome %> <% } // shouldShowWelcome %>
<%
if (newshelper.shouldShowNews()) {
java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getRouterDir(), "docs/news.xml");
%>
<div class="news" id="homenews">
<jsp:setProperty name="newshelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
<jsp:setProperty name="newshelper" property="maxLines" value="300" />
<jsp:getProperty name="newshelper" property="content" />
<hr>
<jsp:getProperty name="updatehelper" property="newsStatus" /><br>
</div>
<%
} // shouldShowNews()
%>
<div class="home" id="home"> <div class="home" id="home">
<% <%
if (homehelper.shouldShowSearch()) { if (homehelper.shouldShowSearch()) {
@ -115,6 +117,7 @@
<div class="ag2"> <div class="ag2">
<h4 class="app2"><%=intl._("Local Services")%></h4> <h4 class="app2"><%=intl._("Local Services")%></h4>
<jsp:getProperty name="homehelper" property="services" /><br> <jsp:getProperty name="homehelper" property="services" /><br>
<div class="clearer">&nbsp;</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -5,15 +5,19 @@
<html><head> <html><head>
<%@include file="css.jsi" %> <%@include file="css.jsi" %>
<%=intl.title("network database summary")%> <%=intl.title("network database")%>
</head><body> </head><body>
<%@include file="summary.jsi" %> <%@include file="summary.jsi" %>
<h1><%=intl._("I2P Network Database Summary")%></h1> <h1><%=intl._("I2P Network Database")%></h1>
<div class="main" id="main"> <div class="main" id="main">
<div class="wideload"> <div class="wideload">
<jsp:useBean class="net.i2p.router.web.NetDbHelper" id="netdbHelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.NetDbHelper" id="netdbHelper" scope="request" />
<jsp:setProperty name="netdbHelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <jsp:setProperty name="netdbHelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
<% netdbHelper.storeWriter(out); %> <%
netdbHelper.storeWriter(out);
if (allowIFrame)
netdbHelper.allowGraphical();
%>
<jsp:setProperty name="netdbHelper" property="full" value="<%=request.getParameter(\"f\")%>" /> <jsp:setProperty name="netdbHelper" property="full" value="<%=request.getParameter(\"f\")%>" />
<jsp:setProperty name="netdbHelper" property="router" value="<%=request.getParameter(\"r\")%>" /> <jsp:setProperty name="netdbHelper" property="router" value="<%=request.getParameter(\"r\")%>" />
<jsp:setProperty name="netdbHelper" property="lease" value="<%=request.getParameter(\"l\")%>" /> <jsp:setProperty name="netdbHelper" property="lease" value="<%=request.getParameter(\"l\")%>" />

View File

@ -1,5 +1,4 @@
<%@page contentType="text/html"%> <%@page contentType="text/html"%>
<%@page trimDirectiveWhitespaces="true"%>
<%@page pageEncoding="UTF-8"%> <%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<% <%

View File

@ -11,9 +11,11 @@
<div class="main" id="main"><div class="wideload"> <div class="main" id="main"><div class="wideload">
<jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />
<jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
<% profilesHelper.storeWriter(out); %> <%
profilesHelper.storeWriter(out);
if (allowIFrame)
profilesHelper.allowGraphical();
%>
<jsp:setProperty name="profilesHelper" property="full" value="<%=request.getParameter(\"f\")%>" /> <jsp:setProperty name="profilesHelper" property="full" value="<%=request.getParameter(\"f\")%>" />
<jsp:getProperty name="profilesHelper" property="profileSummary" /> <jsp:getProperty name="profilesHelper" property="summary" />
<a name="shitlist"> </a><h2><%=intl._("Banned Peers")%></h2>
<jsp:getProperty name="profilesHelper" property="shitlistSummary" />
<hr></div></div></body></html> <hr></div></div></body></html>

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

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-12 20:20+0000\n" "POT-Creation-Date: 2012-05-25 12:35+0000\n"
"PO-Revision-Date: 2012-03-11 02:03+0000\n" "PO-Revision-Date: 2012-03-11 02:03+0000\n"
"Last-Translator: D.A. Loader <>\n" "Last-Translator: D.A. Loader <>\n"
"Language-Team: German (http://www.transifex.net/projects/p/I2P/language/" "Language-Team: German (http://www.transifex.net/projects/p/I2P/language/"
@ -112,7 +112,7 @@ msgstr "Zeige {0} von {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
msgid "Add" msgid "Add"
msgstr "Hinzufügen" msgstr "Hinzufügen"
@ -120,7 +120,7 @@ msgstr "Hinzufügen"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406
msgid "Replace" msgid "Replace"
msgstr "Ersetzen" msgstr "Ersetzen"
@ -178,13 +178,13 @@ msgstr "Bitte geben Sie einen Hostnamen und ein Ziel ein!"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:268 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:270
msgid "Delete Entry" msgid "Delete Entry"
msgstr "Eintrag löschen" msgstr "Eintrag löschen"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:347
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Ausgewähltes löschen" msgstr "Ausgewähltes löschen"
@ -231,8 +231,8 @@ msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
@ -242,8 +242,8 @@ msgstr "Einstellungen gespeichert"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139
msgid "Reload" msgid "Reload"
msgstr "Neu laden" msgstr "Neu laden"
@ -285,170 +285,170 @@ msgstr "Abonnementquellen gespeichert"
msgid "Subscriptions reloaded." msgid "Subscriptions reloaded."
msgstr "Abonnementquellen neu geladen" msgstr "Abonnementquellen neu geladen"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
msgid "address book" msgid "address book"
msgstr "Adressbuch" msgstr "Adressbuch"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:129
msgid "Overview" msgid "Overview"
msgstr "Übersicht" msgstr "Übersicht"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
msgid "Address books"
msgstr "Adressbücher"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115
msgid "private" msgid "Address books"
msgstr "privat" msgstr "Adressbücher"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117
msgid "master" msgid "private"
msgstr "Master" msgstr "privat"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119
msgid "router" msgid "master"
msgstr "Router" msgstr "Master"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121
msgid "published" msgid "router"
msgstr "veröffentlicht" msgstr "Router"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123
msgid "Subscriptions" msgid "published"
msgstr "Abonnements" msgstr "veröffentlicht"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125
msgid "Subscriptions"
msgstr "Abonnements"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127
msgid "Configuration" msgid "Configuration"
msgstr "Einstellungen" msgstr "Einstellungen"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:130
msgid "Address book" msgid "Address book"
msgstr "Adressbuch" msgstr "Adressbuch"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:148 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:135
msgid "Storage" msgid "Storage"
msgstr "Speicherort" msgstr "Speicherort"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:168
msgid "Filter" msgid "Filter"
msgstr "Filter" msgstr "Filter"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171
msgid "other" msgid "other"
msgstr "andere" msgstr "andere"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:173
msgid "all" msgid "all"
msgstr "alle" msgstr "alle"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:187
msgid "Current filter" msgid "Current filter"
msgstr "derzeitige Filter" msgstr "derzeitige Filter"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:192
msgid "clear filter" msgid "clear filter"
msgstr "Filter löschen" msgstr "Filter löschen"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:203 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:207 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:209
msgid "Search" msgid "Search"
msgstr "Suche" msgstr "Suche"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244
msgid "Links" msgid "Links"
msgstr "Links" msgstr "Links"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:246
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:398 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:260 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:262
msgid "Destination" msgid "Destination"
msgstr "Ziel" msgstr "Ziel"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:280 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:282
msgid "Mark for deletion" msgid "Mark for deletion"
msgstr "zum Löschen markieren" msgstr "zum Löschen markieren"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:301 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:303
msgid "Base 32 address" msgid "Base 32 address"
msgstr "Adresse (Basis32)" msgstr "Adresse (Basis32)"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:305 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
msgid "More information on this entry" msgid "More information on this entry"
msgstr "Weitere Informationen über diesen Eintrag" msgstr "Weitere Informationen über diesen Eintrag"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:308 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:310
msgid "details" msgid "details"
msgstr "Details" msgstr "Details"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:343 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:402 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
msgid "Cancel" msgid "Cancel"
msgstr "Abbruch" msgstr "Abbruch"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:377 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:379
msgid "This address book is empty." msgid "This address book is empty."
msgstr "Dieses Adressbuch ist leer." msgstr "Dieses Adressbuch ist leer."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394
msgid "Add new destination" msgid "Add new destination"
msgstr "Füge neues Ziel hinzu" msgstr "Füge neues Ziel hinzu"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:396
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:159 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:161
msgid "Host Name" msgid "Host Name"
msgstr "Hostname" msgstr "Hostname"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111
msgid "configuration" msgid "configuration"
msgstr "Einstellungen" msgstr "Einstellungen"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143
msgid "Hints" msgid "Hints"
msgstr "Hinweise" msgstr "Hinweise"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145
msgid "" msgid ""
"File and directory paths here are relative to the addressbook's working " "File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P" "directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
@ -458,7 +458,7 @@ msgstr ""
"Adressbuchs - normalerweise ~/.i2p/addressbook/ (Linux) oder %APPDATA%\\I2P" "Adressbuchs - normalerweise ~/.i2p/addressbook/ (Linux) oder %APPDATA%\\I2P"
"\\addressbook\\ (Windows)." "\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:147
msgid "" msgid ""
"If you want to manually add lines to an addressbook, add them to the private " "If you want to manually add lines to an addressbook, add them to the private "
"or master addressbooks." "or master addressbooks."
@ -466,7 +466,7 @@ msgstr ""
"Falls Sie manuell Einträge zum Adressbuch hinzufügen möchten, fügen Sie " "Falls Sie manuell Einträge zum Adressbuch hinzufügen möchten, fügen Sie "
"diese zum privaten oder zum Master-Adressbuch hinzu!" "diese zum privaten oder zum Master-Adressbuch hinzu!"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "" msgid ""
"The router addressbook and the published addressbook are updated by the " "The router addressbook and the published addressbook are updated by the "
"addressbook application." "addressbook application."
@ -474,7 +474,7 @@ msgstr ""
"Das Router-Adressbuch und das veröffentlichte Adressbuch werden von der " "Das Router-Adressbuch und das veröffentlichte Adressbuch werden von der "
"Adressbuch-Anwendung aktualisiert." "Adressbuch-Anwendung aktualisiert."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "" msgid ""
"When you publish your addressbook, ALL destinations from the master and " "When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there." "router addressbooks appear there."
@ -482,7 +482,7 @@ msgstr ""
"Falls Sie das Adressbuch veröffentlichen, erscheinen dort ALLE Ziele aus dem " "Falls Sie das Adressbuch veröffentlichen, erscheinen dort ALLE Ziele aus dem "
"Master- und dem Router-Adressbuch." "Master- und dem Router-Adressbuch."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:149 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
msgid "" msgid ""
"Use the private addressbook for private destinations, these are not " "Use the private addressbook for private destinations, these are not "
"published." "published."
@ -490,20 +490,20 @@ msgstr ""
"Benutzen Sie das private Adressbuch für private Ziele. Diese werden nicht " "Benutzen Sie das private Adressbuch für private Ziele. Diese werden nicht "
"veröffentlicht." "veröffentlicht."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
msgid "Options" msgid "Options"
msgstr "Optionen" msgstr "Optionen"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155
msgid "File containing the list of subscriptions URLs (no need to change)" msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr "" msgstr ""
"Datei mit der Liste von Abonnement-URLs (braucht nicht geändert zu werden)" "Datei mit der Liste von Abonnement-URLs (braucht nicht geändert zu werden)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157
msgid "Update interval in hours" msgid "Update interval in hours"
msgstr "Aktualisierungsintervall in Stunden" msgstr "Aktualisierungsintervall in Stunden"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159
msgid "" msgid ""
"Your public hosts.txt file (choose a path within your webserver document " "Your public hosts.txt file (choose a path within your webserver document "
"root)" "root)"
@ -511,31 +511,31 @@ msgstr ""
"Ihre öffentliche hosts.txt-Datei (Wählen Sie einen Pfad in Ihrem Webserver " "Ihre öffentliche hosts.txt-Datei (Wählen Sie einen Pfad in Ihrem Webserver "
"Wurzelverzeichnis!)" "Wurzelverzeichnis!)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161
msgid "Your hosts.txt (don't change)" msgid "Your hosts.txt (don't change)"
msgstr "Ihre hosts.txt (nicht ändern)" msgstr "Ihre hosts.txt (nicht ändern)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163
msgid "Your personal addressbook, these hosts will be published" msgid "Your personal addressbook, these hosts will be published"
msgstr "Ihr persönliches Adressbuch - diese Hosteinträge werden veröffentlicht" msgstr "Ihr persönliches Adressbuch - diese Hosteinträge werden veröffentlicht"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165
msgid "Your private addressbook, it is never published" msgid "Your private addressbook, it is never published"
msgstr "Ihr privates Adressbuch - dieses wird nie veröffentlicht" msgstr "Ihr privates Adressbuch - dieses wird nie veröffentlicht"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167
msgid "Port for your eepProxy (no need to change)" msgid "Port for your eepProxy (no need to change)"
msgstr "Port zu Ihrem EepProxy (braucht nicht geändert zu werden)" msgstr "Port zu Ihrem EepProxy (braucht nicht geändert zu werden)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169
msgid "Hostname for your eepProxy (no need to change)" msgid "Hostname for your eepProxy (no need to change)"
msgstr "Hostname zu Ihrem EepProxy (braucht nicht geändert zu werden)" msgstr "Hostname zu Ihrem EepProxy (braucht nicht geändert zu werden)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171
msgid "Whether to update the published addressbook" msgid "Whether to update the published addressbook"
msgstr "Soll Ihr veröffentlichtes Adressbuch aktualisiert werden?" msgstr "Soll Ihr veröffentlichtes Adressbuch aktualisiert werden?"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173
msgid "" msgid ""
"File containing the etags header from the fetched subscription URLs (no need " "File containing the etags header from the fetched subscription URLs (no need "
"to change)" "to change)"
@ -543,7 +543,7 @@ msgstr ""
"Datei, die die etags-Kopfzeilen der bereits aktualisierten Abonnement-URLs " "Datei, die die etags-Kopfzeilen der bereits aktualisierten Abonnement-URLs "
"enthält (braucht nicht geändert zu werden)" "enthält (braucht nicht geändert zu werden)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175
msgid "" msgid ""
"File containing the modification timestamp for each fetched subscription URL " "File containing the modification timestamp for each fetched subscription URL "
"(no need to change)" "(no need to change)"
@ -551,85 +551,85 @@ msgstr ""
"Datei, welche die Zeitstempel der letzten Modifikation für jede bereits " "Datei, welche die Zeitstempel der letzten Modifikation für jede bereits "
"aktualisierte Abonnement-URL enthält (braucht nicht geändert zu werden)" "aktualisierte Abonnement-URL enthält (braucht nicht geändert zu werden)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:177
msgid "File to log activity to (change to /dev/null if you like)" msgid "File to log activity to (change to /dev/null if you like)"
msgstr "" msgstr ""
"Berichte zu Aktivitäten werden in dieser Datei gespeichert. (Ändern Sie es " "Berichte zu Aktivitäten werden in dieser Datei gespeichert. (Ändern Sie es "
"zu /dev/null, wenn Sie möchten!)" "zu /dev/null, wenn Sie möchten!)"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
msgid "addressbook" msgid "addressbook"
msgstr "Adressbuch" msgstr "Adressbuch"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:175 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:177
msgid "Encoded Name" msgid "Encoded Name"
msgstr "kodierter Name" msgstr "kodierter Name"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:191 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:193
msgid "Base 32 Address" msgid "Base 32 Address"
msgstr "Basis32-Adresse" msgstr "Basis32-Adresse"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:201 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:203
msgid "Base 64 Hash" msgid "Base 64 Hash"
msgstr "Base 64 Hash" msgstr "Base 64 Hash"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:209
msgid "Address Helper" msgid "Address Helper"
msgstr "Adresshelfer" msgstr "Adresshelfer"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:214 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216
msgid "link" msgid "link"
msgstr "Link" msgstr "Link"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:218 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
msgid "Public Key" msgid "Public Key"
msgstr "Öffentlicher Schlüssel" msgstr "Öffentlicher Schlüssel"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:222
msgid "ElGamal 2048 bit" msgid "ElGamal 2048 bit"
msgstr "ElGamal 2048 bit" msgstr "ElGamal 2048 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:224 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
msgid "Signing Key" msgid "Signing Key"
msgstr "Authentifizierungsschlüssel" msgstr "Authentifizierungsschlüssel"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:228
msgid "DSA 1024 bit" msgid "DSA 1024 bit"
msgstr "DSA 1024 bit" msgstr "DSA 1024 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:230 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
msgid "Certificate" msgid "Certificate"
msgstr "Zertifikat" msgstr "Zertifikat"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:236 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238
msgid "Added Date" msgid "Added Date"
msgstr "Datum hinzugefügt" msgstr "Datum hinzugefügt"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:242 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244
msgid "Source" msgid "Source"
msgstr "Quelle" msgstr "Quelle"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:248 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250
msgid "Last Modified" msgid "Last Modified"
msgstr "Zuletzt geändert:" msgstr "Zuletzt geändert:"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:254 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:256
msgid "Notes" msgid "Notes"
msgstr "Anmerkungen" msgstr "Anmerkungen"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:100 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
msgid "Introduction" msgid "Introduction"
msgstr "Einleitung - SusiDNS" msgstr "Einleitung - SusiDNS"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120
msgid "What is the addressbook?" msgid "What is the addressbook?"
msgstr "Was ist das Adressbuch?" msgstr "Was ist das Adressbuch?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:122
msgid "The addressbook application is part of your I2P installation." msgid "The addressbook application is part of your I2P installation."
msgstr "Das Adressbuch ist ein Teil Ihrer I2P-Installation." msgstr "Das Adressbuch ist ein Teil Ihrer I2P-Installation."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid "" msgid ""
"It regularly updates your hosts.txt file from distributed sources or " "It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"." "\"subscriptions\"."
@ -637,7 +637,7 @@ msgstr ""
"Es aktualisiert regelmäßig Ihre hosts.txt-Datei aus verteilten Quellen oder " "Es aktualisiert regelmäßig Ihre hosts.txt-Datei aus verteilten Quellen oder "
"den \"Abonnementquellen\"." "den \"Abonnementquellen\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid "" msgid ""
"In the default configuration, the address book is only subscribed to www." "In the default configuration, the address book is only subscribed to www."
"i2p2.i2p." "i2p2.i2p."
@ -645,7 +645,7 @@ msgstr ""
"In der Standardkonfiguration besteht lediglich ein Abonnement tu www.i2p2." "In der Standardkonfiguration besteht lediglich ein Abonnement tu www.i2p2."
"i2p." "i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:124 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126
msgid "" msgid ""
"Subscribing to additional sites is easy, just add them to your <a href=" "Subscribing to additional sites is easy, just add them to your <a href="
"\"subscriptions\">subscriptions</a> file." "\"subscriptions\">subscriptions</a> file."
@ -653,7 +653,7 @@ msgstr ""
"Anderen Seiten zu Folgen ist einfach, füge sie einfach zu deiner <a href=" "Anderen Seiten zu Folgen ist einfach, füge sie einfach zu deiner <a href="
"\"subscriptions\">Subscriptions</a> Datei hinzu." "\"subscriptions\">Subscriptions</a> Datei hinzu."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128
msgid "" msgid ""
"For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/" "For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
"naming.html\">the overview on www.i2p2.i2p</a>." "naming.html\">the overview on www.i2p2.i2p</a>."
@ -662,11 +662,11 @@ msgstr ""
"\"http://www.i2p2.i2p/naming.html\">die Erläuterungen auf www.i2p2.i2p</a> " "\"http://www.i2p2.i2p/naming.html\">die Erläuterungen auf www.i2p2.i2p</a> "
"verwiesen." "verwiesen."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130
msgid "How does the addressbook application work?" msgid "How does the addressbook application work?"
msgstr "Wie funktioniert das Adressbuch?" msgstr "Wie funktioniert das Adressbuch?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132
msgid "" msgid ""
"The addressbook application regularly polls your subscriptions and merges " "The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book." "their content into your \"router\" address book."
@ -674,13 +674,13 @@ msgstr ""
"Die Adressbuch-Anwendung bezieht regelmäßig Informationen von deinen " "Die Adressbuch-Anwendung bezieht regelmäßig Informationen von deinen "
"Abonnements und inkorporiert deren Inhalt in dein \"Router\"-Adressbuch." "Abonnements und inkorporiert deren Inhalt in dein \"Router\"-Adressbuch."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid "" msgid ""
"Then it merges your \"master\" address book into the router address book as " "Then it merges your \"master\" address book into the router address book as "
"well." "well."
msgstr "Dann fügt sie noch den Inhalt des \"Master\"-Adressbuches hinzu." msgstr "Dann fügt sie noch den Inhalt des \"Master\"-Adressbuches hinzu."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134
msgid "" msgid ""
"If configured, the router address book is now written to the \"published\" " "If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an eepsite." "address book, which will be publicly available if you are running an eepsite."
@ -689,7 +689,7 @@ msgstr ""
"Routeradressbuch nun in das \"veröffentlichte\" Adressbuch geschrieben, " "Routeradressbuch nun in das \"veröffentlichte\" Adressbuch geschrieben, "
"welches öffentlich erreichbar ist, wenn du eine Eepsite betreibst." "welches öffentlich erreichbar ist, wenn du eine Eepsite betreibst."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136
msgid "" msgid ""
"The router also uses a private address book (not shown in the picture), " "The router also uses a private address book (not shown in the picture), "
"which is not merged or published." "which is not merged or published."
@ -697,7 +697,7 @@ msgstr ""
"Der Router benutzt ferner ein privates Adressbuch (nicht im Bild), welches " "Der Router benutzt ferner ein privates Adressbuch (nicht im Bild), welches "
"weder veröffentlich noch mit den anderen zusammengeführt wird." "weder veröffentlich noch mit den anderen zusammengeführt wird."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:135 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:137
msgid "" msgid ""
"Hosts in the private address book can be accessed by you but their addresses " "Hosts in the private address book can be accessed by you but their addresses "
"are never distributed to others." "are never distributed to others."
@ -705,7 +705,7 @@ msgstr ""
"Hosts aus dem privaten Adressbuch können von dir besucht werden, ihrer " "Hosts aus dem privaten Adressbuch können von dir besucht werden, ihrer "
"Adressen werden jedoch nie an andere weitergegeben." "Adressen werden jedoch nie an andere weitergegeben."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:138
msgid "" msgid ""
"The private address book can also be used for aliases of hosts in your other " "The private address book can also be used for aliases of hosts in your other "
"address books." "address books."
@ -713,25 +713,25 @@ msgstr ""
"Das private Adressbuch kann außerdem für Aliasse von Adressen in den anderen " "Das private Adressbuch kann außerdem für Aliasse von Adressen in den anderen "
"Adressbüchern von Nutzen sein." "Adressbüchern von Nutzen sein."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:111
msgid "subscriptions" msgid "subscriptions"
msgstr "Abonnements" msgstr "Abonnements"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "The subscription file contains a list of i2p URLs." msgid "The subscription file contains a list of i2p URLs."
msgstr "Die Abonnementdatei enthält eine Liste von I2P-URLs." msgstr "Die Abonnementdatei enthält eine Liste von I2P-URLs."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "" msgid ""
"The addressbook application regularly checks this list for new eepsites." "The addressbook application regularly checks this list for new eepsites."
msgstr "" msgstr ""
"Die Adressbuchanwendung prüft diese Liste regelmäßig auf neue Eepsites." "Die Adressbuchanwendung prüft diese Liste regelmäßig auf neue Eepsites."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Those URLs refer to published hosts.txt files." msgid "Those URLs refer to published hosts.txt files."
msgstr "Diese URLs verweisen auf veröffentlichte hosts.txt-Dateien." msgstr "Diese URLs verweisen auf veröffentlichte hosts.txt-Dateien."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:146
msgid "" msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is " "The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently." "updated infrequently."
@ -739,7 +739,7 @@ msgstr ""
"Das Standardabonnement ist die hosts.txt-Datei von www.i2p2.i2p, welche " "Das Standardabonnement ist die hosts.txt-Datei von www.i2p2.i2p, welche "
"nicht regelmäßig aktualisiert wird." "nicht regelmäßig aktualisiert wird."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147
msgid "" msgid ""
"So it is a good idea to add additional subscriptions to sites that have the " "So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses." "latest addresses."
@ -747,6 +747,6 @@ msgstr ""
"Somit ist es eine gute Idee, weitere Abonnements von Seiten mit den neuesten " "Somit ist es eine gute Idee, weitere Abonnements von Seiten mit den neuesten "
"Adressen hinzuzufügen." "Adressen hinzuzufügen."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:149
msgid "See the FAQ for a list of subscription URLs." msgid "See the FAQ for a list of subscription URLs."
msgstr "Schauen Sie in den FAQ nach einer Liste von Abonnement-URLs!" msgstr "Schauen Sie in den FAQ nach einer Liste von Abonnement-URLs!"

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-12 20:21+0000\n" "POT-Creation-Date: 2012-05-25 12:34+0000\n"
"PO-Revision-Date: 2012-03-16 19:24+0000\n" "PO-Revision-Date: 2012-03-16 19:24+0000\n"
"Last-Translator: punkibastardo <punkibastardo@gmail.com>\n" "Last-Translator: punkibastardo <punkibastardo@gmail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/"
@ -115,7 +115,7 @@ msgstr "Mostrando {0} de {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
msgid "Add" msgid "Add"
msgstr "Agregar" msgstr "Agregar"
@ -123,7 +123,7 @@ msgstr "Agregar"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406
msgid "Replace" msgid "Replace"
msgstr "Reemplazar" msgstr "Reemplazar"
@ -184,13 +184,13 @@ msgstr "Por favor, ¡introduce un nombre de host y destino!"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:268 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:270
msgid "Delete Entry" msgid "Delete Entry"
msgstr "Borrar entrada" msgstr "Borrar entrada"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:347
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminar seleccionados" msgstr "Eliminar seleccionados"
@ -238,8 +238,8 @@ msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
@ -249,8 +249,8 @@ msgstr "Configuración guardada."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139
msgid "Reload" msgid "Reload"
msgstr "Recargar" msgstr "Recargar"
@ -294,170 +294,170 @@ msgstr "Suscripciones guardadas."
msgid "Subscriptions reloaded." msgid "Subscriptions reloaded."
msgstr "Suscripciones recargadas." msgstr "Suscripciones recargadas."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
msgid "address book" msgid "address book"
msgstr "libreta de direcciones" msgstr "libreta de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:129
msgid "Overview" msgid "Overview"
msgstr "Resumen" msgstr "Resumen"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
msgid "Address books"
msgstr "Libretas de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115
msgid "private" msgid "Address books"
msgstr "privado" msgstr "Libretas de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117
msgid "master" msgid "private"
msgstr "principal" msgstr "privado"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119
msgid "router" msgid "master"
msgstr "router" msgstr "principal"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121
msgid "published" msgid "router"
msgstr "publicado" msgstr "router"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123
msgid "Subscriptions" msgid "published"
msgstr "Suscripciones" msgstr "publicado"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125
msgid "Subscriptions"
msgstr "Suscripciones"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127
msgid "Configuration" msgid "Configuration"
msgstr "Configuración" msgstr "Configuración"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:130
msgid "Address book" msgid "Address book"
msgstr "Libreta de direcciones" msgstr "Libreta de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:148 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:135
msgid "Storage" msgid "Storage"
msgstr "Almacenamiento" msgstr "Almacenamiento"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:168
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171
msgid "other" msgid "other"
msgstr "otros" msgstr "otros"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:173
msgid "all" msgid "all"
msgstr "todos" msgstr "todos"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:187
msgid "Current filter" msgid "Current filter"
msgstr "Filtro actual" msgstr "Filtro actual"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:192
msgid "clear filter" msgid "clear filter"
msgstr "filtro actual" msgstr "filtro actual"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:203 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:207 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:209
msgid "Search" msgid "Search"
msgstr "Buscar" msgstr "Buscar"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244
msgid "Links" msgid "Links"
msgstr "Vínculos" msgstr "Vínculos"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:246
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:398 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:260 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:262
msgid "Destination" msgid "Destination"
msgstr "Destino" msgstr "Destino"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:280 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:282
msgid "Mark for deletion" msgid "Mark for deletion"
msgstr "Marcar para eliminar" msgstr "Marcar para eliminar"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:301 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:303
msgid "Base 32 address" msgid "Base 32 address"
msgstr "Dirección a base de 32" msgstr "Dirección a base de 32"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:305 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
msgid "More information on this entry" msgid "More information on this entry"
msgstr "Más información sobre esta entrada" msgstr "Más información sobre esta entrada"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:308 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:310
msgid "details" msgid "details"
msgstr "detalles" msgstr "detalles"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:343 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:402 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:377 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:379
msgid "This address book is empty." msgid "This address book is empty."
msgstr "Esta libreta de direcciones está vacía." msgstr "Esta libreta de direcciones está vacía."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394
msgid "Add new destination" msgid "Add new destination"
msgstr "Añadir nuevo destino" msgstr "Añadir nuevo destino"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:396
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:159 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:161
msgid "Host Name" msgid "Host Name"
msgstr "Nombre de Host" msgstr "Nombre de Host"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111
msgid "configuration" msgid "configuration"
msgstr "configuración" msgstr "configuración"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143
msgid "Hints" msgid "Hints"
msgstr "Consejos" msgstr "Consejos"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145
msgid "" msgid ""
"File and directory paths here are relative to the addressbook's working " "File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P" "directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
@ -467,7 +467,7 @@ msgstr ""
"directorio de trabajo de la libreta de direcciones, que es normalmente ~/." "directorio de trabajo de la libreta de direcciones, que es normalmente ~/."
"i2p/addressbook/ (Linux) o %APPDATA%\\I2P\\addressbook\\ (Windows)." "i2p/addressbook/ (Linux) o %APPDATA%\\I2P\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:147
msgid "" msgid ""
"If you want to manually add lines to an addressbook, add them to the private " "If you want to manually add lines to an addressbook, add them to the private "
"or master addressbooks." "or master addressbooks."
@ -475,7 +475,7 @@ msgstr ""
"Si deseas agregar manualmente líneas a una libreta de direcciones, añádelos " "Si deseas agregar manualmente líneas a una libreta de direcciones, añádelos "
"a la libreta de direcciones privada o maestra." "a la libreta de direcciones privada o maestra."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "" msgid ""
"The router addressbook and the published addressbook are updated by the " "The router addressbook and the published addressbook are updated by the "
"addressbook application." "addressbook application."
@ -483,7 +483,7 @@ msgstr ""
"La libreta de direcciones del router y la libreta de direcciones publicada " "La libreta de direcciones del router y la libreta de direcciones publicada "
"son actualizadas por la aplicación libreta de direcciones." "son actualizadas por la aplicación libreta de direcciones."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "" msgid ""
"When you publish your addressbook, ALL destinations from the master and " "When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there." "router addressbooks appear there."
@ -491,7 +491,7 @@ msgstr ""
"Al publicar tu libro de direcciones, TODOS los destinos de la libreta " "Al publicar tu libro de direcciones, TODOS los destinos de la libreta "
"maestra y la libreta de direcciones del router aparecen ahí." "maestra y la libreta de direcciones del router aparecen ahí."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:149 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
msgid "" msgid ""
"Use the private addressbook for private destinations, these are not " "Use the private addressbook for private destinations, these are not "
"published." "published."
@ -499,21 +499,21 @@ msgstr ""
"Utiliza la libreta de direcciones privada para destinos privados, éstos no " "Utiliza la libreta de direcciones privada para destinos privados, éstos no "
"serán publicados." "serán publicados."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
msgid "Options" msgid "Options"
msgstr "Opciones" msgstr "Opciones"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155
msgid "File containing the list of subscriptions URLs (no need to change)" msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr "" msgstr ""
"El archivo que contiene la lista de suscripciones URL (no es necesario " "El archivo que contiene la lista de suscripciones URL (no es necesario "
"cambiarlo)" "cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157
msgid "Update interval in hours" msgid "Update interval in hours"
msgstr "Intervalo de actualización en horas" msgstr "Intervalo de actualización en horas"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159
msgid "" msgid ""
"Your public hosts.txt file (choose a path within your webserver document " "Your public hosts.txt file (choose a path within your webserver document "
"root)" "root)"
@ -521,31 +521,31 @@ msgstr ""
"Tu archivo hosts.txt público (¡elije una ruta dentro de la raíz de " "Tu archivo hosts.txt público (¡elije una ruta dentro de la raíz de "
"documentos de tu servidor web!)" "documentos de tu servidor web!)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161
msgid "Your hosts.txt (don't change)" msgid "Your hosts.txt (don't change)"
msgstr "Tu hosts.txt (no cambiar)" msgstr "Tu hosts.txt (no cambiar)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163
msgid "Your personal addressbook, these hosts will be published" msgid "Your personal addressbook, these hosts will be published"
msgstr "Tu libreta de direcciones personal, estos hosts serán publicados" msgstr "Tu libreta de direcciones personal, estos hosts serán publicados"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165
msgid "Your private addressbook, it is never published" msgid "Your private addressbook, it is never published"
msgstr "Tu libreta de direcciones privada, nunca se publica" msgstr "Tu libreta de direcciones privada, nunca se publica"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167
msgid "Port for your eepProxy (no need to change)" msgid "Port for your eepProxy (no need to change)"
msgstr "Puerto para tu eepProxy (no es necesario cambiarlo)" msgstr "Puerto para tu eepProxy (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169
msgid "Hostname for your eepProxy (no need to change)" msgid "Hostname for your eepProxy (no need to change)"
msgstr "Nombre de la host para tu eepProxy (no es necesario cambiarlo)" msgstr "Nombre de la host para tu eepProxy (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171
msgid "Whether to update the published addressbook" msgid "Whether to update the published addressbook"
msgstr "Sea para actualizar la libreta de direcciones publicadas" msgstr "Sea para actualizar la libreta de direcciones publicadas"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173
msgid "" msgid ""
"File containing the etags header from the fetched subscription URLs (no need " "File containing the etags header from the fetched subscription URLs (no need "
"to change)" "to change)"
@ -553,7 +553,7 @@ msgstr ""
"Archivo que contiene la cabecera de los etags desde la URL de subscripciones " "Archivo que contiene la cabecera de los etags desde la URL de subscripciones "
"capturada (no es necesario cambiarlo)" "capturada (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175
msgid "" msgid ""
"File containing the modification timestamp for each fetched subscription URL " "File containing the modification timestamp for each fetched subscription URL "
"(no need to change)" "(no need to change)"
@ -561,86 +561,86 @@ msgstr ""
"Archivo que contiene la fecha y hora de modificación para cada URL de " "Archivo que contiene la fecha y hora de modificación para cada URL de "
"suscripción capturada (no es necesario cambiarlo)" "suscripción capturada (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:177
msgid "File to log activity to (change to /dev/null if you like)" msgid "File to log activity to (change to /dev/null if you like)"
msgstr "" msgstr ""
"El archivo en el que se guarda el registro de actividad (Cámbialo a /dev/" "El archivo en el que se guarda el registro de actividad (Cámbialo a /dev/"
"null si quieres)." "null si quieres)."
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
msgid "addressbook" msgid "addressbook"
msgstr "libreta de direcciones" msgstr "libreta de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:175 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:177
msgid "Encoded Name" msgid "Encoded Name"
msgstr "Nombre codificado" msgstr "Nombre codificado"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:191 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:193
msgid "Base 32 Address" msgid "Base 32 Address"
msgstr "Dirección a base de 32" msgstr "Dirección a base de 32"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:201 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:203
msgid "Base 64 Hash" msgid "Base 64 Hash"
msgstr "Hash en base 64" msgstr "Hash en base 64"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:209
msgid "Address Helper" msgid "Address Helper"
msgstr "Manejador de direcciones" msgstr "Manejador de direcciones"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:214 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216
msgid "link" msgid "link"
msgstr "vínculo" msgstr "vínculo"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:218 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
msgid "Public Key" msgid "Public Key"
msgstr "Clave pública" msgstr "Clave pública"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:222
msgid "ElGamal 2048 bit" msgid "ElGamal 2048 bit"
msgstr "ElGamal de 2048 bits" msgstr "ElGamal de 2048 bits"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:224 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
msgid "Signing Key" msgid "Signing Key"
msgstr "Clave de firmado" msgstr "Clave de firmado"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:228
msgid "DSA 1024 bit" msgid "DSA 1024 bit"
msgstr "DSA de 1024 bits" msgstr "DSA de 1024 bits"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:230 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
msgid "Certificate" msgid "Certificate"
msgstr "Certificado" msgstr "Certificado"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:236 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238
msgid "Added Date" msgid "Added Date"
msgstr "Fecha añadida" msgstr "Fecha añadida"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:242 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244
msgid "Source" msgid "Source"
msgstr "Fuente" msgstr "Fuente"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:248 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250
msgid "Last Modified" msgid "Last Modified"
msgstr "Modificado por última vez" msgstr "Modificado por última vez"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:254 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:256
msgid "Notes" msgid "Notes"
msgstr "Notas" msgstr "Notas"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:100 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
msgid "Introduction" msgid "Introduction"
msgstr "Introducción" msgstr "Introducción"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120
msgid "What is the addressbook?" msgid "What is the addressbook?"
msgstr "¿Qué es la libreta de direcciones?" msgstr "¿Qué es la libreta de direcciones?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:122
msgid "The addressbook application is part of your I2P installation." msgid "The addressbook application is part of your I2P installation."
msgstr "" msgstr ""
"La aplicación de libreta de direcciones es parte de tu instalación de I2P." "La aplicación de libreta de direcciones es parte de tu instalación de I2P."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid "" msgid ""
"It regularly updates your hosts.txt file from distributed sources or " "It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"." "\"subscriptions\"."
@ -648,7 +648,7 @@ msgstr ""
"Actualiza constantemente su archivo hosts.txt desde fuentes distribuidas o " "Actualiza constantemente su archivo hosts.txt desde fuentes distribuidas o "
"\"suscripciones\"." "\"suscripciones\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid "" msgid ""
"In the default configuration, the address book is only subscribed to www." "In the default configuration, the address book is only subscribed to www."
"i2p2.i2p." "i2p2.i2p."
@ -656,7 +656,7 @@ msgstr ""
"En la configuración por defecto, la libreta de direcciones sólo está " "En la configuración por defecto, la libreta de direcciones sólo está "
"suscrita a www.i2p2.i2p." "suscrita a www.i2p2.i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:124 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126
msgid "" msgid ""
"Subscribing to additional sites is easy, just add them to your <a href=" "Subscribing to additional sites is easy, just add them to your <a href="
"\"subscriptions\">subscriptions</a> file." "\"subscriptions\">subscriptions</a> file."
@ -664,7 +664,7 @@ msgstr ""
"Suscribirse a otras páginas es fácil, sólo añádelas a tu archivo de <a href=" "Suscribirse a otras páginas es fácil, sólo añádelas a tu archivo de <a href="
"\"subscriptions\">subscripciones</a>." "\"subscriptions\">subscripciones</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128
msgid "" msgid ""
"For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/" "For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
"naming.html\">the overview on www.i2p2.i2p</a>." "naming.html\">the overview on www.i2p2.i2p</a>."
@ -672,11 +672,11 @@ msgstr ""
"Para mayor información acerca del nombrado en I2P, consulta <a href=\"http://" "Para mayor información acerca del nombrado en I2P, consulta <a href=\"http://"
"www.i2p2.i2p/naming.html\">la información general en www.i2p2.i2p</a>." "www.i2p2.i2p/naming.html\">la información general en www.i2p2.i2p</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130
msgid "How does the addressbook application work?" msgid "How does the addressbook application work?"
msgstr "¿Cómo funciona la libreta de direcciones?" msgstr "¿Cómo funciona la libreta de direcciones?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132
msgid "" msgid ""
"The addressbook application regularly polls your subscriptions and merges " "The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book." "their content into your \"router\" address book."
@ -684,7 +684,7 @@ msgstr ""
"La aplicación de libreta de direcciones examina tus suscripciones e " "La aplicación de libreta de direcciones examina tus suscripciones e "
"incorpora su contenido a tu libreta de direcciones del \"router\"." "incorpora su contenido a tu libreta de direcciones del \"router\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid "" msgid ""
"Then it merges your \"master\" address book into the router address book as " "Then it merges your \"master\" address book into the router address book as "
"well." "well."
@ -692,7 +692,7 @@ msgstr ""
"Luego también incluye los contenidos de tu libreta de direcciones \"principal" "Luego también incluye los contenidos de tu libreta de direcciones \"principal"
"\" en aquella del router." "\" en aquella del router."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134
msgid "" msgid ""
"If configured, the router address book is now written to the \"published\" " "If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an eepsite." "address book, which will be publicly available if you are running an eepsite."
@ -701,7 +701,7 @@ msgstr ""
"contenidos a la libreta de direcciones \"publicada\", la cual estará " "contenidos a la libreta de direcciones \"publicada\", la cual estará "
"disponible públicamente si estás corriendo un sitio i2p própio." "disponible públicamente si estás corriendo un sitio i2p própio."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136
msgid "" msgid ""
"The router also uses a private address book (not shown in the picture), " "The router also uses a private address book (not shown in the picture), "
"which is not merged or published." "which is not merged or published."
@ -709,7 +709,7 @@ msgstr ""
"El router también utiliza una libreta de direcciones privada (no mostrada en " "El router también utiliza una libreta de direcciones privada (no mostrada en "
"la figura), la cual ni se incorpora a ninguna otra libreta ni se publica." "la figura), la cual ni se incorpora a ninguna otra libreta ni se publica."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:135 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:137
msgid "" msgid ""
"Hosts in the private address book can be accessed by you but their addresses " "Hosts in the private address book can be accessed by you but their addresses "
"are never distributed to others." "are never distributed to others."
@ -717,7 +717,7 @@ msgstr ""
"Puedes visitar a los hosts que aparecen en tu libreta de direcciones " "Puedes visitar a los hosts que aparecen en tu libreta de direcciones "
"privada, pero sus direcciones no se distribuyen a terceros." "privada, pero sus direcciones no se distribuyen a terceros."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:138
msgid "" msgid ""
"The private address book can also be used for aliases of hosts in your other " "The private address book can also be used for aliases of hosts in your other "
"address books." "address books."
@ -725,26 +725,26 @@ msgstr ""
"La libreta de direcciones privada también se puede utilizar para alias de " "La libreta de direcciones privada también se puede utilizar para alias de "
"los hosts en tus otras libretas de direcciones." "los hosts en tus otras libretas de direcciones."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:111
msgid "subscriptions" msgid "subscriptions"
msgstr "suscripciones" msgstr "suscripciones"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "The subscription file contains a list of i2p URLs." msgid "The subscription file contains a list of i2p URLs."
msgstr "El archivo de suscripción contiene una lista de URLs I2P." msgstr "El archivo de suscripción contiene una lista de URLs I2P."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "" msgid ""
"The addressbook application regularly checks this list for new eepsites." "The addressbook application regularly checks this list for new eepsites."
msgstr "" msgstr ""
"La aplicación de libreta de direcciones comprueba regularmente esta lista en " "La aplicación de libreta de direcciones comprueba regularmente esta lista en "
"busca de nuevos eepsites." "busca de nuevos eepsites."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Those URLs refer to published hosts.txt files." msgid "Those URLs refer to published hosts.txt files."
msgstr "Esas URLs referencian a los archivos hosts.txt publicados." msgstr "Esas URLs referencian a los archivos hosts.txt publicados."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:146
msgid "" msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is " "The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently." "updated infrequently."
@ -752,7 +752,7 @@ msgstr ""
"La suscripción por defecto es el hosts.txt de www.i2p2.i2p, que se actualiza " "La suscripción por defecto es el hosts.txt de www.i2p2.i2p, que se actualiza "
"con poca frecuencia." "con poca frecuencia."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147
msgid "" msgid ""
"So it is a good idea to add additional subscriptions to sites that have the " "So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses." "latest addresses."
@ -760,7 +760,7 @@ msgstr ""
"Por lo tanto, es una buena idea agregar suscripciones adicionales a sitios " "Por lo tanto, es una buena idea agregar suscripciones adicionales a sitios "
"que tengan las direcciones más recientes." "que tengan las direcciones más recientes."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:149
msgid "See the FAQ for a list of subscription URLs." msgid "See the FAQ for a list of subscription URLs."
msgstr "" msgstr ""
"Ver las preguntas frecuentes para obtener una lista de direcciones URL de " "Ver las preguntas frecuentes para obtener una lista de direcciones URL de "

View File

@ -4,224 +4,232 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers # To contribute translations, see http://www.i2p2.de/newdevelopers
# #
# Translators: # Translators:
# <colomboi2p@ymail.com>, 2012.
# <jokjok@hotmail.it>, 2011. # <jokjok@hotmail.it>, 2011.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-12-12 11:18+0000\n" "POT-Creation-Date: 2012-05-25 11:01+0000\n"
"PO-Revision-Date: 2011-12-12 11:19+0000\n" "PO-Revision-Date: 2012-05-22 00:15+0000\n"
"Last-Translator: kytv <killyourtv@i2pmail.org>\n" "Last-Translator: ColomboI2P <colomboi2p@ymail.com>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/I2P/language/it/)\n" "Language-Team: Italian (http://www.transifex.net/projects/p/I2P/language/"
"it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:131 #: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format #, java-format
msgid "Host name \"{0}\" contains illegal character {1}" msgid "Host name \"{0}\" contains illegal character {1}"
msgstr "L''host name \"{0}\" contiene il carattere illegale {1}" msgstr "L''host name \"{0}\" contiene il carattere illegale {1}"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:144 #: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:146 #: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:153 #: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format #, java-format
msgid "Host name cannot start with \"{0}\"" msgid "Host name cannot start with \"{0}\""
msgstr "L''host name non può iniziare con \"{0}\"" msgstr "L''host name non può iniziare con \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:148 #: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:150 #: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format #, java-format
msgid "Host name cannot end with \"{0}\"" msgid "Host name cannot end with \"{0}\""
msgstr "L''host name non può finire con \"{0}\"" msgstr "L''host name non può finire con \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:155 #: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format #, java-format
msgid "Host name cannot contain \"{0}\"" msgid "Host name cannot contain \"{0}\""
msgstr "L''host name non può contenere \"{0}\"" msgstr "L''host name non può contenere \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:158 #: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format #, java-format
msgid "" msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is " "Host name \"{0}\" requires conversion to ASCII but the conversion library is "
"unavailable in this JVM" "unavailable in this JVM"
msgstr "L''host name \"{0}\" richiede di essere convertito in formato ASCII ma la libreria di conversione non è disponibile in questa JVM" msgstr ""
"L''host name \"{0}\" richiede di essere convertito in formato ASCII ma la "
"libreria di conversione non è disponibile in questa JVM"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:210 #: ../src/java/src/i2p/susi/dns/AddressBean.java:218
msgid "None" msgid "None"
msgstr "Nessuno" msgstr "Nessuno"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:218 #: ../src/java/src/i2p/susi/dns/AddressBean.java:226
msgid "Hashcash" msgid "Hashcash"
msgstr "Hashcash" msgstr "Hashcash"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:220 #: ../src/java/src/i2p/susi/dns/AddressBean.java:228
msgid "Hidden" msgid "Hidden"
msgstr "Nascosto" msgstr "Nascosto"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:222 #: ../src/java/src/i2p/susi/dns/AddressBean.java:230
msgid "Signed" msgid "Signed"
msgstr "Firmato" msgstr "Firmato"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:224 #: ../src/java/src/i2p/susi/dns/AddressBean.java:232
#, java-format #, java-format
msgid "Type {0}" msgid "Type {0}"
msgstr "Tipo {0}" msgstr "Tipo {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:233 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format #, java-format
msgid "One result for search within filtered list." msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list." msgid_plural "{0} results for search within filtered list."
msgstr[0] "Un risultato per la ricerca all'interno della lista filtrata." msgstr[0] "Un risultato per la ricerca all'interno della lista filtrata."
msgstr[1] "{0} risultati per la ricerca all'interno della lista filtrata." msgstr[1] "{0} risultati per la ricerca all'interno della lista filtrata."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:237 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format #, java-format
msgid "Filtered list contains 1 entry." msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries." msgid_plural "Fltered list contains {0} entries."
msgstr[0] "La lista filtrata contiene 1 voce." msgstr[0] "La lista filtrata contiene 1 voce."
msgstr[1] "La lista filtrata contiene {0} voci." msgstr[1] "La lista filtrata contiene {0} voci."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:242 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format #, java-format
msgid "One result for search." msgid "One result for search."
msgid_plural "{0} results for search." msgid_plural "{0} results for search."
msgstr[0] "Un risultato per la ricerca." msgstr[0] "Un risultato per la ricerca."
msgstr[1] "{0} risultati per la ricerca." msgstr[1] "{0} risultati per la ricerca."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:251 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:250
#, java-format #, java-format
msgid "Address book contains 1 entry." msgid "Address book contains 1 entry."
msgid_plural "Address book contains {0} entries." msgid_plural "Address book contains {0} entries."
msgstr[0] "La rubrica contiene 1 voce." msgstr[0] "La rubrica contiene 1 voce."
msgstr[1] "La rubrica contiene {0} voci." msgstr[1] "La rubrica contiene {0} voci."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:267 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#, java-format #, java-format
msgid "Showing {0} of {1}" msgid "Showing {0} of {1}"
msgstr "Mostrati {0} su {1}" msgstr "Mostrati {0} su {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:288 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
msgid "Add" msgid "Add"
msgstr "Aggiungi" msgstr "Aggiungi"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:288 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406
msgid "Replace" msgid "Replace"
msgstr "Sostituisci" msgstr "Sostituisci"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:238
#, java-format #, java-format
msgid "Host name {0} is already in address book, unchanged." msgid "Host name {0} is already in address book, unchanged."
msgstr "L''host name {0} è già nella rubrica, immutato." msgstr "L''host name {0} è già nella rubrica, nessuna modifica."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:300 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:240
#, java-format #, java-format
msgid "" msgid ""
"Host name {0} is already in address book with a different destination. Click " "Host name {0} is already in address book with a different destination. Click "
"\"Replace\" to overwrite." "\"Replace\" to overwrite."
msgstr "L''host name {0} è già nella rubrica con una destinazione diversa. Fare click su \"Sostituisci\" per sovrascrivere." msgstr ""
"L''host name {0} è già nella rubrica con una destinazione diversa. Fare "
"click su \"Sostituisci\" per sovrascrivere."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:312
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:253
#, java-format #, java-format
msgid "Destination added for {0}." msgid "Destination added for {0}."
msgstr "Destinazione aggiunta per {0}." msgstr "Destinazione aggiunta per {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:255
#, java-format #, java-format
msgid "Destination changed for {0}." msgid "Destination changed for {0}."
msgstr "Destinazione modificata per {0}." msgstr "Destinazione modificata per {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:317 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:316
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
msgid "Warning - host name does not end with \".i2p\"" msgid "Warning - host name does not end with \".i2p\""
msgstr "Warning - l'host name non finisce con \".i2p\"" msgstr "Warning - l'host name non finisce con \".i2p\""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:322 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:321
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:265
msgid "Invalid Base 64 destination." msgid "Invalid Base 64 destination."
msgstr "Destinazione in Base 64 non valida." msgstr "Destinazione in Base 64 non valida."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:328 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:327
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:271
#, java-format #, java-format
msgid "Invalid host name \"{0}\"." msgid "Invalid host name \"{0}\"."
msgstr "Host name \"{0}\" non valido." msgstr "Host name \"{0}\" non valido."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:331 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:330
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:274
msgid "Please enter a host name and destination" msgid "Please enter a host name and destination"
msgstr "Inserire un nome per l'host e una destinazione" msgstr "Inserire un nome per l'host e una destinazione"
#. clear search when deleting #. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:335 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:356 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:258 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:270
msgid "Delete Entry" msgid "Delete Entry"
msgstr "Elimina voce" msgstr "Elimina voce"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:335 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:347
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Elimina la selezione" msgstr "Elimina Selezione"
#. parameter is a host name #. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:349 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:348
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:295
#, java-format #, java-format
msgid "Destination {0} deleted." msgid "Destination {0} deleted."
msgstr "Destinazione {0} eliminata." msgstr "Destinazione {0} eliminata."
#. parameter will always be >= 2 #. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:351
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:298
#, java-format #, java-format
msgid "1 destination deleted." msgid "1 destination deleted."
msgid_plural "{0} destinations deleted." msgid_plural "{0} destinations deleted."
msgstr[0] "1 destinazione eliminata." msgstr[0] "1 destinazione eliminata."
msgstr[1] "{0} destinazioni eliminate." msgstr[1] "{0} destinazioni eliminate."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:353
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:300
msgid "No entries selected to delete." msgid "No entries selected to delete."
msgstr "Non è stata selezionata nessuna voce per l'eliminazione." msgstr "Non è stata selezionata nessuna voce per l'eliminazione."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:362 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:361
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
msgid "Address book saved." msgid "Address book saved."
msgstr "Rubrica salvata." msgstr "Rubrica salvata."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:365 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:364
msgid "ERROR: Could not write addressbook file." msgid "ERROR: Could not write addressbook file."
msgstr "ERRORE: impossibile scrivere sul file della rubrica." msgstr "ERRORE: impossibile scrivere sul file della rubrica."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:370 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:369
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid "" msgid ""
"Invalid form submission, probably because you used the \"back\" or " "Invalid form submission, probably because you used the \"back\" or \"reload"
"\"reload\" button on your browser. Please resubmit." "\" button on your browser. Please resubmit."
msgstr "Il form presentato è invalido, probabilmente hai usato la funzione \"indietro\" o \"aggiorna\" del tuo browser. Per favore invialo nuovamente." msgstr ""
"Il form presentato è invalido, probabilmente hai usato la funzione \"indietro"
"\" o \"aggiorna\" del tuo browser. Per favore inviarlo nuovamente."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141
msgid "Save" msgid "Save"
msgstr "Salva" msgstr "Salva"
@ -231,8 +239,8 @@ msgstr "Configurazione salvata."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139
msgid "Reload" msgid "Reload"
msgstr "Ricarica" msgstr "Ricarica"
@ -240,29 +248,35 @@ msgstr "Ricarica"
msgid "Configuration reloaded." msgid "Configuration reloaded."
msgstr "Configurazione ricaricata." msgstr "Configurazione ricaricata."
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:101
#, java-format #, java-format
msgid "{0} address book in {1} database" msgid "{0} address book in {1} database"
msgstr "{0} rubriche in {1} database" msgstr "{0} rubriche in {1} database"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:248
msgid "Manually added via SusiDNS" msgid "Manually added via SusiDNS"
msgstr "Aggiunto manualmente con SusiDNS" msgstr "Aggiunto manualmente con SusiDNS"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:262
#, java-format #, java-format
msgid "Failed to add Destination for {0} to naming service {1}" msgid "Failed to add Destination for {0} to naming service {1}"
msgstr "Operazione di aggiunta della Destinazione per {0} al servizio di naming {1} fallita" msgstr ""
"Operazione di aggiunta della Destinazione per {0} al servizio di naming {1} "
"fallita"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290 #: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:286
#, java-format #, java-format
msgid "Failed to delete Destination for {0} from naming service {1}" msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr "Operazione di eliminazione della Destinazione per {0} dal servizio di naming {1} fallita" msgstr ""
"Operazione di eliminazione della Destinazione per {0} dal servizio di naming "
"{1} fallita"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid "" msgid ""
"Subscriptions saved, updating addressbook from subscription sources now." "Subscriptions saved, updating addressbook from subscription sources now."
msgstr "Sottoscrizioni salvate, è in corso l'aggiornamento della rubrica a partire dalle fonti di sottoscrizione." msgstr ""
"Sottoscrizioni salvate, è in corso l'aggiornamento della rubrica a partire "
"dalle fonti di sottoscrizione."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved." msgid "Subscriptions saved."
@ -278,414 +292,461 @@ msgstr "rubrica"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:105 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:121 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:129
msgid "Overview" msgid "Overview"
msgstr "Panoramica" msgstr "Panoramica"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:107 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115
msgid "Address books" msgid "Address books"
msgstr "Rubriche" msgstr "Rubriche"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117
msgid "private" msgid "private"
msgstr "privato" msgstr "privato"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119
msgid "master" msgid "master"
msgstr "master" msgstr "master"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:113 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121
msgid "router" msgid "router"
msgstr "router" msgstr "router"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:115 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123
msgid "published" msgid "published"
msgstr "pubblicato" msgstr "pubblicato"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:117 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125
msgid "Subscriptions" msgid "Subscriptions"
msgstr "Sottoscrizioni" msgstr "Sottoscrizioni"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:119 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127
msgid "Configuration" msgid "Configuration"
msgstr "Configurazione" msgstr "Configurazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:123 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:130
msgid "Address book" msgid "Address book"
msgstr "Rubrica" msgstr "Rubrica"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:135
msgid "Storage" msgid "Storage"
msgstr "Deposito" msgstr "Deposito"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:168
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171
msgid "other" msgid "other"
msgstr "altro" msgstr "altro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:174 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:173
msgid "all" msgid "all"
msgstr "tutto" msgstr "tutto"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:187
msgid "Current filter" msgid "Current filter"
msgstr "Filtro corrente" msgstr "Filtro corrente"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:192
msgid "clear filter" msgid "clear filter"
msgstr "sgombera il filtro" msgstr "cancella il filtro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:201
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:209
msgid "Search" msgid "Search"
msgstr "Ricerca" msgstr "Ricerca"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:238 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244
msgid "Links" msgid "Links"
msgstr "Collegamenti" msgstr "Collegamenti"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:246
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:262
msgid "Destination" msgid "Destination"
msgstr "Destinazione" msgstr "Destinazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:273 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:282
msgid "Mark for deletion" msgid "Mark for deletion"
msgstr "Marca per la rimozione" msgstr "Marca per la rimozione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:292 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:303
msgid "Base 32 address" msgid "Base 32 address"
msgstr "indirizzo in Base 32" msgstr "indirizzo in Base 32"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:296 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
msgid "More information on this entry" msgid "More information on this entry"
msgstr "Più informazioni su questa voce" msgstr "Più informazioni su questa voce"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:299 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:310
msgid "details" msgid "details"
msgstr "dettagli" msgstr "dettagli"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:332 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:388 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:365 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:379
msgid "This address book is empty." msgid "This address book is empty."
msgstr "Questa rubrica è vuota." msgstr "Questa rubrica è vuota."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:378 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394
msgid "Add new destination" msgid "Add new destination"
msgstr "Aggiungi una nuova destinazione" msgstr "Aggiungi una nuova destinazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:396
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:155 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:161
msgid "Host Name" msgid "Host Name"
msgstr "Host Name" msgstr "Host Name"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111
msgid "configuration" msgid "configuration"
msgstr "configurazione" msgstr "configurazione"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143
msgid "Hints" msgid "Hints"
msgstr "Suggerimenti" msgstr "Suggerimenti"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145
msgid "" msgid ""
"File and directory paths here are relative to the addressbook's working " "File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or " "directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
"%APPDATA%\\I2P\\addressbook\\ (Windows)." "\\addressbook\\ (Windows)."
msgstr "I percorsi di file e cartelle sono qui relativi alla cartella della rubrica in uso, che normalmente è ~/.i2p/addressbook/ (Linux) o %APPDATA%\\I2P\\addressbook\\ (Windows)." msgstr ""
"I percorsi di file e cartelle sono relativi alla cartella della rubrica in "
"uso, che normalmente è ~/.i2p/addressbook/ (Linux) o %APPDATA%\\I2P"
"\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:147
msgid "" msgid ""
"If you want to manually add lines to an addressbook, add them to the private " "If you want to manually add lines to an addressbook, add them to the private "
"or master addressbooks." "or master addressbooks."
msgstr "Se vuoi aggiungere linee a una rubrica manualmente, aggiungile alla rubrica master o a quella privata." msgstr ""
"Se vuoi aggiungere linee a una rubrica manualmente, aggiungile alla rubrica "
"master o a quella privata."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "" msgid ""
"The router addressbook and the published addressbook are updated by the " "The router addressbook and the published addressbook are updated by the "
"addressbook application." "addressbook application."
msgstr "La rubrica del router e la rubrica pubblicata sono aggiornate dall'applicazione rubrica stessa." msgstr ""
"La rubrica del router e la rubrica pubblicata sono aggiornate "
"dall'applicazione rubrica stessa."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "" msgid ""
"When you publish your addressbook, ALL destinations from the master and " "When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there." "router addressbooks appear there."
msgstr "Quando pubblichi la tua rubrica, vi appaiono TUTTE le destinazioni sia della rubrica master che di quella privata." msgstr ""
"Quando pubblichi la tua rubrica, vi appaiono TUTTE le destinazioni sia della "
"rubrica master che di quella privata."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
msgid "" msgid ""
"Use the private addressbook for private destinations, these are not " "Use the private addressbook for private destinations, these are not "
"published." "published."
msgstr "Usa la rubrica privata per le destinazioni private, in questo modo queste non vengono pubblicate." msgstr ""
"Usa la rubrica privata per le destinazioni private, in questo modo queste "
"non vengono pubblicate."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
msgid "Options" msgid "Options"
msgstr "Opzioni" msgstr "Opzioni"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155
msgid "File containing the list of subscriptions URLs (no need to change)" msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr "File contenente la lista degli indirizzi URL di sottoscrizione (non necessita modifiche)" msgstr ""
"File contenente la lista degli indirizzi URL di sottoscrizione (non "
"necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157
msgid "Update interval in hours" msgid "Update interval in hours"
msgstr "Imposta l'intervallo in ore" msgstr "Imposta l'intervallo in ore"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159
msgid "" msgid ""
"Your public hosts.txt file (choose a path within your webserver document " "Your public hosts.txt file (choose a path within your webserver document "
"root)" "root)"
msgstr "Il tuo file hosts.txt pubblico (scegli un percorso all'interno della radice dei documenti del tuo webserver)" msgstr ""
"Il tuo file hosts.txt pubblico (scegli un percorso all'interno della root "
"dei documenti del tuo webserver)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161
msgid "Your hosts.txt (don't change)" msgid "Your hosts.txt (don't change)"
msgstr "Il tuo hosts.txt (non modificare)" msgstr "Il tuo hosts.txt (non modificare)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163
msgid "Your personal addressbook, these hosts will be published" msgid "Your personal addressbook, these hosts will be published"
msgstr "La tua rubrica personale, questi host verranno pubblicati" msgstr "La tua rubrica personale, questi host verranno pubblicati"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165
msgid "Your private addressbook, it is never published" msgid "Your private addressbook, it is never published"
msgstr "La tua rubrica privata, non viene mai pubblicata" msgstr "La tua rubrica privata, non viene mai pubblicata"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167
msgid "Port for your eepProxy (no need to change)" msgid "Port for your eepProxy (no need to change)"
msgstr "La porta per il tuo eepProxy (non necessita modifiche)" msgstr "La porta per il tuo eepProxy (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169
msgid "Hostname for your eepProxy (no need to change)" msgid "Hostname for your eepProxy (no need to change)"
msgstr "L'hostname per il tuo eepProxy (non necessita modifiche)" msgstr "L'hostname per il tuo eepProxy (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171
msgid "Whether to update the published addressbook" msgid "Whether to update the published addressbook"
msgstr "Se aggiornare o meno la rubrica pubblicata" msgstr "Se aggiornare o meno la rubrica pubblicata"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173
msgid "" msgid ""
"File containing the etags header from the fetched subscription URLs (no need " "File containing the etags header from the fetched subscription URLs (no need "
"to change)" "to change)"
msgstr "File contenente gli header degli etags presi dagli indirizzi di sottoscrizione URL ottenuti (non necessita modifiche)" msgstr ""
"File contenente gli header degli etags recuperati dagli URL delle "
"sottoscrizioni (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175
msgid "" msgid ""
"File containing the modification timestamp for each fetched subscription URL " "File containing the modification timestamp for each fetched subscription URL "
"(no need to change)" "(no need to change)"
msgstr "File contenente la marca temporale di modifica (timestamp) per ogni indirizzo di sottoscrizione URL ottenuto (non necessita modifiche)" msgstr ""
"File contenente il timestamp delle modifiche per ogni URL di sottoscrizione "
"recuperato (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:177
msgid "File to log activity to (change to /dev/null if you like)" msgid "File to log activity to (change to /dev/null if you like)"
msgstr "File di log dell'attività (puoi cambiare in /dev/null se preferisci)" msgstr "File di log dell'attività (puoi cambiare in /dev/null se preferisci)"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:103 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
msgid "addressbook" msgid "addressbook"
msgstr "rubrica" msgstr "rubrica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:171 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:177
msgid "Encoded Name" msgid "Encoded Name"
msgstr "Nome cifrato" msgstr "Nome cifrato"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:187 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:193
msgid "Base 32 Address" msgid "Base 32 Address"
msgstr "Indirizzo in Base 32" msgstr "Indirizzo in Base 32"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:197 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:203
msgid "Address Helper" msgid "Base 64 Hash"
msgstr "Assistente indirizzo" msgstr "Base 64 Hash"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:204 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:209
msgid "Address Helper"
msgstr "Assistente Indirizzo"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216
msgid "link" msgid "link"
msgstr "collegamento" msgstr "collegamento"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:208 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
msgid "Public Key" msgid "Public Key"
msgstr "Chiave Pubblica" msgstr "Chiave Pubblica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:210 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:222
msgid "ElGamal 2048 bit" msgid "ElGamal 2048 bit"
msgstr "ElGamal 2048 bit" msgstr "ElGamal 2048 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:214 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
msgid "Signing Key" msgid "Signing Key"
msgstr "Chiave per la Firma" msgstr "Chiave per la Firma"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:228
msgid "DSA 1024 bit" msgid "DSA 1024 bit"
msgstr "DSA 1024 bit" msgstr "DSA 1024 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
msgid "Certificate" msgid "Certificate"
msgstr "Certificato" msgstr "Certificato"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238
msgid "Added Date" msgid "Added Date"
msgstr "Data aggiunta" msgstr "Data aggiunta"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244
msgid "Source" msgid "Source"
msgstr "Sorgente" msgstr "Sorgente"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250
msgid "Last Modified" msgid "Last Modified"
msgstr "Ultima Modifica" msgstr "Ultima Modifica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244 #: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:256
msgid "Notes" msgid "Notes"
msgstr "Note" msgstr "Note"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
msgid "Introduction" msgid "Introduction"
msgstr "Introduzione" msgstr "Introduzione"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120
msgid "What is the addressbook?" msgid "What is the addressbook?"
msgstr "Cos'è la rubrica?" msgstr "Cos'è la rubrica?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:122
msgid "The addressbook application is part of your I2P installation." msgid "The addressbook application is part of your I2P installation."
msgstr "L'applicazione rubrica è parte della tua installazione I2P." msgstr "L'applicazione rubrica è parte della tua installazione I2P."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid "" msgid ""
"It regularly updates your hosts.txt file from distributed sources or " "It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"." "\"subscriptions\"."
msgstr "Aggiorna regolarmente il tuo file hosts.txt da fonti distribuite o \"sottoscrizioni\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid ""
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr "Nella configurazione di default, la rubrica è sottoscritta solamente a www.i2p2.i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid ""
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions\">subscriptions</a> file."
msgstr "" msgstr ""
"Aggiorna regolarmente il tuo file hosts.txt da fonti distribuite o "
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119 "\"sottoscrizioni\"."
msgid ""
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr "Per più informazioni sul naming in I2P, vedere la panoramica su www.i2p2.i2p <a href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook application work?"
msgstr "Come funziona l'applicazione rubrica?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr "L'applicazione rubrica sonda regolarmente le tue sottoscrizioni e fonde il loro contenuto nella rubrica \"router\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid "" msgid ""
"Then it merges your \"master\" address book into the router address book as " "In the default configuration, the address book is only subscribed to www."
"well." "i2p2.i2p."
msgstr "A questo punto infila la tua rubrica \"master\" nella rubrica router." msgstr ""
"Nella configurazione di default, la rubrica è sottoscritta solamente a www."
"i2p2.i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126
msgid "" msgid ""
"If configured, the router address book is now written to the \"published\" " "Subscribing to additional sites is easy, just add them to your <a href="
"address book, which will be publicly available if you are running an " "\"subscriptions\">subscriptions</a> file."
"eepsite." msgstr ""
msgstr "Se configurata, la rubrica router viene ora scritta nella rubrica \"published\", che sarà disponibile pubblicamente se hai in esecuzione un eepsite." "Sottoscriversi a siti addizionali è semplice, basta aggiungerli al vostro "
"file delle <a href=\"subscriptions\">sottoscrizioni</a>"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128
msgid "" msgid ""
"The router also uses a private address book (not shown in the picture), " "For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
"which is not merged or published." "naming.html\">the overview on www.i2p2.i2p</a>."
msgstr "Il router utilizza inoltre una rubrica privata (non mostrata nell'immagine) che non viene fusa con niente nè pubblicata." msgstr ""
"Per più informazioni sul naming in I2P, vedere la <a href=\"http://www.i2p2."
"i2p/naming.html\">panoramica su www.i2p2.i2p</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130
msgid "How does the addressbook application work?"
msgstr "Come funziona l'applicazione rubrica?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132
msgid "" msgid ""
"Hosts in the private address book can be accessed by you but their addresses" "The addressbook application regularly polls your subscriptions and merges "
" are never distributed to others." "their content into your \"router\" address book."
msgstr "Puoi accedere agli host nella rubrica privata ma i loro indirizzi non vengono mai distribuiti ad altri. " msgstr ""
"L'applicazione rubrica sonda regolarmente le tue sottoscrizioni e fonde il "
"loro contenuto nella rubrica \"router\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133 #: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid "" msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr "A questo punto fonde la tua rubrica \"master\" nella rubrica router."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134
msgid ""
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an eepsite."
msgstr ""
"Se configurata, la rubrica router viene ora scritta nella rubrica "
"\"pubblicato\", che sarà disponibile pubblicamente se hai in esecuzione un "
"eepsite."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr ""
"Il router utilizza inoltre una rubrica privata (non mostrata nell'immagine) "
"che non viene fusa con niente nè pubblicata."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:137
msgid ""
"Hosts in the private address book can be accessed by you but their addresses "
"are never distributed to others."
msgstr ""
"Puoi accedere agli host nella rubrica privata ma i loro indirizzi non "
"vengono mai distribuiti ad altri. "
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:138
msgid ""
"The private address book can also be used for aliases of hosts in your other " "The private address book can also be used for aliases of hosts in your other "
"address books." "address books."
msgstr "La rubrica privata può anche essere usata per pseudonimi di host nell'altra tua rubrica." msgstr ""
"La rubrica privata può anche essere usata per pseudonimi di host nell'altra "
"tua rubrica."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:111
msgid "subscriptions" msgid "subscriptions"
msgstr "sottoscrizioni" msgstr "sottoscrizioni"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "The subscription file contains a list of i2p URLs." msgid "The subscription file contains a list of i2p URLs."
msgstr "Il file di sottoscrizione contiene una lista di URL i2p." msgstr "Il file di sottoscrizione contiene una lista di URL i2p."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "" msgid ""
"The addressbook application regularly checks this list for new eepsites." "The addressbook application regularly checks this list for new eepsites."
msgstr "L'applicazione rubrica controlla regolarmente questa lista per verificare la presenza di nuovi eepsites." msgstr ""
"L'applicazione rubrica controlla regolarmente questa lista per verificare la "
"presenza di nuovi eepsites."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Those URLs refer to published hosts.txt files." msgid "Those URLs refer to published hosts.txt files."
msgstr "Quegli URL si riferiscono ai file hosts.txt pubblicati." msgstr "Quegli URL si riferiscono ai file hosts.txt pubblicati."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:146
msgid "" msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is " "The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently." "updated infrequently."
msgstr "La sottoscrizione di default è il file hosts.txt da www.i2p2.i2p, aggiornata poco frequentemente." msgstr ""
"La sottoscrizione di default è il file hosts.txt da www.i2p2.i2p, aggiornata "
"poco frequentemente."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147
msgid "" msgid ""
"So it is a good idea to add additional subscriptions to sites that have the " "So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses." "latest addresses."
msgstr "Quindi è una buona idea aggiungere sottoscrizioni addizionali a sici che hanno gli indirizzi più recenti." msgstr ""
"Quindi è una buona idea aggiungere sottoscrizioni addizionali a siti che "
"hanno gli indirizzi più recenti."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:149
msgid "See the FAQ for a list of subscription URLs." msgid "See the FAQ for a list of subscription URLs."
msgstr "Vedi le FAQ per una lista di indirizzi URL di sottoscrizione." msgstr "Vedi le FAQ per una lista di indirizzi URL di sottoscrizione."

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-12 20:20+0000\n" "POT-Creation-Date: 2012-05-25 12:35+0000\n"
"PO-Revision-Date: 2012-02-19 14:04+0000\n" "PO-Revision-Date: 2012-02-19 14:04+0000\n"
"Last-Translator: D.A. Loader <>\n" "Last-Translator: D.A. Loader <>\n"
"Language-Team: German (http://www.transifex.net/projects/p/I2P/language/" "Language-Team: German (http://www.transifex.net/projects/p/I2P/language/"
@ -128,7 +128,7 @@ msgid "end forwarded mail"
msgstr "Ende weitergeleiteter Nachricht" msgstr "Ende weitergeleiteter Nachricht"
#: src/src/i2p/susi/webmail/WebMail.java:828 #: src/src/i2p/susi/webmail/WebMail.java:828
#: src/src/i2p/susi/webmail/WebMail.java:1700 #: src/src/i2p/susi/webmail/WebMail.java:1701
msgid "Could not fetch mail body." msgid "Could not fetch mail body."
msgstr "konnte den Körper der Nachricht nicht holen" msgstr "konnte den Körper der Nachricht nicht holen"
@ -175,278 +175,278 @@ msgid_plural "{0} messages deleted."
msgstr[0] "Eine Nachricht gelöscht" msgstr[0] "Eine Nachricht gelöscht"
msgstr[1] "{0} Nachrichten gelöscht" msgstr[1] "{0} Nachrichten gelöscht"
#: src/src/i2p/susi/webmail/WebMail.java:1247 #: src/src/i2p/susi/webmail/WebMail.java:1248
#: src/src/i2p/susi/webmail/WebMail.java:1584 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Login" msgid "Login"
msgstr "Anmelden" msgstr "Anmelden"
#: src/src/i2p/susi/webmail/WebMail.java:1249 #: src/src/i2p/susi/webmail/WebMail.java:1250
#, java-format #, java-format
msgid "1 Message" msgid "1 Message"
msgid_plural "{0} Messages" msgid_plural "{0} Messages"
msgstr[0] "Eine Nachricht" msgstr[0] "Eine Nachricht"
msgstr[1] "{0} Nachrichten" msgstr[1] "{0} Nachrichten"
#: src/src/i2p/susi/webmail/WebMail.java:1251 #: src/src/i2p/susi/webmail/WebMail.java:1252
msgid "Show Message" msgid "Show Message"
msgstr "Nachricht anzeigen" msgstr "Nachricht anzeigen"
#: src/src/i2p/susi/webmail/WebMail.java:1313 #: src/src/i2p/susi/webmail/WebMail.java:1314
#, java-format #, java-format
msgid "Error decoding content: {0}" msgid "Error decoding content: {0}"
msgstr "Fehler beim Dekodieren des Inhalts: {0}" msgstr "Fehler beim Dekodieren des Inhalts: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1318 #: src/src/i2p/susi/webmail/WebMail.java:1319
msgid "Error decoding content: No encoder found." msgid "Error decoding content: No encoder found."
msgstr "Fehler bei der Dekodierung: kein Kodierer gefunden" msgstr "Fehler bei der Dekodierung: kein Kodierer gefunden"
#: src/src/i2p/susi/webmail/WebMail.java:1365 #: src/src/i2p/susi/webmail/WebMail.java:1366
msgid "no subject" msgid "no subject"
msgstr "kein Betreff" msgstr "kein Betreff"
#: src/src/i2p/susi/webmail/WebMail.java:1382 #: src/src/i2p/susi/webmail/WebMail.java:1383
msgid "Found no valid sender address." msgid "Found no valid sender address."
msgstr "Keine gültige Absenderadresse vorgefunden" msgstr "Keine gültige Absenderadresse vorgefunden"
#: src/src/i2p/susi/webmail/WebMail.java:1388 #: src/src/i2p/susi/webmail/WebMail.java:1389
#, java-format #, java-format
msgid "Found no valid address in \\''{0}\\''." msgid "Found no valid address in \\''{0}\\''."
msgstr "keine gültige Adresse in \\''{0}\\''" msgstr "keine gültige Adresse in \\''{0}\\''"
#: src/src/i2p/susi/webmail/WebMail.java:1407 #: src/src/i2p/susi/webmail/WebMail.java:1408
msgid "No recipients found." msgid "No recipients found."
msgstr "keine Empfänger gefunden" msgstr "keine Empfänger gefunden"
#: src/src/i2p/susi/webmail/WebMail.java:1414 #: src/src/i2p/susi/webmail/WebMail.java:1415
msgid "Quoted printable encoder not available." msgid "Quoted printable encoder not available."
msgstr "Der angegebene druckbare Kodierer ist nicht verfügbar." msgstr "Der angegebene druckbare Kodierer ist nicht verfügbar."
#: src/src/i2p/susi/webmail/WebMail.java:1419 #: src/src/i2p/susi/webmail/WebMail.java:1420
msgid "Header line encoder not available." msgid "Header line encoder not available."
msgstr "Kodierer für die Kopfzeilen nicht verfügbar" msgstr "Kodierer für die Kopfzeilen nicht verfügbar"
#: src/src/i2p/susi/webmail/WebMail.java:1470 #: src/src/i2p/susi/webmail/WebMail.java:1471
msgid "Mail sent." msgid "Mail sent."
msgstr "Mail versandt." msgstr "Mail versandt."
#: src/src/i2p/susi/webmail/WebMail.java:1509 #: src/src/i2p/susi/webmail/WebMail.java:1510
msgid "Send" msgid "Send"
msgstr "Senden" msgstr "Senden"
#: src/src/i2p/susi/webmail/WebMail.java:1510 #: src/src/i2p/susi/webmail/WebMail.java:1511
msgid "Cancel" msgid "Cancel"
msgstr "Abbruch" msgstr "Abbruch"
#: src/src/i2p/susi/webmail/WebMail.java:1511 #: src/src/i2p/susi/webmail/WebMail.java:1512
msgid "Delete Attachment" msgid "Delete Attachment"
msgstr "Anhang löschen" msgstr "Anhang löschen"
#: src/src/i2p/susi/webmail/WebMail.java:1512
#: src/src/i2p/susi/webmail/WebMail.java:1606
#: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Reload Config"
msgstr "Einstellungen neu laden"
#: src/src/i2p/susi/webmail/WebMail.java:1513 #: src/src/i2p/susi/webmail/WebMail.java:1513
#: src/src/i2p/susi/webmail/WebMail.java:1607 #: src/src/i2p/susi/webmail/WebMail.java:1607
#: src/src/i2p/susi/webmail/WebMail.java:1688 #: src/src/i2p/susi/webmail/WebMail.java:1688
msgid "Reload Config"
msgstr "Einstellungen neu laden"
#: src/src/i2p/susi/webmail/WebMail.java:1514
#: src/src/i2p/susi/webmail/WebMail.java:1608
#: src/src/i2p/susi/webmail/WebMail.java:1689
msgid "Logout" msgid "Logout"
msgstr "Abmelden" msgstr "Abmelden"
#: src/src/i2p/susi/webmail/WebMail.java:1536 #: src/src/i2p/susi/webmail/WebMail.java:1537
#: src/src/i2p/susi/webmail/WebMail.java:1692 #: src/src/i2p/susi/webmail/WebMail.java:1693
msgid "From:" msgid "From:"
msgstr "Von:" msgstr "Von:"
#: src/src/i2p/susi/webmail/WebMail.java:1537 #: src/src/i2p/susi/webmail/WebMail.java:1538
msgid "To:" msgid "To:"
msgstr "An:" msgstr "An:"
#: src/src/i2p/susi/webmail/WebMail.java:1538 #: src/src/i2p/susi/webmail/WebMail.java:1539
msgid "Cc:" msgid "Cc:"
msgstr "Kopie an:" msgstr "Kopie an:"
#: src/src/i2p/susi/webmail/WebMail.java:1539 #: src/src/i2p/susi/webmail/WebMail.java:1540
msgid "Bcc:" msgid "Bcc:"
msgstr "Blindkopie an:" msgstr "Blindkopie an:"
#: src/src/i2p/susi/webmail/WebMail.java:1540 #: src/src/i2p/susi/webmail/WebMail.java:1541
#: src/src/i2p/susi/webmail/WebMail.java:1694 #: src/src/i2p/susi/webmail/WebMail.java:1695
msgid "Subject:" msgid "Subject:"
msgstr "Betreff:" msgstr "Betreff:"
#: src/src/i2p/susi/webmail/WebMail.java:1541 #: src/src/i2p/susi/webmail/WebMail.java:1542
msgid "Bcc to self" msgid "Bcc to self"
msgstr "Blindkopie zurück?" msgstr "Blindkopie zurück?"
#: src/src/i2p/susi/webmail/WebMail.java:1544 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "New Attachment:" msgid "New Attachment:"
msgstr "Neuer Anhang:" msgstr "Neuer Anhang:"
#: src/src/i2p/susi/webmail/WebMail.java:1544 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "Upload File" msgid "Upload File"
msgstr "Datei hochladen" msgstr "Datei hochladen"
#: src/src/i2p/susi/webmail/WebMail.java:1550 #: src/src/i2p/susi/webmail/WebMail.java:1551
msgid "Attachments:" msgid "Attachments:"
msgstr "Anhänge:" msgstr "Anhänge:"
#. current postman hq length limits 16/12, new postman version 32/32 #. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:1573 #: src/src/i2p/susi/webmail/WebMail.java:1574
msgid "User" msgid "User"
msgstr "Benutzer" msgstr "Benutzer"
#: src/src/i2p/susi/webmail/WebMail.java:1574 #: src/src/i2p/susi/webmail/WebMail.java:1575
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: src/src/i2p/susi/webmail/WebMail.java:1579 #: src/src/i2p/susi/webmail/WebMail.java:1580
msgid "Host" msgid "Host"
msgstr "Host" msgstr "Host"
#: src/src/i2p/susi/webmail/WebMail.java:1580 #: src/src/i2p/susi/webmail/WebMail.java:1581
msgid "POP3-Port" msgid "POP3-Port"
msgstr "POP3-Port" msgstr "POP3-Port"
#: src/src/i2p/susi/webmail/WebMail.java:1581 #: src/src/i2p/susi/webmail/WebMail.java:1582
msgid "SMTP-Port" msgid "SMTP-Port"
msgstr "SMTP-Port" msgstr "SMTP-Port"
#: src/src/i2p/susi/webmail/WebMail.java:1584 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Reset" msgid "Reset"
msgstr "Zurücksetzen" msgstr "Zurücksetzen"
#: src/src/i2p/susi/webmail/WebMail.java:1585 #: src/src/i2p/susi/webmail/WebMail.java:1586
msgid "Learn about I2P mail" msgid "Learn about I2P mail"
msgstr "Erfahre etwas über I2P Mail" msgstr "Erfahre etwas über I2P Mail"
#: src/src/i2p/susi/webmail/WebMail.java:1586 #: src/src/i2p/susi/webmail/WebMail.java:1587
msgid "Create Account" msgid "Create Account"
msgstr "Konto anlegen" msgstr "Konto anlegen"
#: src/src/i2p/susi/webmail/WebMail.java:1598 #: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Really delete the marked messages?" msgid "Really delete the marked messages?"
msgstr "Sollen die markierten Nachrichten wirklich gelöscht werden?" msgstr "Sollen die markierten Nachrichten wirklich gelöscht werden?"
#: src/src/i2p/susi/webmail/WebMail.java:1598 #: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Yes, really delete them!" msgid "Yes, really delete them!"
msgstr "Ja, löschen" msgstr "Ja, löschen"
#: src/src/i2p/susi/webmail/WebMail.java:1600 #: src/src/i2p/susi/webmail/WebMail.java:1601
#: src/src/i2p/susi/webmail/WebMail.java:1679 #: src/src/i2p/susi/webmail/WebMail.java:1680
msgid "New" msgid "New"
msgstr "Verfassen" msgstr "Verfassen"
#: src/src/i2p/susi/webmail/WebMail.java:1601 #: src/src/i2p/susi/webmail/WebMail.java:1602
#: src/src/i2p/susi/webmail/WebMail.java:1680 #: src/src/i2p/susi/webmail/WebMail.java:1681
msgid "Reply" msgid "Reply"
msgstr "Antworten" msgstr "Antworten"
#: src/src/i2p/susi/webmail/WebMail.java:1602 #: src/src/i2p/susi/webmail/WebMail.java:1603
#: src/src/i2p/susi/webmail/WebMail.java:1681 #: src/src/i2p/susi/webmail/WebMail.java:1682
msgid "Reply All" msgid "Reply All"
msgstr "Allen antworten" msgstr "Allen antworten"
#: src/src/i2p/susi/webmail/WebMail.java:1603 #: src/src/i2p/susi/webmail/WebMail.java:1604
#: src/src/i2p/susi/webmail/WebMail.java:1682 #: src/src/i2p/susi/webmail/WebMail.java:1683
msgid "Forward" msgid "Forward"
msgstr "Weiterleiten" msgstr "Weiterleiten"
#: src/src/i2p/susi/webmail/WebMail.java:1604 #: src/src/i2p/susi/webmail/WebMail.java:1605
#: src/src/i2p/susi/webmail/WebMail.java:1683 #: src/src/i2p/susi/webmail/WebMail.java:1684
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: src/src/i2p/susi/webmail/WebMail.java:1605 #: src/src/i2p/susi/webmail/WebMail.java:1606
msgid "Check Mail" msgid "Check Mail"
msgstr "Nachrichten abrufen" msgstr "Nachrichten abrufen"
#: src/src/i2p/susi/webmail/WebMail.java:1609 #: src/src/i2p/susi/webmail/WebMail.java:1610
msgid "Sender" msgid "Sender"
msgstr "Absender" msgstr "Absender"
#: src/src/i2p/susi/webmail/WebMail.java:1610 #: src/src/i2p/susi/webmail/WebMail.java:1611
msgid "Subject" msgid "Subject"
msgstr "Betreff" msgstr "Betreff"
#: src/src/i2p/susi/webmail/WebMail.java:1611 #: src/src/i2p/susi/webmail/WebMail.java:1612
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#: src/src/i2p/susi/webmail/WebMail.java:1612 #: src/src/i2p/susi/webmail/WebMail.java:1613
msgid "Size" msgid "Size"
msgstr "Größe" msgstr "Größe"
#: src/src/i2p/susi/webmail/WebMail.java:1638 #: src/src/i2p/susi/webmail/WebMail.java:1639
#, java-format #, java-format
msgid "1 Byte" msgid "1 Byte"
msgid_plural "{0} Bytes" msgid_plural "{0} Bytes"
msgstr[0] "1 Byte" msgstr[0] "1 Byte"
msgstr[1] "{0} Bytes" msgstr[1] "{0} Bytes"
#: src/src/i2p/susi/webmail/WebMail.java:1643 #: src/src/i2p/susi/webmail/WebMail.java:1644
msgid "Mark All" msgid "Mark All"
msgstr "Alles markieren" msgstr "Alles markieren"
#: src/src/i2p/susi/webmail/WebMail.java:1644 #: src/src/i2p/susi/webmail/WebMail.java:1645
msgid "Invert Selection" msgid "Invert Selection"
msgstr "Markierung umkehren" msgstr "Markierung umkehren"
#: src/src/i2p/susi/webmail/WebMail.java:1645 #: src/src/i2p/susi/webmail/WebMail.java:1646
msgid "Clear" msgid "Clear"
msgstr "Verwerfen" msgstr "Verwerfen"
#: src/src/i2p/susi/webmail/WebMail.java:1648
#: src/src/i2p/susi/webmail/WebMail.java:1649 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1650
msgid "First" msgid "First"
msgstr "erste" msgstr "erste"
#: src/src/i2p/susi/webmail/WebMail.java:1648
#: src/src/i2p/susi/webmail/WebMail.java:1649 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1684 #: src/src/i2p/susi/webmail/WebMail.java:1650
#: src/src/i2p/susi/webmail/WebMail.java:1685
msgid "Previous" msgid "Previous"
msgstr "vorherige" msgstr "vorherige"
#: src/src/i2p/susi/webmail/WebMail.java:1650 #: src/src/i2p/susi/webmail/WebMail.java:1651
#, java-format #, java-format
msgid "Page {0} of {1}" msgid "Page {0} of {1}"
msgstr "Seite {0} von {1}" msgstr "Seite {0} von {1}"
#: src/src/i2p/susi/webmail/WebMail.java:1652
#: src/src/i2p/susi/webmail/WebMail.java:1653 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1654
msgid "Last" msgid "Last"
msgstr "letzte" msgstr "letzte"
#: src/src/i2p/susi/webmail/WebMail.java:1652
#: src/src/i2p/susi/webmail/WebMail.java:1653 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1685 #: src/src/i2p/susi/webmail/WebMail.java:1654
#: src/src/i2p/susi/webmail/WebMail.java:1686
msgid "Next" msgid "Next"
msgstr "nächste" msgstr "nächste"
#: src/src/i2p/susi/webmail/WebMail.java:1656 #: src/src/i2p/susi/webmail/WebMail.java:1657
msgid "Pagesize:" msgid "Pagesize:"
msgstr "Seitengröße" msgstr "Seitengröße"
#: src/src/i2p/susi/webmail/WebMail.java:1657 #: src/src/i2p/susi/webmail/WebMail.java:1658
msgid "Set" msgid "Set"
msgstr "festlegen" msgstr "festlegen"
#: src/src/i2p/susi/webmail/WebMail.java:1667 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Really delete this message?" msgid "Really delete this message?"
msgstr "Diese Nachricht wirklich löschen?" msgstr "Diese Nachricht wirklich löschen?"
#: src/src/i2p/susi/webmail/WebMail.java:1667 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Yes, really delete it!" msgid "Yes, really delete it!"
msgstr "Ja, wirklich löschen" msgstr "Ja, wirklich löschen"
#: src/src/i2p/susi/webmail/WebMail.java:1686 #: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Back to Folder" msgid "Back to Folder"
msgstr "Zurück zur Übersicht" msgstr "Zurück zur Übersicht"
#: src/src/i2p/susi/webmail/WebMail.java:1693 #: src/src/i2p/susi/webmail/WebMail.java:1694
msgid "Date:" msgid "Date:"
msgstr "Datum:" msgstr "Datum:"
#: src/src/i2p/susi/webmail/WebMail.java:1704 #: src/src/i2p/susi/webmail/WebMail.java:1705
msgid "Could not fetch mail." msgid "Could not fetch mail."
msgstr "Konnte Nachrichten nicht abrufen." msgstr "Konnte Nachrichten nicht abrufen."

View File

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-12 20:21+0000\n" "POT-Creation-Date: 2012-05-25 12:34+0000\n"
"PO-Revision-Date: 2011-12-18 10:48+0000\n" "PO-Revision-Date: 2011-12-18 10:48+0000\n"
"Last-Translator: punkibastardo <punkibastardo@gmail.com>\n" "Last-Translator: punkibastardo <punkibastardo@gmail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/"
@ -131,7 +131,7 @@ msgid "end forwarded mail"
msgstr "final del correo reenviado" msgstr "final del correo reenviado"
#: src/src/i2p/susi/webmail/WebMail.java:828 #: src/src/i2p/susi/webmail/WebMail.java:828
#: src/src/i2p/susi/webmail/WebMail.java:1700 #: src/src/i2p/susi/webmail/WebMail.java:1701
msgid "Could not fetch mail body." msgid "Could not fetch mail body."
msgstr "No se pudo obtener el cuerpo del correo." msgstr "No se pudo obtener el cuerpo del correo."
@ -179,278 +179,278 @@ msgid_plural "{0} messages deleted."
msgstr[0] "1 mensaje eliminado." msgstr[0] "1 mensaje eliminado."
msgstr[1] "{0} mensajes eliminados." msgstr[1] "{0} mensajes eliminados."
#: src/src/i2p/susi/webmail/WebMail.java:1247 #: src/src/i2p/susi/webmail/WebMail.java:1248
#: src/src/i2p/susi/webmail/WebMail.java:1584 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Login" msgid "Login"
msgstr "Iniciar sesión" msgstr "Iniciar sesión"
#: src/src/i2p/susi/webmail/WebMail.java:1249 #: src/src/i2p/susi/webmail/WebMail.java:1250
#, java-format #, java-format
msgid "1 Message" msgid "1 Message"
msgid_plural "{0} Messages" msgid_plural "{0} Messages"
msgstr[0] "1 Mensaje" msgstr[0] "1 Mensaje"
msgstr[1] "{0} Mensajes" msgstr[1] "{0} Mensajes"
#: src/src/i2p/susi/webmail/WebMail.java:1251 #: src/src/i2p/susi/webmail/WebMail.java:1252
msgid "Show Message" msgid "Show Message"
msgstr "Mostrar mensaje" msgstr "Mostrar mensaje"
#: src/src/i2p/susi/webmail/WebMail.java:1313 #: src/src/i2p/susi/webmail/WebMail.java:1314
#, java-format #, java-format
msgid "Error decoding content: {0}" msgid "Error decoding content: {0}"
msgstr "Error al descodificar el contenido: {0}" msgstr "Error al descodificar el contenido: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1318 #: src/src/i2p/susi/webmail/WebMail.java:1319
msgid "Error decoding content: No encoder found." msgid "Error decoding content: No encoder found."
msgstr "Error al descodificar el contenido: No se ha encontrado codificador." msgstr "Error al descodificar el contenido: No se ha encontrado codificador."
#: src/src/i2p/susi/webmail/WebMail.java:1365 #: src/src/i2p/susi/webmail/WebMail.java:1366
msgid "no subject" msgid "no subject"
msgstr "sin asunto" msgstr "sin asunto"
#: src/src/i2p/susi/webmail/WebMail.java:1382 #: src/src/i2p/susi/webmail/WebMail.java:1383
msgid "Found no valid sender address." msgid "Found no valid sender address."
msgstr "No se ha encontrado una dirección de remitente válida." msgstr "No se ha encontrado una dirección de remitente válida."
#: src/src/i2p/susi/webmail/WebMail.java:1388 #: src/src/i2p/susi/webmail/WebMail.java:1389
#, java-format #, java-format
msgid "Found no valid address in \\''{0}\\''." msgid "Found no valid address in \\''{0}\\''."
msgstr "No se ha encontrado ninguna dirección válida en \\''{0}\\''." msgstr "No se ha encontrado ninguna dirección válida en \\''{0}\\''."
#: src/src/i2p/susi/webmail/WebMail.java:1407 #: src/src/i2p/susi/webmail/WebMail.java:1408
msgid "No recipients found." msgid "No recipients found."
msgstr "No se han encontrado destinatarios." msgstr "No se han encontrado destinatarios."
#: src/src/i2p/susi/webmail/WebMail.java:1414 #: src/src/i2p/susi/webmail/WebMail.java:1415
msgid "Quoted printable encoder not available." msgid "Quoted printable encoder not available."
msgstr "El codificador imprimible citado no está disponible." msgstr "El codificador imprimible citado no está disponible."
#: src/src/i2p/susi/webmail/WebMail.java:1419 #: src/src/i2p/susi/webmail/WebMail.java:1420
msgid "Header line encoder not available." msgid "Header line encoder not available."
msgstr "El codificador de línea de encabezado no está disponible." msgstr "El codificador de línea de encabezado no está disponible."
#: src/src/i2p/susi/webmail/WebMail.java:1470 #: src/src/i2p/susi/webmail/WebMail.java:1471
msgid "Mail sent." msgid "Mail sent."
msgstr "Correo enviado." msgstr "Correo enviado."
#: src/src/i2p/susi/webmail/WebMail.java:1509 #: src/src/i2p/susi/webmail/WebMail.java:1510
msgid "Send" msgid "Send"
msgstr "Enviar" msgstr "Enviar"
#: src/src/i2p/susi/webmail/WebMail.java:1510 #: src/src/i2p/susi/webmail/WebMail.java:1511
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/src/i2p/susi/webmail/WebMail.java:1511 #: src/src/i2p/susi/webmail/WebMail.java:1512
msgid "Delete Attachment" msgid "Delete Attachment"
msgstr "Eliminar datos adjuntos" msgstr "Eliminar datos adjuntos"
#: src/src/i2p/susi/webmail/WebMail.java:1512
#: src/src/i2p/susi/webmail/WebMail.java:1606
#: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Reload Config"
msgstr "Recargar la configuración"
#: src/src/i2p/susi/webmail/WebMail.java:1513 #: src/src/i2p/susi/webmail/WebMail.java:1513
#: src/src/i2p/susi/webmail/WebMail.java:1607 #: src/src/i2p/susi/webmail/WebMail.java:1607
#: src/src/i2p/susi/webmail/WebMail.java:1688 #: src/src/i2p/susi/webmail/WebMail.java:1688
msgid "Reload Config"
msgstr "Recargar la configuración"
#: src/src/i2p/susi/webmail/WebMail.java:1514
#: src/src/i2p/susi/webmail/WebMail.java:1608
#: src/src/i2p/susi/webmail/WebMail.java:1689
msgid "Logout" msgid "Logout"
msgstr "Desconectarse" msgstr "Desconectarse"
#: src/src/i2p/susi/webmail/WebMail.java:1536 #: src/src/i2p/susi/webmail/WebMail.java:1537
#: src/src/i2p/susi/webmail/WebMail.java:1692 #: src/src/i2p/susi/webmail/WebMail.java:1693
msgid "From:" msgid "From:"
msgstr "De:" msgstr "De:"
#: src/src/i2p/susi/webmail/WebMail.java:1537 #: src/src/i2p/susi/webmail/WebMail.java:1538
msgid "To:" msgid "To:"
msgstr "Para:" msgstr "Para:"
#: src/src/i2p/susi/webmail/WebMail.java:1538 #: src/src/i2p/susi/webmail/WebMail.java:1539
msgid "Cc:" msgid "Cc:"
msgstr "Cc:" msgstr "Cc:"
#: src/src/i2p/susi/webmail/WebMail.java:1539 #: src/src/i2p/susi/webmail/WebMail.java:1540
msgid "Bcc:" msgid "Bcc:"
msgstr "CCO:" msgstr "CCO:"
#: src/src/i2p/susi/webmail/WebMail.java:1540 #: src/src/i2p/susi/webmail/WebMail.java:1541
#: src/src/i2p/susi/webmail/WebMail.java:1694 #: src/src/i2p/susi/webmail/WebMail.java:1695
msgid "Subject:" msgid "Subject:"
msgstr "Asunto:" msgstr "Asunto:"
#: src/src/i2p/susi/webmail/WebMail.java:1541 #: src/src/i2p/susi/webmail/WebMail.java:1542
msgid "Bcc to self" msgid "Bcc to self"
msgstr "CCO a mí mism@" msgstr "CCO a mí mism@"
#: src/src/i2p/susi/webmail/WebMail.java:1544 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "New Attachment:" msgid "New Attachment:"
msgstr "Nuevo Archivo adjunto:" msgstr "Nuevo Archivo adjunto:"
#: src/src/i2p/susi/webmail/WebMail.java:1544 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "Upload File" msgid "Upload File"
msgstr "Subir Archivo" msgstr "Subir Archivo"
#: src/src/i2p/susi/webmail/WebMail.java:1550 #: src/src/i2p/susi/webmail/WebMail.java:1551
msgid "Attachments:" msgid "Attachments:"
msgstr "Archivos adjuntos:" msgstr "Archivos adjuntos:"
#. current postman hq length limits 16/12, new postman version 32/32 #. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:1573 #: src/src/i2p/susi/webmail/WebMail.java:1574
msgid "User" msgid "User"
msgstr "Usuario" msgstr "Usuario"
#: src/src/i2p/susi/webmail/WebMail.java:1574 #: src/src/i2p/susi/webmail/WebMail.java:1575
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: src/src/i2p/susi/webmail/WebMail.java:1579 #: src/src/i2p/susi/webmail/WebMail.java:1580
msgid "Host" msgid "Host"
msgstr "Host" msgstr "Host"
#: src/src/i2p/susi/webmail/WebMail.java:1580 #: src/src/i2p/susi/webmail/WebMail.java:1581
msgid "POP3-Port" msgid "POP3-Port"
msgstr "Puerto-POP3" msgstr "Puerto-POP3"
#: src/src/i2p/susi/webmail/WebMail.java:1581 #: src/src/i2p/susi/webmail/WebMail.java:1582
msgid "SMTP-Port" msgid "SMTP-Port"
msgstr "Puerto-SMTP" msgstr "Puerto-SMTP"
#: src/src/i2p/susi/webmail/WebMail.java:1584 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Reset" msgid "Reset"
msgstr "Cancelar" msgstr "Cancelar"
#: src/src/i2p/susi/webmail/WebMail.java:1585 #: src/src/i2p/susi/webmail/WebMail.java:1586
msgid "Learn about I2P mail" msgid "Learn about I2P mail"
msgstr "Aprende sobre I2P mail" msgstr "Aprende sobre I2P mail"
#: src/src/i2p/susi/webmail/WebMail.java:1586 #: src/src/i2p/susi/webmail/WebMail.java:1587
msgid "Create Account" msgid "Create Account"
msgstr "Crear una cuenta" msgstr "Crear una cuenta"
#: src/src/i2p/susi/webmail/WebMail.java:1598 #: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Really delete the marked messages?" msgid "Really delete the marked messages?"
msgstr "¿Realmente deseas borrar los mensajes marcados?" msgstr "¿Realmente deseas borrar los mensajes marcados?"
#: src/src/i2p/susi/webmail/WebMail.java:1598 #: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Yes, really delete them!" msgid "Yes, really delete them!"
msgstr "Sí, realmente eliminarlos!" msgstr "Sí, realmente eliminarlos!"
#: src/src/i2p/susi/webmail/WebMail.java:1600 #: src/src/i2p/susi/webmail/WebMail.java:1601
#: src/src/i2p/susi/webmail/WebMail.java:1679 #: src/src/i2p/susi/webmail/WebMail.java:1680
msgid "New" msgid "New"
msgstr "Nuevo" msgstr "Nuevo"
#: src/src/i2p/susi/webmail/WebMail.java:1601 #: src/src/i2p/susi/webmail/WebMail.java:1602
#: src/src/i2p/susi/webmail/WebMail.java:1680 #: src/src/i2p/susi/webmail/WebMail.java:1681
msgid "Reply" msgid "Reply"
msgstr "Responder" msgstr "Responder"
#: src/src/i2p/susi/webmail/WebMail.java:1602 #: src/src/i2p/susi/webmail/WebMail.java:1603
#: src/src/i2p/susi/webmail/WebMail.java:1681 #: src/src/i2p/susi/webmail/WebMail.java:1682
msgid "Reply All" msgid "Reply All"
msgstr "Responder a todos" msgstr "Responder a todos"
#: src/src/i2p/susi/webmail/WebMail.java:1603 #: src/src/i2p/susi/webmail/WebMail.java:1604
#: src/src/i2p/susi/webmail/WebMail.java:1682 #: src/src/i2p/susi/webmail/WebMail.java:1683
msgid "Forward" msgid "Forward"
msgstr "Reenviar" msgstr "Reenviar"
#: src/src/i2p/susi/webmail/WebMail.java:1604 #: src/src/i2p/susi/webmail/WebMail.java:1605
#: src/src/i2p/susi/webmail/WebMail.java:1683 #: src/src/i2p/susi/webmail/WebMail.java:1684
msgid "Delete" msgid "Delete"
msgstr "Eliminar" msgstr "Eliminar"
#: src/src/i2p/susi/webmail/WebMail.java:1605 #: src/src/i2p/susi/webmail/WebMail.java:1606
msgid "Check Mail" msgid "Check Mail"
msgstr "Comprobar correo" msgstr "Comprobar correo"
#: src/src/i2p/susi/webmail/WebMail.java:1609 #: src/src/i2p/susi/webmail/WebMail.java:1610
msgid "Sender" msgid "Sender"
msgstr "Remitente" msgstr "Remitente"
#: src/src/i2p/susi/webmail/WebMail.java:1610 #: src/src/i2p/susi/webmail/WebMail.java:1611
msgid "Subject" msgid "Subject"
msgstr "Asunto" msgstr "Asunto"
#: src/src/i2p/susi/webmail/WebMail.java:1611 #: src/src/i2p/susi/webmail/WebMail.java:1612
msgid "Date" msgid "Date"
msgstr "Fecha" msgstr "Fecha"
#: src/src/i2p/susi/webmail/WebMail.java:1612 #: src/src/i2p/susi/webmail/WebMail.java:1613
msgid "Size" msgid "Size"
msgstr "Tamaño" msgstr "Tamaño"
#: src/src/i2p/susi/webmail/WebMail.java:1638 #: src/src/i2p/susi/webmail/WebMail.java:1639
#, java-format #, java-format
msgid "1 Byte" msgid "1 Byte"
msgid_plural "{0} Bytes" msgid_plural "{0} Bytes"
msgstr[0] "1 Byte" msgstr[0] "1 Byte"
msgstr[1] "{0} Bytes" msgstr[1] "{0} Bytes"
#: src/src/i2p/susi/webmail/WebMail.java:1643 #: src/src/i2p/susi/webmail/WebMail.java:1644
msgid "Mark All" msgid "Mark All"
msgstr "Marcar todos" msgstr "Marcar todos"
#: src/src/i2p/susi/webmail/WebMail.java:1644 #: src/src/i2p/susi/webmail/WebMail.java:1645
msgid "Invert Selection" msgid "Invert Selection"
msgstr "Invertir selección" msgstr "Invertir selección"
#: src/src/i2p/susi/webmail/WebMail.java:1645 #: src/src/i2p/susi/webmail/WebMail.java:1646
msgid "Clear" msgid "Clear"
msgstr "Despejar" msgstr "Despejar"
#: src/src/i2p/susi/webmail/WebMail.java:1648
#: src/src/i2p/susi/webmail/WebMail.java:1649 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1650
msgid "First" msgid "First"
msgstr "Primero" msgstr "Primero"
#: src/src/i2p/susi/webmail/WebMail.java:1648
#: src/src/i2p/susi/webmail/WebMail.java:1649 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1684 #: src/src/i2p/susi/webmail/WebMail.java:1650
#: src/src/i2p/susi/webmail/WebMail.java:1685
msgid "Previous" msgid "Previous"
msgstr "Anterior" msgstr "Anterior"
#: src/src/i2p/susi/webmail/WebMail.java:1650 #: src/src/i2p/susi/webmail/WebMail.java:1651
#, java-format #, java-format
msgid "Page {0} of {1}" msgid "Page {0} of {1}"
msgstr "Página {0} de {1}" msgstr "Página {0} de {1}"
#: src/src/i2p/susi/webmail/WebMail.java:1652
#: src/src/i2p/susi/webmail/WebMail.java:1653 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1654
msgid "Last" msgid "Last"
msgstr "Última" msgstr "Última"
#: src/src/i2p/susi/webmail/WebMail.java:1652
#: src/src/i2p/susi/webmail/WebMail.java:1653 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1685 #: src/src/i2p/susi/webmail/WebMail.java:1654
#: src/src/i2p/susi/webmail/WebMail.java:1686
msgid "Next" msgid "Next"
msgstr "Siguiente" msgstr "Siguiente"
#: src/src/i2p/susi/webmail/WebMail.java:1656 #: src/src/i2p/susi/webmail/WebMail.java:1657
msgid "Pagesize:" msgid "Pagesize:"
msgstr "Tamaño de página:" msgstr "Tamaño de página:"
#: src/src/i2p/susi/webmail/WebMail.java:1657 #: src/src/i2p/susi/webmail/WebMail.java:1658
msgid "Set" msgid "Set"
msgstr "Establecer" msgstr "Establecer"
#: src/src/i2p/susi/webmail/WebMail.java:1667 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Really delete this message?" msgid "Really delete this message?"
msgstr "¿Realmente deseas borrar este mensaje?" msgstr "¿Realmente deseas borrar este mensaje?"
#: src/src/i2p/susi/webmail/WebMail.java:1667 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Yes, really delete it!" msgid "Yes, really delete it!"
msgstr "Sí, ¡bórralo!" msgstr "Sí, ¡bórralo!"
#: src/src/i2p/susi/webmail/WebMail.java:1686 #: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Back to Folder" msgid "Back to Folder"
msgstr "Volver a carpeta" msgstr "Volver a carpeta"
#: src/src/i2p/susi/webmail/WebMail.java:1693 #: src/src/i2p/susi/webmail/WebMail.java:1694
msgid "Date:" msgid "Date:"
msgstr "Fecha:" msgstr "Fecha:"
#: src/src/i2p/susi/webmail/WebMail.java:1704 #: src/src/i2p/susi/webmail/WebMail.java:1705
msgid "Could not fetch mail." msgid "Could not fetch mail."
msgstr "No se pudo descargar el correo." msgstr "No se pudo descargar el correo."

View File

@ -3,440 +3,448 @@
# This file is distributed under the same license as the susimail package. # This file is distributed under the same license as the susimail package.
# To contribute translations, see http://www.i2p2.de/newdevelopers # To contribute translations, see http://www.i2p2.de/newdevelopers
# #
# Translators:
# <colomboi2p@ymail.com>, 2012.
# <jokjok@hotmail.it>, 2011. # <jokjok@hotmail.it>, 2011.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: I2P\n" "Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-23 19:48+0000\n" "POT-Creation-Date: 2012-05-25 11:01+0000\n"
"PO-Revision-Date: 2011-08-29 19:35+0000\n" "PO-Revision-Date: 2012-05-21 21:49+0000\n"
"Last-Translator: mkkid <jokjok@hotmail.it>\n" "Last-Translator: ColomboI2P <colomboi2p@ymail.com>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/I2P/team/it/)\n" "Language-Team: Italian (http://www.transifex.net/projects/p/I2P/language/"
"it/)\n"
"Language: it\n" "Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/src/i2p/susi/webmail/WebMail.java:454 #: src/src/i2p/susi/webmail/WebMail.java:435
msgid "unknown" msgid "unknown"
msgstr "sconosciuto" msgstr "sconosciuto"
#: src/src/i2p/susi/webmail/WebMail.java:473 #: src/src/i2p/susi/webmail/WebMail.java:454
msgid "Warning: no transfer encoding found, fallback to 7bit." msgid "Warning: no transfer encoding found, fallback to 7bit."
msgstr "Attenzione: nessuna codifica di trasferimento trovata, ritorno a 7bit." msgstr "Attenzione: nessuna codifica di trasferimento trovata, ritorno a 7bit."
#: src/src/i2p/susi/webmail/WebMail.java:478 #: src/src/i2p/susi/webmail/WebMail.java:459
#, java-format #, java-format
msgid "No encoder found for encoding \\''{0}\\''." msgid "No encoder found for encoding \\''{0}\\''."
msgstr "Nessun codificatore trovato per la codifica \\\"{0}\\\"." msgstr "Nessun codificatore trovato per la codifica \\\"{0}\\\"."
#: src/src/i2p/susi/webmail/WebMail.java:484 #: src/src/i2p/susi/webmail/WebMail.java:465
msgid "Warning: no charset found, fallback to US-ASCII." msgid "Warning: no charset found, fallback to US-ASCII."
msgstr "Attenzione: nessun charset trovato, ritorno a US-ASCII." msgstr "Attenzione: nessun charset trovato, ritorno a US-ASCII."
#: src/src/i2p/susi/webmail/WebMail.java:498 #: src/src/i2p/susi/webmail/WebMail.java:479
#, java-format #, java-format
msgid "Charset \\''{0}\\'' not supported." msgid "Charset \\''{0}\\'' not supported."
msgstr "Charset \\\"{0}\\\" non supportato." msgstr "Charset \\\"{0}\\\" non supportato."
#: src/src/i2p/susi/webmail/WebMail.java:502 #: src/src/i2p/susi/webmail/WebMail.java:483
#, java-format #, java-format
msgid "Part ({0}) not shown, because of {1}" msgid "Part ({0}) not shown, because of {1}"
msgstr "Parte ({0}) non mostrata, a causa di {1}" msgstr "Parte ({0}) non mostrata, a causa di {1}"
#: src/src/i2p/susi/webmail/WebMail.java:525 #: src/src/i2p/susi/webmail/WebMail.java:506
msgid "Download" msgid "Download"
msgstr "Download" msgstr "Download"
#: src/src/i2p/susi/webmail/WebMail.java:525 #: src/src/i2p/susi/webmail/WebMail.java:506
msgid "File is packed into a zipfile for security reasons." msgid "File is packed into a zipfile for security reasons."
msgstr "Il file è compresso in formato zip per ragioni di sicurezza." msgstr "Il file è compresso in formato zip per ragioni di sicurezza."
#: src/src/i2p/susi/webmail/WebMail.java:525 #: src/src/i2p/susi/webmail/WebMail.java:506
#, java-format #, java-format
msgid "attachment ({0})." msgid "attachment ({0})."
msgstr "allegato ({0})." msgstr "allegato ({0})."
#: src/src/i2p/susi/webmail/WebMail.java:529 #: src/src/i2p/susi/webmail/WebMail.java:510
#, java-format #, java-format
msgid "Attachment ({0})." msgid "Attachment ({0})."
msgstr "Allegato ({0})." msgstr "Allegato ({0})."
#: src/src/i2p/susi/webmail/WebMail.java:579 #: src/src/i2p/susi/webmail/WebMail.java:560
msgid "Need username for authentication." msgid "Need username for authentication."
msgstr "Serve l'username per l'autenticazione." msgstr "Serve l'username per l'autenticazione."
#: src/src/i2p/susi/webmail/WebMail.java:583 #: src/src/i2p/susi/webmail/WebMail.java:564
msgid "Need password for authentication." msgid "Need password for authentication."
msgstr "Serve la password per l'autenticazione." msgstr "Serve la password per l'autenticazione."
#: src/src/i2p/susi/webmail/WebMail.java:587 #: src/src/i2p/susi/webmail/WebMail.java:568
msgid "Need hostname for connect." msgid "Need hostname for connect."
msgstr "Serve l'hostname per connettersi" msgstr "Serve l'hostname per connettersi"
#: src/src/i2p/susi/webmail/WebMail.java:592 #: src/src/i2p/susi/webmail/WebMail.java:573
msgid "Need port number for pop3 connect." msgid "Need port number for pop3 connect."
msgstr "Serve il numero di porta per connettersi con pop3." msgstr "Serve il numero di porta per connettersi con pop3."
#: src/src/i2p/susi/webmail/WebMail.java:599 #: src/src/i2p/susi/webmail/WebMail.java:580
msgid "POP3 port number is not in range 0..65535." msgid "POP3 port number is not in range 0..65535."
msgstr "Il numero di porta POP3 non è nel range 0..65535." msgstr "Il numero di porta POP3 non è nell'intervallo 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:605 #: src/src/i2p/susi/webmail/WebMail.java:586
msgid "POP3 port number is invalid." msgid "POP3 port number is invalid."
msgstr "Il numero di porta POP3 non è valido." msgstr "Il numero di porta POP3 non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:611 #: src/src/i2p/susi/webmail/WebMail.java:592
msgid "Need port number for smtp connect." msgid "Need port number for smtp connect."
msgstr "Serve il numero di porta per connettersi con smtp." msgstr "Serve il numero di porta per connettersi con smtp."
#: src/src/i2p/susi/webmail/WebMail.java:618 #: src/src/i2p/susi/webmail/WebMail.java:599
msgid "SMTP port number is not in range 0..65535." msgid "SMTP port number is not in range 0..65535."
msgstr "Il numero di porta SMTP non è nel range 0..65535." msgstr "Il numero di porta SMTP non è nell'intervallo 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:624 #: src/src/i2p/susi/webmail/WebMail.java:605
msgid "SMTP port number is invalid." msgid "SMTP port number is invalid."
msgstr "Il numero di porta SMTP non è valido." msgstr "Il numero di porta SMTP non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:671 #: src/src/i2p/susi/webmail/WebMail.java:652
msgid "User logged out." msgid "User logged out."
msgstr "Utente disconnesso." msgstr "Utente disconnesso."
#: src/src/i2p/susi/webmail/WebMail.java:675 #: src/src/i2p/susi/webmail/WebMail.java:656
msgid "Internal error, lost connection." msgid "Internal error, lost connection."
msgstr "Errore interno, connessione persa." msgstr "Errore interno, connessione persa."
#: src/src/i2p/susi/webmail/WebMail.java:771 #: src/src/i2p/susi/webmail/WebMail.java:752
#, java-format #, java-format
msgid "On {0} {1} wrote:" msgid "On {0} {1} wrote:"
msgstr "Su {0} {1} scritto:" msgstr "Su {0} {1} scritto:"
#: src/src/i2p/susi/webmail/WebMail.java:818 #: src/src/i2p/susi/webmail/WebMail.java:799
msgid "begin forwarded mail" msgid "begin forwarded mail"
msgstr "inizia mail inoltrata" msgstr "inizia mail inoltrata"
#: src/src/i2p/susi/webmail/WebMail.java:840 #: src/src/i2p/susi/webmail/WebMail.java:821
msgid "end forwarded mail" msgid "end forwarded mail"
msgstr "concludi mail inoltrata" msgstr "concludi mail inoltrata"
#: src/src/i2p/susi/webmail/WebMail.java:847 #: src/src/i2p/susi/webmail/WebMail.java:828
#: src/src/i2p/susi/webmail/WebMail.java:1708 #: src/src/i2p/susi/webmail/WebMail.java:1701
msgid "Could not fetch mail body." msgid "Could not fetch mail body."
msgstr "Non è stato possibile prendere il cordpo della mail." msgstr "Non è stato possibile prendere il corpo della mail."
#: src/src/i2p/susi/webmail/WebMail.java:875 #: src/src/i2p/susi/webmail/WebMail.java:856
msgid "Message id not valid." msgid "Message id not valid."
msgstr "L'id del messaggio non è valido." msgstr "L'id del messaggio non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:958 #: src/src/i2p/susi/webmail/WebMail.java:939
#, java-format #, java-format
msgid "No Encoding found for {0}" msgid "No Encoding found for {0}"
msgstr "Nessuna codifica trovata per {0}" msgstr "Nessuna Codifica trovata per {0}"
#: src/src/i2p/susi/webmail/WebMail.java:962 #: src/src/i2p/susi/webmail/WebMail.java:943
#, java-format #, java-format
msgid "Could not encode data: {0}" msgid "Could not encode data: {0}"
msgstr "Non è stato possibile codificare i dati: {0}" msgstr "Non è stato possibile codificare i dati: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:967 #: src/src/i2p/susi/webmail/WebMail.java:948
#, java-format #, java-format
msgid "Error reading uploaded file: {0}" msgid "Error reading uploaded file: {0}"
msgstr "Errore nella lettura del file mandato: {0}" msgstr "Errore nella lettura del file inviato: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1045 #: src/src/i2p/susi/webmail/WebMail.java:1026
msgid "Error parsing download parameter." msgid "Error parsing download parameter."
msgstr "Errore durante l'analisi del parametro di download." msgstr "Errore durante l'analisi del parametro di download."
#: src/src/i2p/susi/webmail/WebMail.java:1089 #: src/src/i2p/susi/webmail/WebMail.java:1070
msgid "Invalid pagesize number, resetting to default value." msgid "Invalid pagesize number, resetting to default value."
msgstr "" msgstr ""
"Numero di dimensione di pagina invalido, sta avvenendo il reset al valore di " "Numero di dimensione di pagina invalido, ripristino al valore di default in "
"default." "corso."
#: src/src/i2p/susi/webmail/WebMail.java:1113 #: src/src/i2p/susi/webmail/WebMail.java:1094
msgid "No messages marked for deletion." msgid "No messages marked for deletion."
msgstr "Nerssun messaggio segnato per l'eliminazione." msgstr "Nessun messaggio segnato per l'eliminazione."
#: src/src/i2p/susi/webmail/WebMail.java:1133 #: src/src/i2p/susi/webmail/WebMail.java:1114
#, java-format #, java-format
msgid "Error deleting message: {0}" msgid "Error deleting message: {0}"
msgstr "Errore durante la rimozione del messaggio: {0}" msgstr "Errore durante la rimozione del messaggio: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1144 #: src/src/i2p/susi/webmail/WebMail.java:1125
#, java-format #, java-format
msgid "1 message deleted." msgid "1 message deleted."
msgid_plural "{0} messages deleted." msgid_plural "{0} messages deleted."
msgstr[0] "1 messaggio cancellato." msgstr[0] "1 messaggio eliminato."
msgstr[1] "{0} messaggi cancellati." msgstr[1] "{0} messaggi eliminati."
#: src/src/i2p/susi/webmail/WebMail.java:1266 #: src/src/i2p/susi/webmail/WebMail.java:1248
#: src/src/i2p/susi/webmail/WebMail.java:1594 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Login" msgid "Login"
msgstr "Login" msgstr "Login"
#: src/src/i2p/susi/webmail/WebMail.java:1268 #: src/src/i2p/susi/webmail/WebMail.java:1250
#, java-format #, java-format
msgid "1 Message" msgid "1 Message"
msgid_plural "{0} Messages" msgid_plural "{0} Messages"
msgstr[0] "1 Messaggio" msgstr[0] "1 Messaggio"
msgstr[1] "{0} Messaggi" msgstr[1] "{0} Messaggi"
#: src/src/i2p/susi/webmail/WebMail.java:1270 #: src/src/i2p/susi/webmail/WebMail.java:1252
msgid "Show Message" msgid "Show Message"
msgstr "Mostra Messaggio" msgstr "Mostra Messaggio"
#: src/src/i2p/susi/webmail/WebMail.java:1332 #: src/src/i2p/susi/webmail/WebMail.java:1314
#, java-format #, java-format
msgid "Error decoding content: {0}" msgid "Error decoding content: {0}"
msgstr "Errore nella decodifica del contenuto: {0}" msgstr "Errore nella decodifica del contenuto: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1337 #: src/src/i2p/susi/webmail/WebMail.java:1319
msgid "Error decoding content: No encoder found." msgid "Error decoding content: No encoder found."
msgstr "Errore nella decodifica del contenuto: Nessun codificatore trovato" msgstr "Errore nella decodifica del contenuto: Nessun codificatore trovato"
#: src/src/i2p/susi/webmail/WebMail.java:1384 #: src/src/i2p/susi/webmail/WebMail.java:1366
msgid "no subject" msgid "no subject"
msgstr "nessun soggetto" msgstr "nessun soggetto"
#: src/src/i2p/susi/webmail/WebMail.java:1401 #: src/src/i2p/susi/webmail/WebMail.java:1383
msgid "Found no valid sender address." msgid "Found no valid sender address."
msgstr "Non è stato trovato nessun indirizzo mittente valido." msgstr "Non è stato trovato nessun indirizzo mittente valido."
#: src/src/i2p/susi/webmail/WebMail.java:1407 #: src/src/i2p/susi/webmail/WebMail.java:1389
#, java-format #, java-format
msgid "Found no valid address in \\''{0}\\''." msgid "Found no valid address in \\''{0}\\''."
msgstr "Non è stato trovato nessun indirizzo valido in \\\"{0}\\\"." msgstr "Non è stato trovato nessun indirizzo valido in \\\"{0}\\\"."
#: src/src/i2p/susi/webmail/WebMail.java:1426 #: src/src/i2p/susi/webmail/WebMail.java:1408
msgid "No recipients found." msgid "No recipients found."
msgstr "Nessun destinatario trovato." msgstr "Nessun destinatario trovato."
#: src/src/i2p/susi/webmail/WebMail.java:1433 #: src/src/i2p/susi/webmail/WebMail.java:1415
msgid "Quoted printable encoder not available." msgid "Quoted printable encoder not available."
msgstr "Codificatore stampabile citato non disponibile." msgstr "Codificatore stampabile citato non disponibile."
#: src/src/i2p/susi/webmail/WebMail.java:1438 #: src/src/i2p/susi/webmail/WebMail.java:1420
msgid "Header line encoder not available." msgid "Header line encoder not available."
msgstr "Codificatore linea di testa non disponibile." msgstr "Codificatore linea di testata non disponibile."
#: src/src/i2p/susi/webmail/WebMail.java:1489 #: src/src/i2p/susi/webmail/WebMail.java:1471
msgid "Mail sent." msgid "Mail sent."
msgstr "Mail mandata." msgstr "Mail inviata."
#: src/src/i2p/susi/webmail/WebMail.java:1526 #: src/src/i2p/susi/webmail/WebMail.java:1510
msgid "Send" msgid "Send"
msgstr "Manda" msgstr "Invia"
#: src/src/i2p/susi/webmail/WebMail.java:1527 #: src/src/i2p/susi/webmail/WebMail.java:1511
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
#: src/src/i2p/susi/webmail/WebMail.java:1528 #: src/src/i2p/susi/webmail/WebMail.java:1512
msgid "Delete Attachment" msgid "Delete Attachment"
msgstr "Elimina Allegato" msgstr "Elimina Allegato"
#: src/src/i2p/susi/webmail/WebMail.java:1529 #: src/src/i2p/susi/webmail/WebMail.java:1513
#: src/src/i2p/susi/webmail/WebMail.java:1614 #: src/src/i2p/susi/webmail/WebMail.java:1607
#: src/src/i2p/susi/webmail/WebMail.java:1695 #: src/src/i2p/susi/webmail/WebMail.java:1688
msgid "Reload Config" msgid "Reload Config"
msgstr "Ricarica Configurazione" msgstr "Ricarica Configurazione"
#: src/src/i2p/susi/webmail/WebMail.java:1530 #: src/src/i2p/susi/webmail/WebMail.java:1514
#: src/src/i2p/susi/webmail/WebMail.java:1615 #: src/src/i2p/susi/webmail/WebMail.java:1608
#: src/src/i2p/susi/webmail/WebMail.java:1696 #: src/src/i2p/susi/webmail/WebMail.java:1689
msgid "Logout" msgid "Logout"
msgstr "Disconnettiti" msgstr "Disconnettiti"
#: src/src/i2p/susi/webmail/WebMail.java:1553 #: src/src/i2p/susi/webmail/WebMail.java:1537
#: src/src/i2p/susi/webmail/WebMail.java:1700 #: src/src/i2p/susi/webmail/WebMail.java:1693
msgid "From:" msgid "From:"
msgstr "Da:" msgstr "Da:"
#: src/src/i2p/susi/webmail/WebMail.java:1554 #: src/src/i2p/susi/webmail/WebMail.java:1538
msgid "To:" msgid "To:"
msgstr "A:" msgstr "A:"
#: src/src/i2p/susi/webmail/WebMail.java:1555 #: src/src/i2p/susi/webmail/WebMail.java:1539
msgid "Cc:" msgid "Cc:"
msgstr "Cc:" msgstr "Cc:"
#: src/src/i2p/susi/webmail/WebMail.java:1556 #: src/src/i2p/susi/webmail/WebMail.java:1540
msgid "Bcc:" msgid "Bcc:"
msgstr "Bcc:" msgstr "Bcc:"
#: src/src/i2p/susi/webmail/WebMail.java:1557 #: src/src/i2p/susi/webmail/WebMail.java:1541
#: src/src/i2p/susi/webmail/WebMail.java:1702 #: src/src/i2p/susi/webmail/WebMail.java:1695
msgid "Subject:" msgid "Subject:"
msgstr "Soggetto:" msgstr "Soggetto:"
#: src/src/i2p/susi/webmail/WebMail.java:1558 #: src/src/i2p/susi/webmail/WebMail.java:1542
msgid "Bcc to self" msgid "Bcc to self"
msgstr "Bcc a se stessi" msgstr "Bcc a se stessi"
#: src/src/i2p/susi/webmail/WebMail.java:1561 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "New Attachment:" msgid "New Attachment:"
msgstr "Nuovo Allegato" msgstr "Nuovo Allegato"
#: src/src/i2p/susi/webmail/WebMail.java:1561 #: src/src/i2p/susi/webmail/WebMail.java:1545
msgid "Upload File" msgid "Upload File"
msgstr "Manda File" msgstr "Invia File"
#: src/src/i2p/susi/webmail/WebMail.java:1567 #: src/src/i2p/susi/webmail/WebMail.java:1551
msgid "Attachments:" msgid "Attachments:"
msgstr "Allegati:" msgstr "Allegati:"
#: src/src/i2p/susi/webmail/WebMail.java:1589 #. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:1574
msgid "User" msgid "User"
msgstr "User" msgstr "Utente"
#: src/src/i2p/susi/webmail/WebMail.java:1590 #: src/src/i2p/susi/webmail/WebMail.java:1575
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
#: src/src/i2p/susi/webmail/WebMail.java:1591 #: src/src/i2p/susi/webmail/WebMail.java:1580
msgid "Host" msgid "Host"
msgstr "Host" msgstr "Host"
#: src/src/i2p/susi/webmail/WebMail.java:1592 #: src/src/i2p/susi/webmail/WebMail.java:1581
msgid "POP3-Port" msgid "POP3-Port"
msgstr "Porta POP3" msgstr "Porta POP3"
#: src/src/i2p/susi/webmail/WebMail.java:1593 #: src/src/i2p/susi/webmail/WebMail.java:1582
msgid "SMTP-Port" msgid "SMTP-Port"
msgstr "Porta SMTP" msgstr "Porta SMTP"
#: src/src/i2p/susi/webmail/WebMail.java:1594 #: src/src/i2p/susi/webmail/WebMail.java:1585
msgid "Create Account"
msgstr "Crea Account"
#: src/src/i2p/susi/webmail/WebMail.java:1594
msgid "Reset" msgid "Reset"
msgstr "Reset" msgstr "Reset"
#: src/src/i2p/susi/webmail/WebMail.java:1606 #: src/src/i2p/susi/webmail/WebMail.java:1586
msgid "Learn about I2P mail"
msgstr "Ulteriori informazioni sulla mail I2P"
#: src/src/i2p/susi/webmail/WebMail.java:1587
msgid "Create Account"
msgstr "Crea Account"
#: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Really delete the marked messages?" msgid "Really delete the marked messages?"
msgstr "Cancellare davvero i messaggi segnati?" msgstr "Eliminare veramente i messaggi selezionati?"
#: src/src/i2p/susi/webmail/WebMail.java:1606 #: src/src/i2p/susi/webmail/WebMail.java:1599
msgid "Yes, really delete them!" msgid "Yes, really delete them!"
msgstr "Sì, cancellali per davvero!" msgstr "Sì,eliminali per davvero!"
#: src/src/i2p/susi/webmail/WebMail.java:1608 #: src/src/i2p/susi/webmail/WebMail.java:1601
#: src/src/i2p/susi/webmail/WebMail.java:1687 #: src/src/i2p/susi/webmail/WebMail.java:1680
msgid "New" msgid "New"
msgstr "Nuovo" msgstr "Nuovo"
#: src/src/i2p/susi/webmail/WebMail.java:1609 #: src/src/i2p/susi/webmail/WebMail.java:1602
#: src/src/i2p/susi/webmail/WebMail.java:1688 #: src/src/i2p/susi/webmail/WebMail.java:1681
msgid "Reply" msgid "Reply"
msgstr "Rispondi" msgstr "Rispondi"
#: src/src/i2p/susi/webmail/WebMail.java:1610 #: src/src/i2p/susi/webmail/WebMail.java:1603
#: src/src/i2p/susi/webmail/WebMail.java:1689 #: src/src/i2p/susi/webmail/WebMail.java:1682
msgid "Reply All" msgid "Reply All"
msgstr "Rispondi A Tutti" msgstr "Rispondi A Tutti"
#: src/src/i2p/susi/webmail/WebMail.java:1611 #: src/src/i2p/susi/webmail/WebMail.java:1604
#: src/src/i2p/susi/webmail/WebMail.java:1690 #: src/src/i2p/susi/webmail/WebMail.java:1683
msgid "Forward" msgid "Forward"
msgstr "Inoltra" msgstr "Inoltra"
#: src/src/i2p/susi/webmail/WebMail.java:1612 #: src/src/i2p/susi/webmail/WebMail.java:1605
#: src/src/i2p/susi/webmail/WebMail.java:1691 #: src/src/i2p/susi/webmail/WebMail.java:1684
msgid "Delete" msgid "Delete"
msgstr "Elimina" msgstr "Elimina"
#: src/src/i2p/susi/webmail/WebMail.java:1613 #: src/src/i2p/susi/webmail/WebMail.java:1606
msgid "Check Mail" msgid "Check Mail"
msgstr "Controlla Mail" msgstr "Controlla Mail"
#: src/src/i2p/susi/webmail/WebMail.java:1617 #: src/src/i2p/susi/webmail/WebMail.java:1610
msgid "Sender" msgid "Sender"
msgstr "Mittente" msgstr "Mittente"
#: src/src/i2p/susi/webmail/WebMail.java:1618 #: src/src/i2p/susi/webmail/WebMail.java:1611
msgid "Subject" msgid "Subject"
msgstr "Soggetto" msgstr "Soggetto"
#: src/src/i2p/susi/webmail/WebMail.java:1619 #: src/src/i2p/susi/webmail/WebMail.java:1612
msgid "Date" msgid "Date"
msgstr "Data" msgstr "Data"
#: src/src/i2p/susi/webmail/WebMail.java:1620 #: src/src/i2p/susi/webmail/WebMail.java:1613
msgid "Size" msgid "Size"
msgstr "Dimensione" msgstr "Dimensione"
#: src/src/i2p/susi/webmail/WebMail.java:1646 #: src/src/i2p/susi/webmail/WebMail.java:1639
#, java-format #, java-format
msgid "1 Byte" msgid "1 Byte"
msgid_plural "{0} Bytes" msgid_plural "{0} Bytes"
msgstr[0] "1 Byte" msgstr[0] "1 Byte"
msgstr[1] "{0} Bytes" msgstr[1] "{0} Bytes"
#: src/src/i2p/susi/webmail/WebMail.java:1651 #: src/src/i2p/susi/webmail/WebMail.java:1644
msgid "Mark All" msgid "Mark All"
msgstr "Segna Tutti" msgstr "Segna Tutti"
#: src/src/i2p/susi/webmail/WebMail.java:1652 #: src/src/i2p/susi/webmail/WebMail.java:1645
msgid "Invert Selection" msgid "Invert Selection"
msgstr "Inverti Selezione" msgstr "Inverti Selezione"
#: src/src/i2p/susi/webmail/WebMail.java:1653 #: src/src/i2p/susi/webmail/WebMail.java:1646
msgid "Clear" msgid "Clear"
msgstr "Sgombra" msgstr "Cancella"
#: src/src/i2p/susi/webmail/WebMail.java:1656 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1657 #: src/src/i2p/susi/webmail/WebMail.java:1650
msgid "First" msgid "First"
msgstr "Primo" msgstr "Primo"
#: src/src/i2p/susi/webmail/WebMail.java:1656 #: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1657 #: src/src/i2p/susi/webmail/WebMail.java:1650
#: src/src/i2p/susi/webmail/WebMail.java:1692 #: src/src/i2p/susi/webmail/WebMail.java:1685
msgid "Previous" msgid "Previous"
msgstr "Precedente" msgstr "Precedente"
#: src/src/i2p/susi/webmail/WebMail.java:1658 #: src/src/i2p/susi/webmail/WebMail.java:1651
#, java-format #, java-format
msgid "Page {0} of {1}" msgid "Page {0} of {1}"
msgstr "Pagina {0} di {1}" msgstr "Pagina {0} di {1}"
#: src/src/i2p/susi/webmail/WebMail.java:1660 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1661 #: src/src/i2p/susi/webmail/WebMail.java:1654
msgid "Last" msgid "Last"
msgstr "Ultimo" msgstr "Ultimo"
#: src/src/i2p/susi/webmail/WebMail.java:1660 #: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1661 #: src/src/i2p/susi/webmail/WebMail.java:1654
#: src/src/i2p/susi/webmail/WebMail.java:1693 #: src/src/i2p/susi/webmail/WebMail.java:1686
msgid "Next" msgid "Next"
msgstr "Prossimo" msgstr "Successivo"
#: src/src/i2p/susi/webmail/WebMail.java:1664 #: src/src/i2p/susi/webmail/WebMail.java:1657
msgid "Pagesize:" msgid "Pagesize:"
msgstr "Dimensione di Pagina:" msgstr "Dimensione di Pagina:"
#: src/src/i2p/susi/webmail/WebMail.java:1665 #: src/src/i2p/susi/webmail/WebMail.java:1658
msgid "Set" msgid "Set"
msgstr "Imposta" msgstr "Imposta"
#: src/src/i2p/susi/webmail/WebMail.java:1675 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Really delete this message?" msgid "Really delete this message?"
msgstr "Cancellare per davvero questo messaggio?" msgstr "Eliminare per davvero questo messaggio?"
#: src/src/i2p/susi/webmail/WebMail.java:1675 #: src/src/i2p/susi/webmail/WebMail.java:1668
msgid "Yes, really delete it!" msgid "Yes, really delete it!"
msgstr "Sì, cancellalo per davvero!" msgstr "Sì, eliminalo per davvero!"
#: src/src/i2p/susi/webmail/WebMail.java:1694 #: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Back to Folder" msgid "Back to Folder"
msgstr "Torna alla Cartella" msgstr "Torna alla Cartella"
#: src/src/i2p/susi/webmail/WebMail.java:1701 #: src/src/i2p/susi/webmail/WebMail.java:1694
msgid "Date:" msgid "Date:"
msgstr "Data:" msgstr "Data:"
#: src/src/i2p/susi/webmail/WebMail.java:1712 #: src/src/i2p/susi/webmail/WebMail.java:1705
msgid "Could not fetch mail." msgid "Could not fetch mail."
msgstr "Non è stato possibile prendere la mail" msgstr "Non è stato possibile recuperare la mail"

View File

@ -17,6 +17,12 @@ elif [ $UNIXTYPE = "linux" ] && [ -e /etc/debian_version ]; then
if [ -d /usr/lib/jvm/default-java ]; then if [ -d /usr/lib/jvm/default-java ]; then
JAVA_HOME="/usr/lib/jvm/default-java" JAVA_HOME="/usr/lib/jvm/default-java"
fi fi
elif [ $UNIXTYPE = "linux" ] && [ -e /etc/arch-release ]; then
if [ -d /usr/lib/jvm/java-7-openjdk ]; then
JAVA_HOME="/usr/lib/jvm/java-7-openjdk"
elif [ -d /usr/lib/jvm/java-6-openjdk ]; then
JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
fi
elif [ $UNIXTYPE = "darwin" ]; then elif [ $UNIXTYPE = "darwin" ]; then
JAVA_HOME=$(/usr/libexec/java_home) JAVA_HOME=$(/usr/libexec/java_home)
fi fi

View File

@ -25,7 +25,7 @@ mkdir -p lib bin/local
VER=4.3.2 VER=4.3.2
# If JAVA_HOME isn't set, try to figure it out on our own # If JAVA_HOME isn't set, try to figure it out on our own
[ -z $JAVA_HOME ] && . ./find-java-home [ -z $JAVA_HOME ] && . ../find-java-home
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "ERROR: Cannot find jni.h! Looked in \"$JAVA_HOME/include/jni.h\"" >&2 echo "ERROR: Cannot find jni.h! Looked in \"$JAVA_HOME/include/jni.h\"" >&2
echo "Please set JAVA_HOME to a java home that has the JNI" >&2 echo "Please set JAVA_HOME to a java home that has the JNI" >&2

View File

@ -5,7 +5,7 @@
CC="gcc" CC="gcc"
# If JAVA_HOME isn't set we'll try to figure it out # If JAVA_HOME isn't set we'll try to figure it out
[ -z $JAVA_HOME ] && . ./find-java-home [ -z $JAVA_HOME ] && . ../find-java-home
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'" echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'"
echo "Please set JAVA_HOME to a java home that has the JNI" echo "Please set JAVA_HOME to a java home that has the JNI"

View File

@ -41,30 +41,18 @@ case `uname -s` in
elif [ ${UNIXTYPE} = "kfreebsd" ]; then elif [ ${UNIXTYPE} = "kfreebsd" ]; then
UNIXTYPE="linux" UNIXTYPE="linux"
fi fi
# If JAVA_HOME isn't set, try to figure it out on our own
[ -z $JAVA_HOME ] && . ../find-java-home
# JAVA_HOME being set doesn't guarantee that it's usable
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "Please ensure you have a Java SDK installed" >&2
echo "and/or set JAVA_HOME then re-run this script." >&2
exit 1
fi
# Abort script on uncaught errors
set -e
# If JAVA_HOME is set elsewhere, obey it. Otherwise we'll try to
# deduce its location ourselves.
if [ -z "${JAVA_HOME}" ]; then
if [ ${UNIXTYPE} = "freebsd" ]; then
if [ -d /usr/local/openjdk6 ]; then
JAVA_HOME="/usr/local/openjdk6"
elif [ -d /usr/local/openjdk7 ]; then
JAVA_HOME="/usr/local/openjdk7"
fi
elif [ ${UNIXTYPE} = "openbsd" ]; then # The default in 4.9
if [ -d /usr/local/jdk-1.7.0 ]; then
JAVA_HOME="/usr/local/jdk-1.7.0"
fi
elif [ ${UNIXTYPE} = "netbsd" ]; then
if [ -d /usr/pkg/java/openjdk7 ]; then
JAVA_HOME="/usr/pkg/java/openjdk7"
fi
elif [ ${UNIXTYPE} = "linux" -a -e /etc/debian_version ]; then
if [ -d /usr/lib/jvm/default-java ]; then
JAVA_HOME="/usr/lib/jvm/default-java"
fi
fi
fi
case `uname -m` in case `uname -m` in
x86_64*|amd64) x86_64*|amd64)
ARCH="x86_64";; ARCH="x86_64";;
@ -77,12 +65,6 @@ case `uname -s` in
exit 1;; exit 1;;
esac esac
# JAVA_HOME being set doesn't guarantee that it's usable
if [ ! -r ${JAVA_HOME}/include/jni.h ]; then
echo "Please ensure you have a Java SDK installed"
echo "and/or set JAVA_HOME then re-run this script."
exit 1
fi
LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so" LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so"
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so" LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
COMPILEFLAGS="-fPIC -Wall" COMPILEFLAGS="-fPIC -Wall"

View File

@ -13,7 +13,7 @@ import net.i2p.crypto.KeyGenerator;
/** /**
* Defines the SigningPrivateKey as defined by the I2P data structure spec. * Defines the SigningPrivateKey as defined by the I2P data structure spec.
* A private key is 256byte Integer. The private key represents only the * A signing private key is 20 byte Integer. The private key represents only the
* exponent, not the primes, which are constant and defined in the crypto spec. * exponent, not the primes, which are constant and defined in the crypto spec.
* This key varies from the PrivateKey in its usage (signing, not decrypting) * This key varies from the PrivateKey in its usage (signing, not decrypting)
* *

View File

@ -14,7 +14,7 @@ import java.io.IOException;
/** /**
* Defines the SigningPublicKey as defined by the I2P data structure spec. * Defines the SigningPublicKey as defined by the I2P data structure spec.
* A public key is 256byte Integer. The public key represents only the * A signing public key is 128 byte Integer. The public key represents only the
* exponent, not the primes, which are constant and defined in the crypto spec. * exponent, not the primes, which are constant and defined in the crypto spec.
* This key varies from the PrivateKey in its usage (verifying signatures, not encrypting) * This key varies from the PrivateKey in its usage (verifying signatures, not encrypting)
* *

View File

@ -1,336 +1,31 @@
package net.i2p.time; package net.i2p.time;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.StringTokenizer;
import java.util.concurrent.CopyOnWriteArrayList;
import net.i2p.I2PAppContext;
import net.i2p.util.I2PThread;
import net.i2p.util.Log;
/** /**
* Periodically query a series of NTP servers and update any associated * Dummy. Real thing moved to net.i2p.router.time.RouterTimestamper.
* listeners. It tries the NTP servers in order, contacting them using * What remains here is essentially an interface,
* SNTP (UDP port 123). By default, it does this every 5 minutes, * containing only what is needed to keep external apps
* forever. * compiled with old libs from breaking, since
* net.i2p.util.Clock returns a Timestamper in getTimestamper()
*
* Deprecated outside of the router.
*/ */
public class Timestamper implements Runnable { public class Timestamper implements Runnable {
private final I2PAppContext _context;
private Log _log;
private final List<String> _servers;
private List<String> _priorityServers;
private final List<UpdateListener> _listeners;
private int _queryFrequency;
private int _concurringServers;
private int _consecutiveFails;
private volatile boolean _disabled;
private final boolean _daemon;
private boolean _initialized;
private boolean _wellSynced;
private volatile boolean _isRunning;
private Thread _timestamperThread;
private static final int MIN_QUERY_FREQUENCY = 5*60*1000; /** dummy */
private static final int DEFAULT_QUERY_FREQUENCY = 5*60*1000; public Timestamper() {}
private static final String DEFAULT_SERVER_LIST = "0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org";
private static final String DEFAULT_DISABLED = "true";
/** how many times do we have to query if we are changing the clock? */
private static final int DEFAULT_CONCURRING_SERVERS = 3;
private static final int MAX_CONSECUTIVE_FAILS = 10;
public static final String PROP_QUERY_FREQUENCY = "time.queryFrequencyMs"; /** dummy */
public static final String PROP_SERVER_LIST = "time.sntpServerList"; public void waitForInitialization() {}
public static final String PROP_DISABLED = "time.disabled";
public static final String PROP_CONCURRING_SERVERS = "time.concurringServers";
public static final String PROP_IP_COUNTRY = "i2np.lastCountry";
/** if different SNTP servers differ by more than 10s, someone is b0rked */
private static final int MAX_VARIANCE = 10*1000;
public Timestamper(I2PAppContext ctx) {
this(ctx, null, true);
}
public Timestamper(I2PAppContext ctx, UpdateListener lsnr) {
this(ctx, lsnr, true);
}
public Timestamper(I2PAppContext ctx, UpdateListener lsnr, boolean daemon) {
// moved here to prevent problems with synchronized statements.
_servers = new ArrayList(3);
_listeners = new CopyOnWriteArrayList();
_context = ctx;
_daemon = daemon;
// DO NOT initialize _log here, stack overflow via LogManager init loop
// Don't bother starting a thread if we are disabled.
// This means we no longer check every 5 minutes to see if we got enabled,
// so the property must be set at startup.
// We still need to be instantiated since the router calls clock().getTimestamper().waitForInitialization()
String disabled = ctx.getProperty(PROP_DISABLED, DEFAULT_DISABLED);
if (Boolean.valueOf(disabled).booleanValue()) {
_initialized = true;
return;
}
if (lsnr != null)
_listeners.add(lsnr);
updateConfig();
startTimestamper();
}
public int getServerCount() {
synchronized (_servers) {
return _servers.size();
}
}
public String getServer(int index) {
synchronized (_servers) {
return _servers.get(index);
}
}
public int getQueryFrequencyMs() { return _queryFrequency; }
public boolean getIsDisabled() { return _disabled; }
public void addListener(UpdateListener lsnr) {
_listeners.add(lsnr);
}
public void removeListener(UpdateListener lsnr) {
_listeners.remove(lsnr);
}
public int getListenerCount() {
return _listeners.size();
}
public UpdateListener getListener(int index) {
return _listeners.get(index);
}
private void startTimestamper() {
_timestamperThread = new I2PThread(this, "Timestamper", _daemon);
_timestamperThread.setPriority(I2PThread.MIN_PRIORITY);
_isRunning = true;
_timestamperThread.start();
_context.addShutdownTask(new Shutdown());
}
public void waitForInitialization() {
try {
synchronized (this) {
if (!_initialized)
wait();
}
} catch (InterruptedException ie) {}
}
/** /**
* Update the time immediately. * Update the time immediately.
* Dummy
* @since 0.8.8 * @since 0.8.8
*/ */
public void timestampNow() { public void timestampNow() {}
if (_initialized && _isRunning && (!_disabled) && _timestamperThread != null)
_timestamperThread.interrupt();
}
/** @since 0.8.8 */ /** dummy */
private class Shutdown implements Runnable { public void run() {}
public void run() {
_isRunning = false;
if (_timestamperThread != null)
_timestamperThread.interrupt();
}
}
public void run() {
try { Thread.sleep(1000); } catch (InterruptedException ie) {}
_log = _context.logManager().getLog(Timestamper.class);
if (_log.shouldLog(Log.INFO))
_log.info("Starting timestamper");
boolean lastFailed = false;
try {
while (_isRunning) {
updateConfig();
if (!_disabled) {
// first the servers for our country, if we know what country we're in...
if (_priorityServers != null) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Querying servers " + _priorityServers);
try {
lastFailed = !queryTime(_priorityServers.toArray(new String[_priorityServers.size()]));
} catch (IllegalArgumentException iae) {
if ( (!lastFailed) && (_log.shouldLog(Log.WARN)) )
_log.warn("Unable to reach country-specific NTP servers");
lastFailed = true;
}
}
// ... and then the global list, if that failed
if (_priorityServers == null || lastFailed) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Querying servers " + _servers);
try {
lastFailed = !queryTime(_servers.toArray(new String[_servers.size()]));
} catch (IllegalArgumentException iae) {
if ( (!_initialized) && (_log.shouldLog(Log.ERROR)) ) {
List<String> all = new ArrayList();
if (_priorityServers != null)
all.addAll(_priorityServers);
all.addAll(_servers);
_log.error("Unable to reach any of the NTP servers " + all + " - network disconnected? Or set time.sntpServerList=myserver1.com,myserver2.com in advanced configuration.");
}
lastFailed = true;
}
}
}
_initialized = true;
synchronized (this) { notifyAll(); }
long sleepTime;
if (lastFailed) {
if (++_consecutiveFails >= MAX_CONSECUTIVE_FAILS)
sleepTime = 30*60*1000;
else
sleepTime = 30*1000;
} else {
_consecutiveFails = 0;
sleepTime = _context.random().nextInt(_queryFrequency) + _queryFrequency;
if (_wellSynced)
sleepTime *= 3;
}
try { Thread.sleep(sleepTime); } catch (InterruptedException ie) {}
}
} catch (Throwable t) {
_log.log(Log.CRIT, "Timestamper died!", t);
synchronized (this) { notifyAll(); }
}
}
/**
* True if the time was queried successfully, false if it couldn't be
*/
private boolean queryTime(String serverList[]) throws IllegalArgumentException {
long found[] = new long[_concurringServers];
long now = -1;
int stratum = -1;
long expectedDelta = 0;
_wellSynced = false;
for (int i = 0; i < _concurringServers; i++) {
if (i > 0) {
// this delays startup when net is disconnected or the timeserver list is bad, don't make it too long
try { Thread.sleep(2*1000); } catch (InterruptedException ie) {}
}
long[] timeAndStratum = NtpClient.currentTimeAndStratum(serverList);
now = timeAndStratum[0];
stratum = (int) timeAndStratum[1];
long delta = now - _context.clock().now();
found[i] = delta;
if (i == 0) {
if (Math.abs(delta) < MAX_VARIANCE) {
if (_log.shouldLog(Log.INFO))
_log.info("a single SNTP query was within the tolerance (" + delta + "ms)");
// If less than a half second on the first try, we're in good shape
_wellSynced = Math.abs(delta) < 500;
break;
} else {
// outside the tolerance, lets iterate across the concurring queries
expectedDelta = delta;
}
} else {
if (Math.abs(delta - expectedDelta) > MAX_VARIANCE) {
if (_log.shouldLog(Log.ERROR)) {
StringBuilder err = new StringBuilder(96);
err.append("SNTP client variance exceeded at query ").append(i);
err.append(". expected = ");
err.append(expectedDelta);
err.append(", found = ");
err.append(delta);
err.append(" all deltas: ");
for (int j = 0; j < found.length; j++)
err.append(found[j]).append(' ');
_log.error(err.toString());
}
return false;
}
}
}
stampTime(now, stratum);
if (_log.shouldLog(Log.DEBUG)) {
StringBuilder buf = new StringBuilder(64);
buf.append("Deltas: ");
for (int i = 0; i < found.length; i++)
buf.append(found[i]).append(' ');
_log.debug(buf.toString());
}
return true;
}
/**
* Notify the listeners
*
* @since stratum param added in 0.7.12
*/
private void stampTime(long now, int stratum) {
long before = _context.clock().now();
for (UpdateListener lsnr : _listeners) {
lsnr.setNow(now, stratum);
}
if (_log.shouldLog(Log.DEBUG))
_log.debug("Stamped the time as " + now + " (delta=" + (now-before) + ")");
}
/**
* Reload all the config elements from the appContext
*
*/
private void updateConfig() {
String serverList = _context.getProperty(PROP_SERVER_LIST);
if ( (serverList == null) || (serverList.trim().length() <= 0) ) {
serverList = DEFAULT_SERVER_LIST;
String country = _context.getProperty(PROP_IP_COUNTRY);
if (country == null) {
country = Locale.getDefault().getCountry();
if (country != null)
country = country.toLowerCase(Locale.US);
}
if (country != null && country.length() > 0) {
_priorityServers = new ArrayList(3);
for (int i = 0; i < 3; i++)
_priorityServers.add(i + "." + country + ".pool.ntp.org");
} else {
_priorityServers = null;
}
} else {
_priorityServers = null;
}
_servers.clear();
StringTokenizer tok = new StringTokenizer(serverList, ", ");
while (tok.hasMoreTokens()) {
String val = tok.nextToken();
val = val.trim();
if (val.length() > 0)
_servers.add(val);
}
_queryFrequency = Math.max(MIN_QUERY_FREQUENCY,
_context.getProperty(PROP_QUERY_FREQUENCY, DEFAULT_QUERY_FREQUENCY));
String disabled = _context.getProperty(PROP_DISABLED, DEFAULT_DISABLED);
_disabled = Boolean.valueOf(disabled).booleanValue();
_concurringServers = Math.min(4, Math.max(1,
_context.getProperty(PROP_CONCURRING_SERVERS, DEFAULT_CONCURRING_SERVERS)));
}
/****
public static void main(String args[]) {
System.setProperty(PROP_DISABLED, "false");
System.setProperty(PROP_QUERY_FREQUENCY, "30000");
I2PAppContext.getGlobalContext();
for (int i = 0; i < 5*60*1000; i += 61*1000) {
try { Thread.sleep(61*1000); } catch (InterruptedException ie) {}
}
}
****/
/** /**
* Interface to receive update notifications for when we query the time * Interface to receive update notifications for when we query the time

View File

@ -1,7 +1,8 @@
<html> <html>
<body> <body>
<p> <p>
Provides classes for time synchronisation using NTP. Provides a stub class for time synchronization.
Full implementation is now in net.i2p.router.time.
</p> </p>
</body> </body>
</html> </html>

View File

@ -19,7 +19,6 @@ import net.i2p.time.Timestamper;
*/ */
public class Clock implements Timestamper.UpdateListener { public class Clock implements Timestamper.UpdateListener {
protected final I2PAppContext _context; protected final I2PAppContext _context;
private final Timestamper _timestamper;
protected long _startedOn; protected long _startedOn;
protected boolean _statCreated; protected boolean _statCreated;
protected volatile long _offset; protected volatile long _offset;
@ -29,7 +28,6 @@ public class Clock implements Timestamper.UpdateListener {
public Clock(I2PAppContext context) { public Clock(I2PAppContext context) {
_context = context; _context = context;
_listeners = new CopyOnWriteArraySet(); _listeners = new CopyOnWriteArraySet();
_timestamper = new Timestamper(context, this);
_startedOn = System.currentTimeMillis(); _startedOn = System.currentTimeMillis();
} }
@ -37,7 +35,10 @@ public class Clock implements Timestamper.UpdateListener {
return I2PAppContext.getGlobalContext().clock(); return I2PAppContext.getGlobalContext().clock();
} }
public Timestamper getTimestamper() { return _timestamper; } /**
* This is a dummy, see RouterClock and RouterTimestamper for the real thing
*/
public Timestamper getTimestamper() { return new Timestamper(); }
/** we fetch it on demand to avoid circular dependencies (logging uses the clock) */ /** we fetch it on demand to avoid circular dependencies (logging uses the clock) */
protected Log getLog() { return _context.logManager().getLog(Clock.class); } protected Log getLog() { return _context.logManager().getLog(Clock.class); }

View File

@ -8,10 +8,10 @@ Subject: rename jcpuid
--- a/core/c/jcpuid/build.sh --- a/core/c/jcpuid/build.sh
+++ b/core/c/jcpuid/build.sh +++ b/core/c/jcpuid/build.sh
@@ -83,8 +83,8 @@ @@ -65,8 +65,8 @@
echo "and/or set JAVA_HOME then re-run this script." exit 1;;
exit 1 esac
fi
- LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so" - LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so"
- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so" - LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
+ LINKFLAGS="-shared -Wl,-soname,libjcpuid.so" + LINKFLAGS="-shared -Wl,-soname,libjcpuid.so"

View File

@ -1,8 +1,41 @@
2012-05-31 zzz
* i2psnark:
- Add per-hour conn limit
- Blacklist peer after two bad handshakes
- Reduce connect timeout
- Close connection immediately if bad protocol
- Stop adding peers when we hit the limit
- Lower limit for outbound connections so we give
new peers a better chance in large swarms
2012-05-30 zzz
* Graphs: Reduce log EOF error to warn
* i2psnark:
- Increase max upload (ticket #645)
- Increase per-minute conn limit from 6 to 8
- Improve rarest-first behavior
- Handle URI encoding, UTF-8, and multiple trackers in magnet links
* Timestamper:
- Move from core to router, leave stub in core
so it doesn't break compatibility. This removes a
thread in app context and prevents any app context from
running NTP; external clients must use the time
received from the router.
- Increase query interval
2012-05-28 kytv
* i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
* jbigi/jcpuid scripts: Improve support for ArchLinux
2012-05-25 kytv
* German, Italian, Spanish, and Swedish translation updates from Transifex
2012-05-23 zzz 2012-05-23 zzz
* i2psnark: * i2psnark:
- Fixes when complete except for skipped files - Fixes when complete except for skipped files
(ticket #447) status in UI, don't connect outbound, (ticket #447) status in UI, don't connect outbound,
disconnect seeds when done disconnect seeds when done
- Custom tracker map AIOOBE fix
- More classes pkg private - More classes pkg private
* jobs.jsp: Add more queue diagnostics * jobs.jsp: Add more queue diagnostics

View File

@ -210,7 +210,7 @@ failed() {
} }
if [ ! -r "${WRAPPER_CMD}" ]; then if [ ! -r "${WRAPPER_CMD}" ]; then
echo "Unable to locate i2psvc in ${I2P}!" echo "Unable to locate ${WRAPPER_CMD} in ${I2P}!"
echo echo
unsupported unsupported
echo echo
@ -1221,8 +1221,64 @@ installdaemon() {
fi fi
elif [ -f /etc/arch-release ]; then elif [ -f /etc/arch-release ]; then
eval echo `gettext 'Detected Arch Linux:'` eval echo `gettext 'Detected Arch Linux:'`
eval echo `gettext 'Installing as a daemon is not yet supported in Arch Linux.'` if [ -f /etc/rc.d/i2prouter ]; then
eval echo `gettext 'Initscript from AUR package found. Refusing to continue.'`
exit 1 exit 1
elif [ -f /etc/rc.d/i2p ]; then
eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
exit 1
else
echo "#!/bin/bash" >> /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.conf" >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.d/functions" >> /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo "case "\$1" in" >> /etc/rc.d/${APP_NAME}
echo " start)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy \"Starting i2p-Router\"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router start >/dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " add_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " stop)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy "Stopping i2p-Router"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router stop > /dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " rm_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " restart)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router restart" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " console)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router console" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " status)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router status" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " dump)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router dump" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " graceful)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router graceful" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " *)" >> /etc/rc.d/${APP_NAME}
echo " echo \"usage: \$0 {start|stop|restart|console|status|dump}\"" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo "esac" >> /etc/rc.d/${APP_NAME}
chmod 755 /etc/rc.d/${APP_NAME}
chown root:root /etc/rc.d/${APP_NAME}
eval echo `gettext ' The $APP_LONG_NAME daemon has been installed.'`
eval echo `gettext ' Add \"i2p\" to the DAEMONS variable in /etc/rc.conf to enable.'`
fi
elif [ -f /etc/SuSE-release ] ; then elif [ -f /etc/SuSE-release ] ; then
eval echo `gettext 'Detected SuSE or SLES:'` eval echo `gettext 'Detected SuSE or SLES:'`
if [ -f "/etc/init.d/$APP_NAME" ] ; then if [ -f "/etc/init.d/$APP_NAME" ] ; then
@ -1416,6 +1472,15 @@ removedaemon() {
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'` eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1 exit 1
fi fi
elif [ -f /etc/arch-release ] ; then
eval echo `gettext 'Detected Arch Linux:'`
if [ -f "/etc/rc.d/$APP_NAME" ] ; then
eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
rm -f "/etc/rc.d/$APP_NAME"
else
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1
fi
elif [ -f /etc/SuSE-release ] ; then elif [ -f /etc/SuSE-release ] ; then
eval echo `gettext 'Detected SuSE or SLES:'` eval echo `gettext 'Detected SuSE or SLES:'`
if [ -f "/etc/init.d/$APP_NAME" ] ; then if [ -f "/etc/init.d/$APP_NAME" ] ; then

View File

@ -16,6 +16,12 @@ body {
display: none; display: none;
} }
div.clearer {
clear: left;
height: 0;
line-height: 0;
}
img { img {
border: none; border: none;
} }
@ -622,6 +628,7 @@ th {
/* begin home page */ /* begin home page */
/*
#appsummary { #appsummary {
clear: none; clear: none;
float: none; float: none;
@ -647,16 +654,16 @@ h2.app {
border-radius: 8px; border-radius: 8px;
margin: 1px 10px 15px 0 !important; margin: 1px 10px 15px 0 !important;
} }
*/
h4.app { h4.app, h4.app2 {
margin: 0 10px 2px 10px; margin: 0 10px 2px 10px;
padding: 10px 0 8px 0; padding: 10px 0 8px 0;
} }
h4.app2 { h4.app2 {
clear: left; clear: left;
margin: 0 4px 2px 0; margin-top: 5px !important;
padding: 16px 0 8px 0;
} }
div.ag2 { div.ag2 {
@ -666,13 +673,14 @@ div.ag2 {
div.app { div.app {
float: left; float: left;
padding: 2px; padding: 2px;
height: 84px; /*height: 84px;*/
width: 112px; width: 112px;
text-align: center !important;
} }
div.appgroup { div.appgroup {
margin: 0; margin: 0;
padding: 16px 8px; padding: 0 8px;
width: auto; width: auto;
} }

View File

@ -9,13 +9,20 @@ body {
text-align: center; text-align: center;
background: #010 url('images/camotile.png') center bottom; background: #010 url('images/camotile.png') center bottom;
color: #EE9; color: #EE9;
font: 9pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; font: 8.5pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
} }
.hide { .hide {
display: none; display: none;
} }
div.clearer {
clear: left;
height: 0;
line-height: 0;
}
img { img {
border: none; border: none;
} }
@ -24,7 +31,7 @@ pre {
width: 98%; width: 98%;
overflow-x: scroll; overflow-x: scroll;
text-align: left; text-align: left;
font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
color: #EE9; color: #EE9;
} }
@ -151,10 +158,10 @@ div.routersummary h3 {
div.routersummary h4 { div.routersummary h4 {
border: 0; border: 0;
border-bottom: 0 !important; border-bottom: 0 !important;
font-size: 8.5pt; font-size: 8pt;
letter-spacing: 0.02em; letter-spacing: 0.02em;
margin: -7px -9px -10px -9px !important; margin: -7px -9px -10px -9px !important;
padding: 6px 3px 9px 3px; padding: 6px 3px 8px 3px;
background: #000; background: #000;
text-transform: capitalize; text-transform: capitalize;
text-decoration: none !important; text-decoration: none !important;
@ -181,14 +188,22 @@ div.routersummary tr {
border: 0 !important; border: 0 !important;
} }
div.routersummary form {
margin: -5px 0 -7px;
}
div.routersummary form:first-child {
margin: 6px 0 -5px 0 !important;
}
div.routersummary p { div.routersummary p {
padding: 0; padding: 0;
} }
div.refresh { div.refresh {
margin-top: 10px !important; margin-top: -10px !important;
margin-bottom: 10px !important; margin-bottom: -4px !important;
padding: 2px 0 !important; padding: 2px 0 0px 0 !important;
} }
div.routersummary a:link, div.routersummary a:visited { div.routersummary a:link, div.routersummary a:visited {
@ -308,22 +323,27 @@ div.main {
div.main textarea { div.main textarea {
background: #000; background: #000;
color: #EE9; color: #EE9;
font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: 8pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
} }
div.news { div.news {
margin: -1px 5px 0px 205px; margin: -1px 5px 0px 205px;
padding: 5px 30px 5px 30px; padding: 4px 30px 4px 30px;
border: 1px solid #494; border: 1px solid #494;
background: #000; background: #000;
background: #000 url("images/news.png")no-repeat scroll bottom right; background: #000 url("images/news.png")no-repeat scroll bottom right;
color: #7b7; color: #7b7;
/* border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
-khtml-border-radius: 4px 4px 0 0;*/
font-size: 7.5pt; font-size: 7.5pt;
text-align: right; text-align: right;
-moz-box-shadow: 0 1px 5px #000; -moz-box-shadow: 0 1px 5px #000;
-khtml-box-shadow: 0 1px 5px #000; -khtml-box-shadow: 0 1px 5px #000;
box-shadow: 0 1px 5px #000; box-shadow: 0 1px 5px #000;
min-width: 590px; min-width: 580px;
/* height: 164px;
overflow-y: auto;*/
} }
div.news li { div.news li {
@ -343,12 +363,8 @@ div.news li {
} }
div.news h3 { div.news h3 {
background: none; text-align: left !important;
text-align: left; font-size: 9.5pt;
border: none;
padding-left: 0;
padding-top: 2px;
border-bottom: 1px dotted;
} }
div.news h4 { div.news h4 {
@ -420,11 +436,11 @@ div.messages {
color: #4f4; color: #4f4;
} }
div.error { div.messages span.error {
color: #d90; color: #d90;
} }
div.notice { div.messages span.notice {
font-style: italic; font-style: italic;
} }
@ -468,7 +484,7 @@ div.graphspanel img {
text-align: center !important; text-align: center !important;
background: #000; background: #000;
opacity: 0.9; opacity: 0.8;
} }
div.graphspanel img:hover { div.graphspanel img:hover {
@ -488,7 +504,7 @@ table {
width: 100%; width: 100%;
border: 1px solid #494; border: 1px solid #494;
cell-padding: 1px; cell-padding: 1px;
font-size: 7pt; font-size: 8pt;
background: #030; background: #030;
margin: 1px 0; margin: 1px 0;
} }
@ -548,7 +564,7 @@ td img {
} }
tt { tt {
font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: bold 8pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
color: #FF0; color: #FF0;
padding: 0 5px 2px 0; padding: 0 5px 2px 0;
} }
@ -566,7 +582,7 @@ div.main li {
div.main li b { div.main li b {
color: #b70 !important; color: #b70 !important;
letter-spacing: 0.07em; letter-spacing: 0.07em;
font-size: 9pt; font-size: 8.5pt;
text-shadow: 0 1px 1px #700; text-shadow: 0 1px 1px #700;
} }
@ -585,7 +601,7 @@ div.main li b {
.tidylist code { .tidylist code {
text-align: left; text-align: left;
font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
color: #dd0; color: #dd0;
padding: 1px 2px; padding: 1px 2px;
background: #030; background: #030;
@ -606,9 +622,9 @@ ul {
code { code {
text-align: left; text-align: left;
font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
color: #dd0; color: #dd0;
/* padding: 1px 2px;*/ padding: 1px 2px;
} }
a:link, h2 a:link{ a:link, h2 a:link{
@ -646,7 +662,7 @@ a:hover {
.links b{ .links b{
color: #b70 !important; color: #b70 !important;
letter-spacing: 0.07em; letter-spacing: 0.07em;
font-size: 9.5pt; font-size: 8.5pt;
line-height: 165%; line-height: 165%;
text-shadow: 0 1px 1px #700; text-shadow: 0 1px 1px #700;
} }
@ -656,10 +672,14 @@ p {
line-height: 160%; line-height: 160%;
} }
p img:first-child{
display: none !important;
}
h1 { h1 {
text-align: left; text-align: left;
color: #EE9; color: #EE9;
padding: 15px 15px 14px; padding: 14px 15px;
margin: 0 5px 0px 205px !important; margin: 0 5px 0px 205px !important;
font-size: 17pt; font-size: 17pt;
font-weight: bold; font-weight: bold;
@ -715,7 +735,7 @@ h2 a:hover {
h3 { h3 {
border: 1px solid #494; border: 1px solid #494;
border-left: 5px solid #494; border-left: 5px solid #494;
padding: 5px 6px; padding: 5px 6px 7px;
margin: 12px 0 10px 0; margin: 12px 0 10px 0;
border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0;
@ -756,72 +776,12 @@ button, button:visited {
color: #494; color: #494;
} }
button.accept {
background: #ffe url('../images/accept.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.add {
background: #ffe url('../images/add.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.cancel {
background: #ffe url('../images/cancel.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.check {
background: #ffe url('../images/tick.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.delete {
background: #ffe url('../images/delete.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.download {
background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.go {
background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.reload {
background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.search {
background: #ffe url('../images/magnifier.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button.stop {
background: #ffe url('../images/stop.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
button:hover { button:hover {
border: 1px solid #f60; border: 1px solid #f60;
-moz-box-shadow: inset 0px 1px 1px 0px #EE9; -moz-box-shadow: inset 0px 1px 1px 0px #EE9;
-khtml-box-shadow: inset 0px 1px 1px 0px #EE9; -khtml-box-shadow: inset 0px 1px 1px 0px #EE9;
box-shadow: inset 0px 1px 1px 0px #EE9; box-shadow: inset 0px 1px 1px 0px #EE9;
background-color: #000; background: #000;
color: #f60; color: #f60;
} }
@ -841,11 +801,11 @@ button:active {
} }
.langbox { .langbox {
margin: -3px -4px 2px 5px; margin: 5px 3px 2px 5px;
padding: 7px 10px 5px 10px; padding: 0;
color: #EE9; color: #EE9;
font-size: 7pt; font-size: 7pt;
width: 220px; width: 260px;
text-align: right; text-align: right;
float: right; float: right;
vertical-align: middle; vertical-align: middle;
@ -889,73 +849,14 @@ input {
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
padding: 1px 2px; padding: 1px 2px;
text-decoration: none; text-decoration: none;
min-width: 110px;
border-radius: 4px; border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
} }
input.accept {
background: #ffe url('../images/accept.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.add {
background: #ffe url('../images/add.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.cancel {
background: #ffe url('../images/cancel.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.check {
background: #ffe url('../images/tick.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.delete {
background: #ffe url('../images/delete.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.download {
background: #ffe url('../images/arrow_down.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.go {
background: #ffe url('../images/arrow_right.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.reload {
background: #ffe url('../images/arrow_refresh.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input.search[type="text"] {
background: #001 url('../images/magnifier.png') no-repeat 2px center;
padding: 2px 3px 2px 24px;
min-height: 22px;
}
input.stop {
background: #ffe url('../images/stop.png') no-repeat 2px center;
padding: 2px 3px 2px 20px;
min-height: 22px;
}
input:hover { input:hover {
background-color: #000; background: #000;
color: #f60; color: #f60;
border: 1px solid #f60; border: 1px solid #f60;
-moz-box-shadow: inset 0px 1px 1px 0px #9e9; -moz-box-shadow: inset 0px 1px 1px 0px #9e9;
@ -963,13 +864,19 @@ input:hover {
box-shadow: inset 0px 1px 1px 0px #9e9; box-shadow: inset 0px 1px 1px 0px #9e9;
} }
input:active {
background: #000;
color: #f30;
border: 1px solid #f30;
}
input:active { input:active {
border: 1px inset #f60; border: 1px inset #f60;
background: #f60; background: #f60;
color: #EE9; color: #EE9;
} }
input[type=text], input[type=password] { input[type=text] {
background: #000; background: #000;
color: #EE9; color: #EE9;
margin: 5px 10px; margin: 5px 10px;
@ -985,6 +892,10 @@ input[type=text], input[type=password] {
box-shadow: inset 1px 1px 1px 0px #000; box-shadow: inset 1px 1px 1px 0px #000;
} }
input[type=text]:active, input[type=text]:hover {
background: #000;
}
fieldset { fieldset {
overflow: hidden; overflow: hidden;
position: relative; position: relative;
@ -1011,13 +922,15 @@ textarea {
border-radius: 4px; border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font: 8.5pt "Lucida Console", "Droid Sans Mono", "DejaVu Sans Mono", Courier, mono;
min-height: 100px; min-height: 100px;
min-width: 97%; min-width: 97%;
text-align: left; text-align: left;
border: 1px solid #494; border: 1px solid #494;
} }
form {}
.proxyfooter { .proxyfooter {
margin: 0 20px 10px 240px; margin: 0 20px 10px 240px;
padding: 20px 25px 20px 75px; padding: 20px 25px 20px 75px;
@ -1061,6 +974,10 @@ div.joblog {
overflow-x: auto; /* Opera fix */ overflow-x: auto; /* Opera fix */
} }
div.joblog h3 {
margin-top: 10px;
}
div.main li { div.main li {
text-align: left; text-align: left;
list-style: square; list-style: square;
@ -1072,6 +989,7 @@ div.main li {
div.joblog li { div.joblog li {
word-wrap: break-word !important; word-wrap: break-word !important;
text-align: justify !important;
line-height: 120% !important; line-height: 120% !important;
margin: 2px 0px 2px 30px; margin: 2px 0px 2px 30px;
padding: 2px 20px 2px 0px; padding: 2px 20px 2px 0px;
@ -1080,7 +998,7 @@ div.joblog li {
div.joblog ul { div.joblog ul {
word-wrap: break-word !important; word-wrap: break-word !important;
text-align: justify; text-align: justify;
margin: 0px 0 10px; margin: 0;
} }
div.joblog li:first-child { div.joblog li:first-child {
@ -1088,7 +1006,7 @@ div.joblog li:first-child {
} }
div.joblog li:last-child { div.joblog li:last-child {
/* margin-bottom: -25px;*/ margin-bottom: -10px;
} }
div.joblog form:first-child { div.joblog form:first-child {
@ -1100,7 +1018,7 @@ div.joblog table {
} }
div.joblog p { div.joblog p {
line-height: 130%; line-height: 140%;
} }
.smallhead { .smallhead {
@ -1108,7 +1026,7 @@ div.joblog p {
} }
.mediumtags { .mediumtags {
font-size: 9pt; font-size: 8.5pt;
} }
.optbox { .optbox {
@ -1150,10 +1068,12 @@ div.joblog p {
border-bottom: 1px solid #494 !important; border-bottom: 1px solid #494 !important;
font-size: 7pt; font-size: 7pt;
line-height: 110%; line-height: 110%;
padding: 5px 5px 10px;
} }
.formaction { .formaction {
text-align: right; text-align: right;
margin-bottom: -5px;
} }
div.footnote { div.footnote {
@ -1181,6 +1101,7 @@ div.footnote hr{
/* begin home page */ /* begin home page */
/*
#appsummary { #appsummary {
clear: none; clear: none;
float: none; float: none;
@ -1205,16 +1126,24 @@ h2.app {
border-radius: 8px; border-radius: 8px;
margin: 1px 10px 15px 0 !important; margin: 1px 10px 15px 0 !important;
} }
*/
h4.app { h4.app, h4.app2 {
margin: 0 10px 2px 10px; background: url('images/header.png') center center repeat-x;
padding: 10px 0 8px 0; border: 1px solid #449944;
font-size: 10pt;
font-variant: small-caps;
letter-spacing: 2px;
margin: 12px 0 -10px 0;
padding: 7px 8px 7px;
text-transform: uppercase;
border-radius: 4px;
text-align: left;
} }
h4.app2 { h4.app2 {
clear: left; clear: left;
margin: 0 4px 2px 0; margin-top: 5px !important;
padding: 16px 0 8px 0;
} }
div.ag2 { div.ag2 {
@ -1223,9 +1152,29 @@ div.ag2 {
div.app { div.app {
float: left; float: left;
padding: 2px; padding: 5px 0 0 !important;
height: 84px; width: 137px;
width: 112px; border: 1px solid #494;
background: #000;
background-image: -moz-linear-gradient(center top , #000B00, #000);
border-radius: 3px;
margin: 5px;
height: 72px;
text-align: center !important;
padding-top: 5px;
opacity: 0.9;
box-shadow: 0 1px 5px #000000;
}
div.app:hover {
opacity: 1;
border: 1px solid #f60;
background: #000;
box-shadow: none;
}
div.app:last-child {
margin-bottom: 12px;
} }
div.appgroup { div.appgroup {
@ -1251,12 +1200,14 @@ table.search {
img.app { img.app {
height: 32px; height: 32px;
width: 32px; width: 32px;
padding: 6px; padding: 6px 0 8px 0;
margin-bottom: 3px;
} }
img.app2p { img.app2p {
height: 40px; height: 40px;
padding: 3px 6px 0 6px; padding: 5px 6px 0px 6px;
margin-bottom: 3px;
} }
table.app { table.app {
@ -1276,19 +1227,20 @@ td.app {
background: none; background: none;
border: 0; border: 0;
margin: 0; margin: 0;
padding: 3px 0 0;
} }
div.applabel { div.applabel {
background: url('images/header.png') center center repeat-x; border-radius: 3px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border: 2px #00f;
border-radius: 4px;
border-width: 1px; border-width: 1px;
font-size: 9pt; font-size: 7.5pt;
margin: 0; margin: 0;
padding: 3px 6px 4px 6px; padding: 3px 0;
text-align: center; text-align: center;
vertical-align: bottom;
line-height: 95%;
text-transform: lowercase;
border: none;
} }
/* end home page */ /* end home page */

View File

@ -38,6 +38,16 @@ b, a, a:link, a:hover, a:visited {
font-weight: normal; font-weight: normal;
} }
h2 {
font-size: 15pt;
text-shadow: none;
font-weight: normal;
}
p {
font-size: 9.5pt;
}
button, button:visited { button, button:visited {
font: normal 10pt Verdana,"Bitstream Vera Sans",Tahoma,Helvetica,sans-serif !important; font: normal 10pt Verdana,"Bitstream Vera Sans",Tahoma,Helvetica,sans-serif !important;
} }
@ -55,3 +65,7 @@ code, pre, tt {
table { table {
font: 8.5pt/130% Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif; font: 8.5pt/130% Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
} }
div.applabel {
font-size: 8.5pt;
}

View File

@ -4,10 +4,10 @@ body {
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
text-align: center; text-align: center;
font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
background: #010 url('images/camotile.png') center bottom; background: #010 url('images/camotile.png') center bottom;
color: #000000; color: #000000;
font-size: 9pt; font-size: 8.5pt;
/* we've avoided Tantek Hacks so far, /* we've avoided Tantek Hacks so far,
** but we can't avoid using the non-w3c method of ** but we can't avoid using the non-w3c method of
** box rendering. (and therefore one of mozilla's ** box rendering. (and therefore one of mozilla's
@ -40,7 +40,7 @@ label {
h4 { h4 {
font-size: 14px; font-size: 14px;
font-weight: bold !important; font-weight: bold !important;
text-align: center; text-align: left;
border: 1px solid #494; border: 1px solid #494;
margin: 5px 0 15px 0; margin: 5px 0 15px 0;
padding: 5px 10px; padding: 5px 10px;
@ -63,11 +63,14 @@ form {
} }
textarea, input, select, button, a { textarea, input, select, button, a {
font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif; font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
font-size: 9pt; font-size: 8.5pt;
float: left; float: left;
background: #020;
border-radius: 4px;
color: #EEEE99;
} }
button { button {
@ -76,10 +79,6 @@ button {
textarea { textarea {
border: 1px solid #494; border: 1px solid #494;
color: #fff;
background: #020;
margin-left: 4px;
margin-right: 5px !important;
} }
br { br {
@ -142,7 +141,7 @@ hr {
padding: 2px; padding: 2px;
margin: 4px 0 2px 4px; margin: 4px 0 2px 4px;
background-color: #020; background-color: #020;
font: bold 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; font-size: 8.5pt;
} }
.control { .control {
@ -151,7 +150,7 @@ hr {
overflow: hidden; overflow: hidden;
min-width: 60px; min-width: 60px;
max-height: 24px; max-height: 24px;
font-size: 9pt; font-size: 8pt;
font-weight: bold; font-weight: bold;
background-color: #000; background-color: #000;
color: #9f9 !important; color: #9f9 !important;
@ -203,8 +202,8 @@ hr {
margin: 16px auto 16px auto; margin: 16px auto 16px auto;
overflow: hidden; overflow: hidden;
text-align: left; text-align: left;
font-size: 9pt; font-size: 8.5pt;
color: white; color: #EEEE99;
background-color: #020; background-color: #020;
background: #000; /*url(images/camotile2.png);*/ background: #000; /*url(images/camotile2.png);*/
-moz-border-radius: 4px; -moz-border-radius: 4px;
@ -239,7 +238,7 @@ hr {
padding: 4px 0 0 2px; padding: 4px 0 0 2px;
float: left; float: left;
margin: 0; margin: 0;
font-size: 9pt !important; font-size: 8pt !important;
font-weight: bold; font-weight: bold;
} }
@ -269,29 +268,32 @@ hr {
a:link{ a:link{
color: #494; color: #494;
text-decoration: none; text-decoration: none;
background: #000;
} }
a:visited{ a:visited{
color: #7b7; color: #7b7;
text-decoration: none; text-decoration: none;
background: #000;
} }
a:hover{ a:hover{
color: #ff6600; color: #ff6600;
text-decoration: underline; text-decoration: underline;
background: #000;
} }
a:active{ a:active{
color: #900; color: #900;
text-decoration: underline; text-decoration: underline;
background: #000;
} }
input { input {
background-color: #020; background-color: #020;
color: #eef; color: #EEEE99;
margin: 0 2px 0 2px; margin: 0 2px 0 2px;
font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold;
border: 1px solid #494; border: 1px solid #494;
/* /*
padding: 0px 2px 1px 2px; padding: 0px 2px 1px 2px;
@ -301,7 +303,7 @@ input {
input hover { input hover {
background-color: #f00; background-color: #f00;
color: #eef; color: #EEEE99;
margin: 0 2px 0 2px; margin: 0 2px 0 2px;
font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold; font-weight: bold;
@ -312,12 +314,14 @@ input hover {
select { select {
background-color: #020; background-color: #020;
color: #eef; color: #EEEE99;
margin: 6px 2px 0 2px; margin: 6px 2px 0 2px;
font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif; font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
border: 1px solid #494; border: 1px solid #494;
padding: 2px 2px 2px 4px; padding: 2px 2px 2px 4px;
max-height: 24px; max-height: 24px;
background: #000;
border-radius: 4px;
} }
form {} form {}

View File

@ -129,7 +129,7 @@
width: 750px; width: 750px;
} }
#tunnelListPage .descriptionField .text, #tunnelListPage .destinationField .text { #tunnelListPage .descriptionField .text, #tunnelListPage .destinationField input {
width: 590px; width: 590px;
} }

View File

@ -14,6 +14,12 @@ body {
display: none; display: none;
} }
div.clearer {
clear: left;
height: 0;
line-height: 0;
}
img { img {
border: none; border: none;
} }
@ -594,6 +600,7 @@ td {
/* begin home page */ /* begin home page */
/*
#appsummary { #appsummary {
clear: none; clear: none;
float: none; float: none;
@ -618,16 +625,16 @@ h2.app {
border-radius: 8px; border-radius: 8px;
margin: 1px 10px 15px 0 !important; margin: 1px 10px 15px 0 !important;
} }
*/
h4.app { h4.app, h4.app2 {
margin: 0 10px 2px 10px; margin: 0 10px 2px 10px;
padding: 10px 0 8px 0; padding: 10px 0 8px 0;
} }
h4.app2 { h4.app2 {
clear: left; clear: left;
margin: 0 4px 2px 0; margin-top: 5px !important;
padding: 16px 0 8px 0;
} }
div.ag2 { div.ag2 {
@ -639,6 +646,7 @@ div.app {
padding: 2px; padding: 2px;
height: 84px; height: 84px;
width: 112px; width: 112px;
text-align: center !important;
} }
div.appgroup { div.appgroup {

View File

@ -16,6 +16,12 @@ body {
display: none; display: none;
} }
div.clearer {
clear: left;
height: 0;
line-height: 0;
}
img { img {
border: none; border: none;
} }
@ -630,6 +636,7 @@ th {
/* begin home page */ /* begin home page */
/*
#appsummary { #appsummary {
clear: none; clear: none;
float: none; float: none;
@ -655,16 +662,16 @@ h2.app {
border-radius: 8px; border-radius: 8px;
margin: 1px 10px 15px 0 !important; margin: 1px 10px 15px 0 !important;
} }
*/
h4.app { h4.app, h4.app2 {
margin: 0 10px 2px 10px; margin: 0 10px 2px 10px;
padding: 10px 0 8px 0; padding: 10px 0 8px 0;
} }
h4.app2 { h4.app2 {
clear: left; clear: left;
margin: 0 4px 2px 0; margin-top: 5px !important;
padding: 16px 0 8px 0;
} }
div.ag2 { div.ag2 {
@ -674,13 +681,14 @@ div.ag2 {
div.app { div.app {
float: left; float: left;
padding: 2px; padding: 2px;
height: 84px; /*height: 84px;*/
width: 112px; width: 112px;
text-align: center !important;
} }
div.appgroup { div.appgroup {
margin: 0; margin: 0;
padding: 16px 8px; padding: 0 8px;
width: auto; width: auto;
} }

View File

@ -486,6 +486,23 @@ public class JobQueue {
// Hopefully nobody does that, and as a backup, we hope // Hopefully nobody does that, and as a backup, we hope
// that the TreeSet will eventually resort it from other addJob() calls. // that the TreeSet will eventually resort it from other addJob() calls.
timeToWait = timeLeft; timeToWait = timeLeft;
// failsafe - remove and re-add, peek at the next job,
// break and go around again
if (timeToWait > 10*1000 && iter.hasNext()) {
if (_log.shouldLog(Log.WARN))
_log.warn("Failsafe re-sort job " + j +
" with delay " + DataHelper.formatDuration(timeToWait));
iter.remove();
Job nextJob = iter.next();
_timedJobs.add(j);
long nextTimeLeft = nextJob.getTiming().getStartAfter() - now;
if (timeToWait > nextTimeLeft) {
_log.error("Job " + j + " out of order with job " + nextJob +
" difference of " + DataHelper.formatDuration(timeToWait - nextTimeLeft));
timeToWait = Math.max(10, nextTimeLeft);
}
}
break; break;
} }
} }

View File

@ -4,6 +4,8 @@ import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
import net.i2p.data.DataHelper; import net.i2p.data.DataHelper;
import net.i2p.router.time.RouterTimestamper;
import net.i2p.time.Timestamper;
import net.i2p.util.Clock; import net.i2p.util.Clock;
import net.i2p.util.Log; import net.i2p.util.Log;
@ -38,6 +40,7 @@ public class RouterClock extends Clock {
/** use system time for this */ /** use system time for this */
private long _lastChanged; private long _lastChanged;
private int _lastStratum; private int _lastStratum;
private final Timestamper _timeStamper;
/** /**
* If the system clock shifts by this much, * If the system clock shifts by this much,
@ -56,8 +59,15 @@ public class RouterClock extends Clock {
_lastSlewed = System.currentTimeMillis(); _lastSlewed = System.currentTimeMillis();
_shiftListeners = new CopyOnWriteArraySet(); _shiftListeners = new CopyOnWriteArraySet();
_lastShiftNanos = System.nanoTime(); _lastShiftNanos = System.nanoTime();
_timeStamper = new RouterTimestamper(context, this);
} }
/**
* The RouterTimestamper
*/
@Override
public Timestamper getTimestamper() { return _timeStamper; }
/** /**
* Specify how far away from the "correct" time the computer is - a positive * Specify how far away from the "correct" time the computer is - a positive
* value means that the system time is slow, while a negative value means the system time is fast. * value means that the system time is slow, while a negative value means the system time is fast.

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */ /** deprecated */
public final static String ID = "Monotone"; public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION; public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 5; public final static long BUILD = 9;
/** for example "-test" */ /** for example "-test" */
public final static String EXTRA = ""; public final static String EXTRA = "";

View File

@ -156,7 +156,7 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
return _lookupThrottler.shouldThrottle(from, id); return _lookupThrottler.shouldThrottle(from, id);
} }
private static final int MAX_TO_FLOOD = 7; private static final int MAX_TO_FLOOD = 5;
/** /**
* Send to a subset of all floodfill peers. * Send to a subset of all floodfill peers.

View File

@ -63,7 +63,7 @@ public class Reseeder {
"http://netdb.i2p2.de/" + "," + "http://netdb.i2p2.de/" + "," +
"http://reseed.i2p-projekt.de/" + "," + "http://reseed.i2p-projekt.de/" + "," +
"http://forum.i2p2.de/netdb/" + "," + "http://forum.i2p2.de/netdb/" + "," +
"http://www.i2pbote.net/netDb/" + "," + "http://euve5653.vserver.de/netDb/" + "," +
// "http://r31453.ovh.net/static_media/files/netDb/" + "," + // "http://r31453.ovh.net/static_media/files/netDb/" + "," +
"http://cowpuncher.drollette.com/netdb/" + "," + "http://cowpuncher.drollette.com/netdb/" + "," +
"http://75.145.125.59/netDb/" + "," + "http://75.145.125.59/netDb/" + "," +
@ -73,7 +73,7 @@ public class Reseeder {
public static final String DEFAULT_SSL_SEED_URL = public static final String DEFAULT_SSL_SEED_URL =
"https://netdb.i2p2.de/" + "," + "https://netdb.i2p2.de/" + "," +
"https://forum.i2p2.de/netdb/" + "," + "https://forum.i2p2.de/netdb/" + "," +
"https://www.i2pbote.net/netDb/" + "," + "https://euve5653.vserver.de/netDb/" + "," +
"https://reseed.i2p-projekt.de/" + "," + "https://reseed.i2p-projekt.de/" + "," +
// "https://r31453.ovh.net/static_media/files/netDb/" + "," + // "https://r31453.ovh.net/static_media/files/netDb/" + "," +
"https://cowpuncher.drollette.com/netdb/" + "," + "https://cowpuncher.drollette.com/netdb/" + "," +

View File

@ -1,4 +1,4 @@
package net.i2p.time; package net.i2p.router.time;
/* /*
* Copyright (c) 2004, Adam Buckley * Copyright (c) 2004, Adam Buckley
* All rights reserved. * All rights reserved.
@ -49,8 +49,9 @@ import java.util.Collections;
* *
* @author Adam Buckley * @author Adam Buckley
* (minor refactoring by jrandom) * (minor refactoring by jrandom)
* @since 0.9.1 moved from net.i2p.time
*/ */
public class NtpClient { class NtpClient {
/** difference between the unix epoch and jan 1 1900 (NTP uses that) */ /** difference between the unix epoch and jan 1 1900 (NTP uses that) */
private final static double SECONDS_1900_TO_EPOCH = 2208988800.0; private final static double SECONDS_1900_TO_EPOCH = 2208988800.0;
private final static int NTP_PORT = 123; private final static int NTP_PORT = 123;

View File

@ -1,4 +1,4 @@
package net.i2p.time; package net.i2p.router.time;
/* /*
* Copyright (c) 2004, Adam Buckley * Copyright (c) 2004, Adam Buckley
* All rights reserved. * All rights reserved.
@ -72,8 +72,9 @@ import net.i2p.util.RandomSource;
* NTPMessage.java which is copyright (c) 2003 by Juliusz Chroboczek * NTPMessage.java which is copyright (c) 2003 by Juliusz Chroboczek
* *
* @author Adam Buckley * @author Adam Buckley
* @since 0.9.1 moved from net.i2p.time
*/ */
public class NtpMessage { class NtpMessage {
/** /**
* This is a two-bit code warning of an impending leap second to be * This is a two-bit code warning of an impending leap second to be
* inserted/deleted in the last minute of the current day. It's values * inserted/deleted in the last minute of the current day. It's values

View File

@ -0,0 +1,340 @@
package net.i2p.router.time;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.StringTokenizer;
import java.util.concurrent.CopyOnWriteArrayList;
import net.i2p.I2PAppContext;
import net.i2p.time.Timestamper;
import net.i2p.util.I2PThread;
import net.i2p.util.Log;
/**
* Periodically query a series of NTP servers and update any associated
* listeners. It tries the NTP servers in order, contacting them using
* SNTP (UDP port 123).
*
* @since 0.9.1 moved from net.i2p.time
*/
public class RouterTimestamper extends Timestamper {
private final I2PAppContext _context;
private Log _log;
private final List<String> _servers;
private List<String> _priorityServers;
private final List<UpdateListener> _listeners;
private int _queryFrequency;
private int _concurringServers;
private int _consecutiveFails;
private volatile boolean _disabled;
private final boolean _daemon;
private boolean _initialized;
private boolean _wellSynced;
private volatile boolean _isRunning;
private Thread _timestamperThread;
private static final int MIN_QUERY_FREQUENCY = 5*60*1000;
private static final int DEFAULT_QUERY_FREQUENCY = 11*60*1000;
private static final String DEFAULT_SERVER_LIST = "0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org";
private static final String DEFAULT_DISABLED = "true";
/** how many times do we have to query if we are changing the clock? */
private static final int DEFAULT_CONCURRING_SERVERS = 3;
private static final int MAX_CONSECUTIVE_FAILS = 10;
public static final String PROP_QUERY_FREQUENCY = "time.queryFrequencyMs";
public static final String PROP_SERVER_LIST = "time.sntpServerList";
public static final String PROP_DISABLED = "time.disabled";
public static final String PROP_CONCURRING_SERVERS = "time.concurringServers";
public static final String PROP_IP_COUNTRY = "i2np.lastCountry";
/** if different SNTP servers differ by more than 10s, someone is b0rked */
private static final int MAX_VARIANCE = 10*1000;
public RouterTimestamper(I2PAppContext ctx) {
this(ctx, null, true);
}
public RouterTimestamper(I2PAppContext ctx, UpdateListener lsnr) {
this(ctx, lsnr, true);
}
public RouterTimestamper(I2PAppContext ctx, UpdateListener lsnr, boolean daemon) {
super();
// moved here to prevent problems with synchronized statements.
_servers = new ArrayList(3);
_listeners = new CopyOnWriteArrayList();
_context = ctx;
_daemon = daemon;
// DO NOT initialize _log here, stack overflow via LogManager init loop
// Don't bother starting a thread if we are disabled.
// This means we no longer check every 5 minutes to see if we got enabled,
// so the property must be set at startup.
// We still need to be instantiated since the router calls clock().getTimestamper().waitForInitialization()
String disabled = ctx.getProperty(PROP_DISABLED, DEFAULT_DISABLED);
if (Boolean.valueOf(disabled).booleanValue()) {
_initialized = true;
return;
}
if (lsnr != null)
_listeners.add(lsnr);
updateConfig();
startTimestamper();
}
public int getServerCount() {
synchronized (_servers) {
return _servers.size();
}
}
public String getServer(int index) {
synchronized (_servers) {
return _servers.get(index);
}
}
public int getQueryFrequencyMs() { return _queryFrequency; }
public boolean getIsDisabled() { return _disabled; }
public void addListener(UpdateListener lsnr) {
_listeners.add(lsnr);
}
public void removeListener(UpdateListener lsnr) {
_listeners.remove(lsnr);
}
public int getListenerCount() {
return _listeners.size();
}
public UpdateListener getListener(int index) {
return _listeners.get(index);
}
private void startTimestamper() {
_timestamperThread = new I2PThread(this, "Timestamper", _daemon);
_timestamperThread.setPriority(I2PThread.MIN_PRIORITY);
_isRunning = true;
_timestamperThread.start();
_context.addShutdownTask(new Shutdown());
}
@Override
public void waitForInitialization() {
try {
synchronized (this) {
if (!_initialized)
wait();
}
} catch (InterruptedException ie) {}
}
/**
* Update the time immediately.
* @since 0.8.8
*/
@Override
public void timestampNow() {
if (_initialized && _isRunning && (!_disabled) && _timestamperThread != null)
_timestamperThread.interrupt();
}
/** @since 0.8.8 */
private class Shutdown implements Runnable {
public void run() {
_isRunning = false;
if (_timestamperThread != null)
_timestamperThread.interrupt();
}
}
@Override
public void run() {
try { Thread.sleep(1000); } catch (InterruptedException ie) {}
_log = _context.logManager().getLog(Timestamper.class);
if (_log.shouldLog(Log.INFO))
_log.info("Starting timestamper");
boolean lastFailed = false;
try {
while (_isRunning) {
updateConfig();
if (!_disabled) {
// first the servers for our country, if we know what country we're in...
if (_priorityServers != null) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Querying servers " + _priorityServers);
try {
lastFailed = !queryTime(_priorityServers.toArray(new String[_priorityServers.size()]));
} catch (IllegalArgumentException iae) {
if ( (!lastFailed) && (_log.shouldLog(Log.WARN)) )
_log.warn("Unable to reach country-specific NTP servers");
lastFailed = true;
}
}
// ... and then the global list, if that failed
if (_priorityServers == null || lastFailed) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Querying servers " + _servers);
try {
lastFailed = !queryTime(_servers.toArray(new String[_servers.size()]));
} catch (IllegalArgumentException iae) {
if ( (!_initialized) && (_log.shouldLog(Log.ERROR)) ) {
List<String> all = new ArrayList();
if (_priorityServers != null)
all.addAll(_priorityServers);
all.addAll(_servers);
_log.error("Unable to reach any of the NTP servers " + all + " - network disconnected? Or set time.sntpServerList=myserver1.com,myserver2.com in advanced configuration.");
}
lastFailed = true;
}
}
}
_initialized = true;
synchronized (this) { notifyAll(); }
long sleepTime;
if (lastFailed) {
if (++_consecutiveFails >= MAX_CONSECUTIVE_FAILS)
sleepTime = 30*60*1000;
else
sleepTime = 30*1000;
} else {
_consecutiveFails = 0;
sleepTime = _context.random().nextInt(_queryFrequency / 2) + _queryFrequency;
if (_wellSynced)
sleepTime *= 3;
}
try { Thread.sleep(sleepTime); } catch (InterruptedException ie) {}
}
} catch (Throwable t) {
_log.log(Log.CRIT, "Timestamper died!", t);
synchronized (this) { notifyAll(); }
}
}
/**
* True if the time was queried successfully, false if it couldn't be
*/
private boolean queryTime(String serverList[]) throws IllegalArgumentException {
long found[] = new long[_concurringServers];
long now = -1;
int stratum = -1;
long expectedDelta = 0;
_wellSynced = false;
for (int i = 0; i < _concurringServers; i++) {
if (i > 0) {
// this delays startup when net is disconnected or the timeserver list is bad, don't make it too long
try { Thread.sleep(2*1000); } catch (InterruptedException ie) {}
}
long[] timeAndStratum = NtpClient.currentTimeAndStratum(serverList);
now = timeAndStratum[0];
stratum = (int) timeAndStratum[1];
long delta = now - _context.clock().now();
found[i] = delta;
if (i == 0) {
if (Math.abs(delta) < MAX_VARIANCE) {
if (_log.shouldLog(Log.INFO))
_log.info("a single SNTP query was within the tolerance (" + delta + "ms)");
// If less than a half second on the first try, we're in good shape
_wellSynced = Math.abs(delta) < 500;
break;
} else {
// outside the tolerance, lets iterate across the concurring queries
expectedDelta = delta;
}
} else {
if (Math.abs(delta - expectedDelta) > MAX_VARIANCE) {
if (_log.shouldLog(Log.ERROR)) {
StringBuilder err = new StringBuilder(96);
err.append("SNTP client variance exceeded at query ").append(i);
err.append(". expected = ");
err.append(expectedDelta);
err.append(", found = ");
err.append(delta);
err.append(" all deltas: ");
for (int j = 0; j < found.length; j++)
err.append(found[j]).append(' ');
_log.error(err.toString());
}
return false;
}
}
}
stampTime(now, stratum);
if (_log.shouldLog(Log.DEBUG)) {
StringBuilder buf = new StringBuilder(64);
buf.append("Deltas: ");
for (int i = 0; i < found.length; i++)
buf.append(found[i]).append(' ');
_log.debug(buf.toString());
}
return true;
}
/**
* Notify the listeners
*
* @since stratum param added in 0.7.12
*/
private void stampTime(long now, int stratum) {
long before = _context.clock().now();
for (UpdateListener lsnr : _listeners) {
lsnr.setNow(now, stratum);
}
if (_log.shouldLog(Log.DEBUG))
_log.debug("Stamped the time as " + now + " (delta=" + (now-before) + ")");
}
/**
* Reload all the config elements from the appContext
*
*/
private void updateConfig() {
String serverList = _context.getProperty(PROP_SERVER_LIST);
if ( (serverList == null) || (serverList.trim().length() <= 0) ) {
serverList = DEFAULT_SERVER_LIST;
String country = _context.getProperty(PROP_IP_COUNTRY);
if (country == null) {
country = Locale.getDefault().getCountry();
if (country != null)
country = country.toLowerCase(Locale.US);
}
if (country != null && country.length() > 0) {
_priorityServers = new ArrayList(3);
for (int i = 0; i < 3; i++)
_priorityServers.add(i + "." + country + ".pool.ntp.org");
} else {
_priorityServers = null;
}
} else {
_priorityServers = null;
}
_servers.clear();
StringTokenizer tok = new StringTokenizer(serverList, ", ");
while (tok.hasMoreTokens()) {
String val = tok.nextToken();
val = val.trim();
if (val.length() > 0)
_servers.add(val);
}
_queryFrequency = Math.max(MIN_QUERY_FREQUENCY,
_context.getProperty(PROP_QUERY_FREQUENCY, DEFAULT_QUERY_FREQUENCY));
String disabled = _context.getProperty(PROP_DISABLED, DEFAULT_DISABLED);
_disabled = Boolean.valueOf(disabled).booleanValue();
_concurringServers = Math.min(4, Math.max(1,
_context.getProperty(PROP_CONCURRING_SERVERS, DEFAULT_CONCURRING_SERVERS)));
}
/****
public static void main(String args[]) {
System.setProperty(PROP_DISABLED, "false");
System.setProperty(PROP_QUERY_FREQUENCY, "30000");
I2PAppContext.getGlobalContext();
for (int i = 0; i < 5*60*1000; i += 61*1000) {
try { Thread.sleep(61*1000); } catch (InterruptedException ie) {}
}
}
****/
}

View File

@ -0,0 +1,7 @@
<html>
<body>
<p>
Provides classes for time synchronization using NTP.
</p>
</body>
</html>