forked from I2P_Developers/i2p.i2p
propagate from branch 'i2p.i2p.zzz.jetty8' (head 0a03ce60906c508b08cc84b3044954844a6ee157)
to branch 'i2p.i2p' (head d99392e09883a92b99a316b4deed0586dcf4ea5b)
This commit is contained in:
21
.tx/config
21
.tx/config
@@ -78,6 +78,7 @@ trans.ar = apps/routerconsole/locale-news/messages_ar.po
|
||||
trans.de = apps/routerconsole/locale-news/messages_de.po
|
||||
trans.es = apps/routerconsole/locale-news/messages_es.po
|
||||
trans.fr = apps/routerconsole/locale-news/messages_fr.po
|
||||
trans.he = apps/routerconsole/locale-news/messages_he.po
|
||||
trans.ja = apps/routerconsole/locale-news/messages_ja.po
|
||||
trans.it = apps/routerconsole/locale-news/messages_it.po
|
||||
trans.nl = apps/routerconsole/locale-news/messages_nl.po
|
||||
@@ -214,6 +215,8 @@ trans.es = debian/po/es.po
|
||||
trans.fr = debian/po/fr.po
|
||||
trans.it = debian/po/it.po
|
||||
trans.hu = debian/po/hu.po
|
||||
trans.ja = debian/po/ja.po
|
||||
trans.ko = debian/po/ko.po
|
||||
trans.pl = debian/po/pl.po
|
||||
trans.pt = debian/po/pt.po
|
||||
trans.ro = debian/po/ro.po
|
||||
@@ -230,6 +233,7 @@ trans.de = installer/resources/locale/po/messages_de.po
|
||||
trans.es = installer/resources/locale/po/messages_es.po
|
||||
trans.fr = installer/resources/locale/po/messages_fr.po
|
||||
trans.it = installer/resources/locale/po/messages_it.po
|
||||
trans.pl = installer/resources/locale/po/messages_pl.po
|
||||
trans.pt = installer/resources/locale/po/messages_pt.po
|
||||
trans.pt_BR = installer/resources/locale/po/messages_pt_BR.po
|
||||
trans.ro = installer/resources/locale/po/messages_ro.po
|
||||
@@ -238,6 +242,23 @@ trans.ru_RU = installer/resources/locale/po/messages_ru.po
|
||||
trans.tr_TR = installer/resources/locale/po/messages_tr.po
|
||||
trans.zh_CN = installer/resources/locale/po/messages_zh.po
|
||||
|
||||
[I2P.getopt]
|
||||
source_file = core/java/src/gnu/getopt/MessagesBundle.properties
|
||||
source_lang = en
|
||||
type = PROPERTIES
|
||||
trans.cs = core/java/src/gnu/getopt/MessagesBundle_cs.properties
|
||||
trans.de = core/java/src/gnu/getopt/MessagesBundle_de.properties
|
||||
trans.es = core/java/src/gnu/getopt/MessagesBundle_es.properties
|
||||
trans.fr = core/java/src/gnu/getopt/MessagesBundle_fr.properties
|
||||
trans.hu = core/java/src/gnu/getopt/MessagesBundle_hu.properties
|
||||
trans.it = core/java/src/gnu/getopt/MessagesBundle_it.properties
|
||||
trans.ja = core/java/src/gnu/getopt/MessagesBundle_ja.properties
|
||||
trans.nl = core/java/src/gnu/getopt/MessagesBundle_nl.properties
|
||||
trans.nb = core/java/src/gnu/getopt/MessagesBundle_nb.properties
|
||||
trans.pl = core/java/src/gnu/getopt/MessagesBundle_pl.properties
|
||||
trans.ro = core/java/src/gnu/getopt/MessagesBundle_ro.properties
|
||||
trans.zh_CN = core/java/src/gnu/getopt/MessagesBundle_zh.properties
|
||||
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ you may use:
|
||||
to configure the router.
|
||||
|
||||
If you're having trouble, swing by http://forum.i2p/, check the
|
||||
website at http://www.i2p2.de/, or get on irc://irc.freenode.net/#i2p
|
||||
website at https://geti2p.net/, or get on irc://irc.freenode.net/#i2p
|
||||
|
||||
I2P will create and store files and configuration data in the user directory
|
||||
~/.i2p/ on Linux and %APPDATA%\I2P\ on Windows. This directory is created
|
||||
|
||||
@@ -36,7 +36,7 @@ Public domain except as listed below:
|
||||
Copyright (c) 2003, TheCrypto
|
||||
See licenses/LICENSE-ElGamalDSA.txt
|
||||
|
||||
SHA256 and HMAC-SHA256:
|
||||
SHA256 and HMAC:
|
||||
Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle
|
||||
See licenses/LICENSE-SHA256.txt
|
||||
|
||||
@@ -76,6 +76,11 @@ Public domain except as listed below:
|
||||
Copyright 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
|
||||
See licenses/LICENSE-Apache2.0.txt
|
||||
|
||||
Getopt:
|
||||
Copyright (c) 1998 by Aaron M. Renn (arenn@urbanophile.com)
|
||||
See licenses/LICENSE-LGPLv2.1.txt
|
||||
|
||||
|
||||
Router (router.jar):
|
||||
Public domain except as listed below:
|
||||
UPnP.java:
|
||||
|
||||
10
README.txt
10
README.txt
@@ -15,20 +15,20 @@ To build:
|
||||
ant installer-osx
|
||||
|
||||
Run 'ant' with no arguments to see other build options.
|
||||
See INSTALL.txt or http://www.i2p2.de/download.html for installation instructions.
|
||||
See INSTALL.txt or https://geti2p.net/download for installation instructions.
|
||||
|
||||
Documentation:
|
||||
http://www.i2p2.de/how
|
||||
https://geti2p.net/how
|
||||
API: run 'ant javadoc' then start at build/javadoc/index.html
|
||||
|
||||
Latest release:
|
||||
http://www.i2p2.de/download
|
||||
https://geti2p.net/download
|
||||
|
||||
To get development branch from source control:
|
||||
http://www.i2p2.de/newdevelopers
|
||||
https://geti2p.net/newdevelopers
|
||||
|
||||
FAQ:
|
||||
http://www.i2p2.de/faq
|
||||
https://geti2p.net/faq
|
||||
|
||||
Need help?
|
||||
IRC irc.freenode.net #i2p
|
||||
|
||||
@@ -91,7 +91,7 @@ class ConfigParser {
|
||||
String inputLine;
|
||||
inputLine = input.readLine();
|
||||
while (inputLine != null) {
|
||||
inputLine = ConfigParser.stripComments(inputLine);
|
||||
inputLine = stripComments(inputLine);
|
||||
String[] splitLine = inputLine.split("=");
|
||||
if (splitLine.length == 2) {
|
||||
result.put(splitLine[0].trim().toLowerCase(Locale.US), splitLine[1].trim());
|
||||
@@ -116,7 +116,7 @@ class ConfigParser {
|
||||
FileInputStream fileStream = new FileInputStream(file);
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(
|
||||
fileStream));
|
||||
Map<String, String> rv = ConfigParser.parse(input);
|
||||
Map<String, String> rv = parse(input);
|
||||
try {
|
||||
fileStream.close();
|
||||
} catch (IOException ioe) {}
|
||||
@@ -136,7 +136,7 @@ class ConfigParser {
|
||||
public static Map<String, String> parse(String string) throws IOException {
|
||||
StringReader stringReader = new StringReader(string);
|
||||
BufferedReader input = new BufferedReader(stringReader);
|
||||
return ConfigParser.parse(input);
|
||||
return parse(input);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -153,7 +153,7 @@ class ConfigParser {
|
||||
public static Map<String, String> parse(File file, Map<String, String> map) {
|
||||
Map<String, String> result;
|
||||
try {
|
||||
result = ConfigParser.parse(file);
|
||||
result = parse(file);
|
||||
for (Map.Entry<String, String> entry : map.entrySet()) {
|
||||
if (!result.containsKey(entry.getKey()))
|
||||
result.put(entry.getKey(), entry.getValue());
|
||||
@@ -161,7 +161,7 @@ class ConfigParser {
|
||||
} catch (IOException exp) {
|
||||
result = map;
|
||||
try {
|
||||
ConfigParser.write(result, file);
|
||||
write(result, file);
|
||||
} catch (IOException exp2) {
|
||||
}
|
||||
}
|
||||
@@ -182,7 +182,7 @@ class ConfigParser {
|
||||
List<String> result = new LinkedList<String>();
|
||||
String inputLine = input.readLine();
|
||||
while (inputLine != null) {
|
||||
inputLine = ConfigParser.stripComments(inputLine).trim();
|
||||
inputLine = stripComments(inputLine).trim();
|
||||
if (inputLine.length() > 0) {
|
||||
result.add(inputLine);
|
||||
}
|
||||
@@ -205,7 +205,7 @@ class ConfigParser {
|
||||
FileInputStream fileStream = new FileInputStream(file);
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(
|
||||
fileStream));
|
||||
List<String> rv = ConfigParser.parseSubscriptions(input);
|
||||
List<String> rv = parseSubscriptions(input);
|
||||
try {
|
||||
fileStream.close();
|
||||
} catch (IOException ioe) {}
|
||||
@@ -224,7 +224,7 @@ class ConfigParser {
|
||||
public static List<String> parseSubscriptions(String string) throws IOException {
|
||||
StringReader stringReader = new StringReader(string);
|
||||
BufferedReader input = new BufferedReader(stringReader);
|
||||
return ConfigParser.parseSubscriptions(input);
|
||||
return parseSubscriptions(input);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -234,18 +234,30 @@ class ConfigParser {
|
||||
*
|
||||
* @param file
|
||||
* A File to attempt to parse.
|
||||
* @param list list of files to parse
|
||||
* @param list The default subscriptions to be saved and returned if the file cannot be read
|
||||
* @return A List consisting of one element for each line in file, or if
|
||||
* file cannot be read, list.
|
||||
*/
|
||||
public static List<String> parseSubscriptions(File file, List<String> list) {
|
||||
List<String> result;
|
||||
try {
|
||||
result = ConfigParser.parseSubscriptions(file);
|
||||
result = parseSubscriptions(file);
|
||||
// Fix up files that contain the old default
|
||||
// which was changed in 0.9.11
|
||||
if (result.remove(Daemon.OLD_DEFAULT_SUB)) {
|
||||
for (String sub : list) {
|
||||
if (!result.contains(sub))
|
||||
result.add(sub);
|
||||
}
|
||||
try {
|
||||
writeSubscriptions(result, file);
|
||||
// TODO log
|
||||
} catch (IOException ioe) {}
|
||||
}
|
||||
} catch (IOException exp) {
|
||||
result = list;
|
||||
try {
|
||||
ConfigParser.writeSubscriptions(result, file);
|
||||
writeSubscriptions(result, file);
|
||||
} catch (IOException exp2) {
|
||||
}
|
||||
}
|
||||
@@ -289,8 +301,7 @@ class ConfigParser {
|
||||
boolean success = false;
|
||||
if (!isWindows) {
|
||||
File tmp = SecureFile.createTempFile("temp-", ".tmp", file.getAbsoluteFile().getParentFile());
|
||||
ConfigParser
|
||||
.write(map, new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(tmp), "UTF-8")));
|
||||
write(map, new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(tmp), "UTF-8")));
|
||||
success = tmp.renameTo(file);
|
||||
if (!success) {
|
||||
tmp.delete();
|
||||
@@ -299,8 +310,7 @@ class ConfigParser {
|
||||
}
|
||||
if (!success) {
|
||||
// hmm, that didn't work, try it the old way
|
||||
ConfigParser
|
||||
.write(map, new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(file), "UTF-8")));
|
||||
write(map, new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(file), "UTF-8")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +347,7 @@ class ConfigParser {
|
||||
*/
|
||||
public static void writeSubscriptions(List<String> list, File file)
|
||||
throws IOException {
|
||||
ConfigParser.writeSubscriptions(list, new BufferedWriter(
|
||||
writeSubscriptions(list, new BufferedWriter(
|
||||
new OutputStreamWriter(new SecureFileOutputStream(file), "UTF-8")));
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,9 @@ public class Daemon {
|
||||
private static final Daemon _instance = new Daemon();
|
||||
private volatile boolean _running;
|
||||
private static final boolean DEBUG = false;
|
||||
private static final String DEFAULT_SUB = "http://i2p-projekt.i2p/hosts.txt";
|
||||
/** @since 0.9.12 */
|
||||
static final String OLD_DEFAULT_SUB = "http://www.i2p2.i2p/hosts.txt";
|
||||
|
||||
/**
|
||||
* Update the router and published address books using remote data from the
|
||||
@@ -253,7 +256,7 @@ public class Daemon {
|
||||
|
||||
List<String> defaultSubs = new LinkedList<String>();
|
||||
// defaultSubs.add("http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/i2p/hosts.txt");
|
||||
defaultSubs.add("http://www.i2p2.i2p/hosts.txt");
|
||||
defaultSubs.add(DEFAULT_SUB);
|
||||
|
||||
SubscriptionList subscriptions = new SubscriptionList(subscriptionFile,
|
||||
etagsFile, lastModifiedFile, lastFetchedFile, delay, defaultSubs, settings
|
||||
|
||||
@@ -52,6 +52,7 @@ class PeerID implements Comparable<PeerID>
|
||||
private boolean triedDestLookup;
|
||||
private final int hash;
|
||||
private final I2PSnarkUtil util;
|
||||
private String _toStringCache;
|
||||
|
||||
public PeerID(byte[] id, Destination address)
|
||||
{
|
||||
@@ -216,13 +217,15 @@ class PeerID implements Comparable<PeerID>
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the String "id@address" where id is the base64 encoded id
|
||||
* and address is the base64 dest (was the base64 hash of the dest) which
|
||||
* Returns the String "id@address" where id is the first 4 chars of the base64 encoded id
|
||||
* and address is the first 6 chars of the base64 dest (was the base64 hash of the dest) which
|
||||
* should match what the bytemonsoon tracker reports on its web pages.
|
||||
*/
|
||||
@Override
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
if (_toStringCache != null)
|
||||
return _toStringCache;
|
||||
if (id == null || address == null)
|
||||
return "unkn@" + Base64.encode(destHash).substring(0, 6);
|
||||
int nonZero = 0;
|
||||
@@ -232,7 +235,8 @@ class PeerID implements Comparable<PeerID>
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Base64.encode(id, nonZero, id.length-nonZero).substring(0,4) + "@" + address.toBase64().substring(0,6);
|
||||
_toStringCache = Base64.encode(id, nonZero, id.length-nonZero).substring(0,4) + "@" + address.toBase64().substring(0,6);
|
||||
return _toStringCache;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.update.*;
|
||||
@@ -198,7 +199,9 @@ public class SnarkManager implements CompleteListener {
|
||||
public void timeReached() {
|
||||
if (!_running)
|
||||
return;
|
||||
_umgr = _context.updateManager();
|
||||
ClientAppManager cmgr = _context.clientAppManager();
|
||||
if (cmgr != null)
|
||||
_umgr = (UpdateManager) cmgr.getRegisteredApp(UpdateManager.APP_NAME);
|
||||
if (_umgr != null) {
|
||||
_uhandler = new UpdateHandler(_context, _umgr, SnarkManager.this);
|
||||
_umgr.register(_uhandler, UpdateType.ROUTER_SIGNED, UpdateMethod.TORRENT, 10);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the i2psnark package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Boxoa590, 2012-2013
|
||||
# ducki2p <ducki2p@gmail.com>, 2011
|
||||
@@ -11,20 +11,19 @@
|
||||
# Boxoa590, 2013
|
||||
# Boxoa590, 2012
|
||||
# jackjack <root@waka.site40.net>, 2011
|
||||
# Towatowa441, 2013
|
||||
# Towatowa441, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:14+0000\n"
|
||||
"PO-Revision-Date: 2013-11-22 10:17+0000\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-23 06:59+0000\n"
|
||||
"Last-Translator: Towatowa441\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/I2P/language/"
|
||||
"fr/)\n"
|
||||
"Language: fr\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/I2P/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: ../java/src/org/klomp/snark/IdleChecker.java:69
|
||||
@@ -101,9 +100,7 @@ msgstr "Répertoire des données changé pour {0}"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:647
|
||||
msgid "I2CP and tunnel changes will take effect after stopping all torrents"
|
||||
msgstr ""
|
||||
"Les modifications sur I2CP et les tunnels seront pris en compte après avoir "
|
||||
"arrêté tous les torrents"
|
||||
msgstr "Les modifications sur I2CP et les tunnels seront pris en compte après avoir arrêté tous les torrents"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:651
|
||||
#, java-format
|
||||
@@ -122,9 +119,7 @@ msgstr "Les paramètres I2CP ont été changés à {0}"
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:664
|
||||
msgid ""
|
||||
"Unable to connect with the new settings, reverting to the old I2CP settings"
|
||||
msgstr ""
|
||||
"Impossible de se connecter avec les nouveaux paramètres, retour à l'ancienne "
|
||||
"configuration I2CP"
|
||||
msgstr "Impossible de se connecter avec les nouveaux paramètres, retour à l'ancienne configuration I2CP"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:668
|
||||
msgid "Unable to reconnect with the old settings!"
|
||||
@@ -157,14 +152,11 @@ msgstr "Démarrage automatique désactivé"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:708
|
||||
msgid "Enabled open trackers - torrent restart required to take effect."
|
||||
msgstr ""
|
||||
"Open trackers activés - redémarrage des torrents requis pour prise en compte."
|
||||
msgstr "Open trackers activés - redémarrage des torrents requis pour prise en compte."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:710
|
||||
msgid "Disabled open trackers - torrent restart required to take effect."
|
||||
msgstr ""
|
||||
"Open trackers désactivés - redémarrage des torrents requis pour prise en "
|
||||
"compte."
|
||||
msgstr "Open trackers désactivés - redémarrage des torrents requis pour prise en compte."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:717
|
||||
msgid "Enabled DHT."
|
||||
@@ -181,9 +173,7 @@ msgstr "Le changement DHT nécessite la fermeture puis réouverture du tunnel"
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:728
|
||||
#, java-format
|
||||
msgid "{0} theme loaded, return to main i2psnark page to view."
|
||||
msgstr ""
|
||||
"Thème {0} chargé, revenez à la page d''accueil d''i2psnark pour voir comme "
|
||||
"il est beau !"
|
||||
msgstr "Thème {0} chargé, revenez à la page d''accueil d''i2psnark pour voir comme il est beau !"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:738
|
||||
msgid "Configuration unchanged."
|
||||
@@ -191,15 +181,11 @@ msgstr "Aucun changement de configuration."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:770
|
||||
msgid "Open Tracker list changed - torrent restart required to take effect."
|
||||
msgstr ""
|
||||
"Liste des Open trackers modifiée - redémarrage des torrents requis pour "
|
||||
"prise en compte"
|
||||
msgstr "Liste des Open trackers modifiée - redémarrage des torrents requis pour prise en compte"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:780
|
||||
msgid "Private tracker list changed - affects newly created torrents only."
|
||||
msgstr ""
|
||||
"Liste tracker privé modifiée - affecte seulement les torrents nouvellement "
|
||||
"créés."
|
||||
msgstr "Liste tracker privé modifiée - affecte seulement les torrents nouvellement créés."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:826
|
||||
#, java-format
|
||||
@@ -226,7 +212,8 @@ msgstr "Erreur : Impossible d’ajouter le torrent : {0}"
|
||||
msgid "Cannot open \"{0}\""
|
||||
msgstr "Impossible d’ouvrir: \"{0}\""
|
||||
|
||||
#. TODO - if the existing one is a magnet, delete it and add the metainfo instead?
|
||||
#. TODO - if the existing one is a magnet, delete it and add the metainfo
|
||||
#. instead?
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:957
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1058
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1140
|
||||
@@ -243,30 +230,24 @@ msgstr "ERREUR - Pas de trackers I2P dans le torrent privé \"{0}\""
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:965
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and "
|
||||
"DHT only."
|
||||
msgstr ""
|
||||
"Avertissement - Pas de trackers I2P dans \"{0}\", vais annoncer aux trackers "
|
||||
"I2P ouverts et DHT seulement."
|
||||
"Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and"
|
||||
" DHT only."
|
||||
msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", vais annoncer aux trackers I2P ouverts et DHT seulement."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:968
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Warning - No I2P trackers in \"{0}\", and open trackers are disabled, will "
|
||||
"announce to DHT only."
|
||||
msgstr ""
|
||||
"Avertissement - Pas de trackers I2P dans \"{0}\", et les trackers ouverts "
|
||||
"sont désactivés, vais annoncer à DHT seulement."
|
||||
msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", et les trackers ouverts sont désactivés, vais annoncer à DHT seulement."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:970
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Warning - No I2P trackers in \"{0}\", and DHT and open trackers are "
|
||||
"disabled, you should enable open trackers or DHT before starting the torrent."
|
||||
msgstr ""
|
||||
"Avertissement - Pas de trackers I2P dans \"{0}\", et DHT et les trackers "
|
||||
"ouverts sont désactivés, vous devriez activer les trackers ouverts ou DHT "
|
||||
"avant de démarrer le torrent."
|
||||
"disabled, you should enable open trackers or DHT before starting the "
|
||||
"torrent."
|
||||
msgstr "Avertissement - Pas de trackers I2P dans \"{0}\", et DHT et les trackers ouverts sont désactivés, vous devriez activer les trackers ouverts ou DHT avant de démarrer le torrent."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:992
|
||||
#, java-format
|
||||
@@ -277,8 +258,7 @@ msgstr "Le torrent dans \"{0}\" est invalide"
|
||||
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:186
|
||||
#, java-format
|
||||
msgid "ERROR - Out of memory, cannot create torrent from {0}"
|
||||
msgstr ""
|
||||
"ERREUR - Mémoire insuffisante, impossible de créer le torrent depuis {0}"
|
||||
msgstr "ERREUR - Mémoire insuffisante, impossible de créer le torrent depuis {0}"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1011
|
||||
#, java-format
|
||||
@@ -300,11 +280,9 @@ msgstr "Envoi {0}"
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Open trackers are disabled and we have no DHT peers. Fetch of {0} may not "
|
||||
"succeed until you start another torrent, enable open trackers, or enable DHT."
|
||||
msgstr ""
|
||||
"Les trackers ouverts sont désactivés et nous n''avons pas de pairs DHT. La "
|
||||
"recherche de {0} pourrait ne pas réussir jusqu''à ce que vous démarriez un "
|
||||
"autre torrent, activiez trackers ouverts, ou activeiz DHT."
|
||||
"succeed until you start another torrent, enable open trackers, or enable "
|
||||
"DHT."
|
||||
msgstr "Les trackers ouverts sont désactivés et nous n''avons pas de pairs DHT. La recherche de {0} pourrait ne pas réussir jusqu''à ce que vous démarriez un autre torrent, activiez trackers ouverts, ou activeiz DHT."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1079
|
||||
#, java-format
|
||||
@@ -331,9 +309,7 @@ msgstr "Trop de fichiers dans \"{0}\" ({1}), suppression! "
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1402
|
||||
#, java-format
|
||||
msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
|
||||
msgstr ""
|
||||
"Le fichier torrent \"{0}\" ne peut pas se terminer par \".torrent\", "
|
||||
"suppression!"
|
||||
msgstr "Le fichier torrent \"{0}\" ne peut pas se terminer par \".torrent\", suppression!"
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1404
|
||||
#, java-format
|
||||
@@ -363,9 +339,7 @@ msgstr "Le fichier torrent \"{0}\" n'a pas de données, suppression!"
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1419
|
||||
#, java-format
|
||||
msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
|
||||
msgstr ""
|
||||
"Les torrents dont la taille est supérieure à \"{0}\"octets ne sont pas "
|
||||
"encore supportés, suppression \"{1}\"."
|
||||
msgstr "Les torrents dont la taille est supérieure à \"{0}\"octets ne sont pas encore supportés, suppression \"{1}\"."
|
||||
|
||||
#: ../java/src/org/klomp/snark/SnarkManager.java:1435
|
||||
#, java-format
|
||||
@@ -670,8 +644,7 @@ msgstr "Dernière page"
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:744
|
||||
#, java-format
|
||||
msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
|
||||
msgstr ""
|
||||
"URL incorrecte - elle doit débuter par \"http://\", \"{0}\", ou \"{1}\""
|
||||
msgstr "URL incorrecte - elle doit débuter par \"http://\", \"{0}\", ou \"{1}\""
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:814
|
||||
@@ -714,9 +687,7 @@ msgstr "Répertoire effacé: {0}"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
|
||||
msgid "Error - Cannot include alternate trackers without a primary tracker"
|
||||
msgstr ""
|
||||
"Erreur - Ne peut pas inclure de trackers trackers alternatifs sans un "
|
||||
"tracker primaire"
|
||||
msgstr "Erreur - Ne peut pas inclure de trackers trackers alternatifs sans un tracker primaire"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:946
|
||||
msgid "Error - Cannot mix private and public trackers in a torrent"
|
||||
@@ -732,9 +703,7 @@ msgstr "Torrent créé pour \"{0}\""
|
||||
msgid ""
|
||||
"Many I2P trackers require you to register new torrents before seeding - "
|
||||
"please do so before starting \"{0}\""
|
||||
msgstr ""
|
||||
"De nombreux trackers I2P nécessitent d’enregistrer les nouveaux torrents "
|
||||
"avant de seeder - faites-le avant de démarrer \"{0}\"!"
|
||||
msgstr "De nombreux trackers I2P nécessitent d’enregistrer les nouveaux torrents avant de seeder - faites-le avant de démarrer \"{0}\"!"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970
|
||||
#, java-format
|
||||
@@ -748,8 +717,7 @@ msgstr "Impossible de créer un torrent pour des données inexistantes: {0}"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977
|
||||
msgid "Error creating torrent - you must enter a file or directory"
|
||||
msgstr ""
|
||||
"Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
|
||||
msgstr "Erreur de création du torrent - vous devez saisir un fichier ou un répertoire"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1008
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2018
|
||||
@@ -776,7 +744,8 @@ msgstr "Ajout tracker"
|
||||
msgid "Enter valid tracker name and URLs"
|
||||
msgstr "Entrez nom de tracker valide et URLs"
|
||||
|
||||
#. "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" +
|
||||
#. "<input type=\"reset\" class=\"cancel\"
|
||||
#. value=\"").append(_("Cancel")).append("\">\n" +
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1082
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2021
|
||||
msgid "Restore defaults"
|
||||
@@ -897,9 +866,7 @@ msgstr "Enlever le torrent de la liste active, suprression du fichier .torrent"
|
||||
msgid ""
|
||||
"Are you sure you want to delete the file \\''{0}\\'' (downloaded data will "
|
||||
"not be deleted) ?"
|
||||
msgstr ""
|
||||
"Êtes-vous sûr que vous voulez supprimer le fichier \\''{0}\\'' (les données "
|
||||
"téléchargées ne seront pas supprimées) ?"
|
||||
msgstr "Êtes-vous sûr que vous voulez supprimer le fichier \\''{0}\\'' (les données téléchargées ne seront pas supprimées) ?"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1438
|
||||
msgid "Remove"
|
||||
@@ -907,8 +874,7 @@ msgstr "Enlever"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1450
|
||||
msgid "Delete the .torrent file and the associated data file(s)"
|
||||
msgstr ""
|
||||
"Supprimer le fichier .torrent et le(s) fichier(s) de données associé(s)"
|
||||
msgstr "Supprimer le fichier .torrent et le(s) fichier(s) de données associé(s)"
|
||||
|
||||
#. Can't figure out how to escape double quotes inside the onclick string.
|
||||
#. Single quotes in translate strings with parameters must be doubled.
|
||||
@@ -918,9 +884,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
|
||||
"data?"
|
||||
msgstr ""
|
||||
"Êtes-vous certain de vouloir supprimer le torrent \\''{0}\\'' ainsi que "
|
||||
"toutes les données téléchargées ?"
|
||||
msgstr "Êtes-vous certain de vouloir supprimer le torrent \\''{0}\\'' ainsi que toutes les données téléchargées ?"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1458
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988
|
||||
@@ -970,11 +934,9 @@ msgstr "Depuis l'URL"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1680
|
||||
msgid ""
|
||||
"Enter the torrent file download URL (I2P only), magnet link, maggot link, or "
|
||||
"info hash"
|
||||
msgstr ""
|
||||
"Entrez l'URL de téléchargement du fichier torrent (I2P seulement), lien "
|
||||
"magnet, lien maggot, or l'info hash"
|
||||
"Enter the torrent file download URL (I2P only), magnet link, maggot link, or"
|
||||
" info hash"
|
||||
msgstr "Entrez l'URL de téléchargement du fichier torrent (I2P seulement), lien magnet, lien maggot, or l'info hash"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1685
|
||||
msgid "Add torrent"
|
||||
@@ -993,7 +955,8 @@ msgstr "La suppression d'un fichier .torrent entraîne l'arrêt du torrent."
|
||||
msgid "Create Torrent"
|
||||
msgstr "Créer torrent"
|
||||
|
||||
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
|
||||
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\"
|
||||
#. value=\"" + newFile + "\" /><br>\n");
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1716
|
||||
msgid "Data to seed"
|
||||
msgstr "Données à seeder"
|
||||
@@ -1038,8 +1001,7 @@ msgstr "Fichiers lisibles par tous"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1792
|
||||
msgid "If checked, other users may access the downloaded files"
|
||||
msgstr ""
|
||||
"SI coché, les autres utilisateurs pourront accéder aux fichiers téléchargés."
|
||||
msgstr "Si coché, les autres utilisateurs pourront accéder aux fichiers téléchargés."
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1796
|
||||
msgid "Auto start"
|
||||
@@ -1103,11 +1065,9 @@ msgstr "Utiliser les open trackers aussi"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1888
|
||||
msgid ""
|
||||
"If checked, announce torrents to open trackers as well as the tracker listed "
|
||||
"in the torrent file"
|
||||
msgstr ""
|
||||
"Si coché, les torrents seront annoncés vers les open trackers ainsi que vers "
|
||||
"les trackers indiqués dans le fichier torrent"
|
||||
"If checked, announce torrents to open trackers as well as the tracker listed"
|
||||
" in the torrent file"
|
||||
msgstr "Si coché, les torrents seront annoncés vers les open trackers ainsi que vers les trackers indiqués dans le fichier torrent"
|
||||
|
||||
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1892
|
||||
msgid "Enable DHT"
|
||||
|
||||
@@ -53,6 +53,9 @@ import java.util.StringTokenizer;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import gnu.getopt.Getopt;
|
||||
import gnu.getopt.LongOpt;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.I2PException;
|
||||
import net.i2p.client.I2PClient;
|
||||
@@ -107,18 +110,46 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
|
||||
private final Set<ConnectionEventListener> listeners = new CopyOnWriteArraySet<ConnectionEventListener>();
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
new I2PTunnel(args);
|
||||
private static final int NOGUI = 99999;
|
||||
private static final LongOpt[] longopts = new LongOpt[] {
|
||||
new LongOpt("cli", LongOpt.NO_ARGUMENT, null, 'c'),
|
||||
new LongOpt("die", LongOpt.NO_ARGUMENT, null, 'd'),
|
||||
new LongOpt("gui", LongOpt.NO_ARGUMENT, null, 'g'),
|
||||
new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
|
||||
new LongOpt("nocli", LongOpt.NO_ARGUMENT, null, 'w'),
|
||||
new LongOpt("nogui", LongOpt.NO_ARGUMENT, null, NOGUI),
|
||||
new LongOpt("wait", LongOpt.NO_ARGUMENT, null, 'w')
|
||||
};
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
new I2PTunnel(args);
|
||||
} catch (IllegalArgumentException iae) {
|
||||
System.err.println(iae.toString());
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard constructor for embedded, uses args "-nocli -die" to return immediately
|
||||
*/
|
||||
public I2PTunnel() {
|
||||
this(nocli_args);
|
||||
}
|
||||
|
||||
/**
|
||||
* See usage() for options
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
public I2PTunnel(String[] args) {
|
||||
this(args, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* See usage() for options
|
||||
* @param lsnr may be null
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
public I2PTunnel(String[] args, ConnectionEventListener lsnr) {
|
||||
super();
|
||||
_context = I2PAppContext.getGlobalContext(); // new I2PAppContext();
|
||||
@@ -134,37 +165,95 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
boolean checkRunByE = true;
|
||||
boolean cli = true;
|
||||
boolean dontDie = true;
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
if (args[i].equals("-die")) {
|
||||
boolean error = false;
|
||||
List<String> eargs = null;
|
||||
Getopt g = new Getopt("i2ptunnel", args, "d::n:c::w::e:h::", longopts);
|
||||
int c;
|
||||
while ((c = g.getopt()) != -1) {
|
||||
switch (c) {
|
||||
case 'd': // -d, -die, --die
|
||||
dontDie = false;
|
||||
gui = false;
|
||||
cli = false;
|
||||
checkRunByE = false;
|
||||
} else if (args[i].equals("-nogui")) {
|
||||
break;
|
||||
|
||||
case 'n': // -noc, -nog, -nocli, -nogui
|
||||
String a = g.getOptarg();
|
||||
if (a.startsWith("oc")) {
|
||||
gui = false;
|
||||
cli = false;
|
||||
checkRunByE = false;
|
||||
break;
|
||||
} else if (a.startsWith("og")) {
|
||||
// fall thru
|
||||
} else {
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
// fall thru for -nogui only
|
||||
|
||||
case NOGUI: // --nogui
|
||||
gui = false;
|
||||
_log.warn(getPrefix() + "The `-nogui' option of I2PTunnel is deprecated.\n"
|
||||
if (_log.shouldLog(Log.WARN))
|
||||
_log.warn(getPrefix() + "The `-nogui' option of I2PTunnel is deprecated.\n"
|
||||
+ "Use `-cli', `-nocli' (aka `-wait') or `-die' instead.");
|
||||
} else if (args[i].equals("-cli")) {
|
||||
|
||||
case 'c': // -c, -cli, --cli
|
||||
gui = false;
|
||||
cli = true;
|
||||
checkRunByE = false;
|
||||
} else if (args[i].equals("-nocli") || args[i].equals("-wait")) {
|
||||
break;
|
||||
|
||||
case 'w': // -w, -wait, --nocli
|
||||
gui = false;
|
||||
cli = false;
|
||||
checkRunByE = false;
|
||||
} else if (args[i].equals("-e")) {
|
||||
runCommand(args[i + 1], this);
|
||||
i++;
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
if (eargs == null)
|
||||
eargs = new ArrayList<String>(4);
|
||||
eargs.add(g.getOptarg());
|
||||
if (checkRunByE) {
|
||||
checkRunByE = false;
|
||||
cli = false;
|
||||
}
|
||||
} else if (new File(args[i]).exists()) {
|
||||
runCommand("run " + args[i], this);
|
||||
} else {
|
||||
System.out.println("Unknown parameter " + args[i]);
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
case '?':
|
||||
case ':':
|
||||
default:
|
||||
error = true;
|
||||
}
|
||||
}
|
||||
|
||||
int remaining = args.length - g.getOptind();
|
||||
|
||||
if (error || remaining > 1) {
|
||||
System.err.println(usage());
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
if (eargs != null) {
|
||||
for (String arg : eargs) {
|
||||
runCommand(arg, this);
|
||||
}
|
||||
}
|
||||
|
||||
if (remaining == 1) {
|
||||
String f = args[g.getOptind()];
|
||||
File file = new File(f);
|
||||
// This is probably just a problem with the options, so
|
||||
// throw from here
|
||||
if (!file.exists()) {
|
||||
System.err.println(usage());
|
||||
throw new IllegalArgumentException("Command file does not exist: " + f);
|
||||
}
|
||||
runCommand("run " + f, this);
|
||||
}
|
||||
|
||||
if (gui) {
|
||||
new I2PTunnelGUI(this);
|
||||
} else if (cli) {
|
||||
@@ -185,6 +274,9 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
} else if (eargs == null && remaining == 0 && dontDie) {
|
||||
System.err.println(usage());
|
||||
throw new IllegalArgumentException("Waiting for nothing! Specify gui, cli, command, command file, or die");
|
||||
}
|
||||
|
||||
while (dontDie) {
|
||||
@@ -197,6 +289,23 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
}
|
||||
}
|
||||
|
||||
/** with newlines except for last line */
|
||||
private static String usage() {
|
||||
// not sure this all makes sense, just documenting what's above
|
||||
return
|
||||
"Usage: i2ptunnel [options] [commandFile]\n" +
|
||||
" Default is to run the GUI.\n" +
|
||||
" commandFile: run all commands in this file\n" +
|
||||
" Options:\n" +
|
||||
" -c, -cli, --cli : run the command line interface\n" +
|
||||
" -d, -die, --die : exit immediately, do not wait for commands to finish\n" +
|
||||
" -e 'command [args]' : run the command\n" +
|
||||
" -h, --help : display this help\n" +
|
||||
" -nocli, --nocli : do not run the command line interface or GUI\n" +
|
||||
" -nogui, --nogui : do not run the GUI\n" +
|
||||
" -w, -wait, --wait : do not run the command line interface or GUI";
|
||||
}
|
||||
|
||||
/** @return A copy, non-null */
|
||||
List<I2PSession> getSessions() {
|
||||
return new ArrayList<I2PSession>(_sessions);
|
||||
@@ -312,30 +421,30 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
* @param l logger to receive events and output
|
||||
*/
|
||||
private static void runHelp(Logging l) {
|
||||
l.log("Command list:");
|
||||
l.log("Command list:\n" +
|
||||
// alphabetical please...
|
||||
l.log(" auth <username> <password>");
|
||||
l.log(" client <port> <pubkey>[,<pubkey,...]|file:<pubkeyfile> [<sharedClient>]");
|
||||
l.log(" clientoptions [-acx] [key=value ]*");
|
||||
l.log(" close [forced] <jobnumber>|all");
|
||||
l.log(" config [-s] <i2phost> <i2pport>");
|
||||
l.log(" connectclient <port> [<sharedClient>] [<proxy>]");
|
||||
l.log(" genkeys <privkeyfile> [<pubkeyfile>]");
|
||||
l.log(" gentextkeys");
|
||||
l.log(" httpbidirserver <host> <port> <proxyport> <spoofedhost> <privkeyfile>");
|
||||
l.log(" httpclient <port> [<sharedClient>] [<proxy>]");
|
||||
l.log(" httpserver <host> <port> <spoofedhost> <privkeyfile>");
|
||||
l.log(" ircclient <port> <pubkey>[,<pubkey,...]|file:<pubkeyfile> [<sharedClient>]");
|
||||
l.log(" list");
|
||||
l.log(" listen_on <ip>");
|
||||
l.log(" lookup <name>");
|
||||
l.log(" owndest yes|no");
|
||||
l.log(" ping <args>");
|
||||
l.log(" quit");
|
||||
l.log(" read_timeout <msecs>");
|
||||
l.log(" run <commandfile>");
|
||||
l.log(" server <host> <port> <privkeyfile>");
|
||||
l.log(" textserver <host> <port> <privkey>");
|
||||
" auth <username> <password>\n" +
|
||||
" client <port> <pubkey>[,<pubkey,...]|file:<pubkeyfile> [<sharedClient>]\n" +
|
||||
" clientoptions [-acx] [key=value ]*\n" +
|
||||
" close [forced] <jobnumber>|all\n" +
|
||||
" config [-s] <i2phost> <i2pport>\n" +
|
||||
" connectclient <port> [<sharedClient>] [<proxy>]\n" +
|
||||
" genkeys <privkeyfile> [<pubkeyfile>]\n" +
|
||||
" gentextkeys\n" +
|
||||
" httpbidirserver <host> <port> <proxyport> <spoofedhost> <privkeyfile>\n" +
|
||||
" httpclient <port> [<sharedClient>] [<proxy>]\n" +
|
||||
" httpserver <host> <port> <spoofedhost> <privkeyfile>\n" +
|
||||
" ircclient <port> <pubkey>[,<pubkey,...]|file:<pubkeyfile> [<sharedClient>]\n" +
|
||||
" list\n" +
|
||||
" listen_on <ip>\n" +
|
||||
" lookup <name>\n" +
|
||||
" owndest yes|no\n" +
|
||||
" ping <args>\n" +
|
||||
" quit\n" +
|
||||
" read_timeout <msecs>\n" +
|
||||
" run <commandfile>\n" +
|
||||
" server <host> <port> <privkeyfile>\n" +
|
||||
" textserver <host> <port> <privkey>\n");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -378,12 +487,12 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
_clientOptions.setProperty(key, val);
|
||||
}
|
||||
} else {
|
||||
l.log("Usage:");
|
||||
l.log(" clientoptions [key=value ]* // sets current options");
|
||||
l.log(" clientoptions -a [key=value ]* // adds to current options");
|
||||
l.log(" clientoptions -c // clears current options");
|
||||
l.log(" clientoptions -x [key ]* // removes listed options");
|
||||
l.log("Current options:");
|
||||
l.log("Usage:\n" +
|
||||
" clientoptions [key=value ]* // sets current options\n" +
|
||||
" clientoptions -a [key=value ]* // adds to current options\n" +
|
||||
" clientoptions -c // clears current options\n" +
|
||||
" clientoptions -x [key ]* // removes listed options\n" +
|
||||
"Current options:\n");
|
||||
Properties p = new OrderedProperties();
|
||||
p.putAll(_clientOptions);
|
||||
for (Map.Entry<Object, Object> e : p.entrySet()) {
|
||||
@@ -466,8 +575,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
notifyEvent("serverTaskId", Integer.valueOf(serv.getId()));
|
||||
return;
|
||||
} else {
|
||||
l.log("server <host> <port> <privkeyfile>");
|
||||
l.log(" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
l.log("server <host> <port> <privkeyfile>\n" +
|
||||
" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
notifyEvent("serverTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -517,8 +626,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
notifyEvent("serverTaskId", Integer.valueOf(serv.getId()));
|
||||
return;
|
||||
} else {
|
||||
l.log("server <host> <port> <privkeyfile>");
|
||||
l.log(" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
l.log("server <host> <port> <privkeyfile>\n" +
|
||||
" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
notifyEvent("serverTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -578,8 +687,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
notifyEvent("serverTaskId", Integer.valueOf(serv.getId()));
|
||||
return;
|
||||
} else {
|
||||
l.log("httpserver <host> <port> <spoofedhost> <privkeyfile>");
|
||||
l.log(" creates an HTTP server that sends all incoming data\n"
|
||||
l.log("httpserver <host> <port> <spoofedhost> <privkeyfile>\n" +
|
||||
" creates an HTTP server that sends all incoming data\n"
|
||||
+ " of its destination to host:port., filtering the HTTP\n"
|
||||
+ " headers so it looks like the request is to the spoofed host.");
|
||||
notifyEvent("serverTaskId", Integer.valueOf(-1));
|
||||
@@ -654,8 +763,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
notifyEvent("serverTaskId", Integer.valueOf(serv.getId()));
|
||||
return;
|
||||
} else {
|
||||
l.log("httpserver <host> <port> <proxyport> <spoofedhost> <privkeyfile>");
|
||||
l.log(" creates a bidirectional HTTP server that sends all incoming data\n"
|
||||
l.log("httpserver <host> <port> <proxyport> <spoofedhost> <privkeyfile>\n" +
|
||||
" creates a bidirectional HTTP server that sends all incoming data\n"
|
||||
+ " of its destination to host:port., filtering the HTTP\n"
|
||||
+ " headers so it looks like the request is to the spoofed host,"
|
||||
+ " and listens to host:proxyport to proxy HTTP requests.");
|
||||
@@ -707,8 +816,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
addtask(serv);
|
||||
notifyEvent("serverTaskId", Integer.valueOf(serv.getId()));
|
||||
} else {
|
||||
l.log("textserver <host> <port> <privkey>");
|
||||
l.log(" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
l.log("textserver <host> <port> <privkey>\n" +
|
||||
" creates a server that sends all incoming data\n" + " of its destination to host:port.");
|
||||
notifyEvent("textserverTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -765,8 +874,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("client <port> <pubkey>[,<pubkey>]|file:<pubkeyfile>[ <sharedClient>] [<privKeyFile>]");
|
||||
l.log(" creates a client that forwards port to the pubkey.\n"
|
||||
l.log("client <port> <pubkey>[,<pubkey>]|file:<pubkeyfile>[ <sharedClient>] [<privKeyFile>]\n" +
|
||||
" creates a client that forwards port to the pubkey.\n"
|
||||
+ " use 0 as port to get a free port assigned. If you specify\n"
|
||||
+ " a comma delimited list of pubkeys, it will rotate among them\n"
|
||||
+ " randomlyl. sharedClient indicates if this client shares \n"
|
||||
@@ -841,11 +950,11 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("httpclient <port> [<sharedClient>] [<proxy>]");
|
||||
l.log(" creates a client that distributes HTTP requests.");
|
||||
l.log(" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)");
|
||||
l.log(" <proxy> (optional) indicates a proxy server to be used");
|
||||
l.log(" when trying to access an address out of the .i2p domain");
|
||||
l.log("httpclient <port> [<sharedClient>] [<proxy>]\n" +
|
||||
" creates a client that distributes HTTP requests.\n" +
|
||||
" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)\n" +
|
||||
" <proxy> (optional) indicates a proxy server to be used\n" +
|
||||
" when trying to access an address out of the .i2p domain");
|
||||
notifyEvent("httpclientTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -908,11 +1017,11 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("connectclient <port> [<sharedClient>] [<proxy>]");
|
||||
l.log(" creates a client that for SSL/HTTPS requests.");
|
||||
l.log(" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)");
|
||||
l.log(" <proxy> (optional) indicates a proxy server to be used");
|
||||
l.log(" when trying to access an address out of the .i2p domain");
|
||||
l.log("connectclient <port> [<sharedClient>] [<proxy>]\n" +
|
||||
" creates a client that for SSL/HTTPS requests.\n" +
|
||||
" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)\n" +
|
||||
" <proxy> (optional) indicates a proxy server to be used\n" +
|
||||
" when trying to access an address out of the .i2p domain\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -975,9 +1084,9 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("ircclient <port> [<sharedClient> [<privKeyFile>]]");
|
||||
l.log(" creates a client that filter IRC protocol.");
|
||||
l.log(" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)");
|
||||
l.log("ircclient <port> [<sharedClient> [<privKeyFile>]]\n" +
|
||||
" creates a client that filter IRC protocol.\n" +
|
||||
" <sharedClient> (optional) indicates if this client shares tunnels with other clients (true of false)\n");
|
||||
notifyEvent("ircclientTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1028,8 +1137,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("sockstunnel <port>");
|
||||
l.log(" creates a tunnel that distributes SOCKS requests.");
|
||||
l.log("sockstunnel <port>\n" +
|
||||
" creates a tunnel that distributes SOCKS requests.");
|
||||
notifyEvent("sockstunnelTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1075,8 +1184,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("socksirctunnel <port> [<sharedClient> [<privKeyFile>]]");
|
||||
l.log(" creates a tunnel for SOCKS IRC.");
|
||||
l.log("socksirctunnel <port> [<sharedClient> [<privKeyFile>]]\n" +
|
||||
" creates a tunnel for SOCKS IRC.");
|
||||
notifyEvent("sockstunnelTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1125,8 +1234,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
throw iae;
|
||||
}
|
||||
} else {
|
||||
l.log("streamrclient <host> <port> <destination>");
|
||||
l.log(" creates a tunnel that receives streaming data.");
|
||||
l.log("streamrclient <host> <port> <destination>\n" +
|
||||
" creates a tunnel that receives streaming data.");
|
||||
notifyEvent("streamrtunnelTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1166,8 +1275,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
addtask(task);
|
||||
notifyEvent("streamrtunnelTaskId", Integer.valueOf(task.getId()));
|
||||
} else {
|
||||
l.log("streamrserver <port> <privkeyfile>");
|
||||
l.log(" creates a tunnel that sends streaming data.");
|
||||
l.log("streamrserver <port> <privkeyfile>\n" +
|
||||
" creates a tunnel that sends streaming data.");
|
||||
notifyEvent("streamrtunnelTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1195,12 +1304,12 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
port = args[i];
|
||||
notifyEvent("configResult", "ok");
|
||||
} else {
|
||||
l.log("Usage:");
|
||||
l.log(" config [-s] <i2phost> <i2pport>");
|
||||
l.log(" sets the connection to the i2p router.");
|
||||
l.log("Current setting:");
|
||||
boolean ssl = Boolean.parseBoolean(_clientOptions.getProperty("i2cp.SSL"));
|
||||
l.log(" " + host + ' ' + port + (ssl ? " SSL" : ""));
|
||||
l.log("Usage:\n" +
|
||||
" config [-s] <i2phost> <i2pport>\n" +
|
||||
" sets the connection to the i2p router.\n" +
|
||||
"Current setting:\n" +
|
||||
" " + host + ' ' + port + (ssl ? " SSL" : ""));
|
||||
notifyEvent("configResult", "error");
|
||||
}
|
||||
}
|
||||
@@ -1210,16 +1319,16 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
*
|
||||
* @param args {username, password}
|
||||
* @param l logger to receive events and output
|
||||
* @since 0.9.10
|
||||
* @since 0.9.11
|
||||
*/
|
||||
private void runAuth(String args[], Logging l) {
|
||||
if (args.length == 2) {
|
||||
_clientOptions.setProperty("i2cp.username", args[0]);
|
||||
_clientOptions.setProperty("i2cp.password", args[1]);
|
||||
} else {
|
||||
l.log("Usage:");
|
||||
l.log(" auth <username> <password>");
|
||||
l.log(" Sets the i2cp credentials");
|
||||
l.log("Usage:\n" +
|
||||
" auth <username> <password>\n" +
|
||||
" Sets the i2cp credentials");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1237,8 +1346,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
ownDest = args[0].equalsIgnoreCase("yes");
|
||||
notifyEvent("owndestResult", "ok");
|
||||
} else {
|
||||
l.log("owndest yes|no");
|
||||
l.log(" Specifies whether to use its own destination \n" + " for each outgoing tunnel");
|
||||
l.log("owndest yes|no\n" +
|
||||
" Specifies whether to use its own destination \n" + " for each outgoing tunnel");
|
||||
notifyEvent("owndestResult", "error");
|
||||
}
|
||||
}
|
||||
@@ -1256,8 +1365,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
listenHost = args[0];
|
||||
notifyEvent("listen_onResult", "ok");
|
||||
} else {
|
||||
l.log("listen_on <ip>");
|
||||
l.log(" sets the interface to listen for the I2PClient.");
|
||||
l.log("listen_on <ip>\n" +
|
||||
" sets the interface to listen for the I2PClient.");
|
||||
notifyEvent("listen_onResult", "error");
|
||||
}
|
||||
}
|
||||
@@ -1279,15 +1388,16 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
}
|
||||
notifyEvent("read_timeoutResult", "ok");
|
||||
} else {
|
||||
l.log("read_timeout <msecs>");
|
||||
l.log(" sets the read timeout (in milliseconds) for I2P connections\n"
|
||||
l.log("read_timeout <msecs>\n" +
|
||||
" sets the read timeout (in milliseconds) for I2P connections\n"
|
||||
+" Negative values will make the connections wait forever");
|
||||
notifyEvent("read_timeoutResult", "error");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new keypair
|
||||
* Generate a new keypair.
|
||||
* Does NOT support non-default sig types.
|
||||
* Deprecated - only used by CLI
|
||||
*
|
||||
* Sets the event "genkeysResult" = "ok" or "error" after the generation is complete
|
||||
@@ -1307,8 +1417,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
return;
|
||||
}
|
||||
} else if (args.length != 1) {
|
||||
l.log("genkeys <privkeyfile> [<pubkeyfile>]");
|
||||
l.log(" creates a new keypair and prints the public key.\n"
|
||||
l.log("genkeys <privkeyfile> [<pubkeyfile>]\n" +
|
||||
" creates a new keypair and prints the public key.\n"
|
||||
+ " if pubkeyfile is given, saves the public key there." + "\n"
|
||||
+ " if the privkeyfile already exists, just print/save" + "the pubkey.");
|
||||
//notifyEvent("genkeysResult", "error");
|
||||
@@ -1330,7 +1440,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new keypair
|
||||
* Generate a new keypair.
|
||||
* Does NOT support non-default sig types.
|
||||
* Deprecated - only used by CLI
|
||||
*
|
||||
* Sets the event "privateKey" = base64 of the privateKey stream and
|
||||
@@ -1339,7 +1450,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
* @param l logger to receive events and output
|
||||
*/
|
||||
private static void runGenTextKeys(Logging l) {
|
||||
ByteArrayOutputStream privkey = new ByteArrayOutputStream(512);
|
||||
ByteArrayOutputStream privkey = new ByteArrayOutputStream(1024);
|
||||
ByteArrayOutputStream pubkey = new ByteArrayOutputStream(512);
|
||||
makeKey(privkey, pubkey, l);
|
||||
l.log("Private key: " + Base64.encode(privkey.toByteArray()));
|
||||
@@ -1394,8 +1505,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
*/
|
||||
public void runClose(String args[], Logging l) {
|
||||
if (args.length == 0 || args.length > 2) {
|
||||
l.log("close [forced] <jobnumber>|all");
|
||||
l.log(" stop running tasks. either only one or all.\n"
|
||||
l.log("close [forced] <jobnumber>|all\n" +
|
||||
" stop running tasks. either only one or all.\n"
|
||||
+ " use 'forced' to also stop tasks with active connections.\n"
|
||||
+ " use the 'list' command to show the job numbers");
|
||||
notifyEvent("closeResult", "error");
|
||||
@@ -1456,8 +1567,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
notifyEvent("runResult", "error");
|
||||
}
|
||||
} else {
|
||||
l.log("run <commandfile>");
|
||||
l.log(" loads commandfile and runs each line in it. \n"
|
||||
l.log("run <commandfile>\n" +
|
||||
" loads commandfile and runs each line in it. \n"
|
||||
+ " You can also give the filename on the commandline.");
|
||||
notifyEvent("runResult", "error");
|
||||
}
|
||||
@@ -1474,8 +1585,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
*/
|
||||
private void runLookup(String args[], Logging l) {
|
||||
if (args.length != 1) {
|
||||
l.log("lookup <name>");
|
||||
l.log(" try to resolve the name into a destination key");
|
||||
l.log("lookup <name>\n" +
|
||||
" try to resolve the name into a destination key");
|
||||
notifyEvent("lookupResult", "invalidUsage");
|
||||
} else {
|
||||
try {
|
||||
@@ -1513,15 +1624,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
addtask(task);
|
||||
notifyEvent("pingTaskId", Integer.valueOf(task.getId()));
|
||||
} else {
|
||||
l.log("ping <opts> <b64dest|host>");
|
||||
l.log("ping <opts> -h (pings all hosts in hosts.txt)");
|
||||
l.log("ping <opts> -l <destlistfile> (pings a list of hosts in a file)");
|
||||
l.log(" Options:\n" +
|
||||
" -c (require 5 consecutive pings to report success)\n" +
|
||||
" -m maxSimultaneousPings (default 10)\n" +
|
||||
" -n numberOfPings (default 3)\n" +
|
||||
" -t timeout (ms, default 30000)\n");
|
||||
l.log(" Tests communication with peers.\n");
|
||||
l.log(I2Ping.usage());
|
||||
notifyEvent("pingTaskId", Integer.valueOf(-1));
|
||||
}
|
||||
}
|
||||
@@ -1593,10 +1696,11 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
|
||||
/**
|
||||
* Create a new destination, storing the destination and its private keys where
|
||||
* instructed
|
||||
* instructed.
|
||||
* Does NOT support non-default sig types.
|
||||
* Deprecated - only used by CLI
|
||||
*
|
||||
* @param writeTo location to store the private keys
|
||||
* @param writeTo location to store the destination and private keys
|
||||
* @param pubDest location to store the destination
|
||||
* @param l logger to send messages to
|
||||
*/
|
||||
@@ -1605,8 +1709,8 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
l.log("Generating new keys...");
|
||||
I2PClient client = I2PClientFactory.createClient();
|
||||
Destination d = client.createDestination(writeTo);
|
||||
l.log("Secret key saved.");
|
||||
l.log("Public key: " + d.toBase64());
|
||||
l.log("Secret key saved.\n" +
|
||||
"Public key: " + d.toBase64());
|
||||
writeTo.flush();
|
||||
writeTo.close();
|
||||
writePubKey(d, pubDest, l);
|
||||
@@ -1673,7 +1777,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
|
||||
* @param i2cpPort may be null
|
||||
* @param user may be null
|
||||
* @param pw may be null
|
||||
* @since 0.9.10
|
||||
* @since 0.9.11
|
||||
*/
|
||||
private static Destination destFromName(String name, String i2cpHost,
|
||||
String i2cpPort, boolean isSSL,
|
||||
|
||||
@@ -55,7 +55,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
|
||||
private int localPort;
|
||||
|
||||
/**
|
||||
* Protected for I2Ping since 0.9.10. Not for use outside package.
|
||||
* Protected for I2Ping since 0.9.11. Not for use outside package.
|
||||
*/
|
||||
protected boolean listenerReady;
|
||||
|
||||
@@ -586,7 +586,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
|
||||
}
|
||||
|
||||
/**
|
||||
* Non-final since 0.9.10.
|
||||
* Non-final since 0.9.11.
|
||||
* Any overrides must set listenerReady = true.
|
||||
*/
|
||||
public void run() {
|
||||
|
||||
@@ -24,6 +24,7 @@ import net.i2p.I2PAppContext;
|
||||
import net.i2p.client.streaming.I2PSocketManager;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.util.EepGet;
|
||||
import net.i2p.util.EventDispatcher;
|
||||
import net.i2p.util.InternalSocket;
|
||||
import net.i2p.util.Log;
|
||||
@@ -409,60 +410,8 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
|
||||
* @since 0.9.4
|
||||
*/
|
||||
private static Map<String, String> parseArgs(String args) {
|
||||
Map<String, String> rv = new HashMap<String, String>(8);
|
||||
char data[] = args.toCharArray();
|
||||
StringBuilder buf = new StringBuilder(32);
|
||||
boolean isQuoted = false;
|
||||
String key = null;
|
||||
for (int i = 0; i < data.length; i++) {
|
||||
switch (data[i]) {
|
||||
case '\"':
|
||||
if (isQuoted) {
|
||||
// keys never quoted
|
||||
if (key != null) {
|
||||
rv.put(key, buf.toString().trim());
|
||||
key = null;
|
||||
}
|
||||
buf.setLength(0);
|
||||
}
|
||||
isQuoted = !isQuoted;
|
||||
break;
|
||||
|
||||
case ' ':
|
||||
case '\r':
|
||||
case '\n':
|
||||
case '\t':
|
||||
case ',':
|
||||
// whitespace - if we're in a quoted section, keep this as part of the quote,
|
||||
// otherwise use it as a delim
|
||||
if (isQuoted) {
|
||||
buf.append(data[i]);
|
||||
} else {
|
||||
if (key != null) {
|
||||
rv.put(key, buf.toString().trim());
|
||||
key = null;
|
||||
}
|
||||
buf.setLength(0);
|
||||
}
|
||||
break;
|
||||
|
||||
case '=':
|
||||
if (isQuoted) {
|
||||
buf.append(data[i]);
|
||||
} else {
|
||||
key = buf.toString().trim().toLowerCase(Locale.US);
|
||||
buf.setLength(0);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
buf.append(data[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (key != null)
|
||||
rv.put(key, buf.toString().trim());
|
||||
return rv;
|
||||
// moved to EepGet, since it needs this too
|
||||
return EepGet.parseAuthArgs(args);
|
||||
}
|
||||
|
||||
//////// Error page stuff
|
||||
|
||||
@@ -18,6 +18,7 @@ import javax.net.ssl.SSLException;
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.client.streaming.I2PSocket;
|
||||
import net.i2p.data.ByteArray;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.util.ByteCache;
|
||||
import net.i2p.util.Clock;
|
||||
import net.i2p.util.I2PAppThread;
|
||||
@@ -137,6 +138,8 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr
|
||||
protected InputStream getSocketIn() throws IOException { return s.getInputStream(); }
|
||||
protected OutputStream getSocketOut() throws IOException { return s.getOutputStream(); }
|
||||
|
||||
private static final byte[] POST = { 'P', 'O', 'S', 'T', ' ' };
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
@@ -159,8 +162,12 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr
|
||||
// So we now get a fast return from flush(), and can do it here to save 250 ms.
|
||||
// To make sure we are under the initial window size and don't hang waiting for accept,
|
||||
// only flush if it fits in one message.
|
||||
if (initialI2PData.length <= 1730) // ConnectionOptions.DEFAULT_MAX_MESSAGE_SIZE
|
||||
i2pout.flush();
|
||||
if (initialI2PData.length <= 1730) { // ConnectionOptions.DEFAULT_MAX_MESSAGE_SIZE
|
||||
// Don't flush if POST, so we can get POST data into the initial packet
|
||||
if (initialI2PData.length < 5 ||
|
||||
!DataHelper.eq(POST, 0, initialI2PData, 0, 5))
|
||||
i2pout.flush();
|
||||
}
|
||||
//}
|
||||
}
|
||||
if (initialSocketData != null) {
|
||||
|
||||
@@ -11,6 +11,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import gnu.getopt.Getopt;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.I2PException;
|
||||
import net.i2p.client.I2PSession;
|
||||
@@ -86,48 +88,76 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
int count = PING_COUNT;
|
||||
boolean countPing = false;
|
||||
boolean reportTimes = true;
|
||||
while (true) {
|
||||
if (cmd.startsWith("-t ")) { // timeout
|
||||
cmd = cmd.substring(3);
|
||||
int pos = cmd.indexOf(" ");
|
||||
if (pos == -1) {
|
||||
l.log("Syntax error");
|
||||
return;
|
||||
} else {
|
||||
timeout = Long.parseLong(cmd.substring(0, pos));
|
||||
String hostListFile = null;
|
||||
int localPort = 0;
|
||||
int remotePort = 0;
|
||||
boolean error = false;
|
||||
String[] argv = cmd.split(" ");
|
||||
Getopt g = new Getopt("ping", argv, "t:m:n:chl:f:p:");
|
||||
int c;
|
||||
while ((c = g.getopt()) != -1) {
|
||||
switch (c) {
|
||||
case 't': // timeout
|
||||
timeout = Long.parseLong(g.getOptarg());
|
||||
// convenience, convert msec to sec
|
||||
if (timeout < 100)
|
||||
timeout *= 1000;
|
||||
cmd = cmd.substring(pos + 1);
|
||||
}
|
||||
} else if (cmd.startsWith("-m ")) { // max simultaneous pings
|
||||
cmd = cmd.substring(3);
|
||||
int pos = cmd.indexOf(" ");
|
||||
if (pos == -1) {
|
||||
l.log("Syntax error");
|
||||
return;
|
||||
} else {
|
||||
MAX_SIMUL_PINGS = Integer.parseInt(cmd.substring(0, pos));
|
||||
cmd = cmd.substring(pos + 1);
|
||||
}
|
||||
} else if (cmd.startsWith("-n ")) { // number of pings
|
||||
cmd = cmd.substring(3);
|
||||
int pos = cmd.indexOf(" ");
|
||||
if (pos == -1) {
|
||||
l.log("Syntax error");
|
||||
return;
|
||||
} else {
|
||||
count = Integer.parseInt(cmd.substring(0, pos));
|
||||
cmd = cmd.substring(pos + 1);
|
||||
}
|
||||
} else if (cmd.startsWith("-c ")) { // "count" ping
|
||||
break;
|
||||
|
||||
case 'm': // max simultaneous pings
|
||||
MAX_SIMUL_PINGS = Integer.parseInt(g.getOptarg());
|
||||
break;
|
||||
|
||||
case 'n': // number of pings
|
||||
count = Integer.parseInt(g.getOptarg());
|
||||
break;
|
||||
|
||||
case 'c': // "count" ping
|
||||
countPing = true;
|
||||
count = CPING_COUNT;
|
||||
cmd = cmd.substring(3);
|
||||
} else if (cmd.equals("-h")) { // ping all hosts
|
||||
cmd = "-l hosts.txt";
|
||||
} else if (cmd.startsWith("-l ")) { // ping a list of hosts
|
||||
BufferedReader br = new BufferedReader(new FileReader(cmd.substring(3)));
|
||||
break;
|
||||
|
||||
case 'h': // ping all hosts
|
||||
if (hostListFile != null)
|
||||
error = true;
|
||||
else
|
||||
hostListFile = "hosts.txt";
|
||||
break;
|
||||
|
||||
case 'l': // ping a list of hosts
|
||||
if (hostListFile != null)
|
||||
error = true;
|
||||
else
|
||||
hostListFile = g.getOptarg();
|
||||
break;
|
||||
|
||||
case 'f': // local port
|
||||
localPort = Integer.parseInt(g.getOptarg());
|
||||
break;
|
||||
|
||||
case 'p': // remote port
|
||||
remotePort = Integer.parseInt(g.getOptarg());
|
||||
break;
|
||||
|
||||
case '?':
|
||||
case ':':
|
||||
default:
|
||||
error = true;
|
||||
}
|
||||
}
|
||||
|
||||
int remaining = argv.length - g.getOptind();
|
||||
|
||||
if (error ||
|
||||
remaining > 1 ||
|
||||
(remaining <= 0 && hostListFile == null) ||
|
||||
(remaining > 0 && hostListFile != null)) {
|
||||
System.out.println(usage());
|
||||
return;
|
||||
}
|
||||
|
||||
if (hostListFile != null) {
|
||||
BufferedReader br = new BufferedReader(new FileReader(hostListFile));
|
||||
String line;
|
||||
List<PingHandler> pingHandlers = new ArrayList<PingHandler>();
|
||||
int i = 0;
|
||||
@@ -138,7 +168,8 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
if (line.indexOf("=") != -1) { // maybe file is hosts.txt?
|
||||
line = line.substring(0, line.indexOf("="));
|
||||
}
|
||||
PingHandler ph = new PingHandler(line, count, timeout, countPing, reportTimes);
|
||||
PingHandler ph = new PingHandler(line, count, localPort, remotePort,
|
||||
timeout, countPing, reportTimes);
|
||||
ph.start();
|
||||
pingHandlers.add(ph);
|
||||
if (++i > 1)
|
||||
@@ -148,13 +179,31 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
for (Thread t : pingHandlers)
|
||||
t.join();
|
||||
return;
|
||||
} else {
|
||||
Thread t = new PingHandler(cmd, count, timeout, countPing, reportTimes);
|
||||
t.start();
|
||||
t.join();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
String host = argv[g.getOptind()];
|
||||
Thread t = new PingHandler(host, count, localPort, remotePort,
|
||||
timeout, countPing, reportTimes);
|
||||
t.start();
|
||||
t.join();
|
||||
}
|
||||
|
||||
/**
|
||||
* With newlines except for last line
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public static String usage() {
|
||||
return
|
||||
"ping <opts> <b64dest|host>\n" +
|
||||
"ping <opts> -h (pings all hosts in hosts.txt)\n" +
|
||||
"ping <opts> -l <destlistfile> (pings a list of hosts in a file)\n" +
|
||||
"Options:\n" +
|
||||
" -c (require 5 consecutive pings to report success)\n" +
|
||||
" -m maxSimultaneousPings (default 10)\n" +
|
||||
" -n numberOfPings (default 3)\n" +
|
||||
" -t timeout (ms, default 30000)\n" +
|
||||
" -f fromPort\n" +
|
||||
" -p toPort";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -170,7 +219,7 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean ping(Destination dest, long timeout) throws I2PException {
|
||||
private boolean ping(Destination dest, int fromPort, int toPort, long timeout) throws I2PException {
|
||||
try {
|
||||
synchronized (simulLock) {
|
||||
while (simulPings >= MAX_SIMUL_PINGS) {
|
||||
@@ -183,7 +232,7 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
}
|
||||
lastPingTime = System.currentTimeMillis();
|
||||
}
|
||||
boolean sent = sockMgr.ping(dest, timeout);
|
||||
boolean sent = sockMgr.ping(dest, fromPort, toPort, timeout);
|
||||
synchronized (simulLock) {
|
||||
simulPings--;
|
||||
simulLock.notifyAll();
|
||||
@@ -197,7 +246,7 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
|
||||
/**
|
||||
* Does nothing.
|
||||
* @since 0.9.10
|
||||
* @since 0.9.11
|
||||
*/
|
||||
protected void clientConnectionRun(Socket s) {}
|
||||
|
||||
@@ -207,15 +256,20 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
private final long timeout;
|
||||
private final boolean countPing;
|
||||
private final boolean reportTimes;
|
||||
private final int localPort;
|
||||
private final int remotePort;
|
||||
|
||||
/**
|
||||
* As of 0.9.10, does NOT start itself.
|
||||
* As of 0.9.11, does NOT start itself.
|
||||
* Caller must call start()
|
||||
* @param dest b64 or b32 or host name
|
||||
*/
|
||||
public PingHandler(String dest, int count, long timeout, boolean countPings, boolean report) {
|
||||
public PingHandler(String dest, int count, int fromPort, int toPort,
|
||||
long timeout, boolean countPings, boolean report) {
|
||||
this.destination = dest;
|
||||
cnt = count;
|
||||
localPort = fromPort;
|
||||
remotePort = toPort;
|
||||
this.timeout = timeout;
|
||||
countPing = countPings;
|
||||
reportTimes = report;
|
||||
@@ -235,8 +289,7 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
long totalTime = 0;
|
||||
StringBuilder pingResults = new StringBuilder(2 * cnt + destination.length() + 3);
|
||||
for (int i = 0; i < cnt; i++) {
|
||||
boolean sent;
|
||||
sent = ping(dest, timeout);
|
||||
boolean sent = ping(dest, localPort, remotePort, timeout);
|
||||
if (countPing) {
|
||||
if (!sent) {
|
||||
pingResults.append(i).append(" ");
|
||||
@@ -276,7 +329,7 @@ public class I2Ping extends I2PTunnelClientBase {
|
||||
|
||||
/**
|
||||
* @param name b64 or b32 or host name
|
||||
* @since 0.9.10
|
||||
* @since 0.9.11
|
||||
*/
|
||||
private Destination lookup(String name) {
|
||||
I2PAppContext ctx = I2PAppContext.getGlobalContext();
|
||||
|
||||
@@ -7,11 +7,13 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.I2PException;
|
||||
import net.i2p.client.I2PClient;
|
||||
import net.i2p.client.I2PClientFactory;
|
||||
import net.i2p.client.I2PSession;
|
||||
import net.i2p.crypto.SigType;
|
||||
import net.i2p.data.Base32;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.i2ptunnel.socks.I2PSOCKSTunnel;
|
||||
@@ -49,8 +51,8 @@ public class TunnelController implements Logging {
|
||||
* the prefix should be used (and, in turn, that prefix should be stripped off
|
||||
* before being interpreted by this controller)
|
||||
*
|
||||
* @param config original key=value mapping
|
||||
* @param prefix beginning of key values that are relevent to this tunnel
|
||||
* @param config original key=value mapping non-null
|
||||
* @param prefix beginning of key values that are relevant to this tunnel
|
||||
*/
|
||||
public TunnelController(Properties config, String prefix) {
|
||||
this(config, prefix, true);
|
||||
@@ -58,6 +60,8 @@ public class TunnelController implements Logging {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param config original key=value mapping non-null
|
||||
* @param prefix beginning of key values that are relevant to this tunnel
|
||||
* @param createKey for servers, whether we want to create a brand new destination
|
||||
* with private keys at the location specified or not (does not
|
||||
* overwrite existing ones)
|
||||
@@ -99,7 +103,16 @@ public class TunnelController implements Logging {
|
||||
FileOutputStream fos = null;
|
||||
try {
|
||||
fos = new SecureFileOutputStream(keyFile);
|
||||
Destination dest = client.createDestination(fos);
|
||||
SigType stype = I2PClient.DEFAULT_SIGTYPE;
|
||||
String st = _config.getProperty("option." + I2PClient.PROP_SIGTYPE);
|
||||
if (st != null) {
|
||||
SigType type = SigType.parseSigType(st);
|
||||
if (type != null)
|
||||
stype = type;
|
||||
else
|
||||
log("Unsupported sig type " + st);
|
||||
}
|
||||
Destination dest = client.createDestination(fos, stype);
|
||||
String destStr = dest.toBase64();
|
||||
log("Private key created and saved in " + keyFile.getAbsolutePath());
|
||||
log("You should backup this file in a secure place.");
|
||||
|
||||
@@ -12,6 +12,7 @@ import net.i2p.client.I2PClient;
|
||||
import net.i2p.client.I2PClientFactory;
|
||||
import net.i2p.client.I2PSession;
|
||||
import net.i2p.client.I2PSessionException;
|
||||
import net.i2p.crypto.SigType;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.i2ptunnel.I2PTunnel;
|
||||
import net.i2p.i2ptunnel.I2PTunnelTask;
|
||||
@@ -78,8 +79,17 @@ import net.i2p.util.EventDispatcher;
|
||||
I2PClient client = I2PClientFactory.createClient();
|
||||
byte[] key;
|
||||
try {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream(512);
|
||||
client.createDestination(out);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
|
||||
SigType stype = I2PClient.DEFAULT_SIGTYPE;
|
||||
String st = tunnel.getClientOptions().getProperty(I2PClient.PROP_SIGTYPE);
|
||||
if (st != null) {
|
||||
SigType type = SigType.parseSigType(st);
|
||||
if (type != null)
|
||||
stype = type;
|
||||
else
|
||||
l.log("Unsupported sig type " + st);
|
||||
}
|
||||
client.createDestination(out, stype);
|
||||
key = out.toByteArray();
|
||||
} catch(Exception exc) {
|
||||
throw new RuntimeException("failed to create i2p-destination", exc);
|
||||
|
||||
@@ -14,6 +14,7 @@ import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import net.i2p.client.I2PClient;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.data.PrivateKeyFile;
|
||||
@@ -177,6 +178,11 @@ public class EditBean extends IndexBean {
|
||||
return getBooleanProperty(tunnel, "i2cp.encryptLeaseSet");
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public int getSigType(int tunnel) {
|
||||
return getProperty(tunnel, I2PClient.PROP_SIGTYPE, 0);
|
||||
}
|
||||
|
||||
/** @since 0.8.9 */
|
||||
public boolean getDCC(int tunnel) {
|
||||
return getBooleanProperty(tunnel, I2PTunnelIRCClient.PROP_DCC);
|
||||
@@ -358,6 +364,11 @@ public class EditBean extends IndexBean {
|
||||
return Addresses.getAllAddresses();
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public boolean isAdvanced() {
|
||||
return _context.getBooleanProperty("routerconsole.advanced");
|
||||
}
|
||||
|
||||
public String getI2CPHost(int tunnel) {
|
||||
if (_context.isRouterContext())
|
||||
return _("internal");
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.app.Outproxy;
|
||||
import net.i2p.client.I2PClient;
|
||||
import net.i2p.data.Base32;
|
||||
import net.i2p.data.Certificate;
|
||||
import net.i2p.data.Destination;
|
||||
@@ -983,6 +984,7 @@ public class IndexBean {
|
||||
} catch (NumberFormatException nfe) {}
|
||||
}
|
||||
}
|
||||
|
||||
public void setCert(String val) {
|
||||
if (val != null) {
|
||||
try {
|
||||
@@ -990,10 +992,24 @@ public class IndexBean {
|
||||
} catch (NumberFormatException nfe) {}
|
||||
}
|
||||
}
|
||||
|
||||
public void setSigner(String val) {
|
||||
_certSigner = val;
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public void setSigType(String val) {
|
||||
if (val != null) {
|
||||
_otherOptions.put(I2PClient.PROP_SIGTYPE, val);
|
||||
if (val.equals("0"))
|
||||
_certType = 0;
|
||||
else
|
||||
_certType = 5;
|
||||
}
|
||||
// TODO: Call modifyDestination??
|
||||
// Otherwise this only works on a new tunnel...
|
||||
}
|
||||
|
||||
/** Modify or create a destination */
|
||||
private String modifyDestination() {
|
||||
if (_privKeyFile == null || _privKeyFile.trim().length() <= 0)
|
||||
@@ -1234,13 +1250,14 @@ public class IndexBean {
|
||||
"outproxyUsername", "outproxyPassword",
|
||||
I2PTunnelHTTPClient.PROP_JUMP_SERVERS,
|
||||
I2PTunnelHTTPClientBase.PROP_AUTH,
|
||||
I2PClient.PROP_SIGTYPE,
|
||||
I2PTunnelHTTPClient.PROP_SSL_OUTPROXIES
|
||||
};
|
||||
private static final String _otherServerOpts[] = {
|
||||
"i2cp.reduceIdleTime", "i2cp.reduceQuantity", "i2cp.leaseSetKey", "i2cp.accessList",
|
||||
PROP_MAX_CONNS_MIN, PROP_MAX_CONNS_HOUR, PROP_MAX_CONNS_DAY,
|
||||
PROP_MAX_TOTAL_CONNS_MIN, PROP_MAX_TOTAL_CONNS_HOUR, PROP_MAX_TOTAL_CONNS_DAY,
|
||||
PROP_MAX_STREAMS
|
||||
PROP_MAX_STREAMS, I2PClient.PROP_SIGTYPE
|
||||
};
|
||||
private static final String _httpServerOpts[] = {
|
||||
I2PTunnelHTTPServer.OPT_POST_WINDOW,
|
||||
|
||||
@@ -449,6 +449,37 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<% if (editBean.isAdvanced()) { %>
|
||||
<div id="tunnelOptionsField" class="rowItem">
|
||||
<label>
|
||||
<%=intl._("Signature type")%>
|
||||
(<%=intl._("Experts only!")%>)
|
||||
</label>
|
||||
</div>
|
||||
<div id="hostField" class="rowItem">
|
||||
<div id="portField" class="rowItem">
|
||||
<label>DSA-SHA1</label>
|
||||
<input value="0" type="radio" id="startOnLoad" name="sigType" title="Default"<%=(editBean.getSigType(curTunnel)==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P256</label>
|
||||
<input value="1" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P384</label>
|
||||
<input value="2" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P521</label>
|
||||
<input value="3" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="subdivider">
|
||||
<hr />
|
||||
</div>
|
||||
<% } // isAdvanced %>>
|
||||
|
||||
<% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType) || "sockstunnel".equals(tunnelType) || "socksirctunnel".equals(tunnelType)) { %>
|
||||
<div id="accessField" class="rowItem">
|
||||
<label><%=intl._("Local Authorization")%>:</label>
|
||||
|
||||
@@ -491,6 +491,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<% /***************** %>
|
||||
<div id="tunnelOptionsField" class="rowItem">
|
||||
<label for="cert" accesskey="c">
|
||||
<%=intl._("New Certificate type")%>(<span class="accessKey">C</span>):
|
||||
@@ -533,10 +534,38 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
|
||||
<button accesskey="S" class="control" type="submit" name="action" value="Modify" title="Force New Cert Now"><%=intl._("Modify")%></button>
|
||||
<span class="comment"><%=intl._("(Tunnel must be stopped first)")%></span>
|
||||
</div>
|
||||
<% **********************/ %>
|
||||
|
||||
<% if (editBean.isAdvanced()) { %>
|
||||
<div id="tunnelOptionsField" class="rowItem">
|
||||
<label>
|
||||
<%=intl._("Signature type")%>
|
||||
(<%=intl._("Experts only! Changes B32!")%>)
|
||||
</label>
|
||||
</div>
|
||||
<div id="hostField" class="rowItem">
|
||||
<div id="portField" class="rowItem">
|
||||
<label>DSA-SHA1</label>
|
||||
<input value="0" type="radio" id="startOnLoad" name="sigType" title="Default"<%=(editBean.getSigType(curTunnel)==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P256</label>
|
||||
<input value="1" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P384</label>
|
||||
<input value="2" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
<div id="portField" class="rowItem">
|
||||
<label>ECDSA-P521</label>
|
||||
<input value="3" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(editBean.getSigType(curTunnel)==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="subdivider">
|
||||
<hr />
|
||||
</div>
|
||||
<% } // isAdvanced %>>
|
||||
|
||||
<div id="customOptionsField" class="rowItem">
|
||||
<label for="customOptions" accesskey="u">
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P i2ptunnel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-01 20:06+0000\n"
|
||||
"POT-Creation-Date: 2014-02-06 18:27+0000\n"
|
||||
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
|
||||
"Last-Translator: duck <duck@mail.i2p>\n"
|
||||
"Language-Team: duck <duck@mail.i2p>\n"
|
||||
@@ -339,25 +339,22 @@ msgid "The request uses a bad protocol."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:133
|
||||
#, java-format
|
||||
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
|
||||
msgid "The I2P HTTP Proxy supports HTTP and HTTPS requests only."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:134
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
|
||||
msgid "Other protocols such as FTP are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:595
|
||||
msgid "This seems to be a bad destination:"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:595
|
||||
msgid "i2paddresshelper cannot help you with a destination like that!"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:638
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:662
|
||||
#, java-format
|
||||
msgid ""
|
||||
"To visit the destination in your host database, click <a href=\"{0}\">here</"
|
||||
@@ -365,50 +362,50 @@ msgid ""
|
||||
"\"{1}\">here</a>."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1042
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1151
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1155
|
||||
msgid "Base 32"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1050
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1159
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1056
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1165
|
||||
#, java-format
|
||||
msgid "Continue to {0} without saving"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1061
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1170
|
||||
#, java-format
|
||||
msgid "Save {0} to router address book and continue to eepsite"
|
||||
msgstr ""
|
||||
|
||||
#. only blockfile supports multiple books
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1064
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1173
|
||||
#, java-format
|
||||
msgid "Save {0} to master address book and continue to eepsite"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1065
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1174
|
||||
#, java-format
|
||||
msgid "Save {0} to private address book and continue to eepsite"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1180
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1290
|
||||
msgid "HTTP Outproxy"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1326
|
||||
msgid ""
|
||||
"Click a link below to look for an address helper by using a \"jump\" service:"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: parameter is a host name
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1334
|
||||
#, java-format
|
||||
msgid "{0} jump service"
|
||||
msgstr ""
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
# Translators:
|
||||
# kgtm <fabio.h.f.antunes@gmail.com>, 2014
|
||||
# hxdcmls, 2013
|
||||
# hxdcmls, 2013
|
||||
# rafaelbf, 2013
|
||||
@@ -14,8 +15,8 @@ msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-01 20:06+0000\n"
|
||||
"PO-Revision-Date: 2013-11-19 23:51+0000\n"
|
||||
"Last-Translator: kytv <killyourtv@i2pmail.org>\n"
|
||||
"PO-Revision-Date: 2014-01-22 18:42+0000\n"
|
||||
"Last-Translator: kgtm <fabio.h.f.antunes@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -432,15 +433,15 @@ msgstr "Adicionado pelo auxiliar de endereços"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:187
|
||||
msgid "router"
|
||||
msgstr ""
|
||||
msgstr "roteador"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:189
|
||||
msgid "master"
|
||||
msgstr ""
|
||||
msgstr "mestre"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:191
|
||||
msgid "private"
|
||||
msgstr ""
|
||||
msgstr "privado"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:198
|
||||
#, java-format
|
||||
|
||||
@@ -2,23 +2,22 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the i2ptunnel package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 18:16+0000\n"
|
||||
"PO-Revision-Date: 2013-12-13 11:55+0000\n"
|
||||
"POT-Creation-Date: 2013-12-01 20:06+0000\n"
|
||||
"PO-Revision-Date: 2014-01-29 00:46+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/"
|
||||
"language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: ../java/build/Proxy.java:5 ../java/build/Proxy.java:11
|
||||
@@ -94,8 +93,8 @@ msgstr ""
|
||||
#: ../java/build/Proxy.java:15
|
||||
#, java-format
|
||||
msgid ""
|
||||
"If you continue to have trouble you may want to edit your outproxy list {0}"
|
||||
"here{1}."
|
||||
"If you continue to have trouble you may want to edit your outproxy list "
|
||||
"{0}here{1}."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:38
|
||||
@@ -113,7 +112,7 @@ msgstr "Erro: Acesso Local"
|
||||
|
||||
#: ../java/build/Proxy.java:24
|
||||
msgid "Your browser is misconfigured."
|
||||
msgstr ""
|
||||
msgstr "O seu navegador está mal-configurado."
|
||||
|
||||
#: ../java/build/Proxy.java:25
|
||||
msgid ""
|
||||
@@ -140,14 +139,12 @@ msgstr "Verifique o linque ou procure por um endereço de Base 32 ou Base 64."
|
||||
#: ../java/build/Proxy.java:35
|
||||
#, java-format
|
||||
msgid "If you have the Base 64 address, {0}add it to your addressbook{1}."
|
||||
msgstr ""
|
||||
"Se você tem o endereço de Base 64, {0}adicione-o ao seu livro de "
|
||||
"endereços{1}."
|
||||
msgstr "Se você tem o endereço de Base 64, {0}adicione-o ao seu livro de endereços{1}."
|
||||
|
||||
#: ../java/build/Proxy.java:36
|
||||
msgid ""
|
||||
"Otherwise, find a Base 32 or address helper link, or use a jump service link "
|
||||
"below."
|
||||
"Otherwise, find a Base 32 or address helper link, or use a jump service link"
|
||||
" below."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:37
|
||||
@@ -183,8 +180,8 @@ msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:56
|
||||
msgid ""
|
||||
"Perhaps you pasted in the wrong Base 64 string or the link you are following "
|
||||
"is bad."
|
||||
"Perhaps you pasted in the wrong Base 64 string or the link you are following"
|
||||
" is bad."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:57
|
||||
@@ -212,9 +209,7 @@ msgstr "Aviso: Nenhum proxy de saída configurado"
|
||||
msgid ""
|
||||
"Your request was for a site outside of I2P, but you have no HTTP outproxy "
|
||||
"configured."
|
||||
msgstr ""
|
||||
"O seu pedido foi para um site fora da I2P, mas você não possui nenhum proxy "
|
||||
"de saída para HTTP configurado"
|
||||
msgstr "O seu pedido foi para um site fora da I2P, mas você não possui nenhum proxy de saída para HTTP configurado"
|
||||
|
||||
#: ../java/build/Proxy.java:76
|
||||
msgid "Please configure an outproxy in I2PTunnel."
|
||||
@@ -222,7 +217,7 @@ msgstr "Por favor, configurar um proxy de saída no túnel I2P."
|
||||
|
||||
#: ../java/build/Proxy.java:77 ../java/build/Proxy.java:83
|
||||
msgid "Warning: Destination Key Conflict"
|
||||
msgstr ""
|
||||
msgstr "Aviso: Conflito de chave de destino"
|
||||
|
||||
#: ../java/build/Proxy.java:84
|
||||
msgid ""
|
||||
@@ -232,8 +227,8 @@ msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:85
|
||||
msgid ""
|
||||
"Someone could be trying to impersonate another eepsite, or people have given "
|
||||
"two eepsites identical names."
|
||||
"Someone could be trying to impersonate another eepsite, or people have given"
|
||||
" two eepsites identical names."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:86
|
||||
@@ -249,28 +244,26 @@ msgstr "Autorização do proxy necessária"
|
||||
|
||||
#: ../java/build/Proxy.java:88
|
||||
msgid "I2P HTTP Proxy Authorization Required"
|
||||
msgstr ""
|
||||
msgstr "É necessária a autorização do proxy http da I2P"
|
||||
|
||||
#: ../java/build/Proxy.java:89
|
||||
msgid "This proxy is configured to require a username and password for access."
|
||||
msgstr ""
|
||||
"Este proxy está configurado para pedir um nome de usuário e uma senha para "
|
||||
"acesso."
|
||||
msgid ""
|
||||
"This proxy is configured to require a username and password for access."
|
||||
msgstr "Este proxy está configurado para pedir um nome de usuário e uma senha para acesso."
|
||||
|
||||
#: ../java/build/Proxy.java:90
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Please enter your username and password, or check your {0}router "
|
||||
"configuration{1} or {2}I2PTunnel configuration{3}."
|
||||
msgstr ""
|
||||
"Por favor, forneça o seu nome de usuário e senha, ou verifique sua {0}"
|
||||
"configuração de roteamento{1} ou {2}configuração do túnel I2P{3};"
|
||||
msgstr "Por favor, forneça o seu nome de usuário e senha, ou verifique sua {0}configuração de roteamento{1} ou {2}configuração do túnel I2P{3};"
|
||||
|
||||
#: ../java/build/Proxy.java:91
|
||||
#, java-format
|
||||
msgid ""
|
||||
"To disable authorization, remove the configuration {0}i2ptunnel.proxy."
|
||||
"auth=basic{1}, then stop and restart the HTTP Proxy tunnel."
|
||||
"To disable authorization, remove the configuration "
|
||||
"{0}i2ptunnel.proxy.auth=basic{1}, then stop and restart the HTTP Proxy "
|
||||
"tunnel."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:98
|
||||
@@ -279,7 +272,7 @@ msgstr "Aviso: eepsite inalcançável"
|
||||
|
||||
#: ../java/build/Proxy.java:99
|
||||
msgid "The eepsite was not reachable."
|
||||
msgstr ""
|
||||
msgstr "O eepsite não se encontra alcançável."
|
||||
|
||||
#: ../java/build/Proxy.java:100
|
||||
msgid ""
|
||||
@@ -293,7 +286,7 @@ msgstr "Informação: novo nome de host"
|
||||
|
||||
#: ../java/build/Proxy.java:109
|
||||
msgid "Information: New Host Name with Address Helper"
|
||||
msgstr ""
|
||||
msgstr "Informação: novo nome de host com auxiliar de endereço"
|
||||
|
||||
#: ../java/build/Proxy.java:110
|
||||
msgid ""
|
||||
@@ -312,8 +305,8 @@ msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:113
|
||||
msgid ""
|
||||
"If you do not save it, the host name will be forgotten after the next router "
|
||||
"restart."
|
||||
"If you do not save it, the host name will be forgotten after the next router"
|
||||
" restart."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:114
|
||||
@@ -324,7 +317,7 @@ msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:121
|
||||
msgid "Warning: Bad Address Helper"
|
||||
msgstr ""
|
||||
msgstr "Aviso: Auxiliar de endereço ruim"
|
||||
|
||||
#: ../java/build/Proxy.java:122
|
||||
#, java-format
|
||||
@@ -343,7 +336,7 @@ msgstr ""
|
||||
|
||||
#: ../java/build/Proxy.java:125 ../java/build/Proxy.java:131
|
||||
msgid "Warning: Non-HTTP Protocol"
|
||||
msgstr ""
|
||||
msgstr "Aviso: Protocolo não-HTTP"
|
||||
|
||||
#: ../java/build/Proxy.java:132
|
||||
msgid "The request uses a bad protocol."
|
||||
@@ -352,15 +345,13 @@ msgstr "O pedido usa um protocolo inadequado."
|
||||
#: ../java/build/Proxy.java:133
|
||||
#, java-format
|
||||
msgid "The I2P HTTP Proxy supports {0}http://{1} requests ONLY."
|
||||
msgstr ""
|
||||
msgstr "O proxy HTTP da I2P suporta {0}http://{1} pedidos APENAS."
|
||||
|
||||
#: ../java/build/Proxy.java:134
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Other protocols such as {0}https://{1} and {0}ftp://{1} are not allowed."
|
||||
msgstr ""
|
||||
"Outros protocolos, tais como {0}https://{1} e {0}ftp://{1}, não são "
|
||||
"permitidos."
|
||||
msgstr "Outros protocolos, tais como {0}https://{1} e {0}ftp://{1}, não são permitidos."
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
|
||||
msgid "This seems to be a bad destination:"
|
||||
@@ -368,14 +359,14 @@ msgstr "Parece que este destino é inadequado:"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
|
||||
msgid "i2paddresshelper cannot help you with a destination like that!"
|
||||
msgstr ""
|
||||
msgstr "O auxiliar de endereços da I2P não pode ajudá-lo com um destino como este!"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:638
|
||||
#, java-format
|
||||
msgid ""
|
||||
"To visit the destination in your host database, click <a href=\"{0}\">here</"
|
||||
"a>. To visit the conflicting addresshelper destination, click <a href="
|
||||
"\"{1}\">here</a>."
|
||||
"To visit the destination in your host database, click <a "
|
||||
"href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, "
|
||||
"click <a href=\"{1}\">here</a>."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1042
|
||||
@@ -417,23 +408,24 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1216
|
||||
msgid ""
|
||||
"Click a link below to look for an address helper by using a \"jump\" service:"
|
||||
"Click a link below to look for an address helper by using a \"jump\" "
|
||||
"service:"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: parameter is a host name
|
||||
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
|
||||
#, java-format
|
||||
msgid "{0} jump service"
|
||||
msgstr ""
|
||||
msgstr "{0} saltar serviço"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:162
|
||||
#, java-format
|
||||
msgid "Added via address helper from {0}"
|
||||
msgstr ""
|
||||
msgstr "Adicionado via auxiliar de endereços de {0}"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:164
|
||||
msgid "Added via address helper"
|
||||
msgstr ""
|
||||
msgstr "Adicionado via auxiliar de endereços"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:187
|
||||
msgid "router"
|
||||
@@ -441,7 +433,7 @@ msgstr "roteador"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:189
|
||||
msgid "master"
|
||||
msgstr ""
|
||||
msgstr "mestre"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:191
|
||||
msgid "private"
|
||||
@@ -464,4 +456,4 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:213
|
||||
msgid "Click here if you are not redirected automatically."
|
||||
msgstr ""
|
||||
msgstr "Clique aqui se você não foi automaticamente redirecionado."
|
||||
|
||||
@@ -6,13 +6,14 @@
|
||||
# Translators:
|
||||
# Денис Лысенко <gribua@gmail.com>, 2011
|
||||
# Денис Лысенко <gribua@gmail.com>, 2012
|
||||
# jonny_nut, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-01 20:06+0000\n"
|
||||
"PO-Revision-Date: 2013-11-19 23:52+0000\n"
|
||||
"Last-Translator: kytv <killyourtv@i2pmail.org>\n"
|
||||
"PO-Revision-Date: 2014-01-23 16:58+0000\n"
|
||||
"Last-Translator: jonny_nut\n"
|
||||
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/I2P/language/uk_UA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -249,14 +250,14 @@ msgstr "Авторизація outproxy"
|
||||
#: ../java/build/Proxy.java:89
|
||||
msgid ""
|
||||
"This proxy is configured to require a username and password for access."
|
||||
msgstr ""
|
||||
msgstr "Цей проксі налаштований конечно вимагати ім'я користувача і пароль для доступу."
|
||||
|
||||
#: ../java/build/Proxy.java:90
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Please enter your username and password, or check your {0}router "
|
||||
"configuration{1} or {2}I2PTunnel configuration{3}."
|
||||
msgstr ""
|
||||
msgstr "Будь ласка, ввести ваш логін і пароль, або перевірити {0}router configuration{1} або {2}I2PTunnel configuration{3}."
|
||||
|
||||
#: ../java/build/Proxy.java:91
|
||||
#, java-format
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P i2ptunnel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"POT-Creation-Date: 2014-02-06 18:27+0000\n"
|
||||
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
|
||||
"Last-Translator: duck <duck@mail.i2p>\n"
|
||||
"Language-Team: duck <duck@mail.i2p>\n"
|
||||
@@ -18,141 +18,141 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:350
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:360
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:363
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:373
|
||||
msgid "internal"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:436
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:449
|
||||
#, java-format
|
||||
msgid "{0} inbound, {0} outbound tunnel"
|
||||
msgid_plural "{0} inbound, {0} outbound tunnels"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:440
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:453
|
||||
msgid "lower bandwidth and reliability"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:442
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:455
|
||||
msgid "standard bandwidth and reliability"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:444
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:457
|
||||
msgid "higher bandwidth and reliability"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:121
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:123
|
||||
msgid "Tunnels are not initialized yet, please reload in two minutes."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:194
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:196
|
||||
msgid ""
|
||||
"Invalid form submission, probably because you used the 'back' or 'reload' "
|
||||
"button on your browser. Please resubmit."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:196
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:198
|
||||
msgid ""
|
||||
"If the problem persists, verify that you have cookies enabled in your "
|
||||
"browser."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:244
|
||||
msgid "Configuration reloaded for all tunnels"
|
||||
msgstr ""
|
||||
|
||||
#. and give them something to look at in any case
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:255
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:257
|
||||
msgid "Starting tunnel"
|
||||
msgstr ""
|
||||
|
||||
#. and give them something to look at in any case
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:268
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:270
|
||||
msgid "Stopping tunnel"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:334
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:336
|
||||
msgid "Configuration changes saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:337
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:339
|
||||
msgid "Failed to save configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:459
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:461
|
||||
msgid "New Tunnel"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:482
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:492
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:609
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:484
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:494
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:611
|
||||
msgid "Port not set"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:485
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:611
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:487
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:613
|
||||
msgid "Invalid port"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:488
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:490
|
||||
msgid "Warning - ports less than 1024 are not recommended"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:504
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:506
|
||||
msgid "Standard client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:505
|
||||
msgid "HTTP client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:506
|
||||
msgid "IRC client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:507
|
||||
msgid "Standard server"
|
||||
msgid "HTTP/HTTPS client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:508
|
||||
msgid "HTTP server"
|
||||
msgid "IRC client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:509
|
||||
msgid "SOCKS 4/4a/5 proxy"
|
||||
msgid "Standard server"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:510
|
||||
msgid "SOCKS IRC proxy"
|
||||
msgid "HTTP server"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:511
|
||||
msgid "CONNECT/SSL/HTTPS proxy"
|
||||
msgid "SOCKS 4/4a/5 proxy"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:512
|
||||
msgid "IRC server"
|
||||
msgid "SOCKS IRC proxy"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:513
|
||||
msgid "Streamr client"
|
||||
msgid "CONNECT/SSL/HTTPS proxy"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:514
|
||||
msgid "Streamr server"
|
||||
msgid "IRC server"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:515
|
||||
msgid "Streamr client"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:516
|
||||
msgid "Streamr server"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
|
||||
msgid "HTTP bidir"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:603
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:605
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:313
|
||||
msgid "Host not set"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:605
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:607
|
||||
msgid "Invalid address"
|
||||
msgstr ""
|
||||
|
||||
@@ -188,7 +188,7 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:413
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:422
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:330
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
@@ -206,7 +206,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:154
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:167
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:170
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:191
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:236
|
||||
@@ -225,202 +225,211 @@ msgid "Outproxies"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:203
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:378
|
||||
msgid "Tunnel Destination"
|
||||
msgid "SSL Outproxies"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:215
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:382
|
||||
msgid "name, name:port, or destination"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:209
|
||||
msgid "Use Outproxy Plugin"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:218
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:386
|
||||
msgid "b32 not recommended"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
|
||||
msgid "Shared Client"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
|
||||
msgid ""
|
||||
"(Share tunnels with other clients and irc/httpclients? Change requires "
|
||||
"restart of client proxy)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:232
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:141
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:522
|
||||
msgid "Auto Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:236
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:244
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:213
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:251
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:259
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:145
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:526
|
||||
msgid "(Check the Box for 'YES')"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:240
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:218
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:378
|
||||
msgid "Tunnel Destination"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:230
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:382
|
||||
msgid "name, name:port, or destination"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:233
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:386
|
||||
msgid "b32 not recommended"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
|
||||
msgid "Shared Client"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
|
||||
msgid ""
|
||||
"(Share tunnels with other clients and irc/httpclients? Change requires "
|
||||
"restart of client proxy)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:141
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:522
|
||||
msgid "Auto Start"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:255
|
||||
msgid "Enable DCC"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:248
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:263
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
|
||||
msgid "Advanced networking options"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:250
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:265
|
||||
msgid ""
|
||||
"(NOTE: when this client proxy is configured to share tunnels, then these "
|
||||
"options are for all the shared proxy clients!)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:252
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:267
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:268
|
||||
msgid "Tunnel Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:254
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:269
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:270
|
||||
msgid "Length"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:277
|
||||
msgid "0 hop tunnel (no anonymity)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:265
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
|
||||
msgid "1 hop tunnel (low anonymity)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:269
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:285
|
||||
msgid "2 hop tunnel (medium anonymity)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:273
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:288
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:289
|
||||
msgid "3 hop tunnel (high anonymity)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:281
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:297
|
||||
msgid "hop tunnel (very poor performance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:286
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:302
|
||||
msgid "Variance"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:293
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:309
|
||||
msgid "0 hop variance (no randomisation, consistant performance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:297
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:313
|
||||
msgid ""
|
||||
"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:317
|
||||
msgid ""
|
||||
"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:305
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:320
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:321
|
||||
msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:309
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:324
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:325
|
||||
msgid "+/- 0-2 hop variance (not recommended)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:320
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:335
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:336
|
||||
msgid "hop variance"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:340
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:341
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:329
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:344
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:345
|
||||
msgid "Backup Count"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:336
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:351
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:352
|
||||
msgid "0 backup tunnels (0 redundancy, no added resource usage)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:340
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:355
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:356
|
||||
msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:344
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:359
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
|
||||
msgid ""
|
||||
"2 backup tunnels each direction (medium redundancy, medium resource usage)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:348
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:363
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
|
||||
msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:356
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:371
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:372
|
||||
msgid "backup tunnels"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:363
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:379
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:370
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:385
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:386
|
||||
msgid "interactive connection"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:374
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:389
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:390
|
||||
msgid "bulk connection (downloads/websites/BT)"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:391
|
||||
msgid "Delay Connect"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:380
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:395
|
||||
msgid "for request/response connections"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:384
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:399
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:394
|
||||
msgid "Router I2CP Address"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:386
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:159
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:396
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:413
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:409
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:165
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:404
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:273
|
||||
@@ -429,107 +438,107 @@ msgstr ""
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:404
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:419
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:502
|
||||
msgid "Reduce tunnel quantity when idle"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:406
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:428
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:488
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:421
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:435
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:443
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:455
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:465
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:493
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:503
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:414
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:504
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:410
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:425
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:508
|
||||
msgid "Reduced tunnel count"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:414
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:429
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:449
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:512
|
||||
msgid "Idle minutes"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:418
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:433
|
||||
msgid "Close tunnels when idle"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:424
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:439
|
||||
msgid "New Keys on Reopen"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:432
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:447
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:430
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:438
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:453
|
||||
msgid "Delay tunnel open until required"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:448
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:463
|
||||
msgid "Persistent private key"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:454
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:469
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:463
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
|
||||
msgid "Local destination"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:467
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:482
|
||||
msgid "Local Base 32"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:491
|
||||
msgid "Local Authorization"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:482
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:492
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:497
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:507
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:496
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:499
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:511
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:501
|
||||
msgid "Outproxy Authorization"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:503
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:518
|
||||
msgid "Jump URL List"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:509
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:524
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:548
|
||||
msgid "Custom options"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:513
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:528
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:552
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:702
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:517
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:532
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:556
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:519
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:534
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:558
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
@@ -780,7 +789,7 @@ msgid "New server tunnel"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:265
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:423
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:432
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:295
|
||||
@@ -790,7 +799,7 @@ msgid "Standard"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:267
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:425
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:434
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
@@ -815,11 +824,15 @@ msgstr ""
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:408
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:395
|
||||
msgid "internal plugin"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:414
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:421
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:430
|
||||
msgid "New client tunnel"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-01 20:06+0000\n"
|
||||
"PO-Revision-Date: 2014-01-05 19:47+0000\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-02-05 22:26+0000\n"
|
||||
"Last-Translator: sebx\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/projects/p/I2P/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -320,18 +320,18 @@ msgstr "tunel skoku (bardzo mała wydajność)"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:286
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:302
|
||||
msgid "Variance"
|
||||
msgstr ""
|
||||
msgstr "Zmienność"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:293
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:309
|
||||
msgid "0 hop variance (no randomisation, consistant performance)"
|
||||
msgstr ""
|
||||
msgstr "0 skoków zmiennych (brak randomizacji, stała wydajność)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:297
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:313
|
||||
msgid ""
|
||||
"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
|
||||
msgstr ""
|
||||
msgstr "+ 0-1 zmienność przeskoków (średni dodatek randomizacji, subtraktywna wydajność)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:317
|
||||
@@ -352,7 +352,7 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:320
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:336
|
||||
msgid "hop variance"
|
||||
msgstr ""
|
||||
msgstr "Zmienność przeskoków"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:341
|
||||
@@ -444,8 +444,8 @@ msgstr "Zredukuj ilość tuneli podczas bezczynności"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:428
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:469
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:479
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:488
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:414
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:504
|
||||
msgid "Enable"
|
||||
@@ -487,54 +487,54 @@ msgstr ""
|
||||
msgid "File"
|
||||
msgstr "Plik"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:458
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:463
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
|
||||
msgid "Local destination"
|
||||
msgstr "Cel localny"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:462
|
||||
msgid "(if known)"
|
||||
msgstr "(jeżeli znane)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:467
|
||||
msgid "Local Base 32"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
|
||||
msgid "Local Authorization"
|
||||
msgstr "Lokalna autoryzacja"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:473
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:483
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:482
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:492
|
||||
msgid "Username"
|
||||
msgstr "Użytkownik"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:475
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:487
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:496
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:477
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
|
||||
msgid "Outproxy Authorization"
|
||||
msgstr "Autoryzacja Outproxy"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:494
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:503
|
||||
msgid "Jump URL List"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:500
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:509
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:548
|
||||
msgid "Custom options"
|
||||
msgstr "Dodatkowe opcje"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:504
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:513
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:552
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:702
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:508
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:517
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:556
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:510
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:519
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:558
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
@@ -708,7 +708,7 @@ msgstr "Odśwież"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
|
||||
msgid "Tunnel Wizard"
|
||||
msgstr ""
|
||||
msgstr "Kreator Tunelu"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
|
||||
msgid "Stop All"
|
||||
@@ -830,7 +830,7 @@ msgstr "Nowy tunel klienta"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:119
|
||||
msgid "I2P Tunnel Manager - Tunnel Creation Wizard"
|
||||
msgstr ""
|
||||
msgstr "Menager Tunelu I2P - Kreator Tunelu"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:139
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:567
|
||||
@@ -845,12 +845,12 @@ msgstr "Typ tunelu"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:151
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:601
|
||||
msgid "Tunnel name and description"
|
||||
msgstr ""
|
||||
msgstr "Nazwa tunelu i opis"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:157
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:610
|
||||
msgid "Tunnel destination"
|
||||
msgstr ""
|
||||
msgstr "Miejsce przeznaczenia tunelu"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:163
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:626
|
||||
@@ -860,11 +860,11 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:169
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:652
|
||||
msgid "Tunnel auto-start"
|
||||
msgstr ""
|
||||
msgstr "Auto-Start Tunnelu"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:175
|
||||
msgid "Wizard completed"
|
||||
msgstr ""
|
||||
msgstr "Kreator zakończony"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189
|
||||
msgid ""
|
||||
@@ -892,11 +892,11 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:197
|
||||
msgid "Server Tunnel"
|
||||
msgstr ""
|
||||
msgstr "Tunnel Serwera"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:199
|
||||
msgid "Client Tunnel"
|
||||
msgstr ""
|
||||
msgstr "Tunnel Klienta"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:217
|
||||
msgid "There are several types of tunnels to choose from:"
|
||||
@@ -1156,16 +1156,16 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:707
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
msgstr "Poprzedni"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:715
|
||||
msgid "Save Tunnel"
|
||||
msgstr ""
|
||||
msgstr "Zapisz Tunnel"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:721
|
||||
msgid "Finish"
|
||||
msgstr ""
|
||||
msgstr "Zakończ"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:727
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
msgstr "Następny"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
# Translators:
|
||||
# kgtm <fabio.h.f.antunes@gmail.com>, 2014
|
||||
# rafaelbf, 2013
|
||||
# tuliouel, 2013
|
||||
# wicked, 2012
|
||||
@@ -12,8 +13,8 @@ msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-09 19:27+0000\n"
|
||||
"Last-Translator: kytv <killyourtv@i2pmail.org>\n"
|
||||
"PO-Revision-Date: 2014-01-28 13:01+0000\n"
|
||||
"Last-Translator: kgtm <fabio.h.f.antunes@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -235,7 +236,7 @@ msgstr "Destino do Túnel"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:215
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:382
|
||||
msgid "name, name:port, or destination"
|
||||
msgstr ""
|
||||
msgstr "nome, nome:porta, ou destino"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:218
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:386
|
||||
@@ -293,22 +294,22 @@ msgstr "Comprimento"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:277
|
||||
msgid "0 hop tunnel (no anonymity)"
|
||||
msgstr ""
|
||||
msgstr "0 saltos túnel (sem anonimato)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:265
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
|
||||
msgid "1 hop tunnel (low anonymity)"
|
||||
msgstr ""
|
||||
msgstr "1 saltos túnel (baixo anonimato)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:269
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:285
|
||||
msgid "2 hop tunnel (medium anonymity)"
|
||||
msgstr ""
|
||||
msgstr "2 saltos túnel (médio anonimato)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:273
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:289
|
||||
msgid "3 hop tunnel (high anonymity)"
|
||||
msgstr ""
|
||||
msgstr "3 saltos túnel (grande anonimato)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:281
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:297
|
||||
@@ -492,7 +493,7 @@ msgstr "Destino local"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:467
|
||||
msgid "Local Base 32"
|
||||
msgstr ""
|
||||
msgstr "Base 32 do endereço local"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
|
||||
msgid "Local Authorization"
|
||||
@@ -551,7 +552,7 @@ msgstr "Nova configuração de servidor"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:179
|
||||
msgid "Use SSL?"
|
||||
msgstr ""
|
||||
msgstr "Usar SSL?"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:222
|
||||
msgid "Website name"
|
||||
@@ -642,19 +643,19 @@ msgstr "Max. de conexões simultâneas (0 = ilimitado)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:477
|
||||
msgid "POST limits (0=unlimited)"
|
||||
msgstr ""
|
||||
msgstr "Limite de submissões HTTP POST (0 = ilimitado)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:481
|
||||
msgid "Per period"
|
||||
msgstr ""
|
||||
msgstr "Por período"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
|
||||
msgid "Ban minutes"
|
||||
msgstr ""
|
||||
msgstr "Minutos de proibição"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
|
||||
msgid "POST limit period (minutes)"
|
||||
msgstr ""
|
||||
msgstr "Período de limite submissões HTTP POST (minutos)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:516
|
||||
msgid "New Certificate type"
|
||||
|
||||
@@ -2,23 +2,22 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the i2ptunnel package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 18:16+0000\n"
|
||||
"PO-Revision-Date: 2013-11-25 22:03+0000\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-29 00:58+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/"
|
||||
"language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:350
|
||||
@@ -47,7 +46,7 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:121
|
||||
msgid "Tunnels are not initialized yet, please reload in two minutes."
|
||||
msgstr ""
|
||||
msgstr "Os túneis não foram inicializados ainda, por favor, recarregue em dois minutos."
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:194
|
||||
msgid ""
|
||||
@@ -59,7 +58,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"If the problem persists, verify that you have cookies enabled in your "
|
||||
"browser."
|
||||
msgstr ""
|
||||
msgstr "Se o problema persistir, verifique se o seu navegador está configurado para permitir cookies."
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242
|
||||
msgid "Configuration reloaded for all tunnels"
|
||||
@@ -68,12 +67,12 @@ msgstr ""
|
||||
#. and give them something to look at in any case
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:255
|
||||
msgid "Starting tunnel"
|
||||
msgstr ""
|
||||
msgstr "Inicializando túnel"
|
||||
|
||||
#. and give them something to look at in any case
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:268
|
||||
msgid "Stopping tunnel"
|
||||
msgstr ""
|
||||
msgstr "Parando túnel"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:334
|
||||
msgid "Configuration changes saved"
|
||||
@@ -100,7 +99,7 @@ msgstr "Porta inválida"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:488
|
||||
msgid "Warning - ports less than 1024 are not recommended"
|
||||
msgstr ""
|
||||
msgstr "Aviso - portas abaixo de 1024 não são recomendadas"
|
||||
|
||||
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:504
|
||||
msgid "Standard client"
|
||||
@@ -250,7 +249,7 @@ msgstr "Cliente compartilhado"
|
||||
msgid ""
|
||||
"(Share tunnels with other clients and irc/httpclients? Change requires "
|
||||
"restart of client proxy)"
|
||||
msgstr ""
|
||||
msgstr "(Compartilhar túneis com outros clientes e clientes irc/http? Alterar requer a reinicialização do proxy de cliente)"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:232
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:141
|
||||
@@ -263,7 +262,7 @@ msgstr "Inicialização automática"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:145
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:526
|
||||
msgid "(Check the Box for 'YES')"
|
||||
msgstr ""
|
||||
msgstr "(Selecione a caixa para 'SIM')"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:240
|
||||
msgid "Enable DCC"
|
||||
@@ -272,7 +271,7 @@ msgstr "Permitir DCC"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:248
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
|
||||
msgid "Advanced networking options"
|
||||
msgstr ""
|
||||
msgstr "Opções de rede avançadas"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:250
|
||||
msgid ""
|
||||
@@ -421,7 +420,7 @@ msgstr "Endereço I2CP do roteador"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:396
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:413
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
msgstr "Host"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:165
|
||||
@@ -471,7 +470,7 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:432
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:430
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
msgstr "Desabilitar"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:438
|
||||
msgid "Delay tunnel open until required"
|
||||
@@ -571,7 +570,7 @@ msgstr "Adicionar ao livro de endereços local"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:260
|
||||
msgid "Hostname Signature"
|
||||
msgstr ""
|
||||
msgstr "Assinatura do nome do host"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:412
|
||||
msgid "Encrypt Leaseset"
|
||||
@@ -698,7 +697,7 @@ msgstr "Gerenciador de túneis I2P - Lista"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:97
|
||||
msgid "Status Messages"
|
||||
msgstr ""
|
||||
msgstr "Mensagens de Estado"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:101
|
||||
msgid "Refresh"
|
||||
@@ -722,7 +721,7 @@ msgstr "Reinicializar todos"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:124
|
||||
msgid "I2P Server Tunnels"
|
||||
msgstr ""
|
||||
msgstr "Túneis de servidor I2P"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:128
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:149
|
||||
@@ -740,7 +739,7 @@ msgstr "Mostrar previsão"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:279
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:320
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Estado"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:192
|
||||
msgid "Base32 Address"
|
||||
@@ -799,7 +798,7 @@ msgstr "Criar"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:269
|
||||
msgid "I2P Client Tunnels"
|
||||
msgstr ""
|
||||
msgstr "Túneis de cliente I2P"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:277
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:306
|
||||
@@ -866,20 +865,20 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:189
|
||||
msgid ""
|
||||
"This wizard will take you through the various options available for creating "
|
||||
"tunnels in I2P."
|
||||
"This wizard will take you through the various options available for creating"
|
||||
" tunnels in I2P."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:191
|
||||
msgid ""
|
||||
"The first thing to decide is whether you want to create a server or a client "
|
||||
"tunnel."
|
||||
"The first thing to decide is whether you want to create a server or a client"
|
||||
" tunnel."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:193
|
||||
msgid ""
|
||||
"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."
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:195
|
||||
@@ -918,8 +917,8 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:231
|
||||
msgid ""
|
||||
"Set your browser to use this tunnel as an http proxy, or set your "
|
||||
"\"http_proxy\" environment variable for command-line applications in GNU/"
|
||||
"Linux."
|
||||
"\"http_proxy\" environment variable for command-line applications in "
|
||||
"GNU/Linux."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:233
|
||||
@@ -946,7 +945,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:241
|
||||
msgid "A tunnel that implements the SOCKS protocol."
|
||||
msgstr ""
|
||||
msgstr "Um túnel que implementa o protocolo SOCKS."
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:243
|
||||
msgid ""
|
||||
@@ -982,7 +981,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:253
|
||||
msgid "A client tunnel that implements the HTTP CONNECT command."
|
||||
msgstr ""
|
||||
msgstr "Um túnel de cliente que implementa o comando HTTP CONNECT."
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:255
|
||||
msgid ""
|
||||
@@ -1137,7 +1136,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:565
|
||||
msgid "Below is a summary of the options you chose:"
|
||||
msgstr ""
|
||||
msgstr "Abaixo um resumo das opções que você escolheu:"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:663
|
||||
msgid ""
|
||||
@@ -1167,6 +1166,3 @@ msgstr "Terminar"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:727
|
||||
msgid "Next"
|
||||
msgstr "Próximo"
|
||||
|
||||
#~ msgid "(if known)"
|
||||
#~ msgstr "(se conhecido)"
|
||||
|
||||
@@ -126,12 +126,31 @@ public interface I2PSocketManager {
|
||||
* Ping the specified peer, returning true if they replied to the ping within
|
||||
* the timeout specified, false otherwise. This call blocks.
|
||||
*
|
||||
* Uses the ports from the default options.
|
||||
*
|
||||
* @param peer Destination to ping
|
||||
* @param timeoutMs timeout in ms
|
||||
* @param timeoutMs timeout in ms, greater than zero
|
||||
* @throws IllegalArgumentException
|
||||
* @return success or failure
|
||||
*/
|
||||
public boolean ping(Destination peer, long timeoutMs);
|
||||
|
||||
/**
|
||||
* Ping the specified peer, returning true if they replied to the ping within
|
||||
* the timeout specified, false otherwise. This call blocks.
|
||||
*
|
||||
* Uses the ports specified.
|
||||
*
|
||||
* @param peer Destination to ping
|
||||
* @param localPort 0 - 65535
|
||||
* @param remotePort 0 - 65535
|
||||
* @param timeoutMs timeout in ms, greater than zero
|
||||
* @return success or failure
|
||||
* @throws IllegalArgumentException
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public boolean ping(Destination peer, int localPort, int remotePort, long timeoutMs);
|
||||
|
||||
public String getName();
|
||||
public void setName(String name);
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import net.i2p.client.I2PClient;
|
||||
import net.i2p.client.I2PClientFactory;
|
||||
import net.i2p.client.I2PSession;
|
||||
import net.i2p.client.I2PSessionException;
|
||||
import net.i2p.crypto.SigType;
|
||||
import net.i2p.util.Log;
|
||||
|
||||
/**
|
||||
@@ -26,7 +27,7 @@ public class I2PSocketManagerFactory {
|
||||
|
||||
public static final String PROP_MANAGER = "i2p.streaming.manager";
|
||||
public static final String DEFAULT_MANAGER = "net.i2p.client.streaming.impl.I2PSocketManagerFull";
|
||||
|
||||
|
||||
/**
|
||||
* Create a socket manager using a brand new destination connected to the
|
||||
* I2CP router on the local machine on the default port (7654).
|
||||
@@ -79,9 +80,9 @@ public class I2PSocketManagerFactory {
|
||||
*/
|
||||
public static I2PSocketManager createManager(String i2cpHost, int i2cpPort, Properties opts) {
|
||||
I2PClient client = I2PClientFactory.createClient();
|
||||
ByteArrayOutputStream keyStream = new ByteArrayOutputStream(512);
|
||||
ByteArrayOutputStream keyStream = new ByteArrayOutputStream(1024);
|
||||
try {
|
||||
client.createDestination(keyStream);
|
||||
client.createDestination(keyStream, getSigType(opts));
|
||||
ByteArrayInputStream in = new ByteArrayInputStream(keyStream.toByteArray());
|
||||
return createManager(in, i2cpHost, i2cpPort, opts);
|
||||
} catch (IOException ioe) {
|
||||
@@ -168,9 +169,9 @@ public class I2PSocketManagerFactory {
|
||||
int i2cpPort, Properties opts) throws I2PSessionException {
|
||||
if (myPrivateKeyStream == null) {
|
||||
I2PClient client = I2PClientFactory.createClient();
|
||||
ByteArrayOutputStream keyStream = new ByteArrayOutputStream(512);
|
||||
ByteArrayOutputStream keyStream = new ByteArrayOutputStream(1024);
|
||||
try {
|
||||
client.createDestination(keyStream);
|
||||
client.createDestination(keyStream, getSigType(opts));
|
||||
} catch (Exception e) {
|
||||
throw new I2PSessionException("Error creating keys", e);
|
||||
}
|
||||
@@ -257,6 +258,23 @@ public class I2PSocketManagerFactory {
|
||||
return i2cpPort;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param opts may be null
|
||||
* @since 0.9.12
|
||||
*/
|
||||
private static SigType getSigType(Properties opts) {
|
||||
if (opts != null) {
|
||||
String st = opts.getProperty(I2PClient.PROP_SIGTYPE);
|
||||
if (st != null) {
|
||||
SigType rv = SigType.parseSigType(st);
|
||||
if (rv != null)
|
||||
return rv;
|
||||
getLog().error("Unsupported sig type " + st);
|
||||
}
|
||||
}
|
||||
return I2PClient.DEFAULT_SIGTYPE;
|
||||
}
|
||||
|
||||
/** @since 0.9.7 */
|
||||
private static Log getLog() {
|
||||
return I2PAppContext.getGlobalContext().logManager().getLog(I2PSocketManagerFactory.class);
|
||||
|
||||
@@ -17,12 +17,16 @@ import java.util.StringTokenizer;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.app.ClientAppState;
|
||||
import static net.i2p.app.ClientAppState.*;
|
||||
import net.i2p.crypto.SU3File;
|
||||
import net.i2p.crypto.TrustedUpdate;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.Router;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.RouterVersion;
|
||||
import net.i2p.router.app.RouterApp;
|
||||
import net.i2p.router.web.ConfigServiceHandler;
|
||||
import net.i2p.router.web.ConfigUpdateHandler;
|
||||
import net.i2p.router.web.Messages;
|
||||
@@ -50,7 +54,7 @@ import net.i2p.util.VersionComparator;
|
||||
*
|
||||
* @since 0.9.4
|
||||
*/
|
||||
public class ConsoleUpdateManager implements UpdateManager {
|
||||
public class ConsoleUpdateManager implements UpdateManager, RouterApp {
|
||||
|
||||
private final RouterContext _context;
|
||||
private final Log _log;
|
||||
@@ -68,6 +72,8 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
private final Map<UpdateItem, Version> _installed;
|
||||
private final boolean _allowTorrent;
|
||||
private static final DecimalFormat _pct = new DecimalFormat("0.0%");
|
||||
private final ClientAppManager _cmgr;
|
||||
private volatile ClientAppState _state = UNINITIALIZED;
|
||||
|
||||
private volatile String _status;
|
||||
|
||||
@@ -77,8 +83,12 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
private static final long TASK_CLEANER_TIME = 15*60*1000;
|
||||
private static final String PROP_UNSIGNED_AVAILABLE = "router.updateUnsignedAvailable";
|
||||
|
||||
public ConsoleUpdateManager(RouterContext ctx) {
|
||||
/**
|
||||
* @param args ignored
|
||||
*/
|
||||
public ConsoleUpdateManager(RouterContext ctx, ClientAppManager listener, String[] args) {
|
||||
_context = ctx;
|
||||
_cmgr = listener;
|
||||
_log = ctx.logManager().getLog(ConsoleUpdateManager.class);
|
||||
_registeredUpdaters = new ConcurrentHashSet<RegisteredUpdater>();
|
||||
_registeredCheckers = new ConcurrentHashSet<RegisteredChecker>();
|
||||
@@ -98,13 +108,34 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
//_allowTorrent = RouterVersion.BUILD != 0 || _context.random().nextInt(100) < 60;
|
||||
// Finally, for 0.9.12, 18 months later...
|
||||
_allowTorrent = true;
|
||||
_state = INITIALIZED;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null if not found
|
||||
*/
|
||||
public static ConsoleUpdateManager getInstance() {
|
||||
return (ConsoleUpdateManager) I2PAppContext.getGlobalContext().updateManager();
|
||||
ClientAppManager cmgr = I2PAppContext.getGlobalContext().clientAppManager();
|
||||
if (cmgr == null)
|
||||
return null;
|
||||
return (ConsoleUpdateManager) cmgr.getRegisteredApp(APP_NAME);
|
||||
}
|
||||
|
||||
/////// ClientApp methods
|
||||
|
||||
/**
|
||||
* UpdateManager interface
|
||||
*/
|
||||
public void start() {
|
||||
startup();
|
||||
}
|
||||
|
||||
/**
|
||||
* ClientApp interface
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public synchronized void startup() {
|
||||
changeState(STARTING);
|
||||
notifyInstalled(NEWS, "", Long.toString(NewsHelper.lastUpdated(_context)));
|
||||
notifyInstalled(ROUTER_SIGNED, "", RouterVersion.VERSION);
|
||||
notifyInstalled(ROUTER_SIGNED_SU3, "", RouterVersion.VERSION);
|
||||
@@ -118,7 +149,6 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
notifyInstalled(PLUGIN, plugin, ver);
|
||||
}
|
||||
|
||||
_context.registerUpdateManager(this);
|
||||
DummyHandler dh = new DummyHandler(_context, this);
|
||||
register((Checker)dh, TYPE_DUMMY, METHOD_DUMMY, 0);
|
||||
register((Updater)dh, TYPE_DUMMY, METHOD_DUMMY, 0);
|
||||
@@ -162,10 +192,27 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
//register((Updater)puh, PLUGIN, FILE, 0);
|
||||
new NewsTimerTask(_context, this);
|
||||
_context.simpleScheduler().addPeriodicEvent(new TaskCleaner(), TASK_CLEANER_TIME);
|
||||
changeState(RUNNING);
|
||||
if (_cmgr != null)
|
||||
_cmgr.register(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* UpdateManager interface
|
||||
*/
|
||||
public void shutdown() {
|
||||
_context.unregisterUpdateManager(this);
|
||||
shutdown(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* ClientApp interface
|
||||
* @param args ignored
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public synchronized void shutdown(String[] args) {
|
||||
if (_state == STOPPED)
|
||||
return;
|
||||
changeState(STOPPING);
|
||||
stopChecks();
|
||||
stopUpdates();
|
||||
_registeredUpdaters.clear();
|
||||
@@ -173,6 +220,30 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
_available.clear();
|
||||
_downloaded.clear();
|
||||
_installed.clear();
|
||||
changeState(STOPPED);
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public ClientAppState getState() {
|
||||
return _state;
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public String getName() {
|
||||
return APP_NAME;
|
||||
}
|
||||
|
||||
/** @since 0.9.12 */
|
||||
public String getDisplayName() {
|
||||
return "Console Update Manager";
|
||||
}
|
||||
|
||||
/////// end ClientApp methods
|
||||
|
||||
private synchronized void changeState(ClientAppState state) {
|
||||
_state = state;
|
||||
if (_cmgr != null)
|
||||
_cmgr.notify(this, state, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,8 +21,14 @@ import static net.i2p.update.UpdateMethod.*;
|
||||
*/
|
||||
class NewsHandler extends UpdateHandler implements Checker {
|
||||
|
||||
/** @since 0.7.14 not configurable */
|
||||
private static final String BACKUP_NEWS_URL = "http://www.i2p2.i2p/_static/news/news.xml";
|
||||
/**
|
||||
* Changed in 0.9.11 to the b32 for psi.i2p, run by psi.
|
||||
* We may be able to change it to psi.i2p in a future release after
|
||||
* the hostname propagates.
|
||||
*
|
||||
* @since 0.7.14 not configurable
|
||||
*/
|
||||
private static final String BACKUP_NEWS_URL = "http://avviiexdngd32ccoy4kuckvc3mkf53ycvzbz6vz75vzhv4tbpk5a.b32.i2p/news.xml";
|
||||
|
||||
public NewsHandler(RouterContext ctx, ConsoleUpdateManager mgr) {
|
||||
super(ctx, mgr);
|
||||
|
||||
@@ -370,7 +370,7 @@ public class ConfigClientsHandler extends FormHandler {
|
||||
* @param app null for a new install
|
||||
*/
|
||||
private void installPlugin(String app, String url) {
|
||||
ConsoleUpdateManager mgr = (ConsoleUpdateManager) _context.updateManager();
|
||||
ConsoleUpdateManager mgr = UpdateHandler.updateManager(_context);
|
||||
if (mgr == null) {
|
||||
addFormError("Update manager not registered, cannot install");
|
||||
return;
|
||||
@@ -397,7 +397,7 @@ public class ConfigClientsHandler extends FormHandler {
|
||||
}
|
||||
|
||||
private void checkPlugin(String app) {
|
||||
ConsoleUpdateManager mgr = (ConsoleUpdateManager) _context.updateManager();
|
||||
ConsoleUpdateManager mgr = UpdateHandler.updateManager(_context);
|
||||
if (mgr == null) {
|
||||
addFormError("Update manager not registered, cannot check");
|
||||
return;
|
||||
|
||||
@@ -90,8 +90,11 @@ public class ConfigClientsHelper extends HelperBase {
|
||||
/** clients */
|
||||
public String getForm1() {
|
||||
StringBuilder buf = new StringBuilder(1024);
|
||||
buf.append("<table>\n");
|
||||
buf.append("<tr><th align=\"right\">" + _("Client") + "</th><th>" + _("Run at Startup?") + "</th><th>" + _("Control") + "</th><th align=\"left\">" + _("Class and arguments") + "</th></tr>\n");
|
||||
buf.append("<table>\n" +
|
||||
"<tr><th align=\"right\">").append(_("Client")).append("</th><th>")
|
||||
.append(_("Run at Startup?")).append("</th><th>")
|
||||
.append(_("Control")).append("</th><th align=\"left\">")
|
||||
.append(_("Class and arguments")).append("</th></tr>\n");
|
||||
|
||||
List<ClientAppConfig> clients = ClientAppConfig.getClientApps(_context);
|
||||
for (int cur = 0; cur < clients.size(); cur++) {
|
||||
@@ -134,8 +137,11 @@ public class ConfigClientsHelper extends HelperBase {
|
||||
/** webapps */
|
||||
public String getForm2() {
|
||||
StringBuilder buf = new StringBuilder(1024);
|
||||
buf.append("<table>\n");
|
||||
buf.append("<tr><th align=\"right\">" + _("WebApp") + "</th><th>" + _("Run at Startup?") + "</th><th>" + _("Control") + "</th><th align=\"left\">" + _("Description") + "</th></tr>\n");
|
||||
buf.append("<table>\n" +
|
||||
"<tr><th align=\"right\">").append(_("WebApp")).append("</th><th>")
|
||||
.append(_("Run at Startup?")).append("</th><th>")
|
||||
.append(_("Control")).append("</th><th align=\"left\">")
|
||||
.append(_("Description")).append("</th></tr>\n");
|
||||
Properties props = RouterConsoleRunner.webAppProperties(_context);
|
||||
Set<String> keys = new TreeSet(props.keySet());
|
||||
for (String name : keys) {
|
||||
@@ -159,8 +165,11 @@ public class ConfigClientsHelper extends HelperBase {
|
||||
/** plugins */
|
||||
public String getForm3() {
|
||||
StringBuilder buf = new StringBuilder(1024);
|
||||
buf.append("<table>\n");
|
||||
buf.append("<tr><th align=\"right\">" + _("Plugin") + "</th><th>" + _("Run at Startup?") + "</th><th>" + _("Control") + "</th><th align=\"left\">" + _("Description") + "</th></tr>\n");
|
||||
buf.append("<table>\n" +
|
||||
"<tr><th align=\"right\">").append(_("Plugin")).append("</th><th>")
|
||||
.append(_("Run at Startup?")).append("</th><th>")
|
||||
.append(_("Control")).append("</th><th align=\"left\">")
|
||||
.append(_("Description")).append("</th></tr>\n");
|
||||
Properties props = PluginStarter.pluginProperties();
|
||||
Set<String> keys = new TreeSet(props.keySet());
|
||||
for (String name : keys) {
|
||||
@@ -273,15 +282,20 @@ public class ConfigClientsHelper extends HelperBase {
|
||||
// The icons were way too much, so there's an X in each button class,
|
||||
// remove if you wnat to put them back
|
||||
if (showStartButton && (!ro) && !edit) {
|
||||
buf.append("<button type=\"submit\" class=\"Xaccept\" name=\"action\" value=\"Start ").append(index).append("\" >" + _("Start") + "<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xaccept\" name=\"action\" value=\"Start ").append(index).append("\" >")
|
||||
.append(_("Start")).append("<span class=hide> ").append(index).append("</span></button>");
|
||||
}
|
||||
if (showStopButton && (!edit))
|
||||
buf.append("<button type=\"submit\" class=\"Xstop\" name=\"action\" value=\"Stop ").append(index).append("\" >" + _("Stop") + "<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xstop\" name=\"action\" value=\"Stop ").append(index).append("\" >")
|
||||
.append(_("Stop")).append("<span class=hide> ").append(index).append("</span></button>");
|
||||
if (showEditButton && (!edit) && !ro)
|
||||
buf.append("<button type=\"submit\" class=\"Xadd\" name=\"edit\" value=\"Edit ").append(index).append("\" >" + _("Edit") + "<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xadd\" name=\"edit\" value=\"Edit ").append(index).append("\" >")
|
||||
.append(_("Edit")).append("<span class=hide> ").append(index).append("</span></button>");
|
||||
if (showUpdateButton && (!edit) && !ro) {
|
||||
buf.append("<button type=\"submit\" class=\"Xcheck\" name=\"action\" value=\"Check ").append(index).append("\" >" + _("Check for updates") + "<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xdownload\" name=\"action\" value=\"Update ").append(index).append("\" >" + _("Update") + "<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xcheck\" name=\"action\" value=\"Check ").append(index).append("\" >")
|
||||
.append(_("Check for updates")).append("<span class=hide> ").append(index).append("</span></button>");
|
||||
buf.append("<button type=\"submit\" class=\"Xdownload\" name=\"action\" value=\"Update ").append(index).append("\" >")
|
||||
.append(_("Update")).append("<span class=hide> ").append(index).append("</span></button>");
|
||||
}
|
||||
if (showDeleteButton && (!edit) && !ro) {
|
||||
buf.append("<button type=\"submit\" class=\"Xdelete\" name=\"action\" value=\"Delete ").append(index)
|
||||
|
||||
@@ -45,9 +45,9 @@ public class ConfigLoggingHelper extends HelperBase {
|
||||
buf.append(prefix).append('=').append(level).append('\n');
|
||||
}
|
||||
buf.append("</textarea><br>\n");
|
||||
buf.append("<i>" + _("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN") + "</i><br>");
|
||||
buf.append("<i>" + _("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN") + "</i><br>");
|
||||
buf.append("<i>" + _("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT") + "</i>\n");
|
||||
buf.append("<i>").append(_("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN")).append("</i><br>");
|
||||
buf.append("<i>").append(_("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN")).append("</i><br>");
|
||||
buf.append("<i>").append(_("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT")).append("</i>\n");
|
||||
|
||||
/****
|
||||
// this is too big and ugly
|
||||
|
||||
@@ -103,11 +103,33 @@ public class ConfigUIHelper extends HelperBase {
|
||||
|
||||
/** todo sort by translated string */
|
||||
public String getLangSettings() {
|
||||
StringBuilder buf = new StringBuilder(512);
|
||||
String current = Messages.getLanguage(_context);
|
||||
String clang = Messages.getLanguage(_context);
|
||||
String current = clang;
|
||||
String country = Messages.getCountry(_context);
|
||||
if (country != null && country.length() > 0)
|
||||
current += '_' + country;
|
||||
// find best match
|
||||
boolean found = false;
|
||||
for (int i = 0; i < langs.length; i++) {
|
||||
if (langs[i][0].equals(current)) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (country != null && country.length() > 0) {
|
||||
current = clang;
|
||||
for (int i = 0; i < langs.length; i++) {
|
||||
if (langs[i][0].equals(current)) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
current = "en";
|
||||
}
|
||||
StringBuilder buf = new StringBuilder(512);
|
||||
for (int i = 0; i < langs.length; i++) {
|
||||
// we use "lang" so it is set automagically in CSSHelper
|
||||
buf.append("<input type=\"radio\" class=\"optbox\" name=\"lang\" ");
|
||||
|
||||
@@ -67,7 +67,7 @@ public class ConfigUpdateHandler extends FormHandler {
|
||||
"http://inr.i2p/i2p/i2pupdate.su2\r\n" +
|
||||
"http://meeh.i2p/i2pupdate/i2pupdate.su2\r\n" +
|
||||
"http://stats.i2p/i2p/i2pupdate.su2\r\n" +
|
||||
"http://www.i2p2.i2p/_static/i2pupdate.su2\r\n" +
|
||||
// "http://www.i2p2.i2p/_static/i2pupdate.su2\r\n" +
|
||||
"http://update.dg.i2p/files/i2pupdate.su2\r\n" +
|
||||
"http://update.killyourtv.i2p/i2pupdate.su2\r\n" +
|
||||
"http://update.postman.i2p/i2pupdate.su2" ;
|
||||
@@ -77,7 +77,7 @@ public class ConfigUpdateHandler extends FormHandler {
|
||||
"http://inr.i2p/i2p/i2pupdate.sud\r\n" +
|
||||
"http://meeh.i2p/i2pupdate/i2pupdate.sud\r\n" +
|
||||
"http://stats.i2p/i2p/i2pupdate.sud\r\n" +
|
||||
"http://www.i2p2.i2p/_static/i2pupdate.sud\r\n" +
|
||||
// "http://www.i2p2.i2p/_static/i2pupdate.sud\r\n" +
|
||||
"http://update.dg.i2p/files/i2pupdate.sud\r\n" +
|
||||
"http://update.killyourtv.i2p/i2pupdate.sud\r\n" +
|
||||
"http://update.postman.i2p/i2pupdate.sud" ;
|
||||
@@ -111,7 +111,7 @@ public class ConfigUpdateHandler extends FormHandler {
|
||||
"http://inr.i2p/i2p/i2pupdate.su3\r\n" +
|
||||
"http://meeh.i2p/i2pupdate/i2pupdate.su3\r\n" +
|
||||
"http://stats.i2p/i2p/i2pupdate.su3\r\n" +
|
||||
"http://www.i2p2.i2p/_static/i2pupdate.su3\r\n" +
|
||||
// "http://www.i2p2.i2p/_static/i2pupdate.su3\r\n" +
|
||||
"http://update.dg.i2p/files/i2pupdate.su3\r\n" +
|
||||
"http://update.killyourtv.i2p/i2pupdate.su3\r\n" +
|
||||
"http://update.postman.i2p/i2pupdate.su3" ;
|
||||
@@ -139,7 +139,7 @@ public class ConfigUpdateHandler extends FormHandler {
|
||||
if (_action == null)
|
||||
return;
|
||||
if (_action.equals(_("Check for updates"))) {
|
||||
ConsoleUpdateManager mgr = (ConsoleUpdateManager) _context.updateManager();
|
||||
ConsoleUpdateManager mgr = UpdateHandler.updateManager(_context);
|
||||
if (mgr == null) {
|
||||
addFormError("Update manager not registered, cannot check");
|
||||
return;
|
||||
|
||||
@@ -115,9 +115,9 @@ public class ConfigUpdateHelper extends HelperBase {
|
||||
buf.append("\" selected=\"selected");
|
||||
|
||||
if (PERIODS[i] == -1)
|
||||
buf.append("\">" + _("Never") + "</option>\n");
|
||||
buf.append("\">").append(_("Never")).append("</option>\n");
|
||||
else
|
||||
buf.append("\">" + _("Every") + " ").append(DataHelper.formatDuration2(PERIODS[i])).append("</option>\n");
|
||||
buf.append("\">").append(_("Every")).append(' ').append(DataHelper.formatDuration2(PERIODS[i])).append("</option>\n");
|
||||
}
|
||||
buf.append("</select>\n");
|
||||
return buf.toString();
|
||||
|
||||
@@ -351,7 +351,7 @@ public class GraphHelper extends FormHandler {
|
||||
try {
|
||||
_out.write("<br><h3>" + _("Configure Graph Display") + " [<a href=\"configstats\">" + _("Select Stats") + "</a>]</h3>");
|
||||
_out.write("<form action=\"graphs\" method=\"POST\">\n" +
|
||||
"<input type=\"hidden\" name=\"action\" value=\"foo\">\n" +
|
||||
"<input type=\"hidden\" name=\"action\" value=\"save\">\n" +
|
||||
"<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
|
||||
_out.write(_("Periods") + ": <input size=\"5\" style=\"text-align: right;\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\"><br>\n");
|
||||
_out.write(_("Plot averages") + ": <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"checked\" ") + "> ");
|
||||
@@ -380,7 +380,7 @@ public class GraphHelper extends FormHandler {
|
||||
if (persistent)
|
||||
_out.write(" checked=\"checked\"");
|
||||
_out.write(">" +
|
||||
"<hr><div class=\"formaction\"><input type=\"submit\" class=\"acceot\" value=\"" + _("Save settings and redraw graphs") + "\"></div></form>");
|
||||
"<hr><div class=\"formaction\"><input type=\"submit\" class=\"accept\" value=\"" + _("Save settings and redraw graphs") + "\"></div></form>");
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
}
|
||||
@@ -413,7 +413,8 @@ public class GraphHelper extends FormHandler {
|
||||
*/
|
||||
@Override
|
||||
protected void processForm() {
|
||||
saveSettings();
|
||||
if ("save".equals(_action))
|
||||
saveSettings();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import net.i2p.data.Base32;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.data.Destination;
|
||||
import net.i2p.data.Hash;
|
||||
@@ -167,6 +168,8 @@ public class NetDbRenderer {
|
||||
median = dist;
|
||||
}
|
||||
buf.append(" Dist: <b>").append(fmt.format(biLog2(dist))).append("</b><br>");
|
||||
buf.append(Base32.encode(key.getData())).append(".b32.i2p<br>");
|
||||
buf.append("Sig type: ").append(dest.getSigningPublicKey().getType()).append("<br>");
|
||||
buf.append("Routing Key: ").append(ls.getRoutingKey().toBase64());
|
||||
buf.append("<br>");
|
||||
buf.append("Encryption Key: ").append(ls.getEncryptionKey().toBase64().substring(0, 20)).append("...<br>");
|
||||
|
||||
@@ -121,7 +121,7 @@ public class PluginStarter implements Runnable {
|
||||
if (toUpdate.isEmpty())
|
||||
return;
|
||||
|
||||
ConsoleUpdateManager mgr = (ConsoleUpdateManager) ctx.updateManager();
|
||||
ConsoleUpdateManager mgr = UpdateHandler.updateManager(ctx);
|
||||
if (mgr == null)
|
||||
return;
|
||||
if (mgr.isUpdateInProgress())
|
||||
|
||||
@@ -645,7 +645,7 @@ public class RouterConsoleRunner implements RouterApp {
|
||||
t.setPriority(Thread.NORM_PRIORITY - 1);
|
||||
t.start();
|
||||
|
||||
ConsoleUpdateManager um = new ConsoleUpdateManager(_context);
|
||||
ConsoleUpdateManager um = new ConsoleUpdateManager(_context, _mgr, null);
|
||||
um.start();
|
||||
|
||||
if (PluginStarter.pluginsEnabled(_context)) {
|
||||
|
||||
@@ -422,11 +422,11 @@ public class SummaryHelper extends HelperBase {
|
||||
|
||||
buf.append("<tr><td align=\"right\"><img src=\"/themes/console/images/");
|
||||
if (_context.clientManager().shouldPublishLeaseSet(h))
|
||||
buf.append("server.png\" alt=\"Server\" title=\"" + _("Server") + "\">");
|
||||
buf.append("server.png\" alt=\"Server\" title=\"").append(_("Server")).append("\">");
|
||||
else
|
||||
buf.append("client.png\" alt=\"Client\" title=\"" + _("Client") + "\">");
|
||||
buf.append("client.png\" alt=\"Client\" title=\"").append(_("Client")).append("\">");
|
||||
buf.append("</td><td align=\"left\"><b><a href=\"tunnels#").append(h.toBase64().substring(0,4));
|
||||
buf.append("\" target=\"_top\" title=\"" + _("Show tunnels") + "\">");
|
||||
buf.append("\" target=\"_top\" title=\"").append(_("Show tunnels")).append("\">");
|
||||
if (name.length() < 18)
|
||||
buf.append(name);
|
||||
else
|
||||
@@ -861,7 +861,7 @@ public class SummaryHelper extends HelperBase {
|
||||
.append("\"></td><td align=\"left\">")
|
||||
.append(_(sectionNames.get(section)))
|
||||
.append("</td><td align=\"right\"><input type=\"hidden\" name=\"order_")
|
||||
.append(i + "_" + section)
|
||||
.append(i).append('_').append(section)
|
||||
.append("\" value=\"")
|
||||
.append(i)
|
||||
.append("\">");
|
||||
|
||||
@@ -78,8 +78,17 @@ class SummaryListener implements RateSummaryListener {
|
||||
//String names[] = _sample.getDsNames();
|
||||
//System.out.println("Add " + val + " over " + eventCount + " for " + _name
|
||||
// + " [" + names[0] + ", " + names[1] + "]");
|
||||
} catch (IllegalArgumentException iae) {
|
||||
// ticket #1186
|
||||
// apparently a corrupt file, thrown from update()
|
||||
_log.error("Error adding", iae);
|
||||
String path = _isPersistent ? _db.getPath() : null;
|
||||
stopListening();
|
||||
if (path != null)
|
||||
(new File(path)).delete();
|
||||
} catch (IOException ioe) {
|
||||
_log.error("Error adding", ioe);
|
||||
stopListening();
|
||||
} catch (RrdException re) {
|
||||
// this can happen after the time slews backwards, so don't make it an error
|
||||
// org.jrobin.core.RrdException: Bad sample timestamp 1264343107. Last update time was 1264343172, at least one second step is required
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package net.i2p.router.web;
|
||||
|
||||
import net.i2p.app.ClientAppManager;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.router.update.ConsoleUpdateManager;
|
||||
import net.i2p.update.UpdateManager;
|
||||
import net.i2p.update.UpdateType;
|
||||
import static net.i2p.update.UpdateType.*;
|
||||
import net.i2p.util.Log;
|
||||
@@ -33,6 +35,17 @@ public class UpdateHandler {
|
||||
_context = ctx;
|
||||
_log = ctx.logManager().getLog(UpdateHandler.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null if not found
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public static ConsoleUpdateManager updateManager(RouterContext ctx) {
|
||||
ClientAppManager cmgr = ctx.clientAppManager();
|
||||
if (cmgr == null)
|
||||
return null;
|
||||
return (ConsoleUpdateManager) cmgr.getRegisteredApp(UpdateManager.APP_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure this bean to query a particular router context
|
||||
@@ -75,7 +88,7 @@ public class UpdateHandler {
|
||||
}
|
||||
|
||||
private void update(UpdateType type) {
|
||||
ConsoleUpdateManager mgr = (ConsoleUpdateManager) _context.updateManager();
|
||||
ConsoleUpdateManager mgr = updateManager(_context);
|
||||
if (mgr == null)
|
||||
return;
|
||||
if (mgr.isUpdateInProgress(ROUTER_SIGNED) || mgr.isUpdateInProgress(ROUTER_UNSIGNED) ||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<%=intl._("If reseeding has failed, you should first check your network connection.")%>
|
||||
<p><b><%=intl._("The default settings will work for most people.")%></b>
|
||||
<%=intl._("Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy.")%>
|
||||
<%=intl._("See {0} for instructions on reseeding manually.", "<a href=\"http://www.i2p2.de/faq.html#manual_reseed\">" + intl._("the FAQ") + "</a>")%>
|
||||
<%=intl._("See {0} for instructions on reseeding manually.", "<a href=\"https://geti2p.net/faq#manual_reseed\">" + intl._("the FAQ") + "</a>")%>
|
||||
</p>
|
||||
<div class="wideload">
|
||||
<table border="0" cellspacing="5">
|
||||
|
||||
@@ -30,7 +30,14 @@
|
||||
/*
|
||||
* Print out the status for the UpdateManager
|
||||
*/
|
||||
ctx.updateManager().renderStatusHTML(out);
|
||||
net.i2p.app.ClientAppManager cmgr = ctx.clientAppManager();
|
||||
if (cmgr != null) {
|
||||
net.i2p.router.update.ConsoleUpdateManager umgr =
|
||||
(net.i2p.router.update.ConsoleUpdateManager) cmgr.getRegisteredApp(net.i2p.update.UpdateManager.APP_NAME);
|
||||
if (umgr != null) {
|
||||
umgr.renderStatusHTML(out);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Print out the status for the AppManager
|
||||
|
||||
@@ -34,7 +34,9 @@
|
||||
%><%=intl._("Please report bugs on {0} or {1}.",
|
||||
"<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>",
|
||||
"<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%>
|
||||
<!--
|
||||
<%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%>
|
||||
-->
|
||||
<p><%=intl._("Please include this information in bug reports")%>:
|
||||
</p></div><div class="sorry" id="warning2">
|
||||
<h3><%=intl._("Error Details")%></h3>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
If you'd like to help improve or translate the documentation, or
|
||||
help with other aspects of the project, please see the documentation for
|
||||
<a href="http://i2p-projekt.i2p/getinvolved.html">volunteers.</a>
|
||||
<a href="http://i2p-projekt.i2p/en/get-involved">volunteers.</a>
|
||||
</p><p>Further assistance is available here:</p>
|
||||
<ul class="links">
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq.html">FAQ on i2p-projekt.i2p</a></li>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq_de.html">Deutsch FAQ</a>.</li></ul>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/en/faq">FAQ on i2p-projekt.i2p</a></li>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/de/faq">Deutsch FAQ</a>.</li></ul>
|
||||
<br>You may also try the <a href="http://forum.i2p/">I2P forum</a>
|
||||
or IRC.
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
<div class="main" id="main" dir="rtl" lang="ar"><p>
|
||||
اذا رغبت في المساعدة أو ترجمة الوثائق، أو المساعدة في أشياء أخرى، انظر اسفله
|
||||
|
||||
<a href="http://i2p-projekt.i2p/getinvolved.html">تطوع</a>
|
||||
<a href="http://i2p-projekt.i2p/ar/get-involved">تطوع</a>
|
||||
</p>المزيد من المساعدة هنا:
|
||||
<ul class="links">
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq.html">ابئلة شائعة i2p-projekt.i2p</a>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/ar/faq">ابئلة شائعة i2p-projekt.i2p</a>
|
||||
<br>يمكن ايضا<a href="http://forum.i2p/">I2P منتدى</a>
|
||||
او بالدردشة على IRC.</li></ul>
|
||||
|
||||
@@ -151,7 +151,7 @@ Apache's javax.servlet (javax.servlet.jar) implementation.
|
||||
This product includes software developed by the Apache Software Foundation
|
||||
(http://www.apache.org/).</p>
|
||||
|
||||
<p>Another application you can see on this webpage is <a href="http://i2p-projekt.i2p/i2ptunnel">I2PTunnel</a>
|
||||
<p>Another application you can see on this webpage is <a href="http://i2p-projekt.i2p/ar/docs/api/i2ptunnel">I2PTunnel</a>
|
||||
(your <a href="i2ptunnel/" target="_blank">web interface</a>) - a GPL'ed application written by mihi that
|
||||
lets you tunnel normal TCP/IP traffic over I2P (such as the eepproxy and the irc proxy). There is also a
|
||||
<a href="http://susi.i2p/">susimail</a> web based mail client <a href="susimail/susimail">available</a> on
|
||||
@@ -159,15 +159,15 @@ the console, which is a GPL'ed application written by susi23. The addressbook a
|
||||
<a href="http://ragnarok.i2p/">Ragnarok</a> helps maintain your hosts.txt files (see ./addressbook/ for
|
||||
more information).</p>
|
||||
|
||||
<p>The router by default also includes human's public domain <a href="http://i2p-projekt.i2p/sam">SAM</a> bridge,
|
||||
<p>The router by default also includes human's public domain <a href="http://i2p-projekt.i2p/ar/docs/api/sam">SAM</a> bridge,
|
||||
which other client applications (such the <a href="http://duck.i2p/i2p-bt/">bittorrent port</a>) can use.
|
||||
There is also an optimized library for doing large number calculations - jbigi - which in turn uses the
|
||||
LGPL licensed <a href="http://swox.com/gmp/">GMP</a> library, tuned for various PC architectures.
|
||||
Launchers for windows users are built with <a href="http://launch4j.sourceforge.net/">Launch4J</a>, and
|
||||
the installer is built with <a href="http://www.izforge.com/izpack/">IzPack</a>. For
|
||||
details on other applications available, as well as their licenses, please see the
|
||||
<a href="http://i2p-projekt.i2p/licenses">license policy</a>. Source for the I2P code and most bundled
|
||||
client applications can be found on our <a href="http://i2p-projekt.i2p/download">download page</a>.
|
||||
<a href="http://i2p-projekt.i2p/ar/get-involved/develop/licenses">license policy</a>. Source for the I2P code and most bundled
|
||||
client applications can be found on our <a href="http://i2p-projekt.i2p/ar/download">download page</a>.
|
||||
.</p>
|
||||
|
||||
<h2>Change Log</h2>
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
<%@include file="summaryajax.jsi" %>
|
||||
</head><body onload="initAjax()">
|
||||
<%@include file="summary.jsi" %>
|
||||
Traduction de mars 2011 (magma@mail.i2p)
|
||||
<!-- Traduction de mars 2011 (magma@mail.i2p) -->
|
||||
<h1>Aide et assistance du routeur I2P</h1>
|
||||
<div class="main" id="main"><p>
|
||||
Si vous souhaitez améliorer ou traduire la documentation ou d'autres versants du projet, merci de vous reporter à
|
||||
la page consacrée aux <a href="http://i2p-projekt.i2p/getinvolved_fr.html">volontaires</a>.
|
||||
la page consacrée aux <a href="http://i2p-projekt.i2p/fr/get-involved">volontaires</a>.
|
||||
</p>D'autres détails sont disponibles ici:
|
||||
<ul class="links">
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq.html">FAQ en anglais sur i2p-projekt.i2p</a></li>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq_fr.html">les FAQ en français</a>.</li></ul>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/en/faq">FAQ en anglais sur i2p-projekt.i2p</a></li>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/fr/faq">les FAQ en français</a>.</li></ul>
|
||||
<br>Il y a aussi le <a href="http://forum.i2p/">forum I2P</a>
|
||||
et l'IRC.
|
||||
|
||||
@@ -131,22 +131,22 @@ configuration), vous permettant de déployer dans votre routeur des applications
|
||||
Jetty fait usage de l'implémentation javax.servlet d'Apache. Ce dispositif inclus du logiciel développé par la
|
||||
fondation Apache Software (http://www.apache.org/).</p>
|
||||
|
||||
<p>Une autre application visible sur cette page: <a href="http://i2p-projekt.i2p/i2ptunnel">I2PTunnel</a>
|
||||
<p>Une autre application visible sur cette page: <a href="http://i2p-projekt.i2p/fr/docs/api/i2ptunnel">I2PTunnel</a>
|
||||
(votre <a href="i2ptunnel/" target="_blank">interface web</a>) sous licence GPL écrite par mihi qui vous permet de
|
||||
mettre en tunnels le trafic normal TCP/IP sur I2P (comme les proxy eep et le proxy irc). Il y a aussi un client webmail
|
||||
<a href="http://susi.i2p/">susimail</a> <a href="susimail/susimail">disponible</a> dans la console, qui est sous
|
||||
licence GPL et écrit par susi23. L'application carnet d'adresses, écrite par
|
||||
<a href="http://ragnarok.i2p/">Ragnarok</a> gère votre fichier hosts.txt (voir ./addressbook/ pour plus de détails).</p>
|
||||
|
||||
<p>Le routeur inclu aussi par défaut le pont <a href="http://i2p-projekt.i2p/sam">SAM</a> du domaine public de l'humanité,
|
||||
<p>Le routeur inclu aussi par défaut le pont <a href="http://i2p-projekt.i2p/fr/docs/api/sam">SAM</a> du domaine public de l'humanité,
|
||||
que les autres applications clientes (comme le <a href="http://duck.i2p/i2p-bt/">portage bittorrent</a>) peuvent à leur
|
||||
tour utiliser. Il y a aussi une bibliothèque optimisée pour les calculs sur les grand nombres - jbigi - qui de son
|
||||
côté utilise la bibliothèque sous licence LGPL <a href="http://swox.com/gmp/">GMP</a>, adaptée à diverses architectures
|
||||
PC. Les lanceurs pour Windows sont faits avec <a href="http://launch4j.sourceforge.net/">Launch4J</a>, et l'installeur
|
||||
avec <a href="http://www.izforge.com/izpack/">IzPack</a>. Les détails sur les autres applications disponibles comme sur
|
||||
leurs licences respectives, référez-vous à notre <a href="http://i2p-projekt.i2p/licenses">politique de licences</a>.
|
||||
leurs licences respectives, référez-vous à notre <a href="http://i2p-projekt.i2p/fr/get-involved/develop/licenses">politique de licences</a>.
|
||||
Les sources du code I2P et de la plupart des applications jointes est sur notre page de
|
||||
<a href="http://i2p-projekt.i2p/download_fr">téléchargements</a>.
|
||||
<a href="http://i2p-projekt.i2p/fr/download">téléchargements</a>.
|
||||
.</p>
|
||||
|
||||
<h2>Historique des évolutions</h2>
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
<div class="main" id="main"><p>
|
||||
Als je wilt helpen om de documentatie te verbeteren of vertalen, of wilt helpen
|
||||
met andere aspecten van het project, zie dan de documentatie voor
|
||||
<a href="http://i2p-projekt.i2p/getinvolved.html">vrijwilligers.</a>
|
||||
<a href="http://i2p-projekt.i2p/nl/get-involved">vrijwilligers.</a>
|
||||
</p>Verdere ondersteuning is hier beschikbaar:
|
||||
<ul class="links">
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/faq.html">FAQ op i2p-projekt.i2p</a></li>
|
||||
<li class="tidylist"><a href="http://i2p-projekt.i2p/nl/faq">FAQ op i2p-projekt.i2p</a></li>
|
||||
</ul>
|
||||
<br>Je kunt ook het <a href="http://forum.i2p/">I2P forum</a>
|
||||
of IRC proberen.
|
||||
@@ -168,7 +168,7 @@ Dit product bevat software ontwikkeld door de Apache Software Foundation
|
||||
(http://www.apache.org/).</p>
|
||||
|
||||
<p>Een andere applicatie op deze webpagina is <a
|
||||
href="http://i2p-projekt.i2p/i2ptunnel">I2PTunnel</a> (je <a href="i2ptunnel/"
|
||||
href="http://i2p-projekt.i2p/nl/docs/api/i2ptunnel">I2PTunnel</a> (je <a href="i2ptunnel/"
|
||||
target="_blank">web interface</a>) - een GPL applicatie geschreven door mihi
|
||||
die normaal TCP/IP verkeer over I2P laat tunnelen (zoals de eepproxy en de irc
|
||||
proxy). Er is ook een <a href="http://susi.i2p/">susimail</a> web based mail
|
||||
@@ -178,7 +178,7 @@ GPL applicatie geschreven door susi23. De adresboek applicatie, geschreven door
|
||||
hosts.txt bestanden (zie ./addressbook/ voor meer informatie).</p>
|
||||
|
||||
<p>De router bevat ook standaard human's public domain <a
|
||||
href="http://i2p-projekt.i2p/sam">SAM</a> brug, welke andere client applicaties
|
||||
href="http://i2p-projekt.i2p/nl/docs/api/sam">SAM</a> brug, welke andere client applicaties
|
||||
(zoals de <a href="http://duck.i2p/i2p-bt/">bittorrent port</a>) kan gebruiken.
|
||||
Er is ook een geoptimaliseerde library voor het uitvoeren van berekeningen met
|
||||
grote getallen - jbigi - deze gebruikt de LGPL licensed <a
|
||||
@@ -187,9 +187,9 @@ architecturen. Opstarters voor windows gebruikers zijn gemaakt met <a
|
||||
href="http://launch4j.sourceforge.net/">Launch4J</a>, en de installer is
|
||||
gemaakt met <a href="http://www.izforge.com/izpack/">IzPack</a>. Voor details
|
||||
over andere beschikbare applicaties, en hun licenties, zie het <a
|
||||
href="http://i2p-projekt.i2p/licenses">licentie beleid</a>. Broncode voor I2P en
|
||||
href="http://i2p-projekt.i2p/nl/get-involved/develop/licenses">licentie beleid</a>. Broncode voor I2P en
|
||||
de meeste gebundelde client applicaties kan gevonden worden op onze <a
|
||||
href="http://i2p-projekt.i2p/download">download pagina</a>.</p>
|
||||
href="http://i2p-projekt.i2p/nl/download">download pagina</a>.</p>
|
||||
|
||||
<h2>Release geschiedenis</h2>
|
||||
<jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
<div class="main" id="main">
|
||||
|
||||
<p> Если Вы хотите помочь в улучшении или переводе документации, если у Вас есть идеи, как еще помочь проекту, пожалуйста, загляните в раздел документации
|
||||
<a href="http://i2p-projekt.i2p/getinvolved.html">как стать участником</a>. </p>
|
||||
<a href="http://i2p-projekt.i2p/ru/get-involved">как стать участником</a>. </p>
|
||||
|
||||
<p>Дальнейшие инструкции доступны в <a href="http://i2p-projekt.i2p/faq.html">FAQ на i2p-projekt.i2p</a>
|
||||
<p>Дальнейшие инструкции доступны в <a href="http://i2p-projekt.i2p/ru/faq">FAQ на i2p-projekt.i2p</a>
|
||||
|
||||
<br>Также, имеет смысл зайти на <a href="http://forum.i2p/">форум I2P</a> и IRC-каналы проекта.</p>
|
||||
|
||||
@@ -161,9 +161,9 @@
|
||||
<p>Поверх I2P маршрутизатора работают различные приложения-клиенты, каждое со своим набором лицензий и зависимостей. Например, эта страница входит в приложение консоли маршрутизатора, которое сделано из усеченной версии <a href="http://jetty.mortbay.com/jetty/index.html">Jetty</a> (в сборку не включены демонстрационные приложения и прочие дополнения, настройки упрощены). Jetty позволяет запускать в составе маршрутизатора стандартные JSP/сервлеты. Jetty использует javax.servlet.jar разработанный в составе проекта Apache (http://www.apache.org/).
|
||||
</p>
|
||||
|
||||
<p>Ещё одно приложение на этой странице — <a href="http://i2p-projekt.i2p/i2ptunnel">I2PTunnel</a> (а тут <a href="i2ptunnel/" target="_blank">его вебинтерфейс</a>). Автор mihi, лицензия GPL. I2PTunnel занимается туннелированнием обычного TCP/IP трафика через I2P (может применяться для eepproxy и irc-прокси). <a href="http://susi.i2p/">susimail</a> — почтовый клиент с <a href="susimail/susimail">вебинтерфейсом</a>, автор susi23, лицензия GPL. Адресная книга помогает управлять содержимым Ваших hosts.txt файлов (подробнее см. ./addressbook/), автор <a href="http://ragnarok.i2p/">Ragnarok</a>.</p>
|
||||
<p>Ещё одно приложение на этой странице — <a href="http://i2p-projekt.i2p/ru/docs/api/i2ptunnel">I2PTunnel</a> (а тут <a href="i2ptunnel/" target="_blank">его вебинтерфейс</a>). Автор mihi, лицензия GPL. I2PTunnel занимается туннелированнием обычного TCP/IP трафика через I2P (может применяться для eepproxy и irc-прокси). <a href="http://susi.i2p/">susimail</a> — почтовый клиент с <a href="susimail/susimail">вебинтерфейсом</a>, автор susi23, лицензия GPL. Адресная книга помогает управлять содержимым Ваших hosts.txt файлов (подробнее см. ./addressbook/), автор <a href="http://ragnarok.i2p/">Ragnarok</a>.</p>
|
||||
|
||||
<p>В поставку маршрутизатора включен <a href="http://i2p-projekt.i2p/sam">SAM</a> интерфейс, автор human, приложение в общественном достоянии. SAM предназначен для использования приложениями-клиентами, такими как <a href="http://duck.i2p/i2p-bt/">bittorrent-клиенты</a>. Маршрутизатором используется оптимизированная под разные PC-архитектуры библиотека для вычислений с большими числами – jbigi, которая в свою очередь использует библиотеку <a href="http://swox.com/gmp/">GMP</a> (LGPL лицензия). Вспомогательные приложения для Windows созданы с использованием <a href="http://launch4j.sourceforge.net/">Launch4J</a>, а инсталлятор собран при помощи <a href="http://www.izforge.com/izpack/">IzPack</a>. Подробнее о других доступных приложениях и их лицензиях смотрите на странице <a href="http://i2p-projekt.i2p/licenses">I2P Software Licenses</a>. Исходный код I2P маршрутизатора и идущих в комплекте приложений можно найти на нашей <a href="http://i2p-projekt.i2p/download">странице загрузки</a>. </p>
|
||||
<p>В поставку маршрутизатора включен <a href="http://i2p-projekt.i2p/ru/docs/api/sam">SAM</a> интерфейс, автор human, приложение в общественном достоянии. SAM предназначен для использования приложениями-клиентами, такими как <a href="http://duck.i2p/i2p-bt/">bittorrent-клиенты</a>. Маршрутизатором используется оптимизированная под разные PC-архитектуры библиотека для вычислений с большими числами – jbigi, которая в свою очередь использует библиотеку <a href="http://swox.com/gmp/">GMP</a> (LGPL лицензия). Вспомогательные приложения для Windows созданы с использованием <a href="http://launch4j.sourceforge.net/">Launch4J</a>, а инсталлятор собран при помощи <a href="http://www.izforge.com/izpack/">IzPack</a>. Подробнее о других доступных приложениях и их лицензиях смотрите на странице <a href="http://i2p-projekt.i2p/ru/get-involved/develop/licenses">I2P Software Licenses</a>. Исходный код I2P маршрутизатора и идущих в комплекте приложений можно найти на нашей <a href="http://i2p-projekt.i2p/ru/download">странице загрузки</a>. </p>
|
||||
|
||||
|
||||
<h2>История версий</h2>
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
%><%=intl._("Please report bugs on {0} or {1}.",
|
||||
"<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>",
|
||||
"<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%>
|
||||
<!--
|
||||
<%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%>
|
||||
-->
|
||||
<p><i><%=intl._("Please include this information in bug reports")%>:</i>
|
||||
<p>
|
||||
<b>I2P version:</b> <%=net.i2p.router.RouterVersion.FULL_VERSION%><br>
|
||||
|
||||
@@ -2,22 +2,21 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the routerconsole package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# plazmism <gomidori@live.jp>, 2013
|
||||
# plazmism <gomidori@live.jp>, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-11-19 22:59+0000\n"
|
||||
"PO-Revision-Date: 2013-11-17 04:10+0000\n"
|
||||
"POT-Creation-Date: 2013-10-14 13:33+0000\n"
|
||||
"PO-Revision-Date: 2014-02-05 11:54+0000\n"
|
||||
"Last-Translator: plazmism <gomidori@live.jp>\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/"
|
||||
"ja/)\n"
|
||||
"Language: ja\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ja\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
msgid "Anonymous Proxy"
|
||||
@@ -69,697 +68,697 @@ msgid "Australia"
|
||||
msgstr "オーストラリア"
|
||||
|
||||
msgid "Aruba"
|
||||
msgstr ""
|
||||
msgstr "アルバ"
|
||||
|
||||
msgid "Åland Islands"
|
||||
msgstr ""
|
||||
msgstr "オーランド諸島"
|
||||
|
||||
msgid "Azerbaijan"
|
||||
msgstr ""
|
||||
msgstr "アゼルバイジャン"
|
||||
|
||||
msgid "Bosnia and Herzegovina"
|
||||
msgstr ""
|
||||
msgstr "ボスニア・ヘルツェゴビナ"
|
||||
|
||||
msgid "Barbados"
|
||||
msgstr ""
|
||||
msgstr "バルバドス"
|
||||
|
||||
msgid "Bangladesh"
|
||||
msgstr ""
|
||||
msgstr "バングラデシュ"
|
||||
|
||||
msgid "Belgium"
|
||||
msgstr ""
|
||||
msgstr "ベルギー"
|
||||
|
||||
msgid "Burkina Faso"
|
||||
msgstr ""
|
||||
msgstr "ブルキナファソ"
|
||||
|
||||
msgid "Bulgaria"
|
||||
msgstr ""
|
||||
msgstr "ブルガリア"
|
||||
|
||||
msgid "Bahrain"
|
||||
msgstr ""
|
||||
msgstr "バーレーン"
|
||||
|
||||
msgid "Burundi"
|
||||
msgstr ""
|
||||
msgstr "ブルンジ"
|
||||
|
||||
msgid "Benin"
|
||||
msgstr ""
|
||||
msgstr "ベナン"
|
||||
|
||||
msgid "Bermuda"
|
||||
msgstr ""
|
||||
msgstr "バミューダ"
|
||||
|
||||
msgid "Brunei Darussalam"
|
||||
msgstr ""
|
||||
msgstr "ブルネイ・ダルサラーム"
|
||||
|
||||
msgid "Bolivia"
|
||||
msgstr ""
|
||||
msgstr "ボリビア"
|
||||
|
||||
msgid "Brazil"
|
||||
msgstr ""
|
||||
msgstr "ブラジル"
|
||||
|
||||
msgid "Bahamas"
|
||||
msgstr ""
|
||||
msgstr "バハマ"
|
||||
|
||||
msgid "Bhutan"
|
||||
msgstr ""
|
||||
msgstr "ブータン"
|
||||
|
||||
msgid "Bouvet Island"
|
||||
msgstr ""
|
||||
msgstr "ブーヴェ島"
|
||||
|
||||
msgid "Botswana"
|
||||
msgstr ""
|
||||
msgstr "ボツワナ"
|
||||
|
||||
msgid "Belarus"
|
||||
msgstr ""
|
||||
msgstr "ベラルーシ"
|
||||
|
||||
msgid "Belize"
|
||||
msgstr ""
|
||||
msgstr "ベリーズ"
|
||||
|
||||
msgid "Canada"
|
||||
msgstr ""
|
||||
msgstr "カナダ"
|
||||
|
||||
msgid "Cocos (Keeling) Islands"
|
||||
msgstr ""
|
||||
msgstr "ココス(キーリング)諸島"
|
||||
|
||||
msgid "The Democratic Republic of the Congo"
|
||||
msgstr ""
|
||||
msgstr "コンゴ民主共和国"
|
||||
|
||||
msgid "Central African Republic"
|
||||
msgstr ""
|
||||
msgstr "中央アフリカ共和国"
|
||||
|
||||
msgid "Congo"
|
||||
msgstr ""
|
||||
msgstr "コンゴ"
|
||||
|
||||
msgid "Switzerland"
|
||||
msgstr ""
|
||||
msgstr "スイス"
|
||||
|
||||
msgid "Cote D'Ivoire"
|
||||
msgstr ""
|
||||
msgstr "コートジボワール"
|
||||
|
||||
msgid "Cook Islands"
|
||||
msgstr ""
|
||||
msgstr "クック諸島"
|
||||
|
||||
msgid "Chile"
|
||||
msgstr ""
|
||||
msgstr "チリ"
|
||||
|
||||
msgid "Cameroon"
|
||||
msgstr ""
|
||||
msgstr "カメルーン"
|
||||
|
||||
msgid "China"
|
||||
msgstr ""
|
||||
msgstr "中国"
|
||||
|
||||
msgid "Colombia"
|
||||
msgstr ""
|
||||
msgstr "コロンビア"
|
||||
|
||||
msgid "Costa Rica"
|
||||
msgstr ""
|
||||
msgstr "コスタリカ"
|
||||
|
||||
msgid "Serbia and Montenegro"
|
||||
msgstr ""
|
||||
msgstr "セルビア・モンテネグロ"
|
||||
|
||||
msgid "Cuba"
|
||||
msgstr ""
|
||||
msgstr "キューバ"
|
||||
|
||||
msgid "Cape Verde"
|
||||
msgstr ""
|
||||
msgstr "カーボベルデ"
|
||||
|
||||
msgid "Curaçao"
|
||||
msgstr ""
|
||||
msgstr "キュラソー"
|
||||
|
||||
msgid "Christmas Island"
|
||||
msgstr ""
|
||||
msgstr "クリスマス島"
|
||||
|
||||
msgid "Cyprus"
|
||||
msgstr ""
|
||||
msgstr "キプロス"
|
||||
|
||||
msgid "Czech Republic"
|
||||
msgstr ""
|
||||
msgstr "チェコ共和国"
|
||||
|
||||
msgid "Germany"
|
||||
msgstr ""
|
||||
msgstr "ドイツ"
|
||||
|
||||
msgid "Djibouti"
|
||||
msgstr ""
|
||||
msgstr "ジプチ"
|
||||
|
||||
msgid "Denmark"
|
||||
msgstr ""
|
||||
msgstr "デンマーク"
|
||||
|
||||
msgid "Dominica"
|
||||
msgstr ""
|
||||
msgstr "ドミニカ"
|
||||
|
||||
msgid "Dominican Republic"
|
||||
msgstr ""
|
||||
msgstr "ドミニカ共和国"
|
||||
|
||||
msgid "Algeria"
|
||||
msgstr ""
|
||||
msgstr "アルジェリア"
|
||||
|
||||
msgid "Ecuador"
|
||||
msgstr ""
|
||||
msgstr "エクアドル"
|
||||
|
||||
msgid "Estonia"
|
||||
msgstr ""
|
||||
msgstr "エストニア"
|
||||
|
||||
msgid "Egypt"
|
||||
msgstr ""
|
||||
msgstr "エジプト"
|
||||
|
||||
msgid "Western Sahara"
|
||||
msgstr ""
|
||||
msgstr "西サハラ"
|
||||
|
||||
msgid "Eritrea"
|
||||
msgstr ""
|
||||
msgstr "エリトリア"
|
||||
|
||||
msgid "Spain"
|
||||
msgstr ""
|
||||
msgstr "スペイン"
|
||||
|
||||
msgid "Ethiopia"
|
||||
msgstr ""
|
||||
msgstr "エチオピア"
|
||||
|
||||
msgid "European Union"
|
||||
msgstr ""
|
||||
msgstr "ヨーロッパ連合"
|
||||
|
||||
msgid "Finland"
|
||||
msgstr ""
|
||||
msgstr "フィンランド"
|
||||
|
||||
msgid "Fiji"
|
||||
msgstr ""
|
||||
msgstr "フィジー"
|
||||
|
||||
msgid "Falkland Islands (Malvinas)"
|
||||
msgstr ""
|
||||
msgstr "フォークランド諸島 (マルビナス)"
|
||||
|
||||
msgid "Federated States of Micronesia"
|
||||
msgstr ""
|
||||
msgstr "ミクロネシア連邦"
|
||||
|
||||
msgid "Faroe Islands"
|
||||
msgstr ""
|
||||
msgstr "フェロー諸島"
|
||||
|
||||
msgid "France"
|
||||
msgstr ""
|
||||
msgstr "フランス"
|
||||
|
||||
msgid "Gabon"
|
||||
msgstr ""
|
||||
msgstr "ガボン"
|
||||
|
||||
msgid "United Kingdom"
|
||||
msgstr ""
|
||||
msgstr "イギリス"
|
||||
|
||||
msgid "Grenada"
|
||||
msgstr ""
|
||||
msgstr "グレナダ"
|
||||
|
||||
msgid "Georgia"
|
||||
msgstr ""
|
||||
msgstr "グルジア"
|
||||
|
||||
msgid "French Guiana"
|
||||
msgstr ""
|
||||
msgstr "フランス領ギアナ"
|
||||
|
||||
msgid "Guernsey"
|
||||
msgstr ""
|
||||
msgstr "ガーンジー"
|
||||
|
||||
msgid "Ghana"
|
||||
msgstr ""
|
||||
msgstr "ガーナ"
|
||||
|
||||
msgid "Gibraltar"
|
||||
msgstr ""
|
||||
msgstr "ジブラルタル"
|
||||
|
||||
msgid "Greenland"
|
||||
msgstr ""
|
||||
msgstr "グリーンランド"
|
||||
|
||||
msgid "Gambia"
|
||||
msgstr ""
|
||||
msgstr "ガンビア"
|
||||
|
||||
msgid "Guinea"
|
||||
msgstr ""
|
||||
msgstr "ギニア"
|
||||
|
||||
msgid "Guadeloupe"
|
||||
msgstr ""
|
||||
msgstr "グアドループ"
|
||||
|
||||
msgid "Equatorial Guinea"
|
||||
msgstr ""
|
||||
msgstr "赤道ギニア"
|
||||
|
||||
msgid "Greece"
|
||||
msgstr ""
|
||||
msgstr "ギリシャ"
|
||||
|
||||
msgid "South Georgia and the South Sandwich Islands"
|
||||
msgstr ""
|
||||
msgstr "サウスジョージア・サウスサンドウィッチ諸島"
|
||||
|
||||
msgid "Guatemala"
|
||||
msgstr ""
|
||||
msgstr "グアテマラ"
|
||||
|
||||
msgid "Guam"
|
||||
msgstr ""
|
||||
msgstr "グアム"
|
||||
|
||||
msgid "Guinea-Bissau"
|
||||
msgstr ""
|
||||
msgstr "ギニアビサウ"
|
||||
|
||||
msgid "Guyana"
|
||||
msgstr ""
|
||||
msgstr "ガイアナ"
|
||||
|
||||
msgid "Hong Kong"
|
||||
msgstr ""
|
||||
msgstr "香港"
|
||||
|
||||
msgid "Honduras"
|
||||
msgstr ""
|
||||
msgstr "ホンジュラス"
|
||||
|
||||
msgid "Croatia"
|
||||
msgstr ""
|
||||
msgstr "クロアチア"
|
||||
|
||||
msgid "Haiti"
|
||||
msgstr ""
|
||||
msgstr "ハイチ"
|
||||
|
||||
msgid "Hungary"
|
||||
msgstr ""
|
||||
msgstr "ハンガリー"
|
||||
|
||||
msgid "Indonesia"
|
||||
msgstr ""
|
||||
msgstr "インドネシア"
|
||||
|
||||
msgid "Ireland"
|
||||
msgstr ""
|
||||
msgstr "アイルランド"
|
||||
|
||||
msgid "Israel"
|
||||
msgstr ""
|
||||
msgstr "イスラエル"
|
||||
|
||||
msgid "Isle of Man"
|
||||
msgstr ""
|
||||
msgstr "マン島"
|
||||
|
||||
msgid "India"
|
||||
msgstr ""
|
||||
msgstr "インド"
|
||||
|
||||
msgid "British Indian Ocean Territory"
|
||||
msgstr ""
|
||||
msgstr "イギリス領インド洋地域"
|
||||
|
||||
msgid "Iraq"
|
||||
msgstr ""
|
||||
msgstr "イラク"
|
||||
|
||||
msgid "Islamic Republic of Iran"
|
||||
msgstr ""
|
||||
msgstr "イラン・イスラム共和国"
|
||||
|
||||
msgid "Iceland"
|
||||
msgstr ""
|
||||
msgstr "アイスランド"
|
||||
|
||||
msgid "Italy"
|
||||
msgstr ""
|
||||
msgstr "イタリア"
|
||||
|
||||
msgid "Jersey"
|
||||
msgstr ""
|
||||
msgstr "ジャージー"
|
||||
|
||||
msgid "Jamaica"
|
||||
msgstr ""
|
||||
msgstr "ジャマイカ"
|
||||
|
||||
msgid "Jordan"
|
||||
msgstr ""
|
||||
msgstr "ヨルダン"
|
||||
|
||||
msgid "Japan"
|
||||
msgstr ""
|
||||
msgstr "日本"
|
||||
|
||||
msgid "Kenya"
|
||||
msgstr ""
|
||||
msgstr "ケニア"
|
||||
|
||||
msgid "Kyrgyzstan"
|
||||
msgstr ""
|
||||
msgstr "キルギスタン"
|
||||
|
||||
msgid "Cambodia"
|
||||
msgstr ""
|
||||
msgstr "カンボジア"
|
||||
|
||||
msgid "Kiribati"
|
||||
msgstr ""
|
||||
msgstr "キリバス"
|
||||
|
||||
msgid "Comoros"
|
||||
msgstr ""
|
||||
msgstr "コモロ"
|
||||
|
||||
msgid "Saint Kitts and Nevis"
|
||||
msgstr ""
|
||||
msgstr "セントクリストファー・ネイビス"
|
||||
|
||||
msgid "The Democratic People's Republic of Korea"
|
||||
msgstr ""
|
||||
msgstr "朝鮮民主主義人民共和国"
|
||||
|
||||
msgid "Republic of Korea"
|
||||
msgstr ""
|
||||
msgstr "大韓民国"
|
||||
|
||||
msgid "Kuwait"
|
||||
msgstr ""
|
||||
msgstr "クウェート"
|
||||
|
||||
msgid "Cayman Islands"
|
||||
msgstr ""
|
||||
msgstr "ケイマン諸島"
|
||||
|
||||
msgid "Kazakhstan"
|
||||
msgstr ""
|
||||
msgstr "カザフスタン"
|
||||
|
||||
msgid "Lao People's Democratic Republic"
|
||||
msgstr ""
|
||||
msgstr "ラオス人民民主共和国"
|
||||
|
||||
msgid "Lebanon"
|
||||
msgstr ""
|
||||
msgstr "レバノン"
|
||||
|
||||
msgid "Saint Lucia"
|
||||
msgstr ""
|
||||
msgstr "セントルシア"
|
||||
|
||||
msgid "Liechtenstein"
|
||||
msgstr ""
|
||||
msgstr "リヒテンシュタイン"
|
||||
|
||||
msgid "Sri Lanka"
|
||||
msgstr ""
|
||||
msgstr "スリランカ"
|
||||
|
||||
msgid "Liberia"
|
||||
msgstr ""
|
||||
msgstr "リベリア"
|
||||
|
||||
msgid "Lesotho"
|
||||
msgstr ""
|
||||
msgstr "レソト"
|
||||
|
||||
msgid "Lithuania"
|
||||
msgstr ""
|
||||
msgstr "リトアニア"
|
||||
|
||||
msgid "Luxembourg"
|
||||
msgstr ""
|
||||
msgstr "ルクセンブルク"
|
||||
|
||||
msgid "Latvia"
|
||||
msgstr ""
|
||||
msgstr "ラトビア"
|
||||
|
||||
msgid "Libyan Arab Jamahiriya"
|
||||
msgstr ""
|
||||
msgstr "リビア"
|
||||
|
||||
msgid "Morocco"
|
||||
msgstr ""
|
||||
msgstr "モロッコ"
|
||||
|
||||
msgid "Monaco"
|
||||
msgstr ""
|
||||
msgstr "モナコ"
|
||||
|
||||
msgid "Republic of Moldova"
|
||||
msgstr ""
|
||||
msgstr "モルダビア共和国"
|
||||
|
||||
msgid "Montenegro"
|
||||
msgstr ""
|
||||
msgstr "モンテネグロ"
|
||||
|
||||
msgid "Saint Martin"
|
||||
msgstr ""
|
||||
msgstr "サンマルタン"
|
||||
|
||||
msgid "Madagascar"
|
||||
msgstr ""
|
||||
msgstr "マダガスカル"
|
||||
|
||||
msgid "Marshall Islands"
|
||||
msgstr ""
|
||||
msgstr "マーシャル諸島"
|
||||
|
||||
msgid "The Former Yugoslav Republic of Macedonia"
|
||||
msgstr ""
|
||||
msgstr "マケドニア・旧ユーゴスラビア共和国"
|
||||
|
||||
msgid "Mali"
|
||||
msgstr ""
|
||||
msgstr "マリ"
|
||||
|
||||
msgid "Myanmar"
|
||||
msgstr ""
|
||||
msgstr "ミャンマー"
|
||||
|
||||
msgid "Mongolia"
|
||||
msgstr ""
|
||||
msgstr "モンゴル"
|
||||
|
||||
msgid "Macao"
|
||||
msgstr ""
|
||||
msgstr "マカオ"
|
||||
|
||||
msgid "Northern Mariana Islands"
|
||||
msgstr ""
|
||||
msgstr "北マリアナ諸島連邦"
|
||||
|
||||
msgid "Martinique"
|
||||
msgstr ""
|
||||
msgstr "マルティニーク島"
|
||||
|
||||
msgid "Mauritania"
|
||||
msgstr ""
|
||||
msgstr "モーリタニア"
|
||||
|
||||
msgid "Montserrat"
|
||||
msgstr ""
|
||||
msgstr "モンセラー"
|
||||
|
||||
msgid "Malta"
|
||||
msgstr ""
|
||||
msgstr "マルタ"
|
||||
|
||||
msgid "Mauritius"
|
||||
msgstr ""
|
||||
msgstr "モーリシャス"
|
||||
|
||||
msgid "Maldives"
|
||||
msgstr ""
|
||||
msgstr "モルジブ"
|
||||
|
||||
msgid "Malawi"
|
||||
msgstr ""
|
||||
msgstr "マラウイ"
|
||||
|
||||
msgid "Mexico"
|
||||
msgstr ""
|
||||
msgstr "メキシコ"
|
||||
|
||||
msgid "Malaysia"
|
||||
msgstr ""
|
||||
msgstr "マレーシア"
|
||||
|
||||
msgid "Mozambique"
|
||||
msgstr ""
|
||||
msgstr "モザンビーク"
|
||||
|
||||
msgid "Namibia"
|
||||
msgstr ""
|
||||
msgstr "ナミビア"
|
||||
|
||||
msgid "New Caledonia"
|
||||
msgstr ""
|
||||
msgstr "ニューカレドニア"
|
||||
|
||||
msgid "Niger"
|
||||
msgstr ""
|
||||
msgstr "ニジェール"
|
||||
|
||||
msgid "Norfolk Island"
|
||||
msgstr ""
|
||||
msgstr "ノーフォーク島"
|
||||
|
||||
msgid "Nigeria"
|
||||
msgstr ""
|
||||
msgstr "ナイジェリア"
|
||||
|
||||
msgid "Nicaragua"
|
||||
msgstr ""
|
||||
msgstr "ニカラグア"
|
||||
|
||||
msgid "Netherlands"
|
||||
msgstr ""
|
||||
msgstr "オランダ"
|
||||
|
||||
msgid "Norway"
|
||||
msgstr ""
|
||||
msgstr "ノルウェー"
|
||||
|
||||
msgid "Nepal"
|
||||
msgstr ""
|
||||
msgstr "ネパール"
|
||||
|
||||
msgid "Nauru"
|
||||
msgstr ""
|
||||
msgstr "ナウル"
|
||||
|
||||
msgid "Niue"
|
||||
msgstr ""
|
||||
msgstr "ニウエ"
|
||||
|
||||
msgid "New Zealand"
|
||||
msgstr ""
|
||||
msgstr "ニュージーランド"
|
||||
|
||||
msgid "Oman"
|
||||
msgstr ""
|
||||
msgstr "オマーン"
|
||||
|
||||
msgid "Panama"
|
||||
msgstr ""
|
||||
msgstr "パナマ"
|
||||
|
||||
msgid "Peru"
|
||||
msgstr ""
|
||||
msgstr "ペルー"
|
||||
|
||||
msgid "French Polynesia"
|
||||
msgstr ""
|
||||
msgstr "フランス領ポリネシア"
|
||||
|
||||
msgid "Papua New Guinea"
|
||||
msgstr ""
|
||||
msgstr "パプアニューギニア"
|
||||
|
||||
msgid "Philippines"
|
||||
msgstr ""
|
||||
msgstr "フィリピン"
|
||||
|
||||
msgid "Pakistan"
|
||||
msgstr ""
|
||||
msgstr "パキスタン"
|
||||
|
||||
msgid "Poland"
|
||||
msgstr ""
|
||||
msgstr "ポーランド"
|
||||
|
||||
msgid "Saint Pierre and Miquelon"
|
||||
msgstr ""
|
||||
msgstr "サンピエール島・ミクロン島"
|
||||
|
||||
msgid "Pitcairn Islands"
|
||||
msgstr ""
|
||||
msgstr "ピトケアン諸島"
|
||||
|
||||
msgid "Puerto Rico"
|
||||
msgstr ""
|
||||
msgstr "プエルトリコ"
|
||||
|
||||
msgid "Palestinian Territory"
|
||||
msgstr ""
|
||||
msgstr "パレスチナ自治領"
|
||||
|
||||
msgid "Portugal"
|
||||
msgstr ""
|
||||
msgstr "ポルトガル"
|
||||
|
||||
msgid "Palau"
|
||||
msgstr ""
|
||||
msgstr "パラオ"
|
||||
|
||||
msgid "Paraguay"
|
||||
msgstr ""
|
||||
msgstr "パラグアイ"
|
||||
|
||||
msgid "Qatar"
|
||||
msgstr ""
|
||||
msgstr "カタール"
|
||||
|
||||
msgid "Réunion"
|
||||
msgstr ""
|
||||
msgstr "レユニオン"
|
||||
|
||||
msgid "Romania"
|
||||
msgstr ""
|
||||
msgstr "ルーマニア"
|
||||
|
||||
msgid "Serbia"
|
||||
msgstr ""
|
||||
msgstr "セルビア"
|
||||
|
||||
msgid "Russian Federation"
|
||||
msgstr ""
|
||||
msgstr "ロシア連邦"
|
||||
|
||||
msgid "Rwanda"
|
||||
msgstr ""
|
||||
msgstr "ルワンダ"
|
||||
|
||||
msgid "Saudi Arabia"
|
||||
msgstr ""
|
||||
msgstr "サウジアラビア"
|
||||
|
||||
msgid "Solomon Islands"
|
||||
msgstr ""
|
||||
msgstr "ソロモン諸島"
|
||||
|
||||
msgid "Seychelles"
|
||||
msgstr ""
|
||||
msgstr "セイシェル"
|
||||
|
||||
msgid "Sudan"
|
||||
msgstr ""
|
||||
msgstr "スーダン"
|
||||
|
||||
msgid "Sweden"
|
||||
msgstr ""
|
||||
msgstr "スウェーデン"
|
||||
|
||||
msgid "Singapore"
|
||||
msgstr ""
|
||||
msgstr "シンガポール"
|
||||
|
||||
msgid "Saint Helena"
|
||||
msgstr ""
|
||||
msgstr "セントヘレナ"
|
||||
|
||||
msgid "Slovenia"
|
||||
msgstr ""
|
||||
msgstr "スロベニア"
|
||||
|
||||
msgid "Svalbard and Jan Mayen"
|
||||
msgstr ""
|
||||
msgstr "スヴァールバル・ヤンマイエン"
|
||||
|
||||
msgid "Slovakia"
|
||||
msgstr ""
|
||||
msgstr "スロヴァキア"
|
||||
|
||||
msgid "Sierra Leone"
|
||||
msgstr ""
|
||||
msgstr "シエラ・レオネ"
|
||||
|
||||
msgid "San Marino"
|
||||
msgstr ""
|
||||
msgstr "サンマリノ"
|
||||
|
||||
msgid "Senegal"
|
||||
msgstr ""
|
||||
msgstr "セネガル"
|
||||
|
||||
msgid "Somalia"
|
||||
msgstr ""
|
||||
msgstr "ソマリア"
|
||||
|
||||
msgid "Suriname"
|
||||
msgstr ""
|
||||
msgstr "スリナム"
|
||||
|
||||
msgid "Sao Tome and Principe"
|
||||
msgstr ""
|
||||
msgstr "サントメ・プリンシペ"
|
||||
|
||||
msgid "El Salvador"
|
||||
msgstr ""
|
||||
msgstr "エルサルバドル"
|
||||
|
||||
msgid "Syrian Arab Republic"
|
||||
msgstr ""
|
||||
msgstr "シリア・アラブ共和国"
|
||||
|
||||
msgid "Swaziland"
|
||||
msgstr ""
|
||||
msgstr "スワジランド"
|
||||
|
||||
msgid "Turks and Caicos Islands"
|
||||
msgstr ""
|
||||
msgstr "タークス・カイコス諸島"
|
||||
|
||||
msgid "Chad"
|
||||
msgstr ""
|
||||
msgstr "チャド"
|
||||
|
||||
msgid "French Southern Territories"
|
||||
msgstr ""
|
||||
msgstr "フランス南方領土"
|
||||
|
||||
msgid "Togo"
|
||||
msgstr ""
|
||||
msgstr "トーゴ"
|
||||
|
||||
msgid "Thailand"
|
||||
msgstr ""
|
||||
msgstr "タイ"
|
||||
|
||||
msgid "Tajikistan"
|
||||
msgstr ""
|
||||
msgstr "タジキスタン"
|
||||
|
||||
msgid "Tokelau"
|
||||
msgstr ""
|
||||
msgstr "トケラウ"
|
||||
|
||||
msgid "Timor-Leste"
|
||||
msgstr ""
|
||||
msgstr "東ティモール"
|
||||
|
||||
msgid "Turkmenistan"
|
||||
msgstr ""
|
||||
msgstr "トルクメニスタン"
|
||||
|
||||
msgid "Tunisia"
|
||||
msgstr ""
|
||||
msgstr "チュニジア"
|
||||
|
||||
msgid "Tonga"
|
||||
msgstr ""
|
||||
msgstr "トンガ"
|
||||
|
||||
msgid "Turkey"
|
||||
msgstr ""
|
||||
msgstr "トルコ"
|
||||
|
||||
msgid "Trinidad and Tobago"
|
||||
msgstr ""
|
||||
msgstr "トリニダード・トバゴ"
|
||||
|
||||
msgid "Tuvalu"
|
||||
msgstr ""
|
||||
msgstr "ツバル"
|
||||
|
||||
msgid "Taiwan"
|
||||
msgstr ""
|
||||
msgstr "台湾"
|
||||
|
||||
msgid "United Republic of Tanzania"
|
||||
msgstr ""
|
||||
msgstr "タンザニア連合共和国"
|
||||
|
||||
msgid "Ukraine"
|
||||
msgstr ""
|
||||
msgstr "ウクライナ"
|
||||
|
||||
msgid "Uganda"
|
||||
msgstr ""
|
||||
msgstr "ウガンダ"
|
||||
|
||||
msgid "United States Minor Outlying Islands"
|
||||
msgstr ""
|
||||
msgstr "合衆国領有小離島"
|
||||
|
||||
msgid "United States"
|
||||
msgstr ""
|
||||
msgstr "アメリカ合衆国"
|
||||
|
||||
msgid "Uruguay"
|
||||
msgstr ""
|
||||
msgstr "ウルグアイ"
|
||||
|
||||
msgid "Uzbekistan"
|
||||
msgstr ""
|
||||
msgstr "ウズベキスタン"
|
||||
|
||||
msgid "Holy See (Vatican City State)"
|
||||
msgstr ""
|
||||
msgstr "教皇庁 (ヴァチカン市国)"
|
||||
|
||||
msgid "Saint Vincent and the Grenadines"
|
||||
msgstr ""
|
||||
msgstr "セントビンセントおよびグレナディーン諸島"
|
||||
|
||||
msgid "Venezuela"
|
||||
msgstr ""
|
||||
msgstr "ベネズエラ"
|
||||
|
||||
msgid "Virgin Islands"
|
||||
msgstr ""
|
||||
msgstr "バージン諸島"
|
||||
|
||||
msgid "Viet Nam"
|
||||
msgstr ""
|
||||
msgstr "ベトナム"
|
||||
|
||||
msgid "Vanuatu"
|
||||
msgstr ""
|
||||
msgstr "バヌアツ"
|
||||
|
||||
msgid "Wallis and Futuna"
|
||||
msgstr ""
|
||||
msgstr "ウォリス・フトゥーナ"
|
||||
|
||||
msgid "Samoa"
|
||||
msgstr ""
|
||||
msgstr "サモア"
|
||||
|
||||
msgid "Yemen"
|
||||
msgstr ""
|
||||
msgstr "イエメン"
|
||||
|
||||
msgid "Mayotte"
|
||||
msgstr ""
|
||||
msgstr "マヨット"
|
||||
|
||||
msgid "South Africa"
|
||||
msgstr ""
|
||||
msgstr "南アフリカ"
|
||||
|
||||
msgid "Zambia"
|
||||
msgstr ""
|
||||
msgstr "ザンビア"
|
||||
|
||||
msgid "Zimbabwe"
|
||||
msgstr ""
|
||||
msgstr "ジンバブエ"
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-14 13:33+0000\n"
|
||||
"PO-Revision-Date: 2013-12-18 03:19+0000\n"
|
||||
"PO-Revision-Date: 2014-02-04 19:47+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -210,226 +210,226 @@ msgid "Dominican Republic"
|
||||
msgstr "República Dominicana"
|
||||
|
||||
msgid "Algeria"
|
||||
msgstr ""
|
||||
msgstr "Argélia"
|
||||
|
||||
msgid "Ecuador"
|
||||
msgstr ""
|
||||
msgstr "Equador"
|
||||
|
||||
msgid "Estonia"
|
||||
msgstr ""
|
||||
msgstr "Estônia"
|
||||
|
||||
msgid "Egypt"
|
||||
msgstr ""
|
||||
msgstr "Egito"
|
||||
|
||||
msgid "Western Sahara"
|
||||
msgstr ""
|
||||
msgstr "Saara Ocidental"
|
||||
|
||||
msgid "Eritrea"
|
||||
msgstr ""
|
||||
msgstr "Eritreia"
|
||||
|
||||
msgid "Spain"
|
||||
msgstr ""
|
||||
msgstr "Espanha"
|
||||
|
||||
msgid "Ethiopia"
|
||||
msgstr ""
|
||||
msgstr "Etiópia"
|
||||
|
||||
msgid "European Union"
|
||||
msgstr ""
|
||||
msgstr "União Europeia"
|
||||
|
||||
msgid "Finland"
|
||||
msgstr ""
|
||||
msgstr "Finlândia"
|
||||
|
||||
msgid "Fiji"
|
||||
msgstr ""
|
||||
msgstr "Fiji"
|
||||
|
||||
msgid "Falkland Islands (Malvinas)"
|
||||
msgstr ""
|
||||
msgstr "Malvinas (Ilhas Falkland)"
|
||||
|
||||
msgid "Federated States of Micronesia"
|
||||
msgstr ""
|
||||
msgstr "Estados Federados da Micronésia"
|
||||
|
||||
msgid "Faroe Islands"
|
||||
msgstr ""
|
||||
msgstr "Ilhas Faroé"
|
||||
|
||||
msgid "France"
|
||||
msgstr ""
|
||||
msgstr "França"
|
||||
|
||||
msgid "Gabon"
|
||||
msgstr ""
|
||||
msgstr "Gabão"
|
||||
|
||||
msgid "United Kingdom"
|
||||
msgstr ""
|
||||
msgstr "Reino Unido"
|
||||
|
||||
msgid "Grenada"
|
||||
msgstr ""
|
||||
msgstr "Granada"
|
||||
|
||||
msgid "Georgia"
|
||||
msgstr ""
|
||||
msgstr "Geórgia"
|
||||
|
||||
msgid "French Guiana"
|
||||
msgstr ""
|
||||
msgstr "Guiana Francesa"
|
||||
|
||||
msgid "Guernsey"
|
||||
msgstr ""
|
||||
msgstr "Guernsey"
|
||||
|
||||
msgid "Ghana"
|
||||
msgstr ""
|
||||
msgstr "Gana"
|
||||
|
||||
msgid "Gibraltar"
|
||||
msgstr ""
|
||||
msgstr "Gibraltar"
|
||||
|
||||
msgid "Greenland"
|
||||
msgstr ""
|
||||
msgstr "Groenlândia"
|
||||
|
||||
msgid "Gambia"
|
||||
msgstr ""
|
||||
msgstr "Gâmbia"
|
||||
|
||||
msgid "Guinea"
|
||||
msgstr ""
|
||||
msgstr "Guiné"
|
||||
|
||||
msgid "Guadeloupe"
|
||||
msgstr ""
|
||||
msgstr "Guadalupe"
|
||||
|
||||
msgid "Equatorial Guinea"
|
||||
msgstr ""
|
||||
msgstr "Guiné Equatorial"
|
||||
|
||||
msgid "Greece"
|
||||
msgstr ""
|
||||
msgstr "Grécia"
|
||||
|
||||
msgid "South Georgia and the South Sandwich Islands"
|
||||
msgstr ""
|
||||
msgstr "Ilhas Geórgia do Sul e Sandwich do Sul"
|
||||
|
||||
msgid "Guatemala"
|
||||
msgstr ""
|
||||
msgstr "Guatemala"
|
||||
|
||||
msgid "Guam"
|
||||
msgstr ""
|
||||
msgstr "Guam"
|
||||
|
||||
msgid "Guinea-Bissau"
|
||||
msgstr ""
|
||||
msgstr "Guiné-Bissau"
|
||||
|
||||
msgid "Guyana"
|
||||
msgstr ""
|
||||
msgstr "Guiana"
|
||||
|
||||
msgid "Hong Kong"
|
||||
msgstr ""
|
||||
msgstr "Hong Kong"
|
||||
|
||||
msgid "Honduras"
|
||||
msgstr ""
|
||||
msgstr "Honduras"
|
||||
|
||||
msgid "Croatia"
|
||||
msgstr ""
|
||||
msgstr "Croácia"
|
||||
|
||||
msgid "Haiti"
|
||||
msgstr ""
|
||||
msgstr "Haiti"
|
||||
|
||||
msgid "Hungary"
|
||||
msgstr ""
|
||||
msgstr "Hungria"
|
||||
|
||||
msgid "Indonesia"
|
||||
msgstr ""
|
||||
msgstr "Indonésia"
|
||||
|
||||
msgid "Ireland"
|
||||
msgstr ""
|
||||
msgstr "Irlanda"
|
||||
|
||||
msgid "Israel"
|
||||
msgstr ""
|
||||
msgstr "Israel"
|
||||
|
||||
msgid "Isle of Man"
|
||||
msgstr ""
|
||||
msgstr "Ilha de Man"
|
||||
|
||||
msgid "India"
|
||||
msgstr ""
|
||||
msgstr "Índia"
|
||||
|
||||
msgid "British Indian Ocean Territory"
|
||||
msgstr ""
|
||||
msgstr "Território Britânico do Oceano Índico"
|
||||
|
||||
msgid "Iraq"
|
||||
msgstr ""
|
||||
msgstr "Iraque"
|
||||
|
||||
msgid "Islamic Republic of Iran"
|
||||
msgstr ""
|
||||
msgstr "Irã"
|
||||
|
||||
msgid "Iceland"
|
||||
msgstr ""
|
||||
msgstr "Islândia"
|
||||
|
||||
msgid "Italy"
|
||||
msgstr ""
|
||||
msgstr "Itália"
|
||||
|
||||
msgid "Jersey"
|
||||
msgstr ""
|
||||
msgstr "Jersey"
|
||||
|
||||
msgid "Jamaica"
|
||||
msgstr ""
|
||||
msgstr "Jamaica"
|
||||
|
||||
msgid "Jordan"
|
||||
msgstr ""
|
||||
msgstr "Jordânia"
|
||||
|
||||
msgid "Japan"
|
||||
msgstr ""
|
||||
msgstr "Japão"
|
||||
|
||||
msgid "Kenya"
|
||||
msgstr ""
|
||||
msgstr "Quênia"
|
||||
|
||||
msgid "Kyrgyzstan"
|
||||
msgstr ""
|
||||
msgstr "Quirguistão"
|
||||
|
||||
msgid "Cambodia"
|
||||
msgstr ""
|
||||
msgstr "Camboja"
|
||||
|
||||
msgid "Kiribati"
|
||||
msgstr ""
|
||||
msgstr "Quiribati"
|
||||
|
||||
msgid "Comoros"
|
||||
msgstr ""
|
||||
msgstr "Comores"
|
||||
|
||||
msgid "Saint Kitts and Nevis"
|
||||
msgstr ""
|
||||
msgstr "São Cristóvão e Nevis"
|
||||
|
||||
msgid "The Democratic People's Republic of Korea"
|
||||
msgstr ""
|
||||
msgstr "Coreia do Norte"
|
||||
|
||||
msgid "Republic of Korea"
|
||||
msgstr ""
|
||||
msgstr "Coreia do Sul"
|
||||
|
||||
msgid "Kuwait"
|
||||
msgstr ""
|
||||
msgstr "Kuaite"
|
||||
|
||||
msgid "Cayman Islands"
|
||||
msgstr ""
|
||||
msgstr "Ilhas Cayman"
|
||||
|
||||
msgid "Kazakhstan"
|
||||
msgstr ""
|
||||
msgstr "Cazaquistão"
|
||||
|
||||
msgid "Lao People's Democratic Republic"
|
||||
msgstr ""
|
||||
msgstr "Laos"
|
||||
|
||||
msgid "Lebanon"
|
||||
msgstr ""
|
||||
msgstr "Líbano"
|
||||
|
||||
msgid "Saint Lucia"
|
||||
msgstr ""
|
||||
msgstr "Santa Lúcia"
|
||||
|
||||
msgid "Liechtenstein"
|
||||
msgstr ""
|
||||
msgstr "Liechtenstein"
|
||||
|
||||
msgid "Sri Lanka"
|
||||
msgstr ""
|
||||
msgstr "Sri Lanka"
|
||||
|
||||
msgid "Liberia"
|
||||
msgstr ""
|
||||
msgstr "Libéria"
|
||||
|
||||
msgid "Lesotho"
|
||||
msgstr ""
|
||||
msgstr "Lesoto"
|
||||
|
||||
msgid "Lithuania"
|
||||
msgstr ""
|
||||
msgstr "Lituânia"
|
||||
|
||||
msgid "Luxembourg"
|
||||
msgstr ""
|
||||
msgstr "Luxemburgo"
|
||||
|
||||
msgid "Latvia"
|
||||
msgstr ""
|
||||
msgstr "Letônia"
|
||||
|
||||
msgid "Libyan Arab Jamahiriya"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,26 +2,25 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the routerconsole package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# plazmism <gomidori@live.jp>, 2013
|
||||
# plazmism <gomidori@live.jp>, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-01 20:04+0000\n"
|
||||
"PO-Revision-Date: 2013-11-26 10:49+0000\n"
|
||||
"POT-Creation-Date: 2013-07-13 21:46+0000\n"
|
||||
"PO-Revision-Date: 2014-02-05 11:58+0000\n"
|
||||
"Last-Translator: plazmism <gomidori@live.jp>\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/"
|
||||
"ja/)\n"
|
||||
"Language: ja\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/projects/p/I2P/language/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ja\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
msgid "Congratulations on getting I2P installed!"
|
||||
msgstr "I2P がインストールされたことに関する設定"
|
||||
msgstr "I2P のインストールに際する設定"
|
||||
|
||||
msgid "Welcome to I2P!"
|
||||
msgstr "I2P にようこそ!"
|
||||
@@ -32,21 +31,18 @@ msgstr "I2P が起動し、ピアを検索するまで{0}お待ちください{1
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"While you are waiting, please {0}adjust your bandwidth settings{1} on the {2}"
|
||||
"configuration page{3}."
|
||||
"While you are waiting, please {0}adjust your bandwidth settings{1} on the "
|
||||
"{2}configuration page{3}."
|
||||
msgstr "お待ちの間、{2}設定ページ{3}で{0}帯域幅設定を調整{1}してください。"
|
||||
|
||||
msgid "Also you can setup your browser to use the I2P proxy to reach eepsites."
|
||||
msgstr ""
|
||||
"また、 eepsite に到達するために I2P プロキシを使用するためにブラウザをセット"
|
||||
"アップしてください。"
|
||||
msgid ""
|
||||
"Also you can setup your browser to use the I2P proxy to reach eepsites."
|
||||
msgstr "また、 eepsite に到達するために I2P プロキシを使用するためにブラウザをセットアップしてください。"
|
||||
|
||||
msgid ""
|
||||
"Just enter 127.0.0.1 (or localhost) port 4444 as a http proxy into your "
|
||||
"browser settings."
|
||||
msgstr ""
|
||||
"127.0.0.1 (または localhost) ポート 4444番をHTTPプロキシとして、ブラウザ設定"
|
||||
"に入力してください。"
|
||||
msgstr "127.0.0.1 (または localhost) ポート 4444番をHTTPプロキシとして、ブラウザ設定に入力してください。"
|
||||
|
||||
msgid "Do not use SOCKS for this."
|
||||
msgstr "これには SOCKS を使用しないでください。"
|
||||
@@ -54,20 +50,16 @@ msgstr "これには SOCKS を使用しないでください。"
|
||||
#, java-format
|
||||
msgid ""
|
||||
"More information can be found on the {0}I2P browser proxy setup page{1}."
|
||||
msgstr "さらなる情報は {0}I2P ブラウザプロキシ設定ページ{1}で見つけられます。"
|
||||
msgstr "詳細は {0}I2P ブラウザプロキシ設定ページ{1} にあります。"
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Once you have a \"shared clients\" destination listed on the left, please {0}"
|
||||
"check out{1} our {2}FAQ{3}."
|
||||
msgstr ""
|
||||
"左にリストされている「共有クライアント」の宛先があれば、{2}FAQ{3}を{0}確認{1}"
|
||||
"してください。"
|
||||
"Once you have a \"shared clients\" destination listed on the left, please "
|
||||
"{0}check out{1} our {2}FAQ{3}."
|
||||
msgstr "左にリストされている「共有クライアント」の宛先があれば、{2}FAQ{3}を{0}確認{1}してください。"
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Point your IRC client to {0}localhost:6668{1} and say hi to us on {2}#i2p-"
|
||||
"help{3} or {4}#i2p{5}."
|
||||
msgstr ""
|
||||
"IRCクライアントを{0}localhost:6668{1}にポイントし、 {2}#i2p-help{3}かr {4}"
|
||||
"#i2p{5}で私たちに挨拶してください。"
|
||||
msgstr "IRCクライアントを{0}localhost:6668{1}に合わせ、 {2}#i2p-help{3}かr {4}#i2p{5}で私たちによろしくどうぞ。"
|
||||
|
||||
@@ -2,23 +2,22 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the routerconsole package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 18:16+0000\n"
|
||||
"PO-Revision-Date: 2013-12-02 23:17+0000\n"
|
||||
"POT-Creation-Date: 2013-07-13 21:46+0000\n"
|
||||
"PO-Revision-Date: 2014-02-04 13:02+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/"
|
||||
"language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
msgid "Congratulations on getting I2P installed!"
|
||||
@@ -29,27 +28,22 @@ msgstr "Seja bem-vindo à I2P!"
|
||||
|
||||
#, java-format
|
||||
msgid "Please {0}have patience{1} as I2P boots up and finds peers."
|
||||
msgstr ""
|
||||
"Por favor, {0}tenha paciência{1}: a I2P está sendo inicializada e procurando "
|
||||
"por nós."
|
||||
msgstr "Por favor, {0}tenha paciência{1}: a I2P está sendo inicializada e procurando por nodos."
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"While you are waiting, please {0}adjust your bandwidth settings{1} on the {2}"
|
||||
"configuration page{3}."
|
||||
msgstr ""
|
||||
"Enquanto você aguarda, por favor, {0}ajuste as especificações da sua banda "
|
||||
"larga{1} na {2}página de configuração{3}."
|
||||
"While you are waiting, please {0}adjust your bandwidth settings{1} on the "
|
||||
"{2}configuration page{3}."
|
||||
msgstr "Enquanto você aguarda, por favor, {0}ajuste as especificações da sua banda larga{1} na {2}página de configuração{3}."
|
||||
|
||||
msgid "Also you can setup your browser to use the I2P proxy to reach eepsites."
|
||||
msgstr ""
|
||||
"Além disso, você pode configurar o seu navegador para usar o proxy I2P para "
|
||||
"acessar eepsites."
|
||||
msgid ""
|
||||
"Also you can setup your browser to use the I2P proxy to reach eepsites."
|
||||
msgstr "Além disso, você pode configurar o seu navegador para usar o proxy I2P para acessar eepsites."
|
||||
|
||||
msgid ""
|
||||
"Just enter 127.0.0.1 (or localhost) port 4444 as a http proxy into your "
|
||||
"browser settings."
|
||||
msgstr ""
|
||||
msgstr "Apenas entre com 127.0.0.1 (ou localhost) porta 4444 como um proxy http nas configurações do seu navegador."
|
||||
|
||||
msgid "Do not use SOCKS for this."
|
||||
msgstr "Não use SOCKS para isto!"
|
||||
@@ -57,18 +51,16 @@ msgstr "Não use SOCKS para isto!"
|
||||
#, java-format
|
||||
msgid ""
|
||||
"More information can be found on the {0}I2P browser proxy setup page{1}."
|
||||
msgstr ""
|
||||
msgstr "Informações adicionais podem ser encontradas na {0}página de configuração do proxy de navegação I2P{1}."
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Once you have a \"shared clients\" destination listed on the left, please {0}"
|
||||
"check out{1} our {2}FAQ{3}."
|
||||
msgstr ""
|
||||
"Once you have a \"shared clients\" destination listed on the left, please "
|
||||
"{0}check out{1} our {2}FAQ{3}."
|
||||
msgstr "Uma vez que você tenha um destino de \"clientes compartilhados\" listado a esquerda, por favor, {0}verifique{1} nossa página de {2}Perguntas Frequentes{3}."
|
||||
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Point your IRC client to {0}localhost:6668{1} and say hi to us on {2}#i2p-"
|
||||
"help{3} or {4}#i2p{5}."
|
||||
msgstr ""
|
||||
"Direcione o seu cliente IRC para {0}localhost:6668{1} e nos dê um oi em {2}"
|
||||
"#i2p-help{3} ou {4}#i2p{5}."
|
||||
msgstr "Direcione o seu cliente IRC para {0}localhost:6668{1} e nos dê um oi em {2}#i2p-help{3} ou {4}#i2p{5}."
|
||||
|
||||
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-12 11:28+0000\n"
|
||||
"PO-Revision-Date: 2014-01-26 21:36+0000\n"
|
||||
"Last-Translator: cacapo <handelsehorisont@gmail.com>\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/projects/p/I2P/language/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -1384,7 +1384,7 @@ msgstr "Opdaterings link"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:279
|
||||
msgid "Stop"
|
||||
msgstr "Sto"
|
||||
msgstr "Stop"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:283
|
||||
#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:141
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P routerconsole\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"POT-Creation-Date: 2014-02-06 18:27+0000\n"
|
||||
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
|
||||
"Last-Translator: duck <duck@mail.i2p>\n"
|
||||
"Language-Team: duck <duck@mail.i2p>\n"
|
||||
@@ -170,36 +170,36 @@ msgstr ""
|
||||
msgid "Rejecting tunnels"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:158
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:162
|
||||
#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:22
|
||||
msgid "Reseeding"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:170
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:174
|
||||
#, java-format
|
||||
msgid "Reseed fetched only 1 router."
|
||||
msgid_plural "Reseed fetched only {0} routers."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:177
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:181
|
||||
msgid "Reseed failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:178
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:182
|
||||
#, java-format
|
||||
msgid "See {0} for help."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:179
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:183
|
||||
msgid "reseed configuration page"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:325
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:329
|
||||
msgid "Reseeding: fetching seed URL."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:383
|
||||
#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:387
|
||||
#, java-format
|
||||
msgid ""
|
||||
"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
|
||||
@@ -734,60 +734,60 @@ msgstr ""
|
||||
msgid "Dropping tunnel requests: Queue time"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:760
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:762
|
||||
#, java-format
|
||||
msgid "New plugin version {0} is available"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:838
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:840
|
||||
#, java-format
|
||||
msgid "Update check failed for plugin {0}"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:840
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:842
|
||||
#, java-format
|
||||
msgid "No new version is available for plugin {0}"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:863
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:865
|
||||
#, java-format
|
||||
msgid "{0}B transferred"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:916
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:918
|
||||
#: ../java/src/net/i2p/router/update/UpdateRunner.java:288
|
||||
#, java-format
|
||||
msgid "Transfer failed from {0}"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1153
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1217
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1241
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1155
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1219
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1243
|
||||
#: ../java/src/net/i2p/router/web/SummaryHelper.java:671
|
||||
msgid "Update downloaded"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1197
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1241
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1199
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1243
|
||||
msgid "Restarting"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1197
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1199
|
||||
msgid "Update verified"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1206
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1208
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:136
|
||||
#, java-format
|
||||
msgid "from {0}"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1221
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1223
|
||||
#, java-format
|
||||
msgid "Unsigned update file from {0} is corrupt"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1250
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:1252
|
||||
#, java-format
|
||||
msgid "Failed copy to {0}"
|
||||
msgstr ""
|
||||
@@ -1139,13 +1139,13 @@ msgid "Save Plugin Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:56
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:586
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:590
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:589
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:593
|
||||
msgid "Install Plugin"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:60
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:592
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:595
|
||||
msgid "Update All Installed Plugins"
|
||||
msgstr ""
|
||||
|
||||
@@ -1525,7 +1525,7 @@ msgstr ""
|
||||
#. http://www.dhs.gov/xinfoshare/programs/Copy_of_press_release_0046.shtm
|
||||
#. but pink instead of yellow for WARN
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:117
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:129
|
||||
msgid "CRIT"
|
||||
msgstr ""
|
||||
|
||||
@@ -1534,22 +1534,22 @@ msgid "DEBUG"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:119
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:131
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:123
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:135
|
||||
msgid "INFO"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:121
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:133
|
||||
msgid "WARN"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:144
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:145
|
||||
#: ../java/src/net/i2p/router/web/HomeHelper.java:195
|
||||
#: ../java/src/net/i2p/router/web/SummaryHelper.java:851
|
||||
msgid "Remove"
|
||||
@@ -2284,77 +2284,81 @@ msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:85
|
||||
msgid "Hungarian"
|
||||
msgid "Hebrew"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:86
|
||||
msgid "Italian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:87
|
||||
msgid "Japanese"
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:88
|
||||
msgid "Dutch"
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:89
|
||||
msgid "Norwegian Bokmaal"
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:90
|
||||
msgid "Polish"
|
||||
msgid "Norwegian Bokmaal"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:91
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:92
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:93
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:93
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:94
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:94
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:95
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:95
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:96
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:96
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:97
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:97
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:98
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:98
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:99
|
||||
msgid "Vietnamese"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:99
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:100
|
||||
msgid "Chinese"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:140
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:141
|
||||
msgid "Add a user and password to enable."
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:146
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:147
|
||||
msgid "User Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:157
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:158
|
||||
#: ../java/src/net/i2p/router/web/HomeHelper.java:217
|
||||
#: ../java/src/net/i2p/router/web/SummaryHelper.java:899
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:160
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:161
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:534
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
@@ -2899,16 +2903,16 @@ msgstr ""
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:32
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:79
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:37
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:91
|
||||
msgid "File location"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:76
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:88
|
||||
msgid "File not found"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:94
|
||||
#: ../java/src/net/i2p/router/web/LogsHelper.java:106
|
||||
msgid "No log messages"
|
||||
msgstr ""
|
||||
|
||||
@@ -4496,7 +4500,7 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:546
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:562
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:576
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:588
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:591
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:470
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:490
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:506
|
||||
@@ -4652,6 +4656,11 @@ msgid "Plugin Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:582
|
||||
#, java-format
|
||||
msgid "Look for available plugins on {0}."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:585
|
||||
msgid "To install a plugin, enter the download URL:"
|
||||
msgstr ""
|
||||
|
||||
@@ -4676,7 +4685,7 @@ msgid "Recommended Eepsites"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:496
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:409
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:411
|
||||
msgid "Local Services"
|
||||
msgstr ""
|
||||
|
||||
@@ -5831,8 +5840,8 @@ msgstr ""
|
||||
msgid "home"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/console_jsp.java:396
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:377
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/console_jsp.java:398
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:379
|
||||
msgid "Welcome to I2P"
|
||||
msgstr ""
|
||||
|
||||
@@ -5947,11 +5956,11 @@ msgid ""
|
||||
"change it later."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:385
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:387
|
||||
msgid "Search I2P"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:405
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:407
|
||||
msgid "Eepsites of Interest"
|
||||
msgstr ""
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@ msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-18 22:20+0000\n"
|
||||
"PO-Revision-Date: 2014-01-22 15:14+0000\n"
|
||||
"Last-Translator: kgtm <fabio.h.f.antunes@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -3111,31 +3111,31 @@ msgstr "NTCP e SSU com intermediadores"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:448
|
||||
msgid "IPv6 Only SSU, introducers"
|
||||
msgstr ""
|
||||
msgstr "Apenas IPv6 com introdutores SSU"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:448
|
||||
msgid "IPv6 SSU"
|
||||
msgstr ""
|
||||
msgstr "SSU IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:448
|
||||
msgid "IPv6 SSU, introducers"
|
||||
msgstr ""
|
||||
msgstr "SSU introdutores com IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:449
|
||||
msgid "IPv6 NTCP"
|
||||
msgstr ""
|
||||
msgstr "NTCP IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:449
|
||||
msgid "IPv6 NTCP, SSU"
|
||||
msgstr ""
|
||||
msgstr "NTCP e SSU com IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:449
|
||||
msgid "IPv6 NTCP, SSU, introducers"
|
||||
msgstr ""
|
||||
msgstr "NTCP e SSU introdutores com IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:449
|
||||
msgid "IPv6 Only NTCP, SSU, introducers"
|
||||
msgstr ""
|
||||
msgstr "Apenas NTCP e SSU introdutores com IPv6"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NewsHelper.java:252
|
||||
#, java-format
|
||||
|
||||
@@ -2,31 +2,33 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the routerconsole package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 18:16+0000\n"
|
||||
"PO-Revision-Date: 2013-11-25 21:53+0000\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-31 17:09+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/"
|
||||
"language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
|
||||
#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
|
||||
#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there
|
||||
#. are several options...
|
||||
#. spaces or not, '.' or not, plural or not. Try not to make it too long, it
|
||||
#. is used in
|
||||
#. a lot of tables.
|
||||
#. milliseconds
|
||||
#. Note to translators, may be negative or zero, 2999 maximum.
|
||||
#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
|
||||
#. {0,number,####} prevents 1234 from being output as 1,234 in the English
|
||||
#. locale.
|
||||
#. If you want the digit separator in your locale, translate as {0}.
|
||||
#. alternates: msec, msecs
|
||||
#: ../../../core/java/src/net/i2p/data/DataHelper.java:1484
|
||||
@@ -119,7 +121,8 @@ msgstr ""
|
||||
|
||||
#. NPE, too early
|
||||
#. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
|
||||
#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
|
||||
#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too
|
||||
#. low");
|
||||
#. else
|
||||
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:75
|
||||
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:120
|
||||
@@ -132,7 +135,8 @@ msgid "Rejecting tunnels: High message delay"
|
||||
msgstr "Rejeitando túneis: mensagens com tempo de retardo alto"
|
||||
|
||||
#. hard to do {0} from here
|
||||
#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of tunnels: High number of requests");
|
||||
#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of
|
||||
#. tunnels: High number of requests");
|
||||
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:196
|
||||
msgid "Rejecting most tunnels: High number of requests"
|
||||
msgstr "Rejeitando a maioria dos túneis: Muitos pedidos"
|
||||
@@ -149,13 +153,15 @@ msgid "Rejecting tunnels: Bandwidth limit"
|
||||
msgstr "Rejeitando túneis: limitação na largura de banda"
|
||||
|
||||
#. hard to do {0} from here
|
||||
#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit");
|
||||
#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels:
|
||||
#. Bandwidth limit");
|
||||
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:380
|
||||
msgid "Rejecting most tunnels: Bandwidth limit"
|
||||
msgstr "Rejeitando a maioria dos túneis: limitação na largura de banda"
|
||||
|
||||
#. hard to do {0} from here
|
||||
#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
|
||||
#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of
|
||||
#. tunnels");
|
||||
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:384
|
||||
msgid "Accepting most tunnels"
|
||||
msgstr "Aceitando a maioria dos túneis"
|
||||
@@ -208,7 +214,8 @@ msgid ""
|
||||
"Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
|
||||
msgstr ""
|
||||
|
||||
#. NOTE TO TRANSLATORS - each of these phrases is a description for a statistic
|
||||
#. NOTE TO TRANSLATORS - each of these phrases is a description for a
|
||||
#. statistic
|
||||
#. to be displayed on /stats.jsp and in the graphs on /graphs.jsp.
|
||||
#. Please keep relatively short so it will fit on the graphs.
|
||||
#: ../../../router/java/src/net/i2p/router/tasks/CoalesceStatsEvent.java:33
|
||||
@@ -239,7 +246,8 @@ msgstr ""
|
||||
msgid "NetDb entry"
|
||||
msgstr "Entrada do BD da rede"
|
||||
|
||||
#. This used to be "no common transports" but it is almost always no transports at all
|
||||
#. This used to be "no common transports" but it is almost always no
|
||||
#. transports at all
|
||||
#: ../../../router/java/src/net/i2p/router/transport/GetBidsJob.java:73
|
||||
msgid "No transports (hidden or starting up?)"
|
||||
msgstr ""
|
||||
@@ -273,10 +281,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"To override these limits, add the settings i2np.ntcp.maxConnections=nnn and "
|
||||
"i2np.udp.maxConnections=nnn on the advanced configuration page."
|
||||
msgstr ""
|
||||
"Para sobrescrever estes limites, adicione as espeficações i2np.ntcp."
|
||||
"maxConnections=nnn e i2np.udp.maxConnections=nnn na página de configurações "
|
||||
"avançadas."
|
||||
msgstr "Para sobrescrever estes limites, adicione as espeficações i2np.ntcp.maxConnections=nnn e i2np.udp.maxConnections=nnn na página de configurações avançadas."
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:586
|
||||
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:274
|
||||
@@ -292,7 +297,7 @@ msgstr "Definições"
|
||||
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:86
|
||||
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
|
||||
msgid "Peer"
|
||||
msgstr "Nós"
|
||||
msgstr "Nodos"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:587
|
||||
msgid "The remote peer, identified by router hash"
|
||||
@@ -317,7 +322,8 @@ msgid "They offered to introduce us (help other peers traverse our firewall)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:595
|
||||
msgid "We offered to introduce them (help other peers traverse their firewall)"
|
||||
msgid ""
|
||||
"We offered to introduce them (help other peers traverse their firewall)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:596
|
||||
@@ -388,7 +394,9 @@ msgstr ""
|
||||
msgid "The round trip time in milliseconds"
|
||||
msgstr ""
|
||||
|
||||
#. "<b id=\"def.dev\">").append(_("Dev")).append("</b>: ").append(_("The standard deviation of the round trip time in milliseconds")).append("<br>\n" +
|
||||
#. "<b id=\"def.dev\">").append(_("Dev")).append("</b>: ").append(_("The
|
||||
#. standard deviation of the round trip time in
|
||||
#. milliseconds")).append("<br>\n" +
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:607
|
||||
msgid "The retransmit timeout in milliseconds"
|
||||
msgstr ""
|
||||
@@ -541,7 +549,8 @@ msgid "UPnP reports the maximum upstream bit rate is {0}bits/sec"
|
||||
msgstr ""
|
||||
|
||||
#. {0} is TCP or UDP
|
||||
#. {1,number,#####} prevents 12345 from being output as 12,345 in the English locale.
|
||||
#. {1,number,#####} prevents 12345 from being output as 12,345 in the English
|
||||
#. locale.
|
||||
#. If you want the digit separator in your locale, translate as {1}.
|
||||
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:651
|
||||
#, java-format
|
||||
@@ -743,7 +752,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:760
|
||||
#, java-format
|
||||
msgid "New plugin version {0} is available"
|
||||
msgstr ""
|
||||
msgstr "Um nova versão da extensão {0} está disponível"
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:838
|
||||
#, java-format
|
||||
@@ -753,7 +762,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:840
|
||||
#, java-format
|
||||
msgid "No new version is available for plugin {0}"
|
||||
msgstr ""
|
||||
msgstr "Não há nenhuma nova versão da extensão {0} disponível"
|
||||
|
||||
#: ../java/src/net/i2p/router/update/ConsoleUpdateManager.java:863
|
||||
#, java-format
|
||||
@@ -858,7 +867,7 @@ msgstr "Extensão baixada"
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:363
|
||||
#, java-format
|
||||
msgid "Cannot create plugin directory {0}"
|
||||
msgstr ""
|
||||
msgstr "Não é possível criar o diretório da extensão {0}"
|
||||
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:146
|
||||
#, java-format
|
||||
@@ -870,7 +879,8 @@ msgstr "A extensão de {0} está corrompida"
|
||||
msgid "Plugin from {0} does not contain the required configuration file"
|
||||
msgstr "A extensão de {0} não contém o arquivo de configuração necessário"
|
||||
|
||||
#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
|
||||
#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' '
|
||||
#. + signer + "</b>");
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:170
|
||||
#, java-format
|
||||
msgid "Plugin from {0} contains an invalid key"
|
||||
@@ -896,7 +906,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:249
|
||||
#, java-format
|
||||
msgid "This plugin requires I2P version {0} or higher"
|
||||
msgstr ""
|
||||
msgstr "Esta extensão requer a versão {0} ou mais recente do roteador I2P"
|
||||
|
||||
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:257
|
||||
#, java-format
|
||||
@@ -994,7 +1004,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/update/UpdateRunner.java:265
|
||||
#, java-format
|
||||
msgid "No new version found at {0}"
|
||||
msgstr ""
|
||||
msgstr "Nenhuma nova versão de {0} foi encontrada"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/BanlistRenderer.java:64
|
||||
#, java-format
|
||||
@@ -1126,7 +1136,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:40
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:478
|
||||
msgid "Save Client Configuration"
|
||||
msgstr "Salvar configuração de cliente"
|
||||
msgstr "Salvar configuração do cliente"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:44
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:544
|
||||
@@ -1519,8 +1529,8 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
|
||||
msgid ""
|
||||
"Or put entries in the logger.config file. Example: logger.record.net.i2p."
|
||||
"router.tunnel=WARN"
|
||||
"Or put entries in the logger.config file. Example: "
|
||||
"logger.record.net.i2p.router.tunnel=WARN"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
|
||||
@@ -1563,7 +1573,7 @@ msgstr "Remover"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
|
||||
msgid "Select a class to add"
|
||||
msgstr "Selecione a classe para adicionar"
|
||||
msgstr "Selecione uma classe para adicionar"
|
||||
|
||||
#. stat groups for stats.jsp
|
||||
#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
|
||||
@@ -2124,7 +2134,8 @@ msgstr ""
|
||||
msgid "Saved order of sections."
|
||||
msgstr ""
|
||||
|
||||
#. the count isn't really correct anyway, since we don't check for actual changes
|
||||
#. the count isn't really correct anyway, since we don't check for actual
|
||||
#. changes
|
||||
#. addFormNotice("Updated settings for " + updated + " pools.");
|
||||
#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:136
|
||||
msgid "Updated settings for all pools."
|
||||
@@ -2222,7 +2233,7 @@ msgstr "Alteração do tema salva."
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:61
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:66
|
||||
msgid "Refresh the page to view."
|
||||
msgstr ""
|
||||
msgstr "Para visualizar, recarregue a página."
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:64
|
||||
msgid "Mobile console option saved."
|
||||
@@ -2434,11 +2445,11 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:120
|
||||
msgid "Every"
|
||||
msgstr ""
|
||||
msgstr "Sempre"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:138
|
||||
msgid "Notify only"
|
||||
msgstr ""
|
||||
msgstr "Informar apenas"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:145
|
||||
msgid "Download and verify only"
|
||||
@@ -2469,7 +2480,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/web/GraphHelper.java:232
|
||||
#, java-format
|
||||
msgid "{0} for {1}"
|
||||
msgstr ""
|
||||
msgstr "{0} para {1}"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/GraphHelper.java:219
|
||||
#: ../java/src/net/i2p/router/web/StatSummarizer.java:304
|
||||
@@ -2567,7 +2578,7 @@ msgstr "altura"
|
||||
#: ../java/src/net/i2p/router/web/GraphHelper.java:360
|
||||
#: ../java/src/net/i2p/router/web/GraphHelper.java:361
|
||||
msgid "pixels"
|
||||
msgstr ""
|
||||
msgstr "pixels"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/GraphHelper.java:362
|
||||
msgid "Refresh delay"
|
||||
@@ -2664,7 +2675,8 @@ msgstr ""
|
||||
msgid "Bug tracker"
|
||||
msgstr ""
|
||||
|
||||
#. "colombo-bt.i2p" + S + _x("The Italian Bittorrent Resource") + S + "http://colombo-bt.i2p/" + S + I + "colomboicon.png" + S +
|
||||
#. "colombo-bt.i2p" + S + _x("The Italian Bittorrent Resource") + S + "http
|
||||
#. ://colombo-bt.i2p/" + S + I + "colomboicon.png" + S +
|
||||
#: ../java/src/net/i2p/router/web/HomeHelper.java:41
|
||||
msgid "Dev Forum"
|
||||
msgstr ""
|
||||
@@ -2733,7 +2745,8 @@ msgstr ""
|
||||
msgid "Simple and fast microblogging website"
|
||||
msgstr ""
|
||||
|
||||
#. _x("Key Server") + S + _x("OpenPGP Keyserver") + S + "http://keys.i2p/" + S + I + "education.png" + S +
|
||||
#. _x("Key Server") + S + _x("OpenPGP Keyserver") + S + "http://keys.i2p/" + S
|
||||
#. + I + "education.png" + S +
|
||||
#: ../java/src/net/i2p/router/web/HomeHelper.java:51
|
||||
msgid "Debian and Tahoe-LAFS repositories"
|
||||
msgstr ""
|
||||
@@ -2963,7 +2976,7 @@ msgstr "Local"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:139
|
||||
msgid "Unpublished"
|
||||
msgstr ""
|
||||
msgstr "Não publicado"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:140
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:147
|
||||
@@ -3049,7 +3062,7 @@ msgstr "{0} atrás"
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:406
|
||||
msgid "Published"
|
||||
msgstr ""
|
||||
msgstr "Publicado"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:408
|
||||
msgid "Address(es)"
|
||||
@@ -3401,12 +3414,14 @@ msgstr ""
|
||||
msgid "Highest events per period"
|
||||
msgstr ""
|
||||
|
||||
#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
|
||||
#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) &&
|
||||
#. (curFreq.getAverageEventsPerPeriod() > 0) ) {
|
||||
#. buf.append("(current is ");
|
||||
#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
|
||||
#. buf.append(" of max)");
|
||||
#. }
|
||||
#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
|
||||
#. buf.append(" <i>avg interval between updates:</i>
|
||||
#. (").append(num(curFreq.getAverageInterval())).append("ms, min ");
|
||||
#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
|
||||
#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
|
||||
msgid "Lifetime average events per period"
|
||||
@@ -3484,7 +3499,7 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:144
|
||||
msgid "Help & FAQ"
|
||||
msgstr "Ajuda & FAQ"
|
||||
msgstr "Ajuda & Perguntas Frequentes"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:152
|
||||
msgid ""
|
||||
@@ -3580,11 +3595,11 @@ msgstr "Identidade local"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:282
|
||||
msgid "Your unique I2P router identity is"
|
||||
msgstr ""
|
||||
msgstr "O identificador, único, do seu roteador I2P é"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:286
|
||||
msgid "never reveal it to anyone"
|
||||
msgstr ""
|
||||
msgstr "nunca revele-o para alguém"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:288
|
||||
msgid "show"
|
||||
@@ -3672,7 +3687,8 @@ msgstr "Usados"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:498
|
||||
msgid ""
|
||||
"Used for building and testing tunnels, and communicating with floodfill peers"
|
||||
"Used for building and testing tunnels, and communicating with floodfill "
|
||||
"peers"
|
||||
msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:501
|
||||
@@ -3887,7 +3903,8 @@ msgstr ""
|
||||
|
||||
#. Note to translators: parameter is a date and time, e.g. "02-Mar 20:34 UTC"
|
||||
#. <br> is optional, to help the browser make the lines even in the button
|
||||
#. If the translation is shorter than the English, you should probably not include <br>
|
||||
#. If the translation is shorter than the English, you should probably not
|
||||
#. include <br>
|
||||
#: ../java/src/net/i2p/router/web/SummaryHelper.java:721
|
||||
#, java-format
|
||||
msgid "Download Unsigned<br>Update {0}"
|
||||
@@ -4128,7 +4145,7 @@ msgstr ""
|
||||
|
||||
#: ../java/strings/Strings.java:37
|
||||
msgid "IRC proxy"
|
||||
msgstr ""
|
||||
msgstr "Proxy IRC"
|
||||
|
||||
#: ../java/strings/Strings.java:38
|
||||
msgid "eepsite"
|
||||
@@ -4140,16 +4157,16 @@ msgstr ""
|
||||
|
||||
#: ../java/strings/Strings.java:40
|
||||
msgid "HTTP Proxy"
|
||||
msgstr ""
|
||||
msgstr "Proxy HTTP"
|
||||
|
||||
#. older names for pre-0.7.4 installs
|
||||
#: ../java/strings/Strings.java:42
|
||||
msgid "eepProxy"
|
||||
msgstr ""
|
||||
msgstr "eepProxy"
|
||||
|
||||
#: ../java/strings/Strings.java:43
|
||||
msgid "ircProxy"
|
||||
msgstr ""
|
||||
msgstr "proxyIrc"
|
||||
|
||||
#. hardcoded in i2psnark
|
||||
#: ../java/strings/Strings.java:45
|
||||
@@ -4341,7 +4358,8 @@ msgstr ""
|
||||
msgid "Router is down"
|
||||
msgstr ""
|
||||
|
||||
#. We have intl defined when this is included, but not when compiled standalone.
|
||||
#. We have intl defined when this is included, but not when compiled
|
||||
#. standalone.
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:299
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:299
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
|
||||
@@ -4540,11 +4558,11 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:354
|
||||
msgid "I2P Client Configuration"
|
||||
msgstr ""
|
||||
msgstr "Configuração do cliente I2P"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:451
|
||||
msgid "Client Configuration"
|
||||
msgstr ""
|
||||
msgstr "Configuração do cliente"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:453
|
||||
msgid ""
|
||||
@@ -4554,8 +4572,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:455
|
||||
msgid ""
|
||||
"Be careful changing any settings here. The 'router console' and 'application "
|
||||
"tunnels' are required for most uses of I2P. Only advanced users should "
|
||||
"Be careful changing any settings here. The 'router console' and 'application"
|
||||
" tunnels' are required for most uses of I2P. Only advanced users should "
|
||||
"change these."
|
||||
msgstr ""
|
||||
|
||||
@@ -4603,7 +4621,7 @@ msgstr "Autorização"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:530
|
||||
msgid "Require username and password"
|
||||
msgstr ""
|
||||
msgstr "Necessário nome de usuário e senha"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:532
|
||||
msgid "Username"
|
||||
@@ -4631,8 +4649,8 @@ msgstr ""
|
||||
msgid ""
|
||||
"The Java web applications listed below are started by the webConsole client "
|
||||
"and run in the same JVM as the router. They are usually web applications "
|
||||
"accessible through the router console. They may be complete applications (e."
|
||||
"g. i2psnark),front-ends to another client or application which must be "
|
||||
"accessible through the router console. They may be complete applications "
|
||||
"(e.g. i2psnark),front-ends to another client or application which must be "
|
||||
"separately enabled (e.g. susidns, i2ptunnel), or have no web interface at "
|
||||
"all (e.g. addressbook)."
|
||||
msgstr ""
|
||||
@@ -4682,7 +4700,7 @@ msgid "Recommended Eepsites"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:496
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:407
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:409
|
||||
msgid "Local Services"
|
||||
msgstr ""
|
||||
|
||||
@@ -4818,7 +4836,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:464
|
||||
msgid "IP Configuration"
|
||||
msgstr ""
|
||||
msgstr "Configuração de IP"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:466
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:552
|
||||
@@ -4852,7 +4870,7 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:492
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:570
|
||||
msgid "Specify hostname or IP"
|
||||
msgstr ""
|
||||
msgstr "Especificar o hostname ou IP"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:496
|
||||
msgid "Action when IP changes"
|
||||
@@ -4921,7 +4939,7 @@ msgstr "Usar endereço de IP automaticamente detectado"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:558
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:590
|
||||
msgid "currently"
|
||||
msgstr ""
|
||||
msgstr "atualmente"
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:562
|
||||
msgid "if we are not firewalled"
|
||||
@@ -4970,14 +4988,14 @@ msgstr "Ajuda de configuração"
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:660
|
||||
msgid ""
|
||||
"While I2P will work fine behind most firewalls, your speeds and network "
|
||||
"integration will generally improve if the I2P port is forwarded for both UDP "
|
||||
"and TCP."
|
||||
"integration will generally improve if the I2P port is forwarded for both UDP"
|
||||
" and TCP."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:613
|
||||
msgid ""
|
||||
"If you can, please poke a hole in your firewall to allow unsolicited UDP and "
|
||||
"TCP packets to reach you."
|
||||
"If you can, please poke a hole in your firewall to allow unsolicited UDP and"
|
||||
" TCP packets to reach you."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:615
|
||||
@@ -4988,8 +5006,9 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:617
|
||||
msgid ""
|
||||
"Most of the options above are for special situations, for example where UPnP "
|
||||
"does not work correctly, or a firewall not under your control is doing harm."
|
||||
"Most of the options above are for special situations, for example where UPnP"
|
||||
" does not work correctly, or a firewall not under your control is doing "
|
||||
"harm."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:619
|
||||
@@ -5050,7 +5069,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:652
|
||||
msgid ""
|
||||
"Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
|
||||
"Also, <b>do not enter a private IP address</b> like 127.0.0.1 or "
|
||||
"192.168.1.1."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:654
|
||||
@@ -5149,8 +5169,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:700
|
||||
msgid ""
|
||||
"You have configured I2P to share more than 128KBps of bandwidth, but you are "
|
||||
"firewalled."
|
||||
"You have configured I2P to share more than 128KBps of bandwidth, but you are"
|
||||
" firewalled."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:702
|
||||
@@ -5186,8 +5206,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:714
|
||||
msgid ""
|
||||
"If your TCP port is firewalled with inbound TCP enabled, routers will not be "
|
||||
"able to contact you via TCP, which will hurt the network."
|
||||
"If your TCP port is firewalled with inbound TCP enabled, routers will not be"
|
||||
" able to contact you via TCP, which will hurt the network."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:716
|
||||
@@ -5297,7 +5317,7 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:760
|
||||
msgid "Please configure a TCP host and port above or enable UDP."
|
||||
msgstr ""
|
||||
msgstr "Por favor, configure um host e uma porta para o TCP acima ou habilite o UDP."
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:762
|
||||
msgid "ERR - Client Manager I2CP Error - check logs"
|
||||
@@ -5344,8 +5364,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:478
|
||||
msgid ""
|
||||
"Bonuses may be positive or negative, and affect the peer's inclusion in Fast "
|
||||
"and High Capacity tiers. Fast peers are used for client tunnels, and High "
|
||||
"Bonuses may be positive or negative, and affect the peer's inclusion in Fast"
|
||||
" and High Capacity tiers. Fast peers are used for client tunnels, and High "
|
||||
"Capacity peers are used for some exploratory tunnels. Current bonuses are "
|
||||
"displayed on the"
|
||||
msgstr ""
|
||||
@@ -5483,19 +5503,20 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:439
|
||||
msgid ""
|
||||
"Graceful shutdown lets the router satisfy the agreements it has already made "
|
||||
"before shutting down, but may take a few minutes."
|
||||
"Graceful shutdown lets the router satisfy the agreements it has already made"
|
||||
" before shutting down, but may take a few minutes."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:441
|
||||
msgid ""
|
||||
"If you need to kill the router immediately, that option is available as well."
|
||||
"If you need to kill the router immediately, that option is available as "
|
||||
"well."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:451
|
||||
msgid ""
|
||||
"If you want the router to restart itself after shutting down, you can choose "
|
||||
"one of the following."
|
||||
"If you want the router to restart itself after shutting down, you can choose"
|
||||
" one of the following."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:453
|
||||
@@ -5513,8 +5534,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:457
|
||||
msgid ""
|
||||
"After tearing down the router, it will wait 1 minute before starting back up "
|
||||
"again."
|
||||
"After tearing down the router, it will wait 1 minute before starting back up"
|
||||
" again."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:467
|
||||
@@ -5534,7 +5555,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:473
|
||||
msgid "If you are on windows, you can either enable or disable that icon here."
|
||||
msgid ""
|
||||
"If you are on windows, you can either enable or disable that icon here."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:475
|
||||
@@ -5551,8 +5573,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:481
|
||||
msgid ""
|
||||
"You can control whether I2P is run on startup or not by selecting one of the "
|
||||
"following options - I2P will install (or remove) a service accordingly."
|
||||
"You can control whether I2P is run on startup or not by selecting one of the"
|
||||
" following options - I2P will install (or remove) a service accordingly."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:483
|
||||
@@ -5566,8 +5588,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:493
|
||||
msgid ""
|
||||
"If you are running I2P as service right now, removing it will shut down your "
|
||||
"router immediately."
|
||||
"If you are running I2P as service right now, removing it will shut down your"
|
||||
" router immediately."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:495
|
||||
@@ -5586,9 +5608,9 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:505
|
||||
msgid ""
|
||||
"At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
|
||||
"please select the following option and review the thread dumped to <a href="
|
||||
"\"logs.jsp#servicelogs\">wrapper.log</a>."
|
||||
"At times, it may be helpful to debug I2P by getting a thread dump. To do so,"
|
||||
" please select the following option and review the thread dumped to <a "
|
||||
"href=\"logs.jsp#servicelogs\">wrapper.log</a>."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:517
|
||||
@@ -5686,8 +5708,8 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:456
|
||||
msgid ""
|
||||
"Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 "
|
||||
"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely "
|
||||
"reduce performance or reliability."
|
||||
"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely"
|
||||
" reduce performance or reliability."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:459
|
||||
@@ -5837,8 +5859,8 @@ msgstr ""
|
||||
msgid "home"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/console_jsp.java:394
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:375
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/console_jsp.java:396
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:377
|
||||
msgid "Welcome to I2P"
|
||||
msgstr ""
|
||||
|
||||
@@ -5889,8 +5911,8 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:175
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:346
|
||||
msgid ""
|
||||
"You may use the username \"guest\" and password \"guest\" if you do not wish "
|
||||
"to register."
|
||||
"You may use the username \"guest\" and password \"guest\" if you do not wish"
|
||||
" to register."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:177
|
||||
@@ -5916,7 +5938,8 @@ msgstr ""
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:397
|
||||
msgid ""
|
||||
"Note that system information, log timestamps, and log messages may provide "
|
||||
"clues to your location; please review everything you include in a bug report."
|
||||
"clues to your location; please review everything you include in a bug "
|
||||
"report."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:155
|
||||
@@ -5953,11 +5976,11 @@ msgid ""
|
||||
"change it later."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:383
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:385
|
||||
msgid "Search I2P"
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:403
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/home_jsp.java:405
|
||||
msgid "Eepsites of Interest"
|
||||
msgstr ""
|
||||
|
||||
@@ -6023,8 +6046,8 @@ msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:344
|
||||
msgid ""
|
||||
"Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</"
|
||||
"a> to start it."
|
||||
"Please visit the <a href=\"/configclients.jsp#webapp\">config clients "
|
||||
"page</a> to start it."
|
||||
msgstr ""
|
||||
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:143
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,13 +7,14 @@
|
||||
# naeto <a89393@rmqkr.net>, 2012
|
||||
# Денис Лысенко <gribua@gmail.com>, 2011
|
||||
# Денис Лысенко <gribua@gmail.com>, 2011
|
||||
# jonny_nut, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-10 11:42+0000\n"
|
||||
"Last-Translator: kytv <killyourtv@i2pmail.org>\n"
|
||||
"PO-Revision-Date: 2014-01-23 16:47+0000\n"
|
||||
"Last-Translator: jonny_nut\n"
|
||||
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/I2P/language/uk_UA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -369,7 +370,7 @@ msgstr "Підключений"
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1127
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2542
|
||||
msgid "Skew"
|
||||
msgstr ""
|
||||
msgstr "Нахил"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:599
|
||||
msgid "The difference between the peer's clock and your own"
|
||||
@@ -586,12 +587,12 @@ msgstr ""
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1117
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2520
|
||||
msgid "Limit"
|
||||
msgstr ""
|
||||
msgstr "Обмеження"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1118
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2521
|
||||
msgid "Timeout"
|
||||
msgstr ""
|
||||
msgstr "Упущення часу бездіяльности"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1123
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2529
|
||||
@@ -600,23 +601,23 @@ msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1130
|
||||
msgid "Out Queue"
|
||||
msgstr ""
|
||||
msgstr "Вихідна Черга"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1131
|
||||
msgid "Backlogged?"
|
||||
msgstr ""
|
||||
msgstr "Перевантажено?"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1144
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2583
|
||||
#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:91
|
||||
msgid "Inbound"
|
||||
msgstr ""
|
||||
msgstr "вхідно"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1146
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2585
|
||||
#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:91
|
||||
msgid "Outbound"
|
||||
msgstr ""
|
||||
msgstr "вихідно"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:1201
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2750
|
||||
@@ -629,7 +630,7 @@ msgstr[2] ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2519
|
||||
msgid "UDP connections"
|
||||
msgstr ""
|
||||
msgstr "зв'язки UDP"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2526
|
||||
msgid "Sort by peer hash"
|
||||
@@ -641,27 +642,27 @@ msgstr ""
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2531
|
||||
msgid "Sort by idle inbound"
|
||||
msgstr ""
|
||||
msgstr "Порядком за вхідню бездіяльність"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2533
|
||||
msgid "Sort by idle outbound"
|
||||
msgstr ""
|
||||
msgstr "Порядком за вихідню бездіяльність"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2536
|
||||
msgid "Sort by inbound rate"
|
||||
msgstr ""
|
||||
msgstr "Порядком за вхідну ставку"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2538
|
||||
msgid "Sort by outbound rate"
|
||||
msgstr ""
|
||||
msgstr "Порядком за вихідну ставку"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2541
|
||||
msgid "Sort by connection uptime"
|
||||
msgstr ""
|
||||
msgstr "Порядком за тривалість зв'язку"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2543
|
||||
msgid "Sort by clock skew"
|
||||
msgstr ""
|
||||
msgstr "Порядком за нахилом такту"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2546
|
||||
msgid "Sort by congestion window"
|
||||
@@ -725,7 +726,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:165
|
||||
#: ../java/src/net/i2p/router/web/ProfilesHelper.java:13
|
||||
msgid "Banned"
|
||||
msgstr ""
|
||||
msgstr "Забороненo"
|
||||
|
||||
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2668
|
||||
msgid "backlogged"
|
||||
@@ -1249,7 +1250,7 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:326
|
||||
msgid "started"
|
||||
msgstr ""
|
||||
msgstr "почато"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:328
|
||||
msgid "Failed to start"
|
||||
@@ -1257,7 +1258,7 @@ msgstr ""
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:333
|
||||
msgid "Failed to find server."
|
||||
msgstr ""
|
||||
msgstr "Провал пошуку за сервер"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
|
||||
msgid "No plugin URL specified."
|
||||
@@ -1318,7 +1319,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:76
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:281
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "Редагування"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
|
||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:474
|
||||
@@ -1333,7 +1334,7 @@ msgstr ""
|
||||
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:510
|
||||
#: ../java/src/net/i2p/router/web/SummaryHelper.java:427
|
||||
msgid "Client"
|
||||
msgstr ""
|
||||
msgstr "Клієнт"
|
||||
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:94
|
||||
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:138
|
||||
|
||||
@@ -307,6 +307,8 @@ class Connection {
|
||||
reply.setSendStreamId(_sendStreamId);
|
||||
reply.setReceiveStreamId(_receiveStreamId);
|
||||
reply.setOptionalFrom(_connectionManager.getSession().getMyDestination());
|
||||
reply.setLocalPort(_localPort);
|
||||
reply.setRemotePort(_remotePort);
|
||||
// this just sends the packet - no retries or whatnot
|
||||
if (_outboundQueue.enqueue(reply)) {
|
||||
_unackedPacketsReceived = 0;
|
||||
|
||||
@@ -206,9 +206,9 @@ class ConnectionDataReceiver implements MessageOutputStream.DataReceiver {
|
||||
packet.setFlag(Packet.FLAG_SYNCHRONIZE);
|
||||
packet.setOptionalFrom(con.getSession().getMyDestination());
|
||||
packet.setOptionalMaxSize(con.getOptions().getMaxMessageSize());
|
||||
packet.setLocalPort(con.getLocalPort());
|
||||
packet.setRemotePort(con.getPort());
|
||||
}
|
||||
packet.setLocalPort(con.getLocalPort());
|
||||
packet.setRemotePort(con.getPort());
|
||||
if (con.getSendStreamId() == Packet.STREAM_ID_UNKNOWN) {
|
||||
packet.setFlag(Packet.FLAG_NO_ACK);
|
||||
}
|
||||
|
||||
@@ -262,6 +262,8 @@ class ConnectionManager {
|
||||
reply.setSendStreamId(synPacket.getReceiveStreamId());
|
||||
reply.setReceiveStreamId(0);
|
||||
reply.setOptionalFrom(_session.getMyDestination());
|
||||
reply.setLocalPort(synPacket.getLocalPort());
|
||||
reply.setRemotePort(synPacket.getRemotePort());
|
||||
// this just sends the packet - no retries or whatnot
|
||||
_outboundQueue.enqueue(reply);
|
||||
return null;
|
||||
@@ -284,6 +286,44 @@ class ConnectionManager {
|
||||
return con;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a ping by checking for throttling, etc., then sending a pong.
|
||||
*
|
||||
* @param con null if unknown
|
||||
* @param ping Ping packet to process, must have From and Sig fields,
|
||||
* with signature already verified, only if answerPings() returned true
|
||||
* @return true if we sent a pong
|
||||
* @since 0.9.12 from PacketHandler.receivePing()
|
||||
*/
|
||||
public boolean receivePing(Connection con, Packet ping) {
|
||||
Destination dest = ping.getOptionalFrom();
|
||||
if (dest == null)
|
||||
return false;
|
||||
if (con == null) {
|
||||
// Use the same throttling as for connections
|
||||
String why = shouldRejectConnection(ping);
|
||||
if (why != null) {
|
||||
if ((!_defaultOptions.getDisableRejectLogging()) || _log.shouldLog(Log.WARN))
|
||||
_log.logAlways(Log.WARN, "Dropping ping since peer is " + why + ": " + dest.calculateHash());
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// in-connection ping to a 3rd party ???
|
||||
if (!dest.equals(con.getRemotePeer())) {
|
||||
_log.logAlways(Log.WARN, "Dropping ping from " + con.getRemotePeer().calculateHash() +
|
||||
" to " + dest.calculateHash());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
PacketLocal pong = new PacketLocal(_context, dest);
|
||||
pong.setFlag(Packet.FLAG_ECHO | Packet.FLAG_NO_ACK);
|
||||
pong.setReceiveStreamId(ping.getSendStreamId());
|
||||
pong.setLocalPort(ping.getLocalPort());
|
||||
pong.setRemotePort(ping.getRemotePort());
|
||||
_outboundQueue.enqueue(pong);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static final long DEFAULT_STREAM_DELAY_MAX = 10*1000;
|
||||
|
||||
/**
|
||||
@@ -572,24 +612,44 @@ class ConnectionManager {
|
||||
return new HashSet<Connection>(_connectionByInboundId.values());
|
||||
}
|
||||
|
||||
/** blocking */
|
||||
/**
|
||||
* blocking
|
||||
*
|
||||
* @param timeoutMs greater than zero
|
||||
* @return true if pong received
|
||||
*/
|
||||
public boolean ping(Destination peer, long timeoutMs) {
|
||||
return ping(peer, timeoutMs, true, null);
|
||||
}
|
||||
public boolean ping(Destination peer, long timeoutMs, boolean blocking) {
|
||||
return ping(peer, timeoutMs, blocking, null);
|
||||
return ping(peer, 0, 0, timeoutMs, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated I2PSession ignores tags, use non-tag variant
|
||||
* @param keyToUse ignored
|
||||
* @param tagsToSend ignored
|
||||
* blocking
|
||||
*
|
||||
* @param timeoutMs greater than zero
|
||||
* @return true if pong received
|
||||
* @since 0.9.12 added port args
|
||||
*/
|
||||
public boolean ping(Destination peer, long timeoutMs, boolean blocking, SessionKey keyToUse, Set<?> tagsToSend, PingNotifier notifier) {
|
||||
return ping(peer, timeoutMs, blocking, notifier);
|
||||
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs) {
|
||||
return ping(peer, fromPort, toPort, timeoutMs, true, null);
|
||||
}
|
||||
|
||||
public boolean ping(Destination peer, long timeoutMs, boolean blocking, PingNotifier notifier) {
|
||||
/**
|
||||
* @param timeoutMs greater than zero
|
||||
* @return true if blocking and pong received
|
||||
* @since 0.9.12 added port args
|
||||
*/
|
||||
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs, boolean blocking) {
|
||||
return ping(peer, fromPort, toPort, timeoutMs, blocking, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param timeoutMs greater than zero
|
||||
* @param notifier may be null
|
||||
* @return true if blocking and pong received
|
||||
* @since 0.9.12 added port args
|
||||
*/
|
||||
public boolean ping(Destination peer, int fromPort, int toPort, long timeoutMs,
|
||||
boolean blocking, PingNotifier notifier) {
|
||||
Long id = Long.valueOf(_context.random().nextLong(Packet.MAX_STREAM_ID-1)+1);
|
||||
PacketLocal packet = new PacketLocal(_context, peer);
|
||||
packet.setSendStreamId(id.longValue());
|
||||
@@ -597,13 +657,15 @@ class ConnectionManager {
|
||||
Packet.FLAG_NO_ACK |
|
||||
Packet.FLAG_SIGNATURE_INCLUDED);
|
||||
packet.setOptionalFrom(_session.getMyDestination());
|
||||
packet.setLocalPort(fromPort);
|
||||
packet.setRemotePort(toPort);
|
||||
//if ( (keyToUse != null) && (tagsToSend != null) ) {
|
||||
// packet.setKeyUsed(keyToUse);
|
||||
// packet.setTagsSent(tagsToSend);
|
||||
//}
|
||||
if (_log.shouldLog(Log.INFO)) {
|
||||
_log.info(String.format("about to ping %s timeout=%d blocking=%b",
|
||||
peer,timeoutMs,blocking));
|
||||
_log.info(String.format("about to ping %s port %d from port %d timeout=%d blocking=%b",
|
||||
peer.calculateHash().toString(), toPort, fromPort, timeoutMs, blocking));
|
||||
}
|
||||
|
||||
|
||||
@@ -658,6 +720,7 @@ class ConnectionManager {
|
||||
private boolean _ponged;
|
||||
private final PingNotifier _notifier;
|
||||
|
||||
/** @param notifier may be null */
|
||||
public PingRequest(PingNotifier notifier) {
|
||||
_notifier = notifier;
|
||||
}
|
||||
|
||||
@@ -148,13 +148,41 @@ public class I2PSocketManagerFull implements I2PSocketManager {
|
||||
* Ping the specified peer, returning true if they replied to the ping within
|
||||
* the timeout specified, false otherwise. This call blocks.
|
||||
*
|
||||
* Uses the ports from the default options.
|
||||
*
|
||||
* @param peer
|
||||
* @param timeoutMs
|
||||
* @param timeoutMs timeout in ms, greater than zero
|
||||
* @return true on success, false on failure
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
public boolean ping(Destination peer, long timeoutMs) {
|
||||
return _connectionManager.ping(peer, timeoutMs);
|
||||
if (timeoutMs <= 0)
|
||||
throw new IllegalArgumentException("bad timeout");
|
||||
return _connectionManager.ping(peer, _defaultOptions.getLocalPort(),
|
||||
_defaultOptions.getPort(), timeoutMs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ping the specified peer, returning true if they replied to the ping within
|
||||
* the timeout specified, false otherwise. This call blocks.
|
||||
*
|
||||
* Uses the ports specified.
|
||||
*
|
||||
* @param peer Destination to ping
|
||||
* @param localPort 0 - 65535
|
||||
* @param remotePort 0 - 65535
|
||||
* @param timeoutMs timeout in ms, greater than zero
|
||||
* @return success or failure
|
||||
* @throws IllegalArgumentException
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public boolean ping(Destination peer, int localPort, int remotePort, long timeoutMs) {
|
||||
if (localPort < 0 || localPort > 65535 ||
|
||||
remotePort < 0 || remotePort > 65535)
|
||||
throw new IllegalArgumentException("bad port");
|
||||
if (timeoutMs <= 0)
|
||||
throw new IllegalArgumentException("bad timeout");
|
||||
return _connectionManager.ping(peer, localPort, remotePort, timeoutMs);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.crypto.SigType;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.ByteArray;
|
||||
import net.i2p.data.DataFormatException;
|
||||
@@ -403,13 +404,14 @@ class Packet {
|
||||
* @throws IllegalStateException if there is data missing or otherwise b0rked
|
||||
*/
|
||||
public int writePacket(byte buffer[], int offset) throws IllegalStateException {
|
||||
return writePacket(buffer, offset, true);
|
||||
return writePacket(buffer, offset, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param includeSig if true, include the real signature, otherwise put zeroes
|
||||
* in its place.
|
||||
* @param fakeSigLen if 0, include the real signature in _optionSignature;
|
||||
* if nonzero, leave space for that many bytes
|
||||
*/
|
||||
private int writePacket(byte buffer[], int offset, boolean includeSig) throws IllegalStateException {
|
||||
private int writePacket(byte buffer[], int offset, int fakeSigLen) throws IllegalStateException {
|
||||
int cur = offset;
|
||||
DataHelper.toLong(buffer, cur, 4, (_sendStreamId >= 0 ? _sendStreamId : STREAM_ID_UNKNOWN));
|
||||
cur += 4;
|
||||
@@ -443,8 +445,14 @@ class Packet {
|
||||
optionSize += _optionFrom.size();
|
||||
if (isFlagSet(FLAG_MAX_PACKET_SIZE_INCLUDED))
|
||||
optionSize += 2;
|
||||
if (isFlagSet(FLAG_SIGNATURE_INCLUDED))
|
||||
optionSize += Signature.SIGNATURE_BYTES;
|
||||
if (isFlagSet(FLAG_SIGNATURE_INCLUDED)) {
|
||||
if (fakeSigLen > 0)
|
||||
optionSize += fakeSigLen;
|
||||
else if (_optionSignature != null)
|
||||
optionSize += _optionSignature.length();
|
||||
else
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
DataHelper.toLong(buffer, cur, 2, optionSize);
|
||||
cur += 2;
|
||||
@@ -461,11 +469,14 @@ class Packet {
|
||||
cur += 2;
|
||||
}
|
||||
if (isFlagSet(FLAG_SIGNATURE_INCLUDED)) {
|
||||
if (includeSig)
|
||||
System.arraycopy(_optionSignature.getData(), 0, buffer, cur, Signature.SIGNATURE_BYTES);
|
||||
else // we're signing (or validating)
|
||||
Arrays.fill(buffer, cur, cur+Signature.SIGNATURE_BYTES, (byte)0x0);
|
||||
cur += Signature.SIGNATURE_BYTES;
|
||||
if (fakeSigLen == 0) {
|
||||
// we're signing (or validating)
|
||||
System.arraycopy(_optionSignature.getData(), 0, buffer, cur, _optionSignature.length());
|
||||
cur += _optionSignature.length();
|
||||
} else {
|
||||
Arrays.fill(buffer, cur, cur + fakeSigLen, (byte)0x0);
|
||||
cur += fakeSigLen;
|
||||
}
|
||||
}
|
||||
|
||||
if (_payload != null) {
|
||||
@@ -518,7 +529,7 @@ class Packet {
|
||||
if (isFlagSet(FLAG_MAX_PACKET_SIZE_INCLUDED))
|
||||
size += 2;
|
||||
if (isFlagSet(FLAG_SIGNATURE_INCLUDED))
|
||||
size += Signature.SIGNATURE_BYTES;
|
||||
size += _optionSignature.length();
|
||||
|
||||
size += 2; // option size
|
||||
|
||||
@@ -613,12 +624,37 @@ class Packet {
|
||||
cur += 2;
|
||||
}
|
||||
if (isFlagSet(FLAG_SIGNATURE_INCLUDED)) {
|
||||
Signature optionSignature = new Signature();
|
||||
byte buf[] = new byte[Signature.SIGNATURE_BYTES];
|
||||
System.arraycopy(buffer, cur, buf, 0, Signature.SIGNATURE_BYTES);
|
||||
Signature optionSignature;
|
||||
Destination from = getOptionalFrom();
|
||||
if (from != null) {
|
||||
optionSignature = new Signature(from.getSigningPublicKey().getType());
|
||||
} else {
|
||||
// super cheat for now, look for correct type,
|
||||
// assume no more options. If we add to the options
|
||||
// we will have to ask the manager.
|
||||
int siglen = payloadBegin - cur;
|
||||
SigType type = null;
|
||||
for (SigType t : SigType.values()) {
|
||||
if (t.getSigLen() == siglen) {
|
||||
type = t;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (type == null) {
|
||||
if (siglen < Signature.SIGNATURE_BYTES)
|
||||
throw new IllegalArgumentException("unknown sig type len=" + siglen);
|
||||
// Hope it's the default type with some unknown options following;
|
||||
// if not the sig will fail later
|
||||
type = SigType.DSA_SHA1;
|
||||
siglen = Signature.SIGNATURE_BYTES;
|
||||
}
|
||||
optionSignature = new Signature(type);
|
||||
}
|
||||
byte buf[] = new byte[optionSignature.length()];
|
||||
System.arraycopy(buffer, cur, buf, 0, buf.length);
|
||||
optionSignature.setData(buf);
|
||||
setOptionalSignature(optionSignature);
|
||||
cur += Signature.SIGNATURE_BYTES;
|
||||
cur += buf.length;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -641,7 +677,7 @@ class Packet {
|
||||
|
||||
if (buffer == null)
|
||||
buffer = new byte[size];
|
||||
int written = writePacket(buffer, 0, false);
|
||||
int written = writePacket(buffer, 0, from.getSigningPublicKey().getType().getSigLen());
|
||||
if (written != size) {
|
||||
ctx.logManager().getLog(Packet.class).error("Written " + written + " size " + size + " for " + toString(), new Exception("moo"));
|
||||
return false;
|
||||
@@ -672,14 +708,14 @@ class Packet {
|
||||
*/
|
||||
public int writeSignedPacket(byte buffer[], int offset, I2PAppContext ctx, SigningPrivateKey key) throws IllegalStateException {
|
||||
setFlag(FLAG_SIGNATURE_INCLUDED);
|
||||
int size = writePacket(buffer, offset, false);
|
||||
int size = writePacket(buffer, offset, key.getType().getSigLen());
|
||||
_optionSignature = ctx.dsa().sign(buffer, offset, size, key);
|
||||
if (false) {
|
||||
Log l = ctx.logManager().getLog(Packet.class);
|
||||
l.error("Signing: " + toString());
|
||||
l.error(Base64.encode(buffer, 0, size));
|
||||
l.error("Signature: " + Base64.encode(_optionSignature.getData()));
|
||||
}
|
||||
//if (false) {
|
||||
// Log l = ctx.logManager().getLog(Packet.class);
|
||||
// l.error("Signing: " + toString());
|
||||
// l.error(Base64.encode(buffer, 0, size));
|
||||
// l.error("Signature: " + Base64.encode(_optionSignature.getData()));
|
||||
//}
|
||||
// jump into the signed data and inject the signature where we
|
||||
// previously placed a bunch of zeroes
|
||||
int signatureOffset = offset
|
||||
@@ -694,7 +730,7 @@ class Packet {
|
||||
+ (isFlagSet(FLAG_DELAY_REQUESTED) ? 2 : 0)
|
||||
+ (isFlagSet(FLAG_FROM_INCLUDED) ? _optionFrom.size() : 0)
|
||||
+ (isFlagSet(FLAG_MAX_PACKET_SIZE_INCLUDED) ? 2 : 0);
|
||||
System.arraycopy(_optionSignature.getData(), 0, buffer, signatureOffset, Signature.SIGNATURE_BYTES);
|
||||
System.arraycopy(_optionSignature.getData(), 0, buffer, signatureOffset, _optionSignature.length());
|
||||
return size;
|
||||
}
|
||||
|
||||
@@ -740,7 +776,7 @@ class Packet {
|
||||
if (isFlagSet(FLAG_CLOSE)) buf.append(" CLOSE");
|
||||
if (isFlagSet(FLAG_DELAY_REQUESTED)) buf.append(" DELAY ").append(_optionDelay);
|
||||
if (isFlagSet(FLAG_ECHO)) buf.append(" ECHO");
|
||||
if (isFlagSet(FLAG_FROM_INCLUDED)) buf.append(" FROM");
|
||||
if (isFlagSet(FLAG_FROM_INCLUDED)) buf.append(" FROM ").append(_optionFrom.size());
|
||||
if (isFlagSet(FLAG_MAX_PACKET_SIZE_INCLUDED)) buf.append(" MS ").append(_optionMaxSize);
|
||||
if (isFlagSet(FLAG_PROFILE_INTERACTIVE)) buf.append(" INTERACTIVE");
|
||||
if (isFlagSet(FLAG_RESET)) buf.append(" RESET");
|
||||
|
||||
@@ -136,7 +136,7 @@ class PacketHandler {
|
||||
if (packet.isFlagSet(Packet.FLAG_ECHO)) {
|
||||
if (packet.getSendStreamId() > 0) {
|
||||
if (con.getOptions().getAnswerPings())
|
||||
receivePing(packet);
|
||||
receivePing(con, packet);
|
||||
else if (_log.shouldLog(Log.WARN))
|
||||
_log.warn("Dropping Echo packet on existing con: " + packet);
|
||||
} else if (packet.getReceiveStreamId() > 0) {
|
||||
@@ -247,6 +247,8 @@ class PacketHandler {
|
||||
reply.setSendStreamId(packet.getReceiveStreamId());
|
||||
reply.setReceiveStreamId(packet.getSendStreamId());
|
||||
reply.setOptionalFrom(_manager.getSession().getMyDestination());
|
||||
reply.setLocalPort(packet.getLocalPort());
|
||||
reply.setRemotePort(packet.getRemotePort());
|
||||
// this just sends the packet - no retries or whatnot
|
||||
_manager.getPacketQueue().enqueue(reply);
|
||||
}
|
||||
@@ -255,7 +257,7 @@ class PacketHandler {
|
||||
if (packet.isFlagSet(Packet.FLAG_ECHO)) {
|
||||
if (packet.getSendStreamId() > 0) {
|
||||
if (_manager.answerPings())
|
||||
receivePing(packet);
|
||||
receivePing(null, packet);
|
||||
else if (_log.shouldLog(Log.WARN))
|
||||
_log.warn("Dropping Echo packet on unknown con: " + packet);
|
||||
} else if (packet.getReceiveStreamId() > 0) {
|
||||
@@ -335,7 +337,10 @@ class PacketHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private void receivePing(Packet packet) {
|
||||
/**
|
||||
* @param con null if unknown
|
||||
*/
|
||||
private void receivePing(Connection con, Packet packet) {
|
||||
boolean ok = packet.verifySignature(_context, packet.getOptionalFrom(), null);
|
||||
if (!ok) {
|
||||
if (_log.shouldLog(Log.WARN)) {
|
||||
@@ -348,10 +353,7 @@ class PacketHandler {
|
||||
+ " sig=" + packet.getOptionalSignature().toBase64() + ")");
|
||||
}
|
||||
} else {
|
||||
PacketLocal pong = new PacketLocal(_context, packet.getOptionalFrom());
|
||||
pong.setFlag(Packet.FLAG_ECHO | Packet.FLAG_NO_ACK);
|
||||
pong.setReceiveStreamId(packet.getSendStreamId());
|
||||
_manager.getPacketQueue().enqueue(pong);
|
||||
_manager.receivePing(con, packet);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P susidns\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"POT-Creation-Date: 2014-02-06 18:27+0000\n"
|
||||
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
|
||||
"Last-Translator: duck <duck@mail.i2p>\n"
|
||||
"Language-Team: duck <duck@mail.i2p>\n"
|
||||
@@ -628,8 +628,8 @@ msgstr ""
|
||||
|
||||
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:140
|
||||
msgid ""
|
||||
"For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
|
||||
"naming.html\" target=\"_top\">the overview on www.i2p2.i2p</a>."
|
||||
"For more information on naming in I2P, see <a href=\"http://i2p-projekt.i2p/"
|
||||
"naming.html\" target=\"_top\">the overview</a>."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:142
|
||||
|
||||
@@ -29,6 +29,7 @@ import java.util.Locale;
|
||||
import java.util.Properties;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.crypto.SigType;
|
||||
import net.i2p.data.Base32;
|
||||
import net.i2p.data.Base64;
|
||||
import net.i2p.data.Certificate;
|
||||
@@ -228,11 +229,38 @@ public class AddressBean
|
||||
return _("Hidden");
|
||||
case Certificate.CERTIFICATE_TYPE_SIGNED:
|
||||
return _("Signed");
|
||||
case Certificate.CERTIFICATE_TYPE_KEY:
|
||||
return _("Key");
|
||||
default:
|
||||
return _("Type {0}", type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Do this the easy way
|
||||
* @since 0.9.12
|
||||
*/
|
||||
public String getSigType() {
|
||||
// (4 / 3) * (pubkey length + signing key length)
|
||||
String cert = destination.substring(512);
|
||||
if (cert.equals("AAAA"))
|
||||
return _("DSA 1024 bit");
|
||||
byte[] enc = Base64.decode(cert);
|
||||
if (enc == null)
|
||||
// shouldn't happen
|
||||
return "invalid";
|
||||
int type = enc[0] & 0xff;
|
||||
if (type != Certificate.CERTIFICATE_TYPE_KEY)
|
||||
return _("DSA 1024 bit");
|
||||
int st = ((enc[3] & 0xff) << 8) | (enc[4] & 0xff);
|
||||
if (st == 0)
|
||||
return _("DSA 1024 bit");
|
||||
SigType stype = SigType.getByCode(st);
|
||||
if (stype == null)
|
||||
return _("Type {0}", st);
|
||||
return stype.toString();
|
||||
}
|
||||
|
||||
/** @since 0.8.7 */
|
||||
private String getProp(String p) {
|
||||
if (props == null)
|
||||
|
||||
@@ -20,6 +20,11 @@ public class Messages {
|
||||
return Translate.getString(key, _context, BUNDLE_NAME);
|
||||
}
|
||||
|
||||
/** @since 0.9.11 */
|
||||
public String _(String key, Object o) {
|
||||
return Translate.getString(key, o, _context, BUNDLE_NAME);
|
||||
}
|
||||
|
||||
public static String getString(String s) {
|
||||
return Translate.getString(s, I2PAppContext.getGlobalContext(), BUNDLE_NAME);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
%>
|
||||
<%@page pageEncoding="UTF-8"%>
|
||||
<%@page trimDirectiveWhitespaces="true"%>
|
||||
<%@ page contentType="text/html" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<jsp:useBean id="version" class="i2p.susi.dns.VersionBean" scope="application"/>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<td><%=intl._("ElGamal 2048 bit")%></td>
|
||||
</tr><tr class="list${book.trClass}">
|
||||
<td><%=intl._("Signing Key")%></td>
|
||||
<td><%=intl._("DSA 1024 bit")%></td>
|
||||
<td><%=addr.getSigType()%></td>
|
||||
</tr><tr class="list${book.trClass}">
|
||||
<td><%=intl._("Certificate")%></td>
|
||||
<td><%=addr.getCert()%></td>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
%>
|
||||
<%@page pageEncoding="UTF-8"%>
|
||||
<%@page trimDirectiveWhitespaces="true"%>
|
||||
<%@ page contentType="text/html"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<jsp:useBean id="version" class="i2p.susi.dns.VersionBean" scope="application" />
|
||||
@@ -70,7 +69,7 @@
|
||||
<%=intl._("It regularly updates your hosts.txt file from distributed sources or \"subscriptions\".")%>
|
||||
</p>
|
||||
<p>
|
||||
<%=intl._("In the default configuration, the address book is only subscribed to www.i2p2.i2p.")%>
|
||||
<%=intl._("In the default configuration, the address book is only subscribed to {0}.", "i2p-projekt.i2p")%>
|
||||
<%=intl._("Subscribing to additional sites is easy, just add them to your <a href=\"subscriptions\">subscriptions</a> file.")%>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
%>
|
||||
<%@page pageEncoding="UTF-8"%>
|
||||
<%@page trimDirectiveWhitespaces="true"%>
|
||||
<%@ page contentType="text/html"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<jsp:useBean id="version" class="i2p.susi.dns.VersionBean" scope="application" />
|
||||
@@ -81,9 +80,9 @@
|
||||
<%=intl._("The subscription file contains a list of i2p URLs.")%>
|
||||
<%=intl._("The addressbook application regularly checks this list for new eepsites.")%>
|
||||
<%=intl._("Those URLs refer to published hosts.txt files.")%>
|
||||
<%=intl._("The default subscription is the hosts.txt from www.i2p2.i2p, which is updated infrequently.")%>
|
||||
<%=intl._("The default subscription is the hosts.txt from {0}, which is updated infrequently.", "i2p-projekt.i2p")%>
|
||||
<%=intl._("So it is a good idea to add additional subscriptions to sites that have the latest addresses.")%>
|
||||
<a href="http://www.i2p2.i2p/faq.html#subscriptions" target="_top"><%=intl._("See the FAQ for a list of subscription URLs.")%></a>
|
||||
<a href="http://i2p-projekt.i2p/faq.html#subscriptions" target="_top"><%=intl._("See the FAQ for a list of subscription URLs.")%></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="footer">
|
||||
|
||||
@@ -2,226 +2,223 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the susimail package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# kgtm <fabio.h.f.antunes@gmail.com>, 2014
|
||||
# tuliouel, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-08-11 15:44+0000\n"
|
||||
"PO-Revision-Date: 2013-07-04 19:06+0000\n"
|
||||
"Last-Translator: tuliouel\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/"
|
||||
"pt/)\n"
|
||||
"Language: pt\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-01-22 18:41+0000\n"
|
||||
"Last-Translator: kgtm <fabio.h.f.antunes@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/I2P/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:447
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:443
|
||||
msgid "unknown"
|
||||
msgstr "desconhecido"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:466
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:462
|
||||
msgid "Warning: no transfer encoding found, fallback to 7bit."
|
||||
msgstr ""
|
||||
"Aviso: nenhuma codificação de conteúdo de transferência encontrada. Recorrer "
|
||||
"para 7bit."
|
||||
msgstr "Aviso: nenhuma codificação de conteúdo de transferência encontrada. Recorrer para 7bit."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:471
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:467
|
||||
#, java-format
|
||||
msgid "No encoder found for encoding \\''{0}\\''."
|
||||
msgstr "Nenhum codificador encontrado para codificar ''{0}\\''."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:477
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:473
|
||||
msgid "Warning: no charset found, fallback to US-ASCII."
|
||||
msgstr ""
|
||||
"Aviso: nenhuma codificação de caracteres encontrada. Recorrer ao US-ASCII."
|
||||
msgstr "Aviso: nenhuma codificação de caracteres encontrada. Recorrer ao US-ASCII."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:491
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:487
|
||||
#, java-format
|
||||
msgid "Charset \\''{0}\\'' not supported."
|
||||
msgstr "Codificação de caracteres \\''{0}\\'' não admitida."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:495
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:491
|
||||
#, java-format
|
||||
msgid "Part ({0}) not shown, because of {1}"
|
||||
msgstr "Parte ({0}) não exibida por causa de {1}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:518
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:514
|
||||
msgid "Download"
|
||||
msgstr "Baixar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:518
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:514
|
||||
msgid "File is packed into a zipfile for security reasons."
|
||||
msgstr "Arquivo zipado por razões de segurança."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:518
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:514
|
||||
#, java-format
|
||||
msgid "attachment ({0})."
|
||||
msgstr "Anexo ({0})."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:522
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:518
|
||||
#, java-format
|
||||
msgid "Attachment ({0})."
|
||||
msgstr "Anexo ({0})."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:572
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:568
|
||||
msgid "Need username for authentication."
|
||||
msgstr "Necessário nome de usuário para autenticação."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:576
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:572
|
||||
msgid "Need password for authentication."
|
||||
msgstr "Nova senha para autenticação."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:580
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:576
|
||||
msgid "Need hostname for connect."
|
||||
msgstr "Necessário nome do host para conectar."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:585
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:581
|
||||
msgid "Need port number for pop3 connect."
|
||||
msgstr "Necessário número de porta para conectar por pop3."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:592
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:588
|
||||
msgid "POP3 port number is not in range 0..65535."
|
||||
msgstr "O número da porta do POP3 não pertence ao intervalo 0..65535."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:598
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:594
|
||||
msgid "POP3 port number is invalid."
|
||||
msgstr "Número da porta do POP3 é inválido."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:604
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:600
|
||||
msgid "Need port number for smtp connect."
|
||||
msgstr "Necessário número da porta para conectar por smtp."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:611
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:607
|
||||
msgid "SMTP port number is not in range 0..65535."
|
||||
msgstr "O número da porta do SMTP não pertence ao intervalo 0..65535."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:617
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:613
|
||||
msgid "SMTP port number is invalid."
|
||||
msgstr "Número da porta do SMTP é inválido."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:664
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:660
|
||||
msgid "User logged out."
|
||||
msgstr "Usuário se desconectou."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:668
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:664
|
||||
msgid "Internal error, lost connection."
|
||||
msgstr "Erro interno. Conexão perdida."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:764
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:760
|
||||
#, java-format
|
||||
msgid "On {0} {1} wrote:"
|
||||
msgstr "Em {0} {1} escreveu:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:811
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:807
|
||||
msgid "begin forwarded mail"
|
||||
msgstr "Início da mensagem encaminhada"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:833
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:829
|
||||
msgid "end forwarded mail"
|
||||
msgstr "fim da mensagem encaminhada"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:840
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1770
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:836
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1769
|
||||
msgid "Could not fetch mail body."
|
||||
msgstr "Não foi possível recuperar o corpo do e-mail."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:868
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:864
|
||||
msgid "Message id not valid."
|
||||
msgstr "ID da mensagem não é válido."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:951
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:947
|
||||
#, java-format
|
||||
msgid "No Encoding found for {0}"
|
||||
msgstr "Nenhuma codificação encontrada para {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:955
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:951
|
||||
#, java-format
|
||||
msgid "Could not encode data: {0}"
|
||||
msgstr "Não foi possível codificar datos: {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:960
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:956
|
||||
#, java-format
|
||||
msgid "Error reading uploaded file: {0}"
|
||||
msgstr "Erro ao ler arquivo enviado: {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1038
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1034
|
||||
msgid "Error parsing download parameter."
|
||||
msgstr "Erro ao analisar parâmetro de download."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1082
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1078
|
||||
msgid "Invalid pagesize number, resetting to default value."
|
||||
msgstr "Número inválido de tamanho de página, restituindo ao valor original."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1106
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1102
|
||||
msgid "No messages marked for deletion."
|
||||
msgstr "Nenhuma mensagem marcada para eliminação."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1126
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1122
|
||||
#, java-format
|
||||
msgid "Error deleting message: {0}"
|
||||
msgstr "Erro ao eliminar mensagem: {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1137
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1133
|
||||
#, java-format
|
||||
msgid "1 message deleted."
|
||||
msgid_plural "{0} messages deleted."
|
||||
msgstr[0] "Uma mensagem eliminada"
|
||||
msgstr[1] "{0} mensagens eliminadas."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1313
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1654
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1314
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1653
|
||||
msgid "Login"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1315
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1316
|
||||
#, java-format
|
||||
msgid "1 Message"
|
||||
msgid_plural "{0} Messages"
|
||||
msgstr[0] "Uma mensagem"
|
||||
msgstr[1] "{0} Mensagens"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1317
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1318
|
||||
msgid "Show Message"
|
||||
msgstr "Exibir Mensagem"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1383
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1384
|
||||
#, java-format
|
||||
msgid "Error decoding content: {0}"
|
||||
msgstr "Erro ao decodificar conteúdo: {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1388
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1389
|
||||
msgid "Error decoding content: No encoder found."
|
||||
msgstr "Erro ao decodificar conteúdo: Nenhum codificador encontrado."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1435
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1436
|
||||
msgid "no subject"
|
||||
msgstr "sem assunto"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1452
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1453
|
||||
msgid "Found no valid sender address."
|
||||
msgstr "Nenhum endereço válido de remetente encontrado."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1458
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1459
|
||||
#, java-format
|
||||
msgid "Found no valid address in \\''{0}\\''."
|
||||
msgstr "Nenhum endereço válido encontrado em \\''{0}\\''."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1477
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1478
|
||||
msgid "No recipients found."
|
||||
msgstr "Nenhum destinatário encontrado."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1484
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1485
|
||||
msgid "Quoted printable encoder not available."
|
||||
msgstr ""
|
||||
msgstr "Codificação de caracteres ASCII imprimíveis não disponível."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1489
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1490
|
||||
msgid "Header line encoder not available."
|
||||
msgstr ""
|
||||
msgstr "Cabeçalho da codificação de caracteres não disponível."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1540
|
||||
msgid "Mail sent."
|
||||
@@ -240,19 +237,19 @@ msgid "Delete Attachment"
|
||||
msgstr "Apagar anexo"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1582
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1676
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1757
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1675
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1756
|
||||
msgid "Reload Config"
|
||||
msgstr "Recarregar Configurações"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1583
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1677
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1758
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1676
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1757
|
||||
msgid "Logout"
|
||||
msgstr "Desconectar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1606
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1762
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1761
|
||||
msgid "From:"
|
||||
msgstr "De:"
|
||||
|
||||
@@ -269,7 +266,7 @@ msgid "Bcc:"
|
||||
msgstr "Cópia Oculta:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1610
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1764
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1763
|
||||
msgid "Subject:"
|
||||
msgstr "Assunto:"
|
||||
|
||||
@@ -290,161 +287,161 @@ msgid "Attachments:"
|
||||
msgstr "Anexos:"
|
||||
|
||||
#. current postman hq length limits 16/12, new postman version 32/32
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1643
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1642
|
||||
msgid "User"
|
||||
msgstr "Usuário"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1644
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1643
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1649
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1648
|
||||
msgid "Host"
|
||||
msgstr "Servidor"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1650
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1649
|
||||
msgid "POP3-Port"
|
||||
msgstr "Porta-POP3"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1651
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1650
|
||||
msgid "SMTP-Port"
|
||||
msgstr "Porta-SMTP"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1654
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1653
|
||||
msgid "Reset"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1655
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1654
|
||||
msgid "Learn about I2P mail"
|
||||
msgstr "Aprenda sobre o e-mail do I2P"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1656
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1655
|
||||
msgid "Create Account"
|
||||
msgstr "Criar Conta"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1668
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1667
|
||||
msgid "Really delete the marked messages?"
|
||||
msgstr "Eliminar, realmente, as mensagens marcadas?"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1668
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1667
|
||||
msgid "Yes, really delete them!"
|
||||
msgstr "Sim, realmente elimine-as!"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1670
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1749
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1669
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1748
|
||||
msgid "New"
|
||||
msgstr "Novo"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1671
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1750
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1670
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1749
|
||||
msgid "Reply"
|
||||
msgstr "Responder"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1672
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1751
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1671
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1750
|
||||
msgid "Reply All"
|
||||
msgstr "Responder a todos"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1673
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1752
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1672
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1751
|
||||
msgid "Forward"
|
||||
msgstr "Encaminhar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1674
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1753
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1673
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1752
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1675
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1674
|
||||
msgid "Check Mail"
|
||||
msgstr "Verificar e-mail"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1679
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1678
|
||||
msgid "Sender"
|
||||
msgstr "Remetente"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1680
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1679
|
||||
msgid "Subject"
|
||||
msgstr "Assunto"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1681
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1680
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1682
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1681
|
||||
msgid "Size"
|
||||
msgstr "Tamanho"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1708
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1707
|
||||
#, java-format
|
||||
msgid "1 Byte"
|
||||
msgid_plural "{0} Bytes"
|
||||
msgstr[0] "1 Byte"
|
||||
msgstr[1] "{0} Bytes"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1713
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1712
|
||||
msgid "Mark All"
|
||||
msgstr "Marcar todos"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1714
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1713
|
||||
msgid "Invert Selection"
|
||||
msgstr "Inverter Seleção"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1715
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1714
|
||||
msgid "Clear"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1717
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1718
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1719
|
||||
msgid "First"
|
||||
msgstr "Primeiro"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1717
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1718
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1719
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1754
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1753
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1720
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1719
|
||||
#, java-format
|
||||
msgid "Page {0} of {1}"
|
||||
msgstr "Página {0} de {1}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1721
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1722
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1723
|
||||
msgid "Last"
|
||||
msgstr "Última"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1721
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1722
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1723
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1755
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1754
|
||||
msgid "Next"
|
||||
msgstr "Próxima"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1726
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1725
|
||||
msgid "Pagesize:"
|
||||
msgstr "Tamanho da página:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1727
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1726
|
||||
msgid "Set"
|
||||
msgstr ""
|
||||
msgstr "Definir"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1737
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1736
|
||||
msgid "Really delete this message?"
|
||||
msgstr "Eliminar, realmente, esta mensagem?"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1737
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1736
|
||||
msgid "Yes, really delete it!"
|
||||
msgstr "Sim, realmente elimine-a!"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1756
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1755
|
||||
msgid "Back to Folder"
|
||||
msgstr "Voltar à Pasta"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1763
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1762
|
||||
msgid "Date:"
|
||||
msgstr "Data:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1774
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1773
|
||||
msgid "Could not fetch mail."
|
||||
msgstr "Não foi possível recuperar o e-mail."
|
||||
|
||||
@@ -2,23 +2,22 @@
|
||||
# Copyright (C) 2009 The I2P Project
|
||||
# This file is distributed under the same license as the susimail package.
|
||||
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013
|
||||
# blueboy, 2013-2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: I2P\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-01-09 18:16+0000\n"
|
||||
"PO-Revision-Date: 2013-11-24 16:35+0000\n"
|
||||
"POT-Creation-Date: 2014-01-09 19:27+0000\n"
|
||||
"PO-Revision-Date: 2014-02-04 20:01+0000\n"
|
||||
"Last-Translator: blueboy\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/"
|
||||
"language/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/I2P/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:443
|
||||
@@ -32,11 +31,11 @@ msgstr ""
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:467
|
||||
#, java-format
|
||||
msgid "No encoder found for encoding \\''{0}\\''."
|
||||
msgstr ""
|
||||
msgstr "Nenhum codificador foi encontrado para codificar \\''{0}\\''."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:473
|
||||
msgid "Warning: no charset found, fallback to US-ASCII."
|
||||
msgstr ""
|
||||
msgstr "Aviso: Nenhum conjunto de caractéres foi encontrado. Usando US-ASCII."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:487
|
||||
#, java-format
|
||||
@@ -46,7 +45,7 @@ msgstr "O conjunto de caractéres \\''{0}\\'' não é suportado."
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:491
|
||||
#, java-format
|
||||
msgid "Part ({0}) not shown, because of {1}"
|
||||
msgstr ""
|
||||
msgstr "Parte ({0}) não exibida por causa de {1}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:514
|
||||
msgid "Download"
|
||||
@@ -59,12 +58,12 @@ msgstr "Por questões de segurança, o arquivo está zipado."
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:514
|
||||
#, java-format
|
||||
msgid "attachment ({0})."
|
||||
msgstr ""
|
||||
msgstr "anexo ({0})."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:518
|
||||
#, java-format
|
||||
msgid "Attachment ({0})."
|
||||
msgstr ""
|
||||
msgstr "Anexo ({0})."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:568
|
||||
msgid "Need username for authentication."
|
||||
@@ -84,11 +83,11 @@ msgstr "É necessário fornecer o número da porta para o POP3 conectar."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:588
|
||||
msgid "POP3 port number is not in range 0..65535."
|
||||
msgstr "O número da porta do POP3 não se inclui na faixa 0..65535."
|
||||
msgstr "O número da porta POP3 não se inclui na faixa 0..65535."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:594
|
||||
msgid "POP3 port number is invalid."
|
||||
msgstr "Número de porta para o POP3 inválido."
|
||||
msgstr "O número da porta POP3 é inválido."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:600
|
||||
msgid "Need port number for smtp connect."
|
||||
@@ -96,11 +95,11 @@ msgstr "É necessário fornecer o número da porta para o SMTP conectar."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:607
|
||||
msgid "SMTP port number is not in range 0..65535."
|
||||
msgstr "O número da porta do SMTP não se inclui na faixa 0..65535."
|
||||
msgstr "O número da porta SMTP não se inclui na faixa 0..65535."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:613
|
||||
msgid "SMTP port number is invalid."
|
||||
msgstr "Número de porta para o SMTP inválido."
|
||||
msgstr "O número da porta SMTP é inválido."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:660
|
||||
msgid "User logged out."
|
||||
@@ -126,7 +125,7 @@ msgstr ""
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:836
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1769
|
||||
msgid "Could not fetch mail body."
|
||||
msgstr ""
|
||||
msgstr "Não foi possível recuperar o corpo da mensagem."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:864
|
||||
msgid "Message id not valid."
|
||||
@@ -145,11 +144,11 @@ msgstr "Não foi possível codificar os dados: {0}"
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:956
|
||||
#, java-format
|
||||
msgid "Error reading uploaded file: {0}"
|
||||
msgstr ""
|
||||
msgstr "Erro ao ler arquivo carregado: {0}"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1034
|
||||
msgid "Error parsing download parameter."
|
||||
msgstr ""
|
||||
msgstr "Erro ao analisar parâmetro de download."
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1078
|
||||
msgid "Invalid pagesize number, resetting to default value."
|
||||
@@ -174,7 +173,7 @@ msgstr[1] "{0} mensagens deletadas."
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1314
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1653
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Login"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1316
|
||||
#, java-format
|
||||
@@ -235,13 +234,13 @@ msgstr "Cancelar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1581
|
||||
msgid "Delete Attachment"
|
||||
msgstr ""
|
||||
msgstr "Deletar anexo"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1582
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1675
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1756
|
||||
msgid "Reload Config"
|
||||
msgstr ""
|
||||
msgstr "Recarregar configurações"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1583
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1676
|
||||
@@ -277,7 +276,7 @@ msgstr ""
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1614
|
||||
msgid "New Attachment:"
|
||||
msgstr ""
|
||||
msgstr "Novo anexo:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1614
|
||||
msgid "Upload File"
|
||||
@@ -285,7 +284,7 @@ msgstr "Carregar arquivo"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1620
|
||||
msgid "Attachments:"
|
||||
msgstr ""
|
||||
msgstr "Anexos:"
|
||||
|
||||
#. current postman hq length limits 16/12, new postman version 32/32
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1642
|
||||
@@ -298,23 +297,23 @@ msgstr "Senha"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1648
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
msgstr "Host"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1649
|
||||
msgid "POP3-Port"
|
||||
msgstr "Porta do POP3"
|
||||
msgstr "Porta POP3"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1650
|
||||
msgid "SMTP-Port"
|
||||
msgstr "Porta do SMTP"
|
||||
msgstr "Porta SMTP"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1653
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
msgstr "Resetar"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1654
|
||||
msgid "Learn about I2P mail"
|
||||
msgstr ""
|
||||
msgstr "Conheça o correio da rede I2P"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1655
|
||||
msgid "Create Account"
|
||||
@@ -326,7 +325,7 @@ msgstr "Quer mesmo deletar as mensagens marcadas?"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1667
|
||||
msgid "Yes, really delete them!"
|
||||
msgstr "Sim, quero deletá-los!"
|
||||
msgstr "Sim, quero deletá-las!"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1669
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1748
|
||||
@@ -401,7 +400,7 @@ msgstr "Primeiro"
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1718
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1753
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1719
|
||||
#, java-format
|
||||
@@ -437,7 +436,7 @@ msgstr "Sim, quero deletá-lo!"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1755
|
||||
msgid "Back to Folder"
|
||||
msgstr ""
|
||||
msgstr "Voltar para pasta"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1762
|
||||
msgid "Date:"
|
||||
@@ -445,4 +444,4 @@ msgstr "Data:"
|
||||
|
||||
#: src/src/i2p/susi/webmail/WebMail.java:1773
|
||||
msgid "Could not fetch mail."
|
||||
msgstr ""
|
||||
msgstr "Não foi possível recuperar o correio."
|
||||
|
||||
@@ -448,7 +448,11 @@
|
||||
<ant dir="installer/resources/locale" target="poupdate" />
|
||||
</target>
|
||||
|
||||
<target name="prep-script-translation" >
|
||||
<condition property="no.bundle">
|
||||
<isfalse value="${require.gettext}" />
|
||||
</condition>
|
||||
|
||||
<target name="prep-script-translation" unless="no.bundle" >
|
||||
<!-- script translation added in 0.8.13, enabled in 0.9.5. -->
|
||||
<ant dir="installer/resources/locale" target="bundle" />
|
||||
<copy todir="pkg-temp/locale/">
|
||||
@@ -467,7 +471,7 @@
|
||||
splitindex="true"
|
||||
doctitle="I2P Javadocs for Release ${release.number} Build ${i2p.build.number}${build.extra}"
|
||||
windowtitle="I2P Anonymous Network - Java Documentation - Version ${release.number}">
|
||||
<group title="Core SDK (i2p.jar)" packages="net.i2p:net.i2p.*:net.i2p.client:net.i2p.client.*:net.i2p.internal:net.i2p.internal.*:freenet.support.CPUInformation:org.bouncycastle.oldcrypto:org.bouncycastle.oldcrypto.*:gnu.crypto.*:gnu.gettext:com.nettgryppa.security:net.metanotion:net.metanotion.*" />
|
||||
<group title="Core SDK (i2p.jar)" packages="net.i2p:net.i2p.*:net.i2p.client:net.i2p.client.*:net.i2p.internal:net.i2p.internal.*:freenet.support.CPUInformation:org.bouncycastle.oldcrypto:org.bouncycastle.oldcrypto.*:gnu.crypto.*:gnu.getopt:gnu.gettext:com.nettgryppa.security:net.metanotion:net.metanotion.*" />
|
||||
<group title="Streaming Library" packages="net.i2p.client.streaming:net.i2p.client.streaming.impl" />
|
||||
<group title="Router" packages="net.i2p.router:net.i2p.router.*:net.i2p.data.i2np:org.cybergarage.*:org.freenetproject:org.xlattice.crypto.filters" />
|
||||
<group title="Router Console" packages="net.i2p.router.web:net.i2p.router.update" />
|
||||
|
||||
@@ -46,7 +46,10 @@
|
||||
<target name="jar" depends="compile, jarUpToDate, listChangedFiles" unless="jar.uptodate" >
|
||||
<!-- set if unset -->
|
||||
<property name="workspace.changes.tr" value="" />
|
||||
<jar destfile="./build/i2p.jar" basedir="./build/obj" includes="**/*.class" >
|
||||
<jar destfile="./build/i2p.jar" >
|
||||
<fileset dir="./build/obj" includes="**/*.class" />
|
||||
<!-- the getopt translation files -->
|
||||
<fileset dir="src" includes="gnu/getopt/*.properties" />
|
||||
<manifest>
|
||||
<attribute name="Implementation-Version" value="${full.version}" />
|
||||
<attribute name="Built-By" value="${build.built-by}" />
|
||||
|
||||
1337
core/java/src/gnu/getopt/Getopt.java
Normal file
1337
core/java/src/gnu/getopt/Getopt.java
Normal file
File diff suppressed because it is too large
Load Diff
195
core/java/src/gnu/getopt/LongOpt.java
Normal file
195
core/java/src/gnu/getopt/LongOpt.java
Normal file
@@ -0,0 +1,195 @@
|
||||
/**************************************************************************
|
||||
/* LongOpt.java -- Long option object for Getopt
|
||||
/*
|
||||
/* Copyright (c) 1998 by Aaron M. Renn (arenn@urbanophile.com)
|
||||
/*
|
||||
/* This program is free software; you can redistribute it and/or modify
|
||||
/* it under the terms of the GNU Library General Public License as published
|
||||
/* by the Free Software Foundation; either version 2 of the License or
|
||||
/* (at your option) any later version.
|
||||
/*
|
||||
/* This program is distributed in the hope that it will be useful, but
|
||||
/* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
/* GNU Library General Public License for more details.
|
||||
/*
|
||||
/* You should have received a copy of the GNU Library General Public License
|
||||
/* along with this program; see the file COPYING.LIB. If not, write to
|
||||
/* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
/* Boston, MA 02111-1307 USA
|
||||
/**************************************************************************/
|
||||
|
||||
package gnu.getopt;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.ResourceBundle;
|
||||
import java.text.MessageFormat;
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/**
|
||||
* This object represents the definition of a long option in the Java port
|
||||
* of GNU getopt. An array of LongOpt objects is passed to the Getopt
|
||||
* object to define the list of valid long options for a given parsing
|
||||
* session. Refer to the getopt documentation for details on the
|
||||
* format of long options.
|
||||
*
|
||||
* @version 1.0.5
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*
|
||||
* @see Getopt
|
||||
*/
|
||||
public class LongOpt extends Object
|
||||
{
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/*
|
||||
* Class Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constant value used for the "has_arg" constructor argument. This
|
||||
* value indicates that the option takes no argument.
|
||||
*/
|
||||
public static final int NO_ARGUMENT = 0;
|
||||
|
||||
/**
|
||||
* Constant value used for the "has_arg" constructor argument. This
|
||||
* value indicates that the option takes an argument that is required.
|
||||
*/
|
||||
public static final int REQUIRED_ARGUMENT = 1;
|
||||
|
||||
/**
|
||||
* Constant value used for the "has_arg" constructor argument. This
|
||||
* value indicates that the option takes an argument that is optional.
|
||||
*/
|
||||
public static final int OPTIONAL_ARGUMENT = 2;
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* The name of the long option
|
||||
*/
|
||||
protected String name;
|
||||
|
||||
/**
|
||||
* Indicates whether the option has no argument, a required argument, or
|
||||
* an optional argument.
|
||||
*/
|
||||
protected int has_arg;
|
||||
|
||||
/**
|
||||
* If this variable is not null, then the value stored in "val" is stored
|
||||
* here when this long option is encountered. If this is null, the value
|
||||
* stored in "val" is treated as the name of an equivalent short option.
|
||||
*/
|
||||
protected StringBuffer flag;
|
||||
|
||||
/**
|
||||
* The value to store in "flag" if flag is not null, otherwise the
|
||||
* equivalent short option character for this long option.
|
||||
*/
|
||||
protected int val;
|
||||
|
||||
/**
|
||||
* Localized strings for error messages
|
||||
*/
|
||||
private ResourceBundle _messages = ResourceBundle.getBundle(
|
||||
"gnu/getopt/MessagesBundle", Locale.getDefault());
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* Create a new LongOpt object with the given parameter values. If the
|
||||
* value passed as has_arg is not valid, then an exception is thrown.
|
||||
*
|
||||
* @param name The long option String.
|
||||
* @param has_arg Indicates whether the option has no argument (NO_ARGUMENT), a required argument (REQUIRED_ARGUMENT) or an optional argument (OPTIONAL_ARGUMENT).
|
||||
* @param flag If non-null, this is a location to store the value of "val" when this option is encountered, otherwise "val" is treated as the equivalent short option character.
|
||||
* @param val The value to return for this long option, or the equivalent single letter option to emulate if flag is null.
|
||||
*
|
||||
* @exception IllegalArgumentException If the has_arg param is not one of NO_ARGUMENT, REQUIRED_ARGUMENT or OPTIONAL_ARGUMENT.
|
||||
*/
|
||||
public
|
||||
LongOpt(String name, int has_arg,
|
||||
StringBuffer flag, int val) throws IllegalArgumentException
|
||||
{
|
||||
// Validate has_arg
|
||||
if ((has_arg != NO_ARGUMENT) && (has_arg != REQUIRED_ARGUMENT)
|
||||
&& (has_arg != OPTIONAL_ARGUMENT))
|
||||
{
|
||||
Object[] msgArgs = { new Integer(has_arg).toString() };
|
||||
throw new IllegalArgumentException(MessageFormat.format(
|
||||
_messages.getString("getopt.invalidValue"), msgArgs));
|
||||
}
|
||||
|
||||
// Store off values
|
||||
this.name = name;
|
||||
this.has_arg = has_arg;
|
||||
this.flag = flag;
|
||||
this.val = val;
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/**
|
||||
* Returns the name of this LongOpt as a String
|
||||
*
|
||||
* @return Then name of the long option
|
||||
*/
|
||||
public String
|
||||
getName()
|
||||
{
|
||||
return(name);
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/**
|
||||
* Returns the value set for the 'has_arg' field for this long option
|
||||
*
|
||||
* @return The value of 'has_arg'
|
||||
*/
|
||||
public int
|
||||
getHasArg()
|
||||
{
|
||||
return(has_arg);
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
/**
|
||||
* Returns the value of the 'flag' field for this long option
|
||||
*
|
||||
* @return The value of 'flag'
|
||||
*/
|
||||
public StringBuffer
|
||||
getFlag()
|
||||
{
|
||||
return(flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of the 'val' field for this long option
|
||||
*
|
||||
* @return The value of 'val'
|
||||
*/
|
||||
public int
|
||||
getVal()
|
||||
{
|
||||
return(val);
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
} // Class LongOpt
|
||||
|
||||
31
core/java/src/gnu/getopt/MessagesBundle.properties
Normal file
31
core/java/src/gnu/getopt/MessagesBundle.properties
Normal file
@@ -0,0 +1,31 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- English language error messages
|
||||
#*
|
||||
#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
|
||||
#* Aaron M. Renn (arenn@urbanophile.com)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: option ''{1}'' is ambiguous
|
||||
getopt.arguments1={0}: option ''--{1}'' doesn't allow an argument
|
||||
getopt.arguments2={0}: option ''{1}{2}'' doesn't allow an argument
|
||||
getopt.requires={0}: option ''{1}'' requires an argument
|
||||
getopt.unrecognized={0}: unrecognized option ''--{1}''
|
||||
getopt.unrecognized2={0}: unrecognized option ''{1}{2}''
|
||||
getopt.illegal={0}: illegal option -- {1}
|
||||
getopt.invalid={0}: invalid option -- {1}
|
||||
getopt.requires2={0}: option requires an argument -- {1}
|
||||
getopt.invalidValue=Invalid value {0} for parameter 'has_arg'
|
||||
31
core/java/src/gnu/getopt/MessagesBundle_cs.properties
Normal file
31
core/java/src/gnu/getopt/MessagesBundle_cs.properties
Normal file
@@ -0,0 +1,31 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_cs.properties -- Czech language error messages
|
||||
#*
|
||||
#* Czech Messages Copyright (c) 1998 by Roman Szturc (Roman.Szturc@vsb.cz)
|
||||
#* These messages are encoded in ISO-8859-2
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: volba ''{1}'' je nejednozna\u010Dn\u00E1
|
||||
getopt.arguments1={0}: volba ''--{1}'' nep\u0159ipou\u0161t\u00ED argument
|
||||
getopt.arguments2={0}: volba ''{1}{2}'' nep\u0159ipou\u0161t\u00ED argument
|
||||
getopt.requires={0}: volba ''{1}'' vy\u017Eaduje argument
|
||||
getopt.unrecognized={0}: nep\u0159\u00EDpustn\u00E1 volba ''--{1}''
|
||||
getopt.unrecognized2={0}: nep\u0159\u00EDpustn\u00E1 volba ''{1}{2}''
|
||||
getopt.illegal={0}: nep\u0159\u00EDpustn\u00E1 volba -- {1}
|
||||
getopt.invalid={0}: neplatn\u00E1 volba -- {1}
|
||||
getopt.requires2={0}: volba vy\u017Eaduje argument -- {1}
|
||||
getopt.invalidValue=Neplatn\u00E1 hodnota {0} parameteru 'has_arg'
|
||||
31
core/java/src/gnu/getopt/MessagesBundle_de.properties
Normal file
31
core/java/src/gnu/getopt/MessagesBundle_de.properties
Normal file
@@ -0,0 +1,31 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- German language error messages
|
||||
#*
|
||||
#* German Messages Copyright (c) 1999 by Bernhard Bablok (bablokb@gmx.net)
|
||||
#* These messages are encoded in ISO-8859-1
|
||||
#/*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: Option ''{1}'' ist zweideutig
|
||||
getopt.arguments1={0}: Option ''--{1}'' erlaubt kein Argument
|
||||
getopt.arguments2={0}: Option ''{1}{2}'' erlaubt kein Argument
|
||||
getopt.requires={0}: Option ''{1}'' ben\u00F6tigt ein Argument
|
||||
getopt.unrecognized={0}: Unbekannte Option ''--{1}''
|
||||
getopt.unrecognized2={0}: Unbekannte Option ''{1}{2}''
|
||||
getopt.illegal={0}: Verbotene Option -- {1}
|
||||
getopt.invalid={0}: Ung\u00FCltige Option -- {1}
|
||||
getopt.requires2={0}: Option ben\u00F6tigt ein Argument -- {1}
|
||||
getopt.invalidValue=Ung\u00FCltiger Wert {0} f\u00FCr Parameter 'has_arg'
|
||||
31
core/java/src/gnu/getopt/MessagesBundle_es.properties
Normal file
31
core/java/src/gnu/getopt/MessagesBundle_es.properties
Normal file
@@ -0,0 +1,31 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_es.properties -- Spanish language error messages
|
||||
#*
|
||||
#* Spanish Messages Copyright (c) 2004 by Daniel P\u00E9rez (dondani@gmail.com)
|
||||
#* These messages are encoded in ISO-8859-1
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: la opci\u00F3n ''{1}'' es ambigua
|
||||
getopt.arguments1={0}: la opci\u00F3n ''--{1}'' no permite un argumento
|
||||
getopt.arguments2={0}: la opci\u00F3n ''{1}{2}'' no permite un argumento
|
||||
getopt.requires={0}: la opci\u00F3n ''{1}'' requiere un argumento
|
||||
getopt.unrecognized={0}: opci\u00F3n no reconocida ''--{1}''
|
||||
getopt.unrecognized2={0}: opci\u00F3n no reconocida ''{1}{2}''
|
||||
getopt.illegal={0}: opci\u00F3n ilegal -- {1}
|
||||
getopt.invalid={0}: opci\u00F3n no v\u00E1lida -- {1}
|
||||
getopt.requires2={0}: la opci\u00F3n requiere un argumento -- {1}
|
||||
getopt.invalidValue=Valor no v\u00E1lido {0} para el par\u00E1metro 'has_arg'
|
||||
33
core/java/src/gnu/getopt/MessagesBundle_fr.properties
Normal file
33
core/java/src/gnu/getopt/MessagesBundle_fr.properties
Normal file
@@ -0,0 +1,33 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_fr.properties -- French language error messages
|
||||
#*
|
||||
#* Copyright (c) 1999 Free Software Foundation, Inc.
|
||||
#* Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996,
|
||||
#* Edouard G. Parmelan <edouard.parmelan@quadratec.fr>, 1999.
|
||||
#* These messages are encoded in ISO-8859-1
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: l'option ''{1}'' est ambigu\u00EB
|
||||
getopt.arguments1={0}: l'option ''--{1}'' ne permet pas de param\u00E8tre
|
||||
getopt.arguments2={0}: l'option ''{1}{2}'' ne permet pas de param\u00E8tre
|
||||
getopt.requires={0}: l'option ''{1}'' requiert un param\u00E8tre
|
||||
getopt.unrecognized={0}: option non reconnue ''--{1}''
|
||||
getopt.unrecognized2={0}: option non reconnue ''{1}{2}''
|
||||
getopt.illegal={0}: option ill\u00E9gale -- {1}
|
||||
getopt.invalid={0}: option invalide -- {1}
|
||||
getopt.requires2={0}: cette option requiert un param\u00E8tre -- {1}
|
||||
getopt.invalidValue=Valeur invalide {0} pour le param\u00E8tre 'has_arg'
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_hu.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_hu.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- Hungarian language error messages
|
||||
#*
|
||||
#* Copyright (c) 2001 by Gyula Csom (csom@informix.hu)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: opci\u00F3 ''{1}'' f\u00E9lre\u00E9rthet\u0151
|
||||
getopt.arguments1={0}: opci\u00F3 ''--{1}'' nem enged meg argumentumot
|
||||
getopt.arguments2={0}: opci\u00F3 ''{1}{2}'' nem enged meg argumentumot
|
||||
getopt.requires={0}: opci\u00F3 ''{1}'' argumentumot ig\u00E9nyel
|
||||
getopt.unrecognized={0}: ismeretlen opci\u00F3 ''--{1}''
|
||||
getopt.unrecognized2={0}: ismeretlen opci\u00F3 ''{1}{2}''
|
||||
getopt.illegal={0}: illeg\u00E1lis opci\u00F3 -- {1}
|
||||
getopt.invalid={0}: \u00E9rv\u00E9nytelen opci\u00F3 -- {1}
|
||||
getopt.requires2={0}: az opci\u00F3 argumentumot ig\u00E9nyel -- {1}
|
||||
getopt.invalidValue=\u00C9rv\u00E9nytelen \u00E9rt\u00E9k {0} a k\u00F6vetkez\u0151 param\u00E9terhez 'has_arg'
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_it.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_it.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- Italian language error messages
|
||||
#*
|
||||
#* Copyright (c) 2005 by Sandro Tosi (matrixhasu@gmail.com)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: l'opzione ''{1}'' \u00E8 ambigua
|
||||
getopt.arguments1={0}: l'opzione ''--{1}'' non ammette un argomento
|
||||
getopt.arguments2={0}: l'opzione ''{1}{2}'' non ammette un argomento
|
||||
getopt.requires={0}: l'opzione ''{1}'' richiede un argomento
|
||||
getopt.unrecognized={0}: opzione non riconosciuta ''--{1}''
|
||||
getopt.unrecognized2={0}: opzione non riconosciuta ''{1}{2}''
|
||||
getopt.illegal={0}: opzione illegale -- {1}
|
||||
getopt.invalid={0}: opzione invalida -- {1}
|
||||
getopt.requires2={0}: l'opzione richiede un argomento -- {1}
|
||||
getopt.invalidValue=Valore non valido {0} per il parametro 'has_arg'
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_ja.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_ja.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- Japanese language error messages
|
||||
#*
|
||||
#* Copyright (c) 2001 by Yasuoka Masahiko (yasuoka@yasuoka.net)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: ''{1}'' \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u66d6\u6627\u3067\u3059\u3002
|
||||
getopt.arguments1={0}: ''--{1}'' \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3082\u3061\u307e\u305b\u3093\u3002
|
||||
getopt.arguments2={0}: ''{1}{2}'' \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3082\u3061\u307e\u305b\u3093\u3002
|
||||
getopt.requires={0}: ''{1}'' \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u5fc5\u8981\u3067\u3059\u3002
|
||||
getopt.unrecognized={0}: ''--{1}'' \u306f\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002
|
||||
getopt.unrecognized2={0}: ''{1}{2}'' \u306f\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002
|
||||
getopt.illegal={0}: -- {1} \u306f\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002
|
||||
getopt.invalid={0}: -- {1} \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
|
||||
getopt.requires2={0}: -- {1} \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u5fc5\u8981\u3067\u3059\u3002
|
||||
getopt.invalidValue={0} \u306f\u3001'has_arg' \u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u3057\u3066\u4e0d\u6b63\u306a\u5024\u3067\u3059\u3002
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_nb.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_nb.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties -- Norwegian language error messages
|
||||
#*
|
||||
#* Copyright (c) 1999 by Bj\u00F8rn-Ove Heimsund (s811@ii.uib.no)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: flagget ''{1}'' er flertydig
|
||||
getopt.arguments1={0}: flagget ''--{1}'' tillater ikke et argument
|
||||
getopt.arguments2={0}: flagget ''{1}{2}'' tillater ikke et argument
|
||||
getopt.requires={0}: flagget ''{1}'' krever et argument
|
||||
getopt.unrecognized={0}: ukjent flagg ''--{1}''
|
||||
getopt.unrecognized2={0}: ukjent flagg ''{1}{2}''
|
||||
getopt.illegal={0}: ugyldig flagg -- {1}
|
||||
getopt.invalid={0}: ugyldig flagg -- {1}
|
||||
getopt.requires2={0}: flagget krever et argument -- {1}
|
||||
getopt.invalidValue=Ugyldig verdi {0} for parameter 'has_arg'
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_nl.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_nl.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_nl.properties -- Dutch language error messages
|
||||
#*
|
||||
#* Copyright (c) 1999 by Ernst de Haan (ernst@jollem.com)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: optie ''{1}'' is ambigue
|
||||
getopt.arguments1={0}: optie ''--{1}'' staat geen argumenten toe
|
||||
getopt.arguments2={0}: optie ''{1}{2}'' staat geen argumenten toe
|
||||
getopt.requires={0}: optie ''{1}'' heeft een argument nodig
|
||||
getopt.unrecognized={0}: onbekende optie ''--{1}''
|
||||
getopt.unrecognized2={0}: onbekende optie ''{1}{2}''
|
||||
getopt.illegal={0}: niet-toegestane optie -- {1}
|
||||
getopt.invalid={0}: onjuiste optie -- {1}
|
||||
getopt.requires2={0}: optie heeft een argument nodig -- {1}
|
||||
getopt.invalidValue=Ongeldige waarde {0} voor parameter 'has_arg'
|
||||
31
core/java/src/gnu/getopt/MessagesBundle_pl.properties
Normal file
31
core/java/src/gnu/getopt/MessagesBundle_pl.properties
Normal file
@@ -0,0 +1,31 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_pl.properties -- Polish language error messages
|
||||
#*
|
||||
#* Polish Messages Copyright (c) 2006 by Krzysztof Szyma?ski (sirch.s@gmail.com)
|
||||
#* These messages are encoded in ISO-8859-2
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: opcja ''{1}''jest wieloznaczna
|
||||
getopt.arguments1={0}: opcja ''--{1}'' nie akceptuje argumentu
|
||||
getopt.arguments2={0}: opcja ''{1}{2}'' nie akceptuje argumentu
|
||||
getopt.requires={0}: opcja ''{1}'' wymaga argumentu
|
||||
getopt.unrecognized={0}: nierozpoznana opcja ''--{1}''
|
||||
getopt.unrecognized2={0}: nierozpoznana opcja ''{1}{2}''
|
||||
getopt.illegal={0}: nie dopuszczalna opcja --{1}
|
||||
getopt.invalid={0}: b??dna opcja --{1}
|
||||
getopt.requires2={0}: opcja --{1} oczekuje argumentu
|
||||
getopt.invalidValue=Nie poprawna warto?? {0} argument 'has_arg'
|
||||
32
core/java/src/gnu/getopt/MessagesBundle_ro.properties
Normal file
32
core/java/src/gnu/getopt/MessagesBundle_ro.properties
Normal file
@@ -0,0 +1,32 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle_fr.properties -- Romanian language error messages
|
||||
#*
|
||||
#* Copyright (c) 1999 Free Software Foundation, Inc.
|
||||
#* Marian-Nicolae Ion <marian_ion@noos.fr>, 2004,
|
||||
#* These messages are encoded in ISO-8859-2
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your optiunea) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: op\u0163iunea ''{1}'' este ambigu\u0103
|
||||
getopt.arguments1={0}: op\u0163iunea ''--{1}'' nu accept\u0103 parametru
|
||||
getopt.arguments2={0}: op\u0163iunea ''{1}{2}'' nu accept\u0103 parametru
|
||||
getopt.requires={0}: op\u0163iunea ''{1}'' cere un parametru
|
||||
getopt.unrecognized={0}: op\u0163iune necunoscut\u0103 ''--{1}''
|
||||
getopt.unrecognized2={0}: op\u0163iune necunoscut\u0103 ''{1}{2}''
|
||||
getopt.illegal={0}: op\u0163iune ilegal\u0103 -- {1}
|
||||
getopt.invalid={0}: op\u0163iune invalid\u0103 -- {1}
|
||||
getopt.requires2={0}: aceast\u0103 op\u0163iune cere un parametru -- {1}
|
||||
getopt.invalidValue=Valoare invalid\u0103 {0} pentru parametrul 'has_arg'
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_zh.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_zh.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties Simple Chinese language error messages
|
||||
#*
|
||||
#* Copyright (c) 2012 by David Zhang (david290@qq.com)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: \u9009\u9879 ''{1}'' \u6709\u6B67\u4E49
|
||||
getopt.arguments1={0}:\u9009\u9879''--{1}'' \u4E0D\u80FD\u5E26\u53C2\u6570
|
||||
getopt.arguments2={0}:\u9009\u9879''{1}{2}''\u4E0D\u80FD\u5E26\u53C2\u6570
|
||||
getopt.requires={0}: \u9009\u9879 ''{1}'' \u8981\u6C42\u5E26\u6709\u53C2\u6570
|
||||
getopt.unrecognized={0}: \u65E0\u6CD5\u8BC6\u522B\u7684\u9009\u9879 ''--{1}''
|
||||
getopt.unrecognized2={0}:\u65E0\u6CD5\u8BC6\u522B\u7684\u9009\u9879''{1}{2}''
|
||||
getopt.illegal={0}: \u975E\u6CD5\u9009\u9879 -- {1}
|
||||
getopt.invalid={0}: \u65E0\u6548\u9009\u9879 -- {1}
|
||||
getopt.requires2={0}:\u9009\u9879\u9700\u8981\u6709\u53C2\u6570 -- {1}
|
||||
getopt.invalidValue=\u9009\u9879 'has_arg'\u7684\u503C {0} \u975E\u6CD5
|
||||
30
core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
Normal file
30
core/java/src/gnu/getopt/MessagesBundle_zh_TW.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
#**************************************************************************
|
||||
#* MessagesBundle.properties - Triditional Chinese language error messages
|
||||
#*
|
||||
#* Copyright (c) 2012 by David Zhang (david290@qq.com)
|
||||
#*
|
||||
#* This program is free software; you can redistribute it and/or modify
|
||||
#* it under the terms of the GNU Library General Public License as published
|
||||
#* by the Free Software Foundation; either version 2 of the License or
|
||||
#* (at your option) any later version.
|
||||
#*
|
||||
#* This program is distributed in the hope that it will be useful, but
|
||||
#* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#* GNU Library General Public License for more details.
|
||||
#*
|
||||
#* You should have received a copy of the GNU Library General Public License
|
||||
#* along with this program; see the file COPYING.LIB. If not, write to
|
||||
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
|
||||
#* Boston, MA 02111-1307 USA
|
||||
#**************************************************************************/
|
||||
getopt.ambigious={0}: \u9078\u9805 ''{1}'' \u6709\u6B67\u7FA9
|
||||
getopt.arguments1={0}:\u9078\u9805''--{1}'' \u4E0D\u80FD\u5E36\u53C3\u6578
|
||||
getopt.arguments2={0}:\u9078\u9805''{1}{2}''\u4E0D\u80FD\u5E36\u53C3\u6578
|
||||
getopt.requires={0}: \u9078\u9805 ''{1}'' \u8981\u6C42\u5E36\u6709\u53C3\u6578
|
||||
getopt.unrecognized={0}: \u7121\u6CD5\u8B58\u5225\u7684\u9078\u9805 ''--{1}''
|
||||
getopt.unrecognized2={0}:\u7121\u6CD5\u8B58\u5225\u7684\u9078\u9805''{1}{2}''
|
||||
getopt.illegal={0}: \u975E\u6CD5\u9078\u9805 -- {1}
|
||||
getopt.invalid={0}: \u7121\u6548\u9078\u9805 -- {1}
|
||||
getopt.requires2={0}:\u9078\u9805\u9700\u8981\u6709\u53C3\u6578 -- {1}
|
||||
getopt.invalidValue=\u9078\u9805 'has_arg'\u7684\u503C {0} \u975E\u6CD5
|
||||
25
core/java/src/gnu/getopt/package.html
Normal file
25
core/java/src/gnu/getopt/package.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<html><body>
|
||||
<p>
|
||||
This is Java getopt 1.0.14 (released 2012/02/08)
|
||||
</p><p>
|
||||
Added in I2P 0.9.12.
|
||||
Source was retrieved from <a href="https://github.com/arenn/java-getopt">here</a>.
|
||||
Previous version 1.0.13 (released 2006/08/29)
|
||||
is available <a href="http://www.urbanophile.com/arenn/hacking/getopt/">here</a>.
|
||||
</p><p>
|
||||
Copyright (c) 1998 by Aaron M. Renn (arenn@urbanophile.com),
|
||||
LGPL v2.
|
||||
</p><p>
|
||||
Changes:
|
||||
<ul><li>
|
||||
Simplified Chinese
|
||||
MessagesBundle_chs.properties renamed to MessagesBundle_zh.properties
|
||||
</li><li>
|
||||
Traditional Chinese
|
||||
MessagesBundle_cht.properties renamed to MessagesBundle_zh_TW.properties
|
||||
</li><li>
|
||||
Norwegian Bokmaal
|
||||
MessagesBundle_no.properties renamed to MessagesBundle_nb.properties
|
||||
</li></ul>
|
||||
</p>
|
||||
</body></html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user