propagate from branch 'i2p.i2p' (head 793ca7c46f5d8b51c5880fc538dea7874e62f63b)

to branch 'i2p.i2p.zzz.test4' (head 2ccff1385a7d79f6be7079af73036510667578b7)
This commit is contained in:
zzz
2011-08-20 20:23:20 +00:00
124 changed files with 23730 additions and 4635 deletions

View File

@@ -23,3 +23,4 @@ _jsp\.java$
/build/
/classes/
^debian/copyright
override.properties

View File

@@ -2,9 +2,11 @@
source_file = apps/i2ptunnel/locale/messages_en.po
source_lang = en
trans.ar = apps/i2ptunnel/locale/messages_ar.po
trans.da = apps/i2ptunnel/locale/messages_da.po
trans.de = apps/i2ptunnel/locale/messages_de.po
trans.es = apps/i2ptunnel/locale/messages_es.po
trans.fr = apps/i2ptunnel/locale/messages_fr.po
trans.it = apps/i2ptunnel/locale/messages_it.po
trans.nl = apps/i2ptunnel/locale/messages_nl.po
trans.ru = apps/i2ptunnel/locale/messages_ru.po
trans.sv_SE = apps/i2ptunnel/locale/messages_sv.po
@@ -15,6 +17,7 @@ trans.zh_CN = apps/i2ptunnel/locale/messages_zh.po
source_file = apps/routerconsole/locale/messages_en.po
source_lang = en
trans.ar = apps/routerconsole/locale/messages_ar.po
trans.da = apps/routerconsole/locale/messages_da.po
trans.de = apps/routerconsole/locale/messages_de.po
trans.es = apps/routerconsole/locale/messages_es.po
trans.fi = apps/routerconsole/locale/messages_fi.po
@@ -24,6 +27,7 @@ trans.nl = apps/routerconsole/locale/messages_nl.po
trans.pl = apps/routerconsole/locale/messages_pl.po
trans.ru = apps/routerconsole/locale/messages_ru.po
trans.sv_SE = apps/routerconsole/locale/messages_sv.po
trans.uk_UA = apps/routerconsole/locale/messages_uk.po
trans.vi = apps/routerconsole/locale/messages_vi.po
trans.zh_CN = apps/routerconsole/locale/messages_zh.po
@@ -47,28 +51,33 @@ trans.zh_CN = apps/i2psnark/locale/messages_zh.po
source_file = apps/susidns/locale/messages_en.po
source_lang = en
trans.ar = apps/susidns/locale/messages_ar.po
trans.da = apps/susidns/locale/messages_da.po
trans.de = apps/susidns/locale/messages_de.po
trans.es = apps/susidns/locale/messages_es.po
trans.fr = apps/susidns/locale/messages_fr.po
trans.it = apps/susidns/locale/messages_it.po
trans.nl = apps/susidns/locale/messages_nl.po
trans.pl = apps/susidns/locale/messages_pl.po
trans.ru = apps/susidns/locale/messages_ru.po
trans.sv_SE = apps/susidns/locale/messages_sv.po
trans.uk_UA = apps/susidns/locale/messages_uk.po
trans.vi = apps/susidns/locale/messages_vi.po
trans.zh_CN = apps/susidns/locale/messages_zh.po
[I2P.desktopgui]
source_file = apps/desktopgui/locale/messages_en.po
source_lang = en
trans.ar = apps/desktopgui/locale/messages_ar.po
trans.da = apps/desktopgui/locale/messages_da.po
trans.de = apps/desktopgui/locale/messages_de.po
trans.es = apps/desktopgui/locale/messages_es.po
trans.fi = apps/desktopgui/locale/messages_fi.po
trans.fr = apps/desktopgui/locale/messages_fr.po
trans.it = apps/desktopgui/locale/messages_it.po
trans.nl = apps/desktopgui/locale/messages_nl.po
trans.pl = apps/desktopgui/locale/messages_pl.po
trans.ru = apps/desktopgui/locale/messages_ru.po
trans.sv_SE = apps/desktopgui/locale/messages_sv.po
trans.uk_UA = apps/desktopgui/locale/messages_uk.po
trans.vi = apps/desktopgui/locale/messages_vi.po
trans.zh_CN = apps/desktopgui/locale/messages_zh.po

View File

@@ -41,8 +41,8 @@ Public domain except as listed below:
See licenses/LICENSE-SHA256.txt
AES code:
Under the Cryptix (MIT) license, written by the Cryptix team
(That's what our website says but all our AES code looks like it is public domain)
Copyright (c) 1995-2005 The Cryptix Foundation Limited.
See licenses/LICENSE-Cryptix.txt
Crypto filters:
From the xlattice app - http://xlattice.sourceforge.net/
@@ -237,9 +237,6 @@ distributions. See the source package for the additional license information.
Admin Manager:
Public domain
Atalk:
Public domain
BOB Demos:
Copyright (C) sponge
DWTFYWTPL

View File

@@ -0,0 +1,57 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the desktopgui package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <kia___@hushmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2011-07-12 19:41+0000\n"
"Last-Translator: KIA <kia___@hushmail.com>\n"
"Language-Team: Danish (http://www.transifex.net/projects/p/I2P/team/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
msgid "Start I2P"
msgstr "Start I2P"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "I2P is starting!"
msgstr "I2P starter nu!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "Starting"
msgstr "Starter"
#: src/net/i2p/desktopgui/InternalTrayManager.java:26
msgid "Launch I2P Browser"
msgstr "Start I2P Browseren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:50
msgid "Configure desktopgui"
msgstr "Konfigurer desktopgui"
#: src/net/i2p/desktopgui/InternalTrayManager.java:67
msgid "Restart I2P"
msgstr "Genstart I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:85
msgid "Stop I2P"
msgstr "Stop I2P"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
msgid "Tray icon configuration"
msgstr "Konfiguration af processbar ikonet"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
msgid "Should tray icon be enabled?"
msgstr "Skal processbar ikonet være aktivt?"

View File

@@ -0,0 +1,57 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the desktopgui package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <gribua@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2011-06-19 14:01+0000\n"
"Last-Translator: Pharmasolin <gribua@gmail.com>\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.net/projects/p/I2P/team/uk_UA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk_UA\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
msgid "Start I2P"
msgstr "Запустити I2P"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "I2P is starting!"
msgstr "I2P запускається!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
msgid "Starting"
msgstr "Запускається"
#: src/net/i2p/desktopgui/InternalTrayManager.java:26
msgid "Launch I2P Browser"
msgstr "Запустити I2P Браузер"
#: src/net/i2p/desktopgui/InternalTrayManager.java:50
msgid "Configure desktopgui"
msgstr "Настроїти вигляд інтерфейсу"
#: src/net/i2p/desktopgui/InternalTrayManager.java:67
msgid "Restart I2P"
msgstr "Перезапустити I2P"
#: src/net/i2p/desktopgui/InternalTrayManager.java:85
msgid "Stop I2P"
msgstr "Зупинити I2P"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
msgid "Tray icon configuration"
msgstr "Настройка трей-іконки"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
msgid "Should tray icon be enabled?"
msgstr "Чм повинна трей-іконка бути включена?"

View File

@@ -1,14 +1,23 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the desktopgui package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# ducki2p <ducki2p@gmail.com>, 2011.
# walking <walking@i2pmail.org>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-02-16 17:10+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2011-03-24 09:18+0000\n"
"Last-Translator: walking <walking@i2pmail.org>\n"
"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/I2P/team/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
msgid "Start I2P"
@@ -28,7 +37,7 @@ msgstr "正在启动I2P浏览器"
#: src/net/i2p/desktopgui/InternalTrayManager.java:50
msgid "Configure desktopgui"
msgstr "界面设置"
msgstr "设置desktopgui"
#: src/net/i2p/desktopgui/InternalTrayManager.java:67
msgid "Restart I2P"
@@ -38,13 +47,12 @@ msgstr "重启 I2P"
msgid "Stop I2P"
msgstr "停止 I2P"
#. Translate interface
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:26
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:44
msgid "Tray icon configuration"
msgstr "托盘图标配置"
#: src/net/i2p/desktopgui/gui/DesktopguiConfigurationFrame.java:47
msgid "Should tray icon be enabled?"
msgstr "显示托盘图标"
msgstr "是否启用托盘图标"
#~ msgid "Browser not found"
#~ msgstr "Browser niet gevonden"
#~ msgid "The default browser for your system was not found."
#~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."

View File

@@ -1226,6 +1226,8 @@ public class SnarkManager implements Snark.CompleteListener {
}
Set<String> existingNames = listTorrentFiles();
if (_log.shouldLog(Log.DEBUG))
_log.debug("DirMon found: " + DataHelper.toString(foundNames) + " existing: " + DataHelper.toString(existingNames));
// lets find new ones first...
for (int i = 0; i < foundNames.size(); i++) {
if (existingNames.contains(foundNames.get(i))) {

View File

@@ -2,16 +2,19 @@
# 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
#
# <punkibastardo@gmail.com>, 2011.
# foo <foo@bar>, 2009.
#
# punkibastardo <punkibastardo@gmail.com>, 2011.
# ducki2p <ducki2p@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-17 20:12+0000\n"
"PO-Revision-Date: 2011-06-05 10:36+0100\n"
"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
"Language-Team: Spanish (Castilian) <None>\n"
"POT-Creation-Date: 2011-06-11 08:22+0000\n"
"PO-Revision-Date: 2011-07-20 00:56+0000\n"
"Last-Translator: blabla <blabla@trash-mail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/team/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -36,7 +39,8 @@ msgstr "Ancho de banda para la subida ha sido cambiado a {0} kbyte/s."
#: ../java/src/org/klomp/snark/SnarkManager.java:323
#, java-format
msgid "Minimum up bandwidth limit is {0}KBps"
msgstr "El límite mínimo de ancho de banda para la subida está en {0} kbyte/s."
msgstr ""
"El límite mínimo de ancho de banda para la subida está en {0} kbyte/s."
#: ../java/src/org/klomp/snark/SnarkManager.java:335
#, java-format
@@ -101,8 +105,8 @@ msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:447
msgid "Open Tracker list changed - torrent restart required to take effect."
msgstr ""
"Lista de rastreadores abiertos cambiada - Para aplicar ello es necesario que "
"reinicies los torrents."
"Lista de rastreadores abiertos cambiada - Para aplicar ello es necesario que"
" reinicies los torrents."
#: ../java/src/org/klomp/snark/SnarkManager.java:454
#, java-format
@@ -138,16 +142,18 @@ msgstr "Error: No se ha podido añadir el torrent {0}."
msgid "Cannot open \"{0}\""
msgstr "No se puede abrir \"{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:589
#: ../java/src/org/klomp/snark/SnarkManager.java:665
#: ../java/src/org/klomp/snark/SnarkManager.java:720
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1978
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1976
#, java-format
msgid "Torrent with this info hash is already running: {0}"
msgstr "Ya hay un Torrent con este hash ejecutándose: {0}"
#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName()));
#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P
#. open trackers and DHT only.", info.getName()));
#: ../java/src/org/klomp/snark/SnarkManager.java:596
#, java-format
msgid ""
@@ -157,7 +163,9 @@ msgstr ""
"Advertencia - No hay rastreadores de I2P en \"{0}\", se anunciará solamente "
"a los rastreadores I2P abiertos."
#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName()));
#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open
#. trackers are disabled, you should enable open trackers or DHT before
#. starting the torrent.", info.getName()));
#: ../java/src/org/klomp/snark/SnarkManager.java:601
#, java-format
msgid ""
@@ -173,7 +181,7 @@ msgid "Torrent in \"{0}\" is invalid"
msgstr "El archivo .torrent en \"{0}\" no es válido."
#: ../java/src/org/klomp/snark/SnarkManager.java:627
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2000
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1998
#, java-format
msgid "ERROR - Out of memory, cannot create torrent from {0}"
msgstr "ERROR - Falta de memoria, no se puede crear un torrent de {0}."
@@ -224,8 +232,8 @@ msgstr "Hay demasiados archivos en \"{0}\", se borrará ({1}). "
#, java-format
msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
msgstr ""
"Archivo de datos del torrent \"{0}\" no puede terminar en \".torrent' y será "
"borrado."
"Archivo de datos del torrent \"{0}\" no puede terminar en \".torrent' y será"
" borrado."
#: ../java/src/org/klomp/snark/SnarkManager.java:980
#, java-format
@@ -255,8 +263,7 @@ msgstr "El torrent \"{0}\" no contiene datos y será borrado."
#: ../java/src/org/klomp/snark/SnarkManager.java:995
#, java-format
msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
msgstr ""
"Torrents más grandes que \"{0}\"Bytes aún no funcionan, se borrará \"{1}\"."
msgstr "Torrents más grandes que \"{0}\"Bytes aún no funcionan, se borrará \"{1}\"."
#: ../java/src/org/klomp/snark/SnarkManager.java:1011
#, java-format
@@ -327,7 +334,7 @@ msgid "Forum"
msgstr "Foro"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1719
msgid "Status"
msgstr "Estado"
@@ -342,8 +349,8 @@ msgid "Show Peers"
msgstr "mostrar pares"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1645
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1661
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1643
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1659
msgid "Torrent"
msgstr "Torrent"
@@ -533,8 +540,8 @@ msgid "Seeding"
msgstr "sembrando"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:828
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1667
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1772
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1665
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1770
msgid "Complete"
msgstr "completo"
@@ -562,7 +569,7 @@ msgid "Torrent details"
msgstr "Detalles del torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:898
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1162
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1160
msgid "Info"
msgstr "Info"
@@ -593,8 +600,8 @@ msgstr "Iniciar"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:982
msgid "Remove the torrent from the active list, deleting the .torrent file"
msgstr ""
"Quita el torrent de la lista de los torrents activos borrando el archivo ."
"torrent"
"Quita el torrent de la lista de los torrents activos borrando el archivo "
".torrent"
#. Can't figure out how to escape double quotes inside the onclick string.
#. Single quotes in translate strings with parameters must be doubled.
@@ -632,319 +639,322 @@ msgstr ""
msgid "Delete"
msgstr "Borrar"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1044
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1042
msgid "Unknown"
msgstr "desconocido"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1054
msgid "Seed"
msgstr "Sembrador"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1079
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1077
msgid "Uninteresting (The peer has no pieces we need)"
msgstr "no interesante (El par no tiene partes que nos interesen.)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1081
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1079
msgid "Choked (The peer is not allowing us to request pieces)"
msgstr "moderado (De momento el par no nos permite solicitar más partes)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1099
msgid "Uninterested (We have no pieces the peer needs)"
msgstr "desinteresado (No tenemos las partes que el par quiere.)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1103
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
msgid "Choking (We are not allowing the peer to request pieces)"
msgstr "moderando (De momento no se le permite al par solicitar más partes)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1159
#, java-format
msgid "Details at {0} tracker"
msgstr "Detalles en el rastreador {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1188
msgid "Add Torrent"
msgstr "Añadir un torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1192
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
msgid "From URL"
msgstr "URL fuente"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1195
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1193
msgid ""
"Enter the torrent file download URL (I2P only), magnet link, or maggot link"
msgstr ""
"Introduce la URL de descarga de torrent (I2P solamente), enlace magnet o un "
"enlace maggot"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1200
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
msgid "Add torrent"
msgstr "Añadir torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1201
#, java-format
msgid "You can also copy .torrent files to: {0}."
msgstr "También puedes copiar archivos torrent a {0}."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203
msgid "Removing a .torrent will cause it to stop."
msgstr ""
"Quitar un archivo torrent resultará en que se detenga el torrent "
"perteneciente."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1228
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1226
msgid "Create Torrent"
msgstr "Crear un torrent"
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\"
#. value=\"" + newFile + "\" /><br>\n");
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229
msgid "Data to seed"
msgstr "Datos para sembrar"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1235
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233
msgid "File or directory to seed (must be within the specified path)"
msgstr ""
"Archivo o carpeta para sembrar (tiene que estár en la carpeta especificada)"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1686
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1235
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684
msgid "Tracker"
msgstr "Rastreador"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
msgid "Select a tracker"
msgstr "Selecciona un rastreador"
#. out.write(_("Open trackers and DHT only"));
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
msgid "Open trackers only"
msgstr "Sólo rastreadores abiertos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1259
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
msgid "or"
msgstr "o"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1262
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260
msgid "Specify custom tracker announce URL"
msgstr "¡Especifica una URL para anunciar al rastreador!"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1265
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1263
msgid "Create torrent"
msgstr "Crear torrent"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1422
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1281
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1420
msgid "Configuration"
msgstr "Preferencias"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1285
msgid "Data directory"
msgstr "Carpeta de datos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1289
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287
msgid "Edit i2psnark.config and restart to change"
msgstr "Para cambiar, ¡modifica el archivo i2psnark.config y reinicia!"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
msgid "Auto start"
msgstr "Arranque automático"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1297
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1295
msgid "If checked, automatically start torrents that are added"
msgstr "Si marcado, los torrents añadidos se iniciarán de forma automática."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1299
msgid "Theme"
msgstr "Tema"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1312
msgid "Startup delay"
msgstr "Tiempo de espera al arrancar"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1316
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314
msgid "minutes"
msgstr "minutos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1340
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1338
msgid "Total uploader limit"
msgstr "Límite global de subidores"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1343
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341
msgid "peers"
msgstr "pares"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1347
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1345
msgid "Up bandwidth limit"
msgstr "Límite del ancho de banda para la subida"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1350
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1348
msgid "Half available bandwidth recommended."
msgstr "Se recomienda la mitad del ancho de banda disponible."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1352
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1350
msgid "View or change router bandwidth"
msgstr "Mostrar y cambiar preferencias del ancho de banda del enrutador"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1356
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1354
msgid "Use open trackers also"
msgstr "Usar también rastreadores abiertos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1360
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358
msgid ""
"If checked, announce torrents to open trackers as well as the tracker listed "
"in the torrent file"
"If checked, announce torrents to open trackers as well as the tracker listed"
" in the torrent file"
msgstr ""
"Si está marcado, el torrent se anunciará a los rastreadores abiertos, además "
"de a los rastreadores especificados."
"Si está marcado, el torrent se anunciará a los rastreadores abiertos, además"
" de a los rastreadores especificados."
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1364
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1362
msgid "Open tracker announce URLs"
msgstr "URL(s) para anunciar a rastreadores abiertos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1376
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374
msgid "Inbound Settings"
msgstr "Preferencias de entrada"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1382
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1380
msgid "Outbound Settings"
msgstr "Preferencias de salida"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1388
msgid "I2CP host"
msgstr "Anfitrión I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1395
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1393
msgid "I2CP port"
msgstr "Puerto I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1408
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1406
msgid "I2CP options"
msgstr "Opciones I2CP"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1413
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1411
msgid "Save configuration"
msgstr "Guardar ajustes"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1438
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1436
#, java-format
msgid "Invalid magnet URL {0}"
msgstr "URL de magnet no válida: {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1470
#, java-format
msgid "Invalid info hash in magnet URL {0}"
msgstr "Hash de información no válido en la URL magnet {0}"
#. * dummies for translation
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1500
#, java-format
msgid "1 hop"
msgid_plural "{0} hops"
msgstr[0] "1 salto"
msgstr[1] "{0} saltos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1503
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1501
#, java-format
msgid "1 tunnel"
msgid_plural "{0} tunnels"
msgstr[0] "1 túnel"
msgstr[1] "{0} túneles"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1665
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
msgid "Completion"
msgstr "Finalización"
#. else unknown
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1718
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1667
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1716
msgid "Size"
msgstr "Tamaño"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1674
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1672
msgid "Files"
msgstr "Archivos"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1674
msgid "Pieces"
msgstr "Partes"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1677
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1675
msgid "Piece size"
msgstr "Tamaño de las partes"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1699
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697
msgid "Magnet link"
msgstr "Enlace de magnet"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1716
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1714
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1753
msgid "Directory"
msgstr "Carpeta"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1725
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1723
msgid "Priority"
msgstr "Prioridad"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1730
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1728
msgid "Up to higher level directory"
msgstr "Subir una herarquía"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1758
msgid "Torrent not found?"
msgstr "¿No se encotró el archivo torrent?"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1769
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1767
msgid "File not found in torrent?"
msgstr "¿Archivo no encontrado en el torrent?"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1782
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1780
msgid "complete"
msgstr "completo"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1783
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1781
msgid "bytes remaining"
msgstr "Bytes faltando"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1808
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1806
msgid "Open"
msgstr "abrir"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1834
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1832
msgid "High"
msgstr "alta"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1839
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1837
msgid "Normal"
msgstr "normal"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1844
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1842
msgid "Skip"
msgstr "dejar de lado"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1853
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1851
msgid "Save priorities"
msgstr "Guardar prioridades"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967
#, java-format
msgid "Torrent fetched from {0}"
msgstr "Torrent obtenido desde {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1990
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1988
#, java-format
msgid "Torrent already running: {0}"
msgstr "Torrent ya en marcha: {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1992
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1990
#, java-format
msgid "Torrent already in the queue: {0}"
msgstr "Torrent ya encolado: {0}"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1998
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1996
#, java-format
msgid "Torrent at {0} was not valid"
msgstr "Torrent en {0} no era válido"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2005
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2003
#, java-format
msgid "Torrent was not retrieved from {0}"
msgstr "Torrent no se ha podido obtener de {0}"

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2psnark\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-18 14:07+0000\n"
"PO-Revision-Date: 2011-06-18 20:17+0500\n"
"POT-Creation-Date: 2011-08-15 17:55+0000\n"
"PO-Revision-Date: 2011-08-17 23:13+0500\n"
"Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
"Language-Team: foo <foo@bar>\n"
"Language: \n"
@@ -187,7 +187,7 @@ msgstr "Добавление {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:730
#: ../java/src/org/klomp/snark/SnarkManager.java:753
#: ../java/src/org/klomp/snark/SnarkManager.java:1180
#: ../java/src/org/klomp/snark/SnarkManager.java:1184
#, java-format
msgid "Failed to copy torrent file to {0}"
msgstr "Не удалось скопировать торрент в: {0}"
@@ -253,27 +253,27 @@ msgstr "Торрент удален: \"{0}\""
msgid "Adding torrents in {0}"
msgstr "Добавление торрентов через {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1128
#: ../java/src/org/klomp/snark/SnarkManager.java:1132
#, java-format
msgid "Download finished: {0}"
msgstr "Закачка завершена: {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1176
#: ../java/src/org/klomp/snark/SnarkManager.java:1180
#, java-format
msgid "Metainfo received for {0}"
msgstr "Метаданные получены для {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1177
#: ../java/src/org/klomp/snark/SnarkManager.java:1181
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:526
#, java-format
msgid "Starting up torrent {0}"
msgstr "Запускаем торрент: {0}"
#: ../java/src/org/klomp/snark/SnarkManager.java:1231
#: ../java/src/org/klomp/snark/SnarkManager.java:1235
msgid "Unable to connect to I2P!"
msgstr "Не удалось установить соединение с I2P!"
#: ../java/src/org/klomp/snark/SnarkManager.java:1237
#: ../java/src/org/klomp/snark/SnarkManager.java:1241
#, java-format
msgid "Unable to add {0}"
msgstr "Не удаётся добавить {0}"

View File

@@ -143,6 +143,17 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
"or naming one of them differently.<p>")
.getBytes();
private final static byte[] ERR_AHELPER_NOTFOUND =
("HTTP/1.1 404 Not Found\r\n"+
"Content-Type: text/html; charset=iso-8859-1\r\n"+
"Cache-control: no-cache\r\n"+
"\r\n"+
"<html><body><H1>I2P ERROR: Helper key not resolvable.</H1>"+
"The helper key you put for i2paddresshelper= is not resolvable. "+
"It seems to be garbage data, or a mistyped b32. Check your URL "+
"to try and fix the helper key to be either a b32 or a base64.")
.getBytes();
private final static byte[] ERR_AHELPER_NEW =
("HTTP/1.1 409 New Address\r\n"+
"Content-Type: text/html; charset=iso-8859-1\r\n"+
@@ -457,13 +468,28 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
ahelperKey = fragment.substring(pos2 + 1);
// Key contains data, lets not ignore it
if (ahelperKey != null) {
if(ahelperKey.endsWith(".b32.i2p")) {
if(ahelperKey.endsWith(".i2p")) {
// allow i2paddresshelper=<b32>.b32.i2p syntax.
/*
also i2paddresshelper=name.i2p for aliases
i.e. on your eepsite put
<a href="?i2paddresshelper=name.i2p">This is the name I want to be called.</a>
*/
Destination dest = _context.namingService().lookup(ahelperKey);
if(dest==null)
throw new RuntimeException("Could not find destination for "+ahelperKey);
if(dest==null) {
if (_log.shouldLog(Log.WARN))
_log.warn(getPrefix(requestId) + "Could not find destination for "+ahelperKey);
byte[] header = getErrorPage("ahelper-notfound", ERR_AHELPER_NOTFOUND);
out.write(header);
out.write(("<p>" + _("This seems to be a bad destination:") + " " + ahelperKey + " " + _("i2paddresshelper cannot help you with a destination like that!") + "</p>").getBytes("UTF-8"));
writeFooter(out);
// XXX: should closeSocket(s) be in a finally block?
closeSocket(s);
return;
}
ahelperKey = dest.toBase64();
}
}
ahelperPresent = true;
// ahelperKey will be validated later
if (host == null || "i2p".equals(host)) {
@@ -490,6 +516,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
if (_log.shouldLog(Log.WARN))
_log.warn(getPrefix(requestId) + "Addresshelper key conflict for site [" + destination +
"], trusted key [" + destB64 + "], specified key [" + ahelperKey + "].");
}
}
}
@@ -524,7 +551,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
byte[] header = getErrorPage("ahelper-conflict", ERR_AHELPER_CONFLICT);
out.write(header);
out.write(_("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>.", trustedURL, conflictURL).getBytes("UTF-8"));
out.write(("<p></div>").getBytes());
out.write(("</p></div>").getBytes());
writeFooter(out);
}
}

View File

@@ -874,7 +874,11 @@ public class IndexBean {
} else if (tun.getIsRunning() || tun.getIsStarting()) {
return "Tunnel must be stopped before modifying destination";
}
PrivateKeyFile pkf = new PrivateKeyFile(_privKeyFile);
File keyFile = new File(_privKeyFile);
if (!keyFile.isAbsolute())
keyFile = new File(_context.getConfigDir(), _privKeyFile);
PrivateKeyFile pkf = new PrivateKeyFile(keyFile);
try {
pkf.createIfAbsent();
} catch (Exception e) {

View File

@@ -0,0 +1,852 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the i2ptunnel package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <kia___@hushmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-07-13 21:56+0000\n"
"Last-Translator: KIA <kia___@hushmail.com>\n"
"Language-Team: Danish (http://www.transifex.net/projects/p/I2P/team/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#, java-format
msgid ""
"To visit the destination in your host database, click <a "
"href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, "
"click <a href=\"{1}\">here</a>."
msgstr ""
"For at besøge destinationen i din værts database, klik <a "
"href=\"{0}\">her</a>. For at besøge den modstridende adressehjælper "
"destination, klik <a href=\"{1}\">her</a>."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:876
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:881
#, java-format
msgid "Continue to {0} without saving"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#, 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:889
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid ""
"Click a link below to look for an address helper by using a \"jump\" "
"service:"
msgstr ""
"Klik på et af nedenstående links for at se efter en adresse hjælper ved at "
"benytte en \"jump\" tjeneste:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
msgid "Added via address helper"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1286
#, java-format
msgid "Redirecting to {0}"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1292
msgid "Router Console"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Addressbook"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Configuration"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Help"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1298
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1299
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1301
msgid "Click here if you are not redirected automatically."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
msgid "internal"
msgstr "intern"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
msgid ""
"Invalid form submission, probably because you used the 'back' or 'reload' "
"button on your browser. Please resubmit."
msgstr ""
"Ugyldig formularafsendelse, sandsynligvis fordi du brugte 'tilbage' eller "
"'reload' knappen i din browser. Prøv venligst at sende igen."
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
msgid "Configuration reloaded for all tunnels"
msgstr "Konfiguration er genindlæst for alle tunneler"
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
msgid "Starting tunnel"
msgstr "Starter tunnel"
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
msgid "Stopping tunnel"
msgstr "Stopper tunnel"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
msgid "Configuration changes saved"
msgstr "Konfiguration ændringer gemt"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
msgid "Failed to save configuration"
msgstr "Det mislykkedes at gemme konfigurationen"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
msgid "New Tunnel"
msgstr "Ny Tunnel"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
msgid "Standard client"
msgstr "Standard klient"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
msgid "HTTP client"
msgstr "HTTP klient"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
msgid "IRC client"
msgstr "Klient for IRC"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
msgid "Standard server"
msgstr "Standard server"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
msgid "HTTP server"
msgstr "HTTP server"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
msgid "SOCKS 4/4a/5 proxy"
msgstr "SOCKS 4/4a/5 proxy"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
msgid "SOCKS IRC proxy"
msgstr "SOCKS IRC proxy"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
msgid "CONNECT/SSL/HTTPS proxy"
msgstr "CONNECT/SSL/HTTPS proxy"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
msgid "IRC server"
msgstr "Server for IRC"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
msgid "Streamr client"
msgstr "Klient for Streamr"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
msgid "Streamr server"
msgstr "Server for Streamr"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
msgid "HTTP bidir"
msgstr "HTTP bidir"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:293
msgid "Host not set"
msgstr "Vært er ikke indstillet"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
msgid "Port not set"
msgstr "Port er ikke indstillet"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
msgid "I2P Tunnel Manager - Edit Client Tunnel"
msgstr "I2P Tunnel Maneger - Rediger Klient Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
msgid "Edit proxy settings"
msgstr "Rediger proxy indstillinger"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
msgid "New proxy settings"
msgstr "Nye proxy indstillinger"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:110
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:124
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
msgid "Name"
msgstr "Navn"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:282
msgid "Type"
msgstr "Type"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:389
msgid "Description"
msgstr "Beskrivelse"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:126
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:136
msgid "Target"
msgstr "Mål"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:130
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:132
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:162
msgid "Access Point"
msgstr "Adgangspunkt"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:150
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:192
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:153
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:213
msgid "required"
msgstr "krævet"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:159
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:178
msgid "Reachable by"
msgstr "Kan nås med"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
msgid "Outproxies"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
msgid "Tunnel Destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
msgid "name or destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
msgid "b32 not recommended"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
msgid "Shared Client"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:212
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:216
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
msgid "Auto Start"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:220
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:128
msgid "(Check the Box for 'YES')"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
msgid "Advanced networking options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
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:226
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
msgid "Tunnel Options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:247
msgid "Length"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:254
msgid "0 hop tunnel (low anonymity, low latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:258
msgid "1 hop tunnel (medium anonymity, medium latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
msgid "2 hop tunnel (high anonymity, high latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
msgid "3 hop tunnel (very high anonymity, poor performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:256
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:275
msgid "hop tunnel (very poor performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:280
msgid "Variance"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:287
msgid "0 hop variance (no randomisation, consistant performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:272
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:291
msgid ""
"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
msgid ""
"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:299
msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
msgid "+/- 0-2 hop variance (not recommended)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:315
msgid "hop variance"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:320
msgid "Count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:327
msgid "1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:331
msgid ""
"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
"reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
msgid ""
"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:344
msgid "tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:349
msgid "Backup Count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:356
msgid "0 backup tunnels (0 redundancy, no added resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:341
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
msgid ""
"2 backup tunnels each direction (medium redundancy, medium resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:368
msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:377
msgid "backup tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:365
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:384
msgid "Profile"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
msgid "interactive connection"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:395
msgid "bulk connection (downloads/websites/BT)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
msgid "Delay Connect"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
msgid "for request/response connections"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:386
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:399
msgid "Router I2CP Address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:269
msgid "Port"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:406
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:479
msgid "Reduce tunnel quantity when idle"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:408
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:422
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:442
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:452
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:419
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:481
msgid "Enable"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:412
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
msgid "Reduced tunnel count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:436
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:489
msgid "Idle minutes"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
msgid "Close tunnels when idle"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
msgid "New Keys on Reopen"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:435
msgid "Disable"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
msgid "Delay tunnel open until required"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
msgid "Persistent private key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
msgid "File"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:220
msgid "Local destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
msgid "(if known)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:470
msgid "Local Authorization"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:490
msgid "Username"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:494
msgid "Password"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
msgid "Outproxy Authorization"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
msgid "Jump URL List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:508
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:525
msgid "Custom options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:512
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:529
msgid ""
"NOTE: If tunnel is currently running, most changes will not take effect "
"until tunnel is stopped and restarted."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:514
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
msgid "Cancel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:518
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
msgid "Delete"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:520
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:537
msgid "Save"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
msgid "I2P Tunnel Manager - Edit Server Tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
msgid "Edit server settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
msgid "New server settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
msgid "Website name"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
msgid "(leave blank for outproxies)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
msgid "Private key file"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
msgid "Add to local addressbook"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
msgid "Hostname Signature"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
msgid "Encrypt Leaseset"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
msgid "Encryption Key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
msgid "Generate New Key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
msgid "Generate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:523
msgid "(Tunnel must be stopped first)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
msgid "Restricted Access List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
msgid "Whitelist"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
msgid "Blacklist"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
msgid "Access List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
msgid "Inbound connection limits (0=unlimited)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
msgid "Per client"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
msgid "Per minute"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
msgid "Per hour"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
msgid "Per day"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
msgid "Total"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
msgid "Max concurrent connections (0=unlimited)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
msgid "New Certificate type"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
msgid "None"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
msgid "Hashcash (effort)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
msgid "Hashcash Calc Time"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
msgid "Estimate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
msgid "Hidden"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
msgid "Signed (signed by)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
msgid "Modify Certificate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
msgid "Modify"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:74
msgid "I2P Tunnel Manager - List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:86
msgid "Status Messages"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:90
msgid "Refresh"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:94
msgid "Stop All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:98
msgid "Start All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:102
msgid "Restart All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:106
msgid "Reload Config"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:108
msgid "I2P Server Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133
msgid "Points at"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:114
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:156
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:160
msgid "Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:300
msgid "Status"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
msgid "Base32 Address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
msgid "No Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:187
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:307
msgid "Starting..."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:314
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:328
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:342
msgid "Stop"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:335
msgid "Running"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:349
msgid "Stopped"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:356
msgid "Start"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
msgid "New server tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:399
msgid "Standard"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:241
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
msgid "Create"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
msgid "I2P Client Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:286
msgid "Interface"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:321
msgid "Standby"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
msgid "Outproxy"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:384
msgid "none"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
msgid "New client tunnel"
msgstr ""

View File

@@ -2,16 +2,18 @@
# 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
#
# foo <foo@bar>, 2009.
#
# punkibastardo <punkibastardo@gmail.com>, 2011.
# ducki2p <ducki2p@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-02 16:13+0000\n"
"PO-Revision-Date: 2011-06-24 09:44+0100\n"
"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
"Language-Team: Spanish (Castilian) <None>\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-07-20 00:55+0000\n"
"Last-Translator: blabla <blabla@trash-mail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/team/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -20,8 +22,14 @@ msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#, java-format
msgid "To visit the destination in your host database, click <a href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, click <a href=\"{1}\">here</a>."
msgstr "Para visitar el destino en la base de datos de hosts, haga clic <a href=\"{0}\">aquí</a> . Para visitar el destino del ayudante de direcciones en conflicto, haga clic <a href=\"{1}\">aquí</a> ."
msgid ""
"To visit the destination in your host database, click <a "
"href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, "
"click <a href=\"{1}\">here</a>."
msgstr ""
"Para visitar el destino en la base de datos de hosts, haga clic <a "
"href=\"{0}\">aquí</a> . Para visitar el destino del ayudante de direcciones "
"en conflicto, haga clic <a href=\"{1}\">aquí</a> ."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
@@ -43,22 +51,29 @@ msgstr "Acceder a {0} sin guardar"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "Guardar {0} a la libreta de direcciones del router y acceder al sitio i2p."
msgstr ""
"Guardar {0} a la libreta de direcciones del router y acceder al sitio i2p."
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:889
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "Guardar {0} a la libreta de direcciones principal y acceder al sitio i2p."
msgstr ""
"Guardar {0} a la libreta de direcciones principal y acceder al sitio i2p."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Guardar {0} a la libreta de direcciones privada y acceder al sitio i2p."
msgstr ""
"Guardar {0} a la libreta de direcciones privada y acceder al sitio i2p."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid "Click a link below to look for an address helper by using a \"jump\" service:"
msgstr "Haga clic en un enlace de debajo para buscar un ayudante de direcciones mediante el uso de un servicio de \"salto\":"
msgid ""
"Click a link below to look for an address helper by using a \"jump\" "
"service:"
msgstr ""
"Haga clic en un enlace de debajo para buscar un ayudante de direcciones "
"mediante el uso de un servicio de \"salto\":"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
msgid "Added via address helper"
@@ -105,8 +120,12 @@ msgid "internal"
msgstr "interno"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
msgstr "El formulario presentado es inválido, probablemente porque ha utilizado el botón 'atrás' o 'recargar' de su navegador. Por favor, vuelva a enviarlo."
msgid ""
"Invalid form submission, probably because you used the 'back' or 'reload' "
"button on your browser. Please resubmit."
msgstr ""
"El formulario presentado es inválido, probablemente porque ha utilizado el "
"botón 'atrás' o 'recargar' de su navegador. Por favor, vuelva a enviarlo."
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
msgid "Configuration reloaded for all tunnels"
@@ -273,8 +292,12 @@ msgid "Shared Client"
msgstr "Túnel Compartido"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:212
msgid "(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)"
msgstr "(¿Compartir túneles con otros clientes y clientes de IRC/http? Cambiar esto requiere reiniciar el proxy de cliente)"
msgid ""
"(Share tunnels with other clients and irc/httpclients? Change requires "
"restart of client proxy)"
msgstr ""
"(¿Compartir túneles con otros clientes y clientes de IRC/http? Cambiar esto "
"requiere reiniciar el proxy de cliente)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:216
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
@@ -292,8 +315,12 @@ msgid "Advanced networking options"
msgstr "Opciones avanzadas de red"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
msgid "(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)"
msgstr "(NOTA: cuando este proxy de cliente está configurado para compartir túneles, entonces estas opciones son para todos los clientes de proxy compartidos!)"
msgid ""
"(NOTE: when this client proxy is configured to share tunnels, then these "
"options are for all the shared proxy clients!)"
msgstr ""
"(NOTA: cuando este proxy de cliente está configurado para compartir túneles,"
" entonces estas opciones son para todos los clientes de proxy compartidos!)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:226
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
@@ -342,18 +369,25 @@ msgstr "Variación de 0 saltos (sin aleatoriedad, rendimiento constante)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:272
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:291
msgid "+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
msgstr "Variación de + 0-1 saltos (aleatoriedad media aditiva, rendimiento substractivo)"
msgid ""
"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
msgstr ""
"Variación de + 0-1 saltos (aleatoriedad media aditiva, rendimiento "
"substractivo)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
msgid "+ 0-2 hop variance (high additive randomisation, subtractive performance)"
msgstr "Variación de + 0-2 saltos (aleatoriedad alta aditiva, rendimiento substractivo)"
msgid ""
"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
msgstr ""
"Variación de + 0-2 saltos (aleatoriedad alta aditiva, rendimiento "
"substractivo)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:299
msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
msgstr "Variación de +/- 0-1 saltos (aleatoriedad estándar, rendimiento estándar)"
msgstr ""
"Variación de +/- 0-1 saltos (aleatoriedad estándar, rendimiento estándar)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
@@ -373,17 +407,25 @@ msgstr "Número"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:327
msgid "1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)"
msgstr "1 entrante, 1 túnel de salida (bajo uso de ancho de banda, menos fiabilidad)"
msgstr ""
"1 entrante, 1 túnel de salida (bajo uso de ancho de banda, menos fiabilidad)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:331
msgid "2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)"
msgstr "2 entrantes, 2 túneles de salida (uso de ancho de banda estándar, fiabilidad estándar)"
msgid ""
"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
"reliability)"
msgstr ""
"2 entrantes, 2 túneles de salida (uso de ancho de banda estándar, fiabilidad"
" estándar)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
msgid "3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
msgstr "3 entrantes, 3 túneles de salida (mayor uso de ancho de banda, mayor fiabilidad)"
msgid ""
"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
msgstr ""
"3 entrantes, 3 túneles de salida (mayor uso de ancho de banda, mayor "
"fiabilidad)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:344
@@ -403,17 +445,24 @@ msgstr "0 túneles de respaldo (redundancia 0, no aumenta el uso de recursos)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:341
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
msgstr "1 túnel de respaldo en cada dirección (redundancia baja, uso bajo de recursos)"
msgstr ""
"1 túnel de respaldo en cada dirección (redundancia baja, uso bajo de "
"recursos)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
msgid "2 backup tunnels each direction (medium redundancy, medium resource usage)"
msgstr "2 túneles de respaldo en cada dirección (redundancia media, uso de recursos medio)"
msgid ""
"2 backup tunnels each direction (medium redundancy, medium resource usage)"
msgstr ""
"2 túneles de respaldo en cada dirección (redundancia media, uso de recursos "
"medio)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:368
msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
msgstr "3 túneles de respaldo en cada dirección (alta redundancia, uso de recursos alto)"
msgstr ""
"3 túneles de respaldo en cada dirección (alta redundancia, uso de recursos "
"alto)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:377
@@ -547,8 +596,12 @@ msgstr "Opciones personalizadas"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:512
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:529
msgid "NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted."
msgstr "NOTA: Si el túnel se está ejecutando actualmente, la mayoría de los cambios no tendrán efecto hasta que se detenga y reinicie el túnel."
msgid ""
"NOTE: If tunnel is currently running, most changes will not take effect "
"until tunnel is stopped and restarted."
msgstr ""
"NOTA: Si el túnel se está ejecutando actualmente, la mayoría de los cambios "
"no tendrán efecto hasta que se detenga y reinicie el túnel."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:514
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
@@ -823,3 +876,4 @@ msgstr "ninguno"
msgid "New client tunnel"
msgstr "Nuevo túnel de cliente"

View File

@@ -43,18 +43,18 @@ msgstr "Aller sur le site i2p {0} sans enregistrer dans un carnet d'adresses. "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:892
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "Ajouter au carnet d'adresse du routeur {0} et aller sur le site i2p"
msgstr "Ajouter au carnet d''adresse du routeur {0} et aller sur le site i2p"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:895
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "Ajouter au carnet d'adresse principal {0} et aller sur le site i2p"
msgstr "Ajouter au carnet d''adresse principal {0} et aller sur le site i2p"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:896
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Ajouter au carnet d'adresse privé {0} et aller sur le site i2p"
msgstr "Ajouter au carnet d''adresse privé {0} et aller sur le site i2p"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1052
msgid "Click a link below to look for an address helper by using a \"jump\" service:"
@@ -88,12 +88,12 @@ msgstr "Aide"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1306
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "{0} ajouté au carnet d'adresses {1}. Redirection en cours."
msgstr "{0} ajouté au carnet d''adresses {1}. Redirection en cours."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1307
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "{0} non ajouté au carnet d'adresses {1}. Redirection en cours."
msgstr "{0} non ajouté au carnet d''adresses {1}. Redirection en cours."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1309
msgid "Click here if you are not redirected automatically."

View File

@@ -0,0 +1,852 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the i2ptunnel package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <jokjok@hotmail.it>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-08-18 17:29+0000\n"
"Last-Translator: mkkid <jokjok@hotmail.it>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/I2P/team/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#, java-format
msgid ""
"To visit the destination in your host database, click <a "
"href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, "
"click <a href=\"{1}\">here</a>."
msgstr ""
"Per visitare la destinazione nel tuo database host, cliccare <a "
"href=\"{0}\">qui</a>. Per visitare la destinazione addresshelper "
"conflittuale, cliccare <a href=\"{1}\">qui</a>."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:876
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:881
#, java-format
msgid "Continue to {0} without saving"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#, 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:889
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid ""
"Click a link below to look for an address helper by using a \"jump\" "
"service:"
msgstr ""
"Cliccare un link sotto per cercare un address helper usando un servizio di "
"\"jump\":"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
msgid "Added via address helper"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1286
#, java-format
msgid "Redirecting to {0}"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1292
msgid "Router Console"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Addressbook"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Configuration"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Help"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1298
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1299
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1301
msgid "Click here if you are not redirected automatically."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
msgid "internal"
msgstr "interno"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
msgid ""
"Invalid form submission, probably because you used the 'back' or 'reload' "
"button on your browser. Please resubmit."
msgstr ""
"Sottomissione del form invalida, probabilmente perchè hai usato il bottone "
"'indietro' o 'aggiorna' del tuo browser. Prego risottomettere."
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
msgid "Configuration reloaded for all tunnels"
msgstr "Configurazione ricaricata per tutti i tunnel"
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230
msgid "Starting tunnel"
msgstr "Tunnel di partenza"
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
msgid "Stopping tunnel"
msgstr "Tunnel di stop"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
msgid "Configuration changes saved"
msgstr "Cambiamenti alla configurazione salvati"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
msgid "Failed to save configuration"
msgstr "Fallimento nel salvataggio della configurazione"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
msgid "New Tunnel"
msgstr "Nuovo Tunnel"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
msgid "Standard client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
msgid "HTTP client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
msgid "IRC client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
msgid "Standard server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
msgid "HTTP server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
msgid "SOCKS 4/4a/5 proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
msgid "SOCKS IRC proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
msgid "CONNECT/SSL/HTTPS proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
msgid "IRC server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
msgid "Streamr client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
msgid "Streamr server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
msgid "HTTP bidir"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:293
msgid "Host not set"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
msgid "Port not set"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
msgid "I2P Tunnel Manager - Edit Client Tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
msgid "Edit proxy settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
msgid "New proxy settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:110
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:124
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
msgid "Name"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:282
msgid "Type"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:389
msgid "Description"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:126
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:136
msgid "Target"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:130
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:132
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:162
msgid "Access Point"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:150
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:192
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:153
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:213
msgid "required"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:159
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:178
msgid "Reachable by"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:180
msgid "Outproxies"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:187
msgid "Tunnel Destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:199
msgid "name or destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
msgid "b32 not recommended"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:208
msgid "Shared Client"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:212
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:216
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
msgid "Auto Start"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:220
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:128
msgid "(Check the Box for 'YES')"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:243
msgid "Advanced networking options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
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:226
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
msgid "Tunnel Options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:247
msgid "Length"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:254
msgid "0 hop tunnel (low anonymity, low latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:258
msgid "1 hop tunnel (medium anonymity, medium latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
msgid "2 hop tunnel (high anonymity, high latency)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
msgid "3 hop tunnel (very high anonymity, poor performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:256
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:275
msgid "hop tunnel (very poor performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:280
msgid "Variance"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:287
msgid "0 hop variance (no randomisation, consistant performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:272
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:291
msgid ""
"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
msgid ""
"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:299
msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
msgid "+/- 0-2 hop variance (not recommended)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:315
msgid "hop variance"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:301
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:320
msgid "Count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:327
msgid "1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:312
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:331
msgid ""
"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
"reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
msgid ""
"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:325
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:344
msgid "tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:349
msgid "Backup Count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:356
msgid "0 backup tunnels (0 redundancy, no added resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:341
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:360
msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
msgid ""
"2 backup tunnels each direction (medium redundancy, medium resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:368
msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:377
msgid "backup tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:365
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:384
msgid "Profile"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
msgid "interactive connection"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:395
msgid "bulk connection (downloads/websites/BT)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:378
msgid "Delay Connect"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:382
msgid "for request/response connections"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:386
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:399
msgid "Router I2CP Address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:269
msgid "Port"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:406
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:479
msgid "Reduce tunnel quantity when idle"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:408
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:422
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:442
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:452
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:486
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:419
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:481
msgid "Enable"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:412
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
msgid "Reduced tunnel count"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:436
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:489
msgid "Idle minutes"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
msgid "Close tunnels when idle"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
msgid "New Keys on Reopen"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:435
msgid "Disable"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
msgid "Delay tunnel open until required"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
msgid "Persistent private key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
msgid "File"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:220
msgid "Local destination"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
msgid "(if known)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:470
msgid "Local Authorization"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:490
msgid "Username"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:494
msgid "Password"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
msgid "Outproxy Authorization"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:502
msgid "Jump URL List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:508
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:525
msgid "Custom options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:512
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:529
msgid ""
"NOTE: If tunnel is currently running, most changes will not take effect "
"until tunnel is stopped and restarted."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:514
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
msgid "Cancel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:518
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:535
msgid "Delete"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:520
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:537
msgid "Save"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
msgid "I2P Tunnel Manager - Edit Server Tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
msgid "Edit server settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
msgid "New server settings"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
msgid "Website name"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
msgid "(leave blank for outproxies)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:208
msgid "Private key file"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:230
msgid "Add to local addressbook"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
msgid "Hostname Signature"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
msgid "Encrypt Leaseset"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:423
msgid "Encryption Key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
msgid "Generate New Key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
msgid "Generate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:523
msgid "(Tunnel must be stopped first)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
msgid "Restricted Access List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
msgid "Whitelist"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
msgid "Blacklist"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
msgid "Access List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
msgid "Inbound connection limits (0=unlimited)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
msgid "Per client"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
msgid "Per minute"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
msgid "Per hour"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
msgid "Per day"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:467
msgid "Total"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
msgid "Max concurrent connections (0=unlimited)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
msgid "New Certificate type"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
msgid "None"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
msgid "Hashcash (effort)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:505
msgid "Hashcash Calc Time"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:507
msgid "Estimate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:509
msgid "Hidden"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:513
msgid "Signed (signed by)"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:519
msgid "Modify Certificate"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:521
msgid "Modify"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:74
msgid "I2P Tunnel Manager - List"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:86
msgid "Status Messages"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:90
msgid "Refresh"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:94
msgid "Stop All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:98
msgid "Start All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:102
msgid "Restart All"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:106
msgid "Reload Config"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:108
msgid "I2P Server Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133
msgid "Points at"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:114
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:156
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:160
msgid "Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:300
msgid "Status"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
msgid "Base32 Address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
msgid "No Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:187
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:307
msgid "Starting..."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:314
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:328
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:342
msgid "Stop"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:335
msgid "Running"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:349
msgid "Stopped"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:356
msgid "Start"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
msgid "New server tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:399
msgid "Standard"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:241
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
msgid "Create"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
msgid "I2P Client Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:286
msgid "Interface"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:321
msgid "Standby"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
msgid "Outproxy"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:384
msgid "none"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
msgid "New client tunnel"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-18 14:08+0000\n"
"PO-Revision-Date: 2011-06-20 22:55+0500\n"
"POT-Creation-Date: 2011-08-15 17:55+0000\n"
"PO-Revision-Date: 2011-08-18 01:27+0500\n"
"Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
"Language-Team: foo <foo@bar>\n"
"Language: \n"
@@ -18,84 +18,92 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Russian\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:484
msgid "This seems to be a bad destination:"
msgstr "Это плохой адрес:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:484
msgid "i2paddresshelper cannot help you with a destination like that!"
msgstr "С таким адресом назначения i2paddresshelper вам не поможет!"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:553
#, java-format
msgid "To visit the destination in your host database, click <a href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, click <a href=\"{1}\">here</a>."
msgstr "Для перехода по ссылке из локальной адресной книги, нажмите <a href=\"{0}\">здесь</a>. Для перехода по новой addresshelper-ссылке, нажмите <a href=\"{1}\">здесь</a>."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:914
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr "Адрес"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:876
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:915
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr "Адрес назначения"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:881
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:920
#, java-format
msgid "Continue to {0} without saving"
msgstr "Продолжить переход к {0} без сохранения"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:925
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "Сохранить {0} в адресную книгу роутера (router address book) и продолжить переход к eep-сайту"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:889
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:928
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "Сохранить {0} в основную (master) адресную книгу и продолжить переход к eep-сайту"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:929
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Сохранить {0} в приватную адресную книгу и продолжить переход к eep-сайту"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1085
msgid "Click a link below to look for an address helper by using a \"jump\" service:"
msgstr "Jump-сервисы, которые, возможно, знают нужную Вам addresshelper-ссылку:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1303
msgid "Added via address helper"
msgstr "Добавлен через address helper"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1286
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1327
#, java-format
msgid "Redirecting to {0}"
msgstr "Перенаправляем к {0}"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1292
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1333
msgid "Router Console"
msgstr "Консоль маршрутизатора I2P"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1334
msgid "Addressbook"
msgstr "Адресная книга"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1334
msgid "Configuration"
msgstr "Настройки"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1334
msgid "Help"
msgstr "Помощь"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1298
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1339
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "{0} сохранён в {1}, перенаправляем."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1299
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1340
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "Не удалось сохранить {0} в {1} адресную книгу, перенаправляем."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1301
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1342
msgid "Click here if you are not redirected automatically."
msgstr "Нажмите сюда если автоматическое перенаправление не сработало"
@@ -104,90 +112,90 @@ msgstr "Нажмите сюда если автоматическое перен
msgid "internal"
msgstr "внутренний"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:173
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:218
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:220
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:230
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:232
msgid "Starting tunnel"
msgstr "Запуск туннеля"
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:245
msgid "Stopping tunnel"
msgstr "Остановка туннеля"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:313
msgid "Configuration changes saved"
msgstr "Настройки сохранены"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:316
msgid "Failed to save configuration"
msgstr "Не удалось сохранить настройки"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:434
msgid "New Tunnel"
msgstr "Новый туннель"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:454
msgid "Standard client"
msgstr "Обычный клиент"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:455
msgid "HTTP client"
msgstr "HTTP-клиент"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:456
msgid "IRC client"
msgstr "IRC-клиент"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:457
msgid "Standard server"
msgstr "Обычный сервер"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:458
msgid "HTTP server"
msgstr "HTTP-сервер"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:459
msgid "SOCKS 4/4a/5 proxy"
msgstr "SOCKS 4/4a/5 прокси"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:460
msgid "SOCKS IRC proxy"
msgstr "SOCKS IRC прокси"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:461
msgid "CONNECT/SSL/HTTPS proxy"
msgstr "CONNECT/SSL/HTTPS прокси"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:462
msgid "IRC server"
msgstr "IRC-сервер"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:463
msgid "Streamr client"
msgstr "Streamr-клиент"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:464
msgid "Streamr server"
msgstr "Streamr-сервер"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:465
msgid "HTTP bidir"
msgstr "HTTP bidir (экспериментальный двунаправленный режим, инструкцию спрашивайте у sponge)"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:553
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:293
msgid "Host not set"
msgstr "Хост не задан"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:557
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
msgid "Port not set"
msgstr "Порт не задан"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-05-24 06:00+0000\n"
"PO-Revision-Date: 2011-06-03 17:14+0000\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-06-29 08:53+0000\n"
"Last-Translator: digitalmannen <digitalmannen@gmail.com>\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.net/projects/p/I2P/team/sv_SE/)\n"
"MIME-Version: 1.0\n"
@@ -17,7 +17,7 @@ msgstr ""
"Language: sv_SE\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:474
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#, java-format
msgid ""
"To visit the destination in your host database, click <a "
@@ -28,7 +28,40 @@ msgstr ""
"För att besöka de motstridiga hjälpaddresserna,<a href=\"{1}\"> klicka <a "
"här </ a>."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:931
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr "Värd"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:876
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr "Mål"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:881
#, java-format
msgid "Continue to {0} without saving"
msgstr "Fortsätt till {0} utan att spara"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "Spara {0} till routeradressboken och fortsätt till eepsite "
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:889
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "Spara {0} till huvudadressboken och fortsätt till eepsite "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "Spara {0} till privatadressbok och fortsätt till eepsite "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid ""
"Click a link below to look for an address helper by using a \"jump\" "
"service:"
@@ -36,6 +69,45 @@ msgstr ""
"Klicka på en länk nedan för att söka efter en hjälpaddress genom att använda"
" en \"hopp\" tjänst"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
msgid "Added via address helper"
msgstr "Tillagd via adresshjälpen "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1286
#, java-format
msgid "Redirecting to {0}"
msgstr "Om dirigerar till {0}"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1292
msgid "Router Console"
msgstr "Router konsol "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Addressbook"
msgstr "Adressbok"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Configuration"
msgstr "Konfiguration"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Help"
msgstr "Hjälp"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1298
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "Spara {0} till {1}adressboken, omdirigerar nu "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1299
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "Misslyckades med att spara {0} till {1}adressboken, omdirigerar nu "
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1301
msgid "Click here if you are not redirected automatically."
msgstr "Klicka här om du inte omdirigeras automatiskt "
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
msgid "internal"
@@ -414,12 +486,6 @@ msgstr "för förfrågan/svar-anslutningar"
msgid "Router I2CP Address"
msgstr "I2CP Routeradress"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr "Värd"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
@@ -791,10 +857,6 @@ msgstr "Standby"
msgid "Outproxy"
msgstr "Utproxy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr "Mål"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:384
msgid "none"
msgstr "Ingen"

View File

@@ -2,39 +2,110 @@
# 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
# foo <foo@bar>, 2009.
#
#
# ducki2p <ducki2p@gmail.com>, 2011.
# <walking@i2pmail.org>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2011-02-12 20:07+0800\n"
"Last-Translator: \n"
"Language-Team: foo <foo@bar>\n"
"Language: \n"
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-08-20 06:00+0000\n"
"Last-Translator: walking <walking@i2pmail.org>\n"
"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/I2P/team/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Chinese\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:474
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:514
#, 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 ""
"域名冲突:要访问您本地【地址簿】中设置的目标主机(相当与IP),请点击<a href="
"\"{0}\">这里</a>。要访问【地址助手】返回的目标主机请点<a href=\"{1}\">这里</"
"a>。"
"域名冲突:要访问您本地【地址簿】中设置的目标主机(相当与IP),请点击<a "
"href=\"{0}\">这里</a>。要访问【地址助手】返回的目标主机请点<a href=\"{1}\">这里</a>。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:931
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:875
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr "主机"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:876
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
msgid "Destination"
msgstr "目标"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:881
#, java-format
msgid "Continue to {0} without saving"
msgstr "继续{0},而不保存"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "保存{0}至“路由器地址簿”并访问该eepsite。"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:889
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "保存{0}至“主地址簿”并访问该eepsite。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:890
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "保存{0}至“私有地址簿”并访问该eepsite。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
"请点击下面的链接通过【跳转(Jump)】服务提供的【地址助手】链接跳转至域名对应的"
"主机:"
"Click a link below to look for an address helper by using a \"jump\" "
"service:"
msgstr "请点击下面的链接通过【跳转(Jump)】服务提供的【地址助手】链接跳转至域名对应的主机:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1262
msgid "Added via address helper"
msgstr "已通过地址助手添加"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1286
#, java-format
msgid "Redirecting to {0}"
msgstr "正在重定向至{0}"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1292
msgid "Router Console"
msgstr "路由控制台"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Addressbook"
msgstr "地址簿"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Configuration"
msgstr "配置"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1293
msgid "Help"
msgstr "帮助"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1298
#, java-format
msgid "Saved {0} to the {1} addressbook, redirecting now."
msgstr "目标{0}已保存至{1}地址簿中,正在重定向至此目标。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1299
#, java-format
msgid "Failed to save {0} to the {1} addressbook, redirecting now."
msgstr "目标{0}在{1}地址簿中保存失败,,正在重定向至此目标。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1301
msgid "Click here if you are not redirected automatically."
msgstr "如果未能自动重定向,请点击这里。"
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:326
#: ../java/src/net/i2p/i2ptunnel/web/EditBean.java:336
@@ -45,9 +116,7 @@ msgstr "内部"
msgid ""
"Invalid form submission, probably because you used the 'back' or 'reload' "
"button on your browser. Please resubmit."
msgstr ""
"网页提交无效,可能的原因是您使用了浏览器的“后退”和“刷新”按钮,导致表单过期,"
"请重新提交。"
msgstr "网页提交无效,可能的原因是您使用了浏览器的“后退”和“刷新”按钮,导致表单过期,请重新提交。"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218
msgid "Configuration reloaded for all tunnels"
@@ -124,12 +193,12 @@ msgid "HTTP bidir"
msgstr "双向http"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:293
msgid "Host not set"
msgstr "主机未设置"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:272
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
msgid "Port not set"
msgstr "端口未设置"
@@ -147,24 +216,24 @@ msgstr "新建代理设置"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:107
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:242
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:110
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:124
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:245
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
msgid "Name"
msgstr "名称"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:246
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:279
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:249
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:282
msgid "Type"
msgstr "类型"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:226
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:386
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:389
msgid "Description"
msgstr "描述"
@@ -238,9 +307,7 @@ msgstr "高级网络设置"
msgid ""
"(NOTE: when this client proxy is configured to share tunnels, then these "
"options are for all the shared proxy clients!)"
msgstr ""
"(注意:此客户代理被设置使用共享隧道时,这些设置将影响所有使用共享隧道的客户"
"端!)"
msgstr "(注意:此客户代理被设置使用共享隧道时,这些设置将影响所有使用共享隧道的客户端!)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:226
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:245
@@ -401,17 +468,11 @@ msgstr "单请求/响应连接"
msgid "Router I2CP Address"
msgstr "路由器I2CP地址"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
msgid "Host"
msgstr "主机"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:148
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:244
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:247
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:269
msgid "Port"
msgstr "端口"
@@ -509,9 +570,7 @@ msgstr "自定义选项"
msgid ""
"NOTE: If tunnel is currently running, most changes will not take effect "
"until tunnel is stopped and restarted."
msgstr ""
"注意:如果当前隧道已经启动,设置需要【停止】并重新【启动】相应隧道后才能生"
"效。"
msgstr "注意:如果当前隧道已经启动,设置需要【停止】并重新【启动】相应隧道后才能生效。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:514
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:531
@@ -597,7 +656,6 @@ msgstr "黑名单"
msgid "Access List"
msgstr "访问列表"
# disable=>noLimit
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
msgid "Inbound connection limits (0=unlimited)"
msgstr "入站连接限制(0=无限制)"
@@ -622,7 +680,6 @@ msgstr "按天"
msgid "Total"
msgstr "总数"
# disable=>noLimit
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
msgid "Max concurrent connections (0=unlimited)"
msgstr "最大并发连接数(0=无限制)"
@@ -663,152 +720,129 @@ msgstr "修改证书"
msgid "Modify"
msgstr "修改"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:71
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:74
msgid "I2P Tunnel Manager - List"
msgstr "I2P隧道管理器 - 列表"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:86
msgid "Status Messages"
msgstr "状态信息"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:87
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:90
msgid "Refresh"
msgstr "刷新"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:91
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:94
msgid "Stop All"
msgstr "全部停止"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:98
msgid "Start All"
msgstr "全部启动"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:102
msgid "Restart All"
msgstr "全部重启"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:106
msgid "Reload Config"
msgstr "重新载入设置"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:108
msgid "I2P Server Tunnels"
msgstr "I2P服务端隧道"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:130
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:112
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:133
msgid "Points at"
msgstr "指向"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:111
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:153
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:157
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:114
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:156
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:160
msgid "Preview"
msgstr "预览"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:177
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:250
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:297
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:116
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:300
msgid "Status"
msgstr "状态"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:166
msgid "Base32 Address"
msgstr "Base32地址"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
msgid "No Preview"
msgstr "无预览"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:184
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:304
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:187
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:307
msgid "Starting..."
msgstr "正在启动..."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:191
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:205
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:311
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:325
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:339
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:314
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:328
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:342
msgid "Stop"
msgstr "停止"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:198
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:332
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:335
msgid "Running"
msgstr "运行中"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:212
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:346
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:349
msgid "Stopped"
msgstr "已停止"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:219
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:356
msgid "Start"
msgstr "启动"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:234
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
msgid "New server tunnel"
msgstr "新建服务器隧道"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:236
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:396
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:239
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:399
msgid "Standard"
msgstr "标准"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:238
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:398
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:241
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
msgid "Create"
msgstr "创建"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:240
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
msgid "I2P Client Tunnels"
msgstr "I2P客户端隧道"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:248
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:286
msgid "Interface"
msgstr "网络接口"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:318
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:321
msgid "Standby"
msgstr "等待"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:363
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
msgid "Outproxy"
msgstr "出口代理"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
msgid "Destination"
msgstr "目标"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:381
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:384
msgid "none"
msgstr "无"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:394
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
msgid "New client tunnel"
msgstr "新建客户隧道"
#~ msgid "Locally (127.0.0.1)"
#~ msgstr "本地(127.0.0.1)"
#~ msgid "Everyone (0.0.0.0)"
#~ msgstr "任何人(0.0.0.0)"
#~ msgid "LAN Hosts (Please specify your LAN address)"
#~ msgstr "局域网(请指定LAN地址)"
#~ msgid "Other"
#~ msgstr "其他"
#~ msgid "I2CP Options"
#~ msgstr "I2CP选项"
#~ msgid "(Restrict to these clients only)"
#~ msgstr "(仅允许这些客户访问)"
#~ msgid "Unimplemented"
#~ msgstr "尚未实现"

View File

@@ -53,15 +53,17 @@ public class ConfigUIHelper extends HelperBase {
* Any language-specific flag added to the icon set must be
* added to the top-level build.xml for the updater.
*/
private static final String langs[] = {"ar", "de", "en", "es", "fi", "fr", "it", "nl", "pl", "pt", "ru",
"sv", "vi", "zh"};
private static final String flags[] = {"lang_ar", "de", "us", "es", "fi", "fr", "it", "nl", "pl", "pt", "ru",
"se", "vn", "cn"};
private static final String xlangs[] = {_x("Arabic"),
private static final String langs[] = {"ar", "da", "de", "en", "es", "fi",
"fr", "it", "nl", "pl", "pt", "ru",
"sv", "uk", "vi", "zh"};
private static final String flags[] = {"lang_ar", "dk", "de", "us", "es", "fi",
"fr", "it", "nl", "pl", "pt", "ru",
"se", "ua", "vn", "cn"};
private static final String xlangs[] = {_x("Arabic"), _x("Danish"),
_x("German"), _x("English"), _x("Spanish"),_x("Finnish"),
_x("French"), _x("Italian"), _x("Dutch"), _x("Polish"),
_x("Portuguese"), _x("Russian"), _x("Swedish"),
_x("Vietnamese"), _x("Chinese")};
_x("Ukranian"), _x("Vietnamese"), _x("Chinese")};
/** todo sort by translated string */
public String getLangSettings() {

View File

@@ -24,15 +24,15 @@ import net.i2p.router.Shitlist;
* Moved from Shitlist.java
*/
public class ShitlistRenderer {
private RouterContext _context;
private final RouterContext _context;
public ShitlistRenderer(RouterContext context) {
_context = context;
}
private static class HashComparator implements Comparator {
public int compare(Object l, Object r) {
return ((Hash)l).toBase64().compareTo(((Hash)r).toBase64());
private static class HashComparator implements Comparator<Hash> {
public int compare(Hash l, Hash r) {
return l.toBase64().compareTo(r.toBase64());
}
}
@@ -54,9 +54,11 @@ public class ShitlistRenderer {
for (Map.Entry<Hash, Shitlist.Entry> e : entries.entrySet()) {
Hash key = e.getKey();
Shitlist.Entry entry = e.getValue();
long expires = entry.expireOn-_context.clock().now();
if (expires <= 0)
continue;
buf.append("<li>").append(_context.commSystem().renderPeerHTML(key));
buf.append(' ');
long expires = entry.expireOn-_context.clock().now();
String expireString = DataHelper.formatDuration2(expires);
if (expires < 5l*24*60*60*1000)
buf.append(_("Temporary ban expiring in {0}", expireString));

View File

@@ -113,13 +113,14 @@ class SummaryListener implements RateSummaryListener {
String baseName = rs.getName() + "." + period;
_name = createName(_context, baseName);
_eventName = createName(_context, baseName + ".events");
File rrdFile = null;
try {
RrdBackendFactory factory = RrdBackendFactory.getFactory(getBackendName());
String rrdDefName;
if (_isPersistent) {
// generate full path for persistent RRD files
File rrdDir = new SecureFile(_context.getRouterDir(), RRD_DIR);
File rrdFile = new File(rrdDir, RRD_PREFIX + _name + RRD_SUFFIX);
rrdFile = new File(rrdDir, RRD_PREFIX + _name + RRD_SUFFIX);
rrdDefName = rrdFile.getAbsolutePath();
if (rrdFile.exists()) {
_db = new RrdDb(rrdDefName, factory);
@@ -164,6 +165,9 @@ class SummaryListener implements RateSummaryListener {
_log.error("Error starting RRD for stat " + baseName, oom);
} catch (RrdException re) {
_log.error("Error starting RRD for stat " + baseName, re);
// corrupt file?
if (_isPersistent && rrdFile != null)
rrdFile.delete();
} catch (IOException ioe) {
_log.error("Error starting RRD for stat " + baseName, ioe);
}

View File

@@ -33,6 +33,7 @@
<a href="/?lang=en&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=us" title="English" alt="English"></a>
<a href="/?lang=ar&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=lang_ar" title="عربية" alt="عربية"></a>
<a href="/?lang=zh&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=cn" title="中文" alt="中文"></a>
<a href="/?lang=da&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=dk" title="Danish" alt="Danish"></a>
<a href="/?lang=de&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a>
<a href="/?lang=es&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=es" title="Español" alt="Español"></a>
<a href="/?lang=fi&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=fi" title="Suomi" alt="Suomi"></a>
@@ -43,6 +44,7 @@
<a href="/?lang=pt&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=pt" title="Português" alt="Português"></a>
<a href="/?lang=ru&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a>
<a href="/?lang=sv&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a>
<a href="/?lang=uk&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=ua" title="Ukranian" alt="Ukranian"></a>
<a href="/?lang=vi&amp;consoleNonce=<%=consoleNonce%>"><img src="/flags.jsp?c=vn" title="Tiếng Việt" alt="Tiếng Việt"></a>
</div>
<a name="top"></a>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,16 +3,16 @@
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <i2p@robertfoss.se>, 2011
# hottuna <i2p@robertfoss.se>, 2011
# 123hund123 <M8R-ra4r1r@mailinator.com>, 2011
# <i2p@robertfoss.se>, 2011.
# hottuna <i2p@robertfoss.se>, 2011.
# 123hund123 <M8R-ra4r1r@mailinator.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-05-24 05:59+0000\n"
"PO-Revision-Date: 2011-06-05 14:58+0000\n"
"Last-Translator: digitalmannen <digitalmannen@gmail.com>\n"
"POT-Creation-Date: 2011-06-11 08:22+0000\n"
"PO-Revision-Date: 2011-06-29 21:21+0000\n"
"Last-Translator: hottuna <i2p@robertfoss.se>\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.net/projects/p/I2P/team/sv_SE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -101,6 +101,34 @@ msgstr "IP förbjuden"
msgid "IP banned by blocklist.txt entry {0}"
msgstr "IP bannad med hjälp av blocklist.txt post {0}"
#. 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/Router.java:1452
msgid "Message receive rate (bytes/sec)"
msgstr "Hastigheten för mottagna meddelanden (bytes/sek)"
#: ../../../router/java/src/net/i2p/router/Router.java:1453
msgid "Message send rate (bytes/sec)"
msgstr "Hastigheten för skickade meddelanden (bytes/sek)"
#: ../../../router/java/src/net/i2p/router/Router.java:1454
msgid "Low-level send rate (bytes/sec)"
msgstr "Lågnivå sändningshastighet (byte/sek)"
#: ../../../router/java/src/net/i2p/router/Router.java:1455
msgid "Low-level receive rate (bytes/sec)"
msgstr "Lågnivå mottagningshastighet (byte/sek) "
#: ../../../router/java/src/net/i2p/router/Router.java:1456
msgid "How many peers we are actively talking with"
msgstr "Hur många peers vi aktivt talar med"
#: ../../../router/java/src/net/i2p/router/Router.java:1459
msgid "Known fast peers"
msgstr "Snabba kända peerer"
#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:92
msgid "Rejecting tunnels: Shutting down"
msgstr "Avvisar tunnlar: Stänger ner"
@@ -1724,119 +1752,127 @@ msgstr "Tog bort plugin {0}"
msgid "Error deleting plugin {0}"
msgstr "Problem vid borttagning av plugin {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:101
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:109
#, java-format
msgid "Stopped plugin {0}"
msgstr "Stoppade plugin {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:103
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:111
#, java-format
msgid "Error stopping plugin {0}"
msgstr "Problem när plugin {0} stoppades"
#. label (IE)
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:124
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:255
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:133
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
msgid "Start"
msgstr "Start"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:143
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:152
#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49
#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61
#: ../java/src/net/i2p/router/web/ConfigReseedHandler.java:33
msgid "Unsupported"
msgstr "Stöds inte"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:189
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:198
msgid "New client added"
msgstr "Ny klient las till"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:193
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:202
msgid ""
"Client configuration saved successfully - restart required to take effect."
msgstr "Klientkonfigureringen sparad - kräver omstart för att träda i kraft."
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:217
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:230
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:241
msgid "Bad client index."
msgstr "Felaktigt klientindex"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
#. What do we do here?
#.
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:224
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:246
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:394
#: ../java/src/net/i2p/router/web/SummaryHelper.java:384
msgid "Client"
msgstr "Klient"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:212
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:224
msgid "stopped"
msgstr "stoppad "
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
msgid "started"
msgstr "startade"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:223
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:246
msgid "deleted"
msgstr "borttagen"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:240
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:263
msgid "WebApp configuration saved."
msgstr "WebApp konfiguration sparad."
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:256
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279
msgid "Plugin configuration saved."
msgstr "lugin konfiguration sparad."
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:271
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:129
msgid "WebApp"
msgstr "WebApp"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:296
msgid "Failed to start"
msgstr "Misslyckades med att starta"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:278
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:301
msgid "Failed to find server."
msgstr "Det gick inte att hitta servern."
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:284
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:307
msgid "No plugin URL specified."
msgstr "Ingen plugin URL angiven."
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:317
#, java-format
msgid "No update URL specified for {0}"
msgstr "Ingen uppdaterings-URL specificerad för {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:302
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:307
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:325
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:330
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:343
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:348
msgid "Plugin or update download already in progress."
msgstr "Plugin- eller uppdateringsnerladdning pågår redan"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:311
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334
#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118
#, java-format
msgid "Downloading plugin from {0}"
msgstr "Laddar ner plugin från {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:329
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:352
#, java-format
msgid "Checking plugin {0} for updates"
msgstr "Kontrollerar uppdateringar för {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:339
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:362
#, java-format
msgid "Started plugin {0}"
msgstr "Startade plugin {0}"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:341
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:364
#, java-format
msgid "Error starting plugin {0}"
msgstr "Fel när plugin {0} startades"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:376
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:399
msgid ""
"Interface configuration saved successfully - restart required to take "
"effect."
@@ -1844,7 +1880,7 @@ msgstr ""
"Gränssnittskonfiguration sparad - kräver omstart för att träda i kraft."
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:85
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:258
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:263
msgid "Edit"
msgstr "Redigera"
@@ -1858,78 +1894,78 @@ msgid "Class and arguments"
msgstr "Klass och argmument"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:129
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:153
msgid "Control"
msgstr "Kontroll"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:102
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:129
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:153
msgid "Run at Startup?"
msgstr "Kör vid uppstart?"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:124
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:129
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:153
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
msgid "Description"
msgstr "Beskrivning"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:148
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:153
msgid "Plugin"
msgstr "Plugin"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:161
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:166
#: ../java/src/net/i2p/router/web/NetDbRenderer.java:273
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:187
msgid "Version"
msgstr "Version"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:163
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:168
msgid "Signed by"
msgstr "Undertecknat av"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:180
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:185
msgid "Date"
msgstr "Datum"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:186
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:191
msgid "Author"
msgstr "Författare"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
msgid "License"
msgstr "Licens"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:207
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
msgid "Website"
msgstr "Webbplats"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:212
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:217
msgid "Update link"
msgstr "Uppdateringslänk"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:260
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:265
msgid "Stop"
msgstr "Stoppa"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:262
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:267
#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:79
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
msgid "Check for updates"
msgstr "Kontrollera efter uppdateringar"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:263
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
msgid "Update"
msgstr "Uppdatera"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:268
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:273
#, java-format
msgid "Are you sure you want to delete {0}?"
msgstr "Är du säker på att du vill ta bort {0}?"
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:270
#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:275
msgid "Delete"
msgstr "Ta bort"
@@ -2282,7 +2318,7 @@ msgstr "Starta om omedelbart"
#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:43
#: ../java/src/net/i2p/router/web/SummaryRenderer.java:134
msgid "Restart"
msgstr "Starta om"
msgstr "Omstart"
#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:46
msgid "Shutdown"
@@ -2905,12 +2941,12 @@ msgstr "NTCP och SSU med introducerare"
#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
#, java-format
msgid "News last updated {0} ago."
msgstr "Nyheter senast uppdaterad {0} sedan."
msgstr "Nyheter senast uppdaterade för {0} sedan."
#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
#, java-format
msgid "News last checked {0} ago."
msgstr "Nyheter senast kontrollerad {0} sedan."
msgstr "Nyheter senast kontrollerade för {0} sedan."
#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
#, java-format
@@ -3836,7 +3872,7 @@ msgstr "händelser i {0}"
#: ../java/src/net/i2p/router/web/SummaryRenderer.java:112
#, java-format
msgid "averaged for {0}"
msgstr "gensnittad för {0}"
msgstr "genomsnittad för {0}"
#: ../java/src/net/i2p/router/web/SummaryRenderer.java:122
msgid "Events per period"
@@ -4280,22 +4316,6 @@ msgstr "itag1"
msgid "itag2"
msgstr "itag2"
#. Descriptions for the stats that are graphed by default
#. There are over 500 stats currently defined, we aren't going to tag them all
#: ../java/strings/Strings.java:101
msgid "Low-level bandwidth receive rate"
msgstr "Lågnivå mottagande bandbredd."
#. bw.recvRate
#: ../java/strings/Strings.java:102
msgid "Low-level bandwidth send rate"
msgstr "Lågnivå skickande bandbredd."
#. bw.sendRate
#: ../java/strings/Strings.java:103
msgid "How many peers we are actively talking with"
msgstr "Hur många peers vi aktivt talar med"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:112
msgid "config networking"
msgstr "konfigurera nätverk"
@@ -4489,7 +4509,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:395
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:360
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:351
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:387
msgid "Cancel"
msgstr "Avbryt"
@@ -5789,35 +5809,35 @@ msgstr "Uppdateringsfrekvens"
msgid "Update policy"
msgstr "Uppdatera policy"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:349
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
msgid "Update through the eepProxy?"
msgstr "Uppdatera genom eepProxy?"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
msgid "eepProxy host"
msgstr "eepProxy värd"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:357
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:359
msgid "eepProxy port"
msgstr "eepProxy port"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
msgid "Update URLs"
msgstr "Uppdatera URLer"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
msgid "Trusted keys"
msgstr "Betrodda nycklar"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:369
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
msgid "Update with unsigned development builds?"
msgstr "Uppdatera med osignerade utvecklingsbuilds?"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:373
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:377
msgid "Unsigned Build URL"
msgstr "Osignerad bygg URL"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:379
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:383
msgid ""
"I2P updates are disabled because you do not have write permission for the "
"install directory."
@@ -5825,7 +5845,7 @@ msgstr ""
"I2P uppdateringar är inaktiverat eftersom du inte har skrivrättigheter för "
"installationskatalogen."
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:385
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:389
msgid "Save"
msgstr "Spara"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -16,9 +16,9 @@ import net.i2p.util.Log;
*
*/
class MessageHandler implements I2PSessionListener {
private ConnectionManager _manager;
private I2PAppContext _context;
private Log _log;
private final ConnectionManager _manager;
private final I2PAppContext _context;
private final Log _log;
private final Set<I2PSocketManager.DisconnectListener> _listeners;
public MessageHandler(I2PAppContext ctx, ConnectionManager mgr) {

View File

@@ -151,26 +151,32 @@ class Packet {
public Packet() { }
private boolean _sendStreamIdSet = false;
/** what stream do we send data to the peer on?
* @return stream ID we use to send data
*/
public long getSendStreamId() { return _sendStreamId; }
public void setSendStreamId(long id) {
if ( (_sendStreamIdSet) && (_sendStreamId > 0) )
// allow resetting to the same id (race)
if ( (_sendStreamIdSet) && (_sendStreamId > 0) && _sendStreamId != id)
throw new RuntimeException("Send stream ID already set [" + _sendStreamId + ", " + id + "]");
_sendStreamIdSet = true;
_sendStreamId = id;
}
private boolean _receiveStreamIdSet = false;
/**
* stream the replies should be sent on. this should be 0 if the
* connection is still being built.
* @return stream ID we use to get data, zero if the connection is still being built.
*/
public long getReceiveStreamId() { return _receiveStreamId; }
public void setReceiveStreamId(long id) {
if ( (_receiveStreamIdSet) && (_receiveStreamId > 0) )
// allow resetting to the same id (race)
if ( (_receiveStreamIdSet) && (_receiveStreamId > 0) && _receiveStreamId != id)
throw new RuntimeException("Receive stream ID already set [" + _receiveStreamId + ", " + id + "]");
_receiveStreamIdSet = true;
_receiveStreamId = id;

View File

@@ -0,0 +1,694 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <kia___@hushmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-07-13 22:07+0000\n"
"Last-Translator: KIA <kia___@hushmail.com>\n"
"Language-Team: Danish (http://www.transifex.net/projects/p/I2P/team/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
msgid "Host name \"{0}\" contains illegal character {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format
msgid "Host name cannot start with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format
msgid "Host name cannot end with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format
msgid "Host name cannot contain \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is"
" unavailable in this JVM"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:217
msgid "Hashcash"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:219
msgid "Hidden"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:221
msgid "Signed"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:223
#, java-format
msgid "Type {0}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] ""
msgstr[1] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries."
msgstr[0] ""
msgstr[1] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format
msgid "One result for search."
msgid_plural "{0} results for search."
msgstr[0] ""
msgstr[1] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:250
#, java-format
msgid "Address book contains 1 entry."
msgid_plural "Address book contains {0} entries."
msgstr[0] ""
msgstr[1] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#, java-format
msgid "Showing {0} of {1}"
msgstr "Viser {0} af {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392
msgid "Add"
msgstr "Tilføj"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390
msgid "Replace"
msgstr "Udskift"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#, java-format
msgid ""
"Host name {0} is already in address book with a different destination. Click"
" \"Replace\" to overwrite."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
#, java-format
msgid "Destination added for {0}."
msgstr "Destination tilføjet for {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259
#, java-format
msgid "Destination changed for {0}."
msgstr "Desitnation ændret for {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261
msgid "Warning - host name does not end with \".i2p\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:320
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269
msgid "Invalid Base 64 destination."
msgstr "Ugyldig Base 64 destination"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:329
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
msgid "Please enter a host name and destination"
msgstr "Angiv venligst et værtsnavn og destination"
#. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:261
msgid "Delete Entry"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334
msgid "Delete Selected"
msgstr "Slet markedere "
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:347
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299
#, java-format
msgid "Destination {0} deleted."
msgstr "Destination {0} slettet."
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:350
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302
#, java-format
msgid "1 destination deleted."
msgid_plural "{0} destinations deleted."
msgstr[0] ""
msgstr[1] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304
msgid "No entries selected to delete."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:360
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
msgid "Address book saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:363
msgid "ERROR: Could not write addressbook file."
msgstr "FEJL: Kunne ikke skrive adressebog filen."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:368
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid ""
"Invalid form submission, probably because you used the \"back\" or "
"\"reload\" button on your browser. Please resubmit."
msgstr ""
"Ugyldig formularafsendelse, sandsynligvis fordi du har brugt \"tilbage\" "
"eller \"reload\" knappen i din browser. Prøv venligst at sende igen."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
msgid "Save"
msgstr "Gem"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
msgid "Configuration saved."
msgstr "Konfiguration gemt."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
msgid "Reload"
msgstr "Genindlæs"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
msgid "Configuration reloaded."
msgstr "Konfiguration genindlæst."
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105
#, java-format
msgid "{0} address book in {1} database"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252
msgid "Manually added via SusiDNS"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr "Abonnementer gemt, opdaterer adressebog fra abonnement kilder nu."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved."
msgstr "Abonnementer gemt. "
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:152
msgid "Subscriptions reloaded."
msgstr "Abonnementer genindlæst."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
msgid "address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120
msgid "Overview"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
msgid "Address books"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
msgid "private"
msgstr "privat"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
msgid "master"
msgstr "master"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
msgid "router"
msgstr "router"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
msgid "published"
msgstr "publicerede"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
msgid "Subscriptions"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
msgid "Configuration"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
msgid "Address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:131
msgid "Storage"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169
msgid "Filter"
msgstr "Filter"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172
msgid "other"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:174
msgid "all"
msgstr "alle"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185
msgid "Current filter"
msgstr "Nuværende filter"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190
msgid "clear filter"
msgstr "ryd filter"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:201
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
msgid "Search"
msgstr "Søg"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:238
msgid "Name"
msgstr "Navn"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240
msgid "Links"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
msgid "Destination"
msgstr "Destination"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:273
msgid "Mark for deletion"
msgstr "Marker for sletning"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:292
msgid "Base 32 address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:296
msgid "More information on this entry"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:299
msgid "details"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:332
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:388
msgid "Cancel"
msgstr "Annuller"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:365
msgid "This address book is empty."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:378
msgid "Add new destination"
msgstr "Tilføj ny destination"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:158
msgid "Host Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
msgid "configuration"
msgstr "konfiguration"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
msgid "Hints"
msgstr "Ledetråde"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
msgid ""
"If you want to manually add lines to an addressbook, add them to the private"
" or master addressbooks."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
msgid "Options"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "Update interval in hours"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
msgid "Your hosts.txt (don't change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
msgid "Your personal addressbook, these hosts will be published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
msgid "Your private addressbook, it is never published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
msgid "Port for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
msgid "Hostname for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
msgid "Whether to update the published addressbook"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
msgid ""
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170
msgid "File to log activity to (change to /dev/null if you like)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
msgid "addressbook"
msgstr "adressebog"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:174
msgid "Encoded Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:190
msgid "Base 32 Address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:200
msgid "Address Helper"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "link"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:211
msgid "Public Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "ElGamal 2048 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
msgid "Signing Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
msgid "DSA 1024 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
msgid "Certificate"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
msgid "Added Date"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
msgid "Source"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
msgid "Last Modified"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
msgid "Notes"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
msgid "Introduction"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
msgid "What is the addressbook?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
msgid "The addressbook application is part of your I2P installation."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid ""
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid ""
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
msgid ""
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook application work?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
msgid ""
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an "
"eepsite."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
msgid ""
"Hosts in the private address book can be accessed by you but their addresses"
" are never distributed to others."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid ""
"The private address book can also be used for aliases of hosts in your other"
" address books."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
msgid "subscriptions"
msgstr "abonnementer"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
msgid "The subscription file contains a list of i2p URLs."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
msgid ""
"The addressbook application regularly checks this list for new eepsites."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
msgid "Those URLs refer to published hosts.txt files."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "See the FAQ for a list of subscription URLs."
msgstr ""

View File

@@ -2,18 +2,18 @@
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# foo <foo@bar>, 2009.
#
# <punkibastardo@gmail.com>, 2011.
# Carlos Diaz <cedpren@gmail.com>, 2011.
# <punkibastardo@gmail.com>, 2011.
# punkibastardo <punkibastardo@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-02 16:14+0000\n"
"PO-Revision-Date: 2011-06-24 11:08+0100\n"
"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-07-20 00:54+0000\n"
"Last-Translator: blabla <blabla@trash-mail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/team/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,8 +46,12 @@ msgstr "El nombre del host no puede contener \"{0}\"."
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid "Host name \"{0}\" requires conversion to ASCII but the conversion library is unavailable in this JVM"
msgstr "El nombre del host \"{0}\" requiere ser convertido a ASCII, pero la librería de conversión no está disponible en esta Máquina Virtual de Java (JVM)."
msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is"
" unavailable in this JVM"
msgstr ""
"El nombre del host \"{0}\" requiere ser convertido a ASCII, pero la librería"
" de conversión no está disponible en esta Máquina Virtual de Java (JVM)."
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"
@@ -75,7 +79,8 @@ msgstr "Tipo {0}"
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] "Un resultado por búsqueda dentro de la lista de elementos filtrados."
msgstr[1] "{0} resultados para la búsqueda dentro de la lista de elementos filtrados."
msgstr[1] ""
"{0} resultados para la búsqueda dentro de la lista de elementos filtrados."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
@@ -121,13 +126,20 @@ msgstr "Reemplazar"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr "El nombre de host {0} ya se encuentra en la libreta de direcciones, exactamente igual."
msgstr ""
"El nombre de host {0} ya se encuentra en la libreta de direcciones, "
"exactamente igual."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#, java-format
msgid "Host name {0} is already in address book with a different destination. Click \"Replace\" to overwrite."
msgstr "El nombre del host {0} ya se encuentra en la libreta de direcciones, aunque con una dirección de destino diferente. Haz click en \"Reemplazar\" para sobreescribirla."
msgid ""
"Host name {0} is already in address book with a different destination. Click"
" \"Replace\" to overwrite."
msgstr ""
"El nombre del host {0} ya se encuentra en la libreta de direcciones, aunque "
"con una dirección de destino diferente. Haz click en \"Reemplazar\" para "
"sobreescribirla."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
@@ -211,8 +223,13 @@ msgstr "ERROR: No se pudo escribir el archivo de la libreta direcciones."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid "Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit."
msgstr "presentación de formulario no válido, probablemente debido a que ha utilizado el botón \"atrás\" o \"recargar\" de su navegador. Por favor, vuelva a enviarlo."
msgid ""
"Invalid form submission, probably because you used the \"back\" or "
"\"reload\" button on your browser. Please resubmit."
msgstr ""
"presentación de formulario no válido, probablemente debido a que ha "
"utilizado el botón \"atrás\" o \"recargar\" de su navegador. Por favor, "
"vuelva a enviarlo."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
@@ -248,16 +265,21 @@ msgstr "Agregado manualmente vía SusiDNS"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr "Error al agregar la dirección de destino {0} al servicio de nombrado {1}"
msgstr ""
"Error al agregar la dirección de destino {0} al servicio de nombrado {1}"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr "Error al borrar la dirección de destino {0} del servicio de nombrado {1}"
msgstr ""
"Error al borrar la dirección de destino {0} del servicio de nombrado {1}"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid "Subscriptions saved, updating addressbook from subscription sources now."
msgstr "Suscripciones guardadas, actualizando la libreta de direcciones a partir de las fuentes de suscripción ahora."
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr ""
"Suscripciones guardadas, actualizando la libreta de direcciones a partir de "
"las fuentes de suscripción ahora."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved."
@@ -431,24 +453,46 @@ msgid "Hints"
msgstr "Consejos"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
msgid "File and directory paths here are relative to the addressbook's working directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr "Las rutas de archivos y de directorios mostradas aquí son relativas al directorio de trabajo de la libreta de direcciones, que es normalmente ~/.i2p/addressbook/ (Linux) o %APPDATA%\\I2P\\addressbook\\ (Windows)."
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr ""
"Las rutas de archivos y de directorios mostradas aquí son relativas al "
"directorio de trabajo de la libreta de direcciones, que es normalmente "
"~/.i2p/addressbook/ (Linux) o %APPDATA%\\I2P\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
msgid "If you want to manually add lines to an addressbook, add them to the private or master addressbooks."
msgstr "Si desea agregar manualmente líneas a una libreta de direcciones, añadalos a la libreta de direcciones privada o maestra."
msgid ""
"If you want to manually add lines to an addressbook, add them to the private"
" or master addressbooks."
msgstr ""
"Si desea agregar manualmente líneas a una libreta de direcciones, añadalos a"
" la libreta de direcciones privada o maestra."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
msgid "The router addressbook and the published addressbook are updated by the addressbook application."
msgstr "La libreta de direcciones del router y la libreta de direcciones publicada son actualizadas por la aplicación libreta de direcciones."
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
msgstr ""
"La libreta de direcciones del router y la libreta de direcciones publicada "
"son actualizadas por la aplicación libreta de direcciones."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
msgid "When you publish your addressbook, ALL destinations from the master and router addressbooks appear there."
msgstr "Al publicar su libro de direcciones, TODOS los destinos de la libreta maestra y la libreta de direcciones del router aparecen ahí."
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
msgstr ""
"Al publicar su libro de direcciones, TODOS los destinos de la libreta "
"maestra y la libreta de direcciones del router aparecen ahí."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
msgid "Use the private addressbook for private destinations, these are not published."
msgstr "Utilice la libreta de direcciones privada para destinos privados, éstos no serán publicados."
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
msgstr ""
"Utilice la libreta de direcciones privada para destinos privados, éstos no "
"serán publicados."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
msgid "Options"
@@ -456,15 +500,21 @@ msgstr "Opciones"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr "El archivo que contiene la lista de suscripciones URL (no es necesario cambiarlo)"
msgstr ""
"El archivo que contiene la lista de suscripciones URL (no es necesario "
"cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "Update interval in hours"
msgstr "Intervalo de actualización en horas"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
msgid "Your public hosts.txt file (choose a path within your webserver document root)"
msgstr "Su archivo hosts.txt público (elija una ruta dentro de la raíz de la documentación de su servidor web)"
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
"Su archivo hosts.txt público (elija una ruta dentro de la raíz de la "
"documentación de su servidor web)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
msgid "Your hosts.txt (don't change)"
@@ -491,16 +541,26 @@ msgid "Whether to update the published addressbook"
msgstr "Sea para actualizar la libreta de direcciones publicadas"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
msgid "File containing the etags header from the fetched subscription URLs (no need to change)"
msgstr "Archivo que contiene la cabecera de los etags desde la URL de subscripciones capturada (no es necesario cambiarlo)"
msgid ""
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr ""
"Archivo que contiene la cabecera de los etags desde la URL de subscripciones"
" capturada (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
msgid "File containing the modification timestamp for each fetched subscription URL (no need to change)"
msgstr "Archivo que contiene la fecha y hora de modificación para cada URL de suscripción capturada (no es necesario cambiarlo)"
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr ""
"Archivo que contiene la fecha y hora de modificación para cada URL de "
"suscripción capturada (no es necesario cambiarlo)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170
msgid "File to log activity to (change to /dev/null if you like)"
msgstr "El archivo en el que se guarda el registro de actividad (cambielo a /dev/null si quiere)"
msgstr ""
"El archivo en el que se guarda el registro de actividad (cambielo a "
"/dev/null si quiere)"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
msgid "addressbook"
@@ -568,51 +628,95 @@ msgstr "¿Qué es la libreta de direcciones?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
msgid "The addressbook application is part of your I2P installation."
msgstr "La aplicación de libreta de direcciones es parte de tu instalación de I2P."
msgstr ""
"La aplicación de libreta de direcciones es parte de tu instalación de I2P."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
msgid "It regularly updates your hosts.txt file from distributed sources or \"subscriptions\"."
msgstr "Actualiza constantemente su archivo hosts.txt desde fuentes distribuidas o \"suscripciones\"."
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
"Actualiza constantemente su archivo hosts.txt desde fuentes distribuidas o "
"\"suscripciones\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid "In the default configuration, the address book is only subscribed to www.i2p2.i2p."
msgstr "En la configuración por defecto, la libreta de direcciones sólo está suscrita a www.i2p2.i2p."
msgid ""
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr ""
"En la configuración por defecto, la libreta de direcciones sólo está "
"suscrita a www.i2p2.i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid "Subscribing to additional sites is easy, just add them to your <a href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr "Suscribirse a otros sitios es fácil, sólo tiene que añadirlos a su archivo de <a href=\"subscriptions.jsp\">suscripciones</a>."
msgid ""
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr ""
"Suscribirse a otros sitios es fácil, sólo tiene que añadirlos a su archivo "
"de <a href=\"subscriptions.jsp\">suscripciones</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
msgid "For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr "Para mayor información acerca del nombrado en I2P, consulta <a href=\"http://www.i2p2.i2p/naming.html\">la información general en www.i2p2.i2p</a> ."
msgid ""
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr ""
"Para mayor información acerca del nombrado en I2P, consulta <a "
"href=\"http://www.i2p2.i2p/naming.html\">la información general en "
"www.i2p2.i2p</a> ."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook application work?"
msgstr "¿Cómo funciona la libreta de direcciones?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid "The addressbook application regularly polls your subscriptions and merges their content into your \"router\" address book."
msgstr "La aplicación de libreta de direcciones examina tus suscripciones e incorpora su contenido a tu libreta de direcciones del \"router\"."
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr ""
"La aplicación de libreta de direcciones examina tus suscripciones e "
"incorpora su contenido a tu libreta de direcciones del \"router\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid "Then it merges your \"master\" address book into the router address book as well."
msgstr "Luego también incluye los contenidos de tu libreta de direcciones \"principal\" en la libreta de direcciones del router."
msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr ""
"Luego también incluye los contenidos de tu libreta de direcciones "
"\"principal\" en la libreta de direcciones del router."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
msgid "If configured, the router address book is now written to the \"published\" address book, which will be publicly available if you are running an eepsite."
msgstr "Si está configurado, la libreta de direcciones del router luego copiará sus contenidos a la libreta de direcciones \"publicada\", la cual estará disponible públicamente si estás corriendo un sitio i2p própio."
msgid ""
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an "
"eepsite."
msgstr ""
"Si está configurado, la libreta de direcciones del router luego copiará sus "
"contenidos a la libreta de direcciones \"publicada\", la cual estará "
"disponible públicamente si estás corriendo un sitio i2p própio."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
msgid "The router also uses a private address book (not shown in the picture), which is not merged or published."
msgstr "El router también utiliza una libreta de direcciones privada (no mostrada en la figura), la cual ni se incorpora a ninguna otra libreta ni se publica."
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr ""
"El router también utiliza una libreta de direcciones privada (no mostrada en"
" la figura), la cual ni se incorpora a ninguna otra libreta ni se publica."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
msgid "Hosts in the private address book can be accessed by you but their addresses are never distributed to others."
msgstr "Puedes visitar a los hosts que aparecen en tu libreta de direcciones privada, pero sus direcciones no se distribuyen a terceros."
msgid ""
"Hosts in the private address book can be accessed by you but their addresses"
" are never distributed to others."
msgstr ""
"Puedes visitar a los hosts que aparecen en tu libreta de direcciones "
"privada, pero sus direcciones no se distribuyen a terceros."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid "The private address book can also be used for aliases of hosts in your other address books."
msgstr "La libreta de direcciones privada también se puede utilizar para alias de los hosts en tus otras libretas de direcciones."
msgid ""
"The private address book can also be used for aliases of hosts in your other"
" address books."
msgstr ""
"La libreta de direcciones privada también se puede utilizar para alias de "
"los hosts en tus otras libretas de direcciones."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
msgid "subscriptions"
@@ -623,33 +727,36 @@ msgid "The subscription file contains a list of i2p URLs."
msgstr "El archivo de suscripción contiene una lista de URLs I2P."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
msgid "The addressbook application regularly checks this list for new eepsites."
msgstr "La aplicación de libreta de direcciones comprueba regularmente esta lista en busca de nuevos eepsites."
msgid ""
"The addressbook application regularly checks this list for new eepsites."
msgstr ""
"La aplicación de libreta de direcciones comprueba regularmente esta lista en"
" busca de nuevos eepsites."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
msgid "Those URLs refer to published hosts.txt files."
msgstr "Esas URLs referencian a los archivos hosts.txt publicados."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
msgid "The default subscription is the hosts.txt from www.i2p2.i2p, which is updated infrequently."
msgstr "La suscripción por defecto es el hosts.txt de www.i2p2.i2p, que se actualiza con poca frecuencia."
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
msgstr ""
"La suscripción por defecto es el hosts.txt de www.i2p2.i2p, que se actualiza"
" con poca frecuencia."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
msgid "So it is a good idea to add additional subscriptions to sites that have the latest addresses."
msgstr "Por lo tanto, es una buena idea agregar suscripciones adicionales a sitios que ttengan las direcciones más recientes"
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr ""
"Por lo tanto, es una buena idea agregar suscripciones adicionales a sitios "
"que ttengan las direcciones más recientes"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "See the FAQ for a list of subscription URLs."
msgstr "Ver las preguntas frecuentes para obtener una lista de direcciones URL de suscripciónes."
msgstr ""
"Ver las preguntas frecuentes para obtener una lista de direcciones URL de "
"suscripciónes."
#~ msgid "Filtered list"
#~ msgstr "Lista filtrada"
#~ msgid "no matches"
#~ msgstr "No hay coincidencias"
#~ msgid "contains no entries"
#~ msgstr "no contiene entradas"
#~ msgid "contains {0} entries"
#~ msgstr "contiene {0} entradas"
#~ msgid "addressbooks"
#~ msgstr "libretas de direcciones"

View File

@@ -21,30 +21,30 @@ msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
msgid "Host name \"{0}\" contains illegal character {1}"
msgstr "Le nom d'hôte \"{0}\" contient le caractère illicite \"{1}\""
msgstr "Le nom d''hôte \"{0}\" contient le caractère illicite \"{1}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format
msgid "Host name cannot start with \"{0}\""
msgstr "Le nom d'hôte ne peut pas commencer par \"{0}\""
msgstr "Le nom d''hôte ne peut pas commencer par \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format
msgid "Host name cannot end with \"{0}\""
msgstr "Le nom d'hôte ne peut pas finir par \"{0}\""
msgstr "Le nom d''hôte ne peut pas finir par \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format
msgid "Host name cannot contain \"{0}\""
msgstr "Le nom d'hôte ne peut pas contenir \"{0}\""
msgstr "Le nom d''hôte ne peut pas contenir \"{0}\""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid "Host name \"{0}\" requires conversion to ASCII but the conversion library is unavailable in this JVM"
msgstr "Le nom d'hôte \"{0}\" requiert une conversion en ASCII mais la bibliothèque de conversion est indisponible dans cette JVM"
msgstr "Le nom d''hôte \"{0}\" requiert une conversion en ASCII mais la bibliothèque de conversion est indisponible dans cette JVM"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"

View File

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

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P susidns\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-18 14:08+0000\n"
"PO-Revision-Date: 2011-06-21 00:22+0500\n"
"POT-Creation-Date: 2011-08-15 17:55+0000\n"
"PO-Revision-Date: 2011-08-18 01:31+0500\n"
"Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
"Language-Team: foo <foo@bar>\n"
"Language: \n"
@@ -69,7 +69,21 @@ msgid "Type {0}"
msgstr "Тип {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] "{0} результат для поиска внутри отфильтрованного списка."
msgstr[1] "{0} результата для поиска внутри отфильтрованного списка."
msgstr[2] "{0} результатов для поиска внутри отфильтрованного списка."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries."
msgstr[0] "Отфильтрованный список содержит {0} запись."
msgstr[1] "Отфильтрованный список содержит {0} записи."
msgstr[2] "Отфильтрованный список содержит {0} записей."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format
msgid "One result for search."
@@ -92,89 +106,89 @@ msgid "Showing {0} of {1}"
msgstr "Показаны {0} из {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:230
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392
msgid "Add"
msgstr "Добавить"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:230
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390
msgid "Replace"
msgstr "Заменить"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:241
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr "Для узла {0} уже существует запись с совпадающим адресом назначения."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#, java-format
msgid "Host name {0} is already in address book with a different destination. Click \"Replace\" to overwrite."
msgstr "Для узла {0} уже существует запись с другим адресом назначения. Нажмите \"Заменить\" для перезаписи."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:312
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:256
#, java-format
msgid "Destination added for {0}."
msgstr "Добавлен адрес для {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:258
#, java-format
msgid "Destination changed for {0}."
msgstr "Заменён адрес для {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:316
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:260
msgid "Warning - host name does not end with \".i2p\""
msgstr "Предупреждение - имя хоста не заканчивается на \".i2p\""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:320
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:321
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:268
msgid "Invalid Base 64 destination."
msgstr "Некорректный Base-64 адрес."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:327
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:274
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr "Неправильное имя хоста \"{0}\"."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:329
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:330
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:277
msgid "Please enter a host name and destination"
msgstr "Пожалуйста, введите имя узла и адрес назначения"
#. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:261
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:281
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:306
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:258
msgid "Delete Entry"
msgstr "Удалить"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:281
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334
msgid "Delete Selected"
msgstr "Удалить выделенное"
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:347
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:348
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:298
#, java-format
msgid "Destination {0} deleted."
msgstr "Адрес {0} удален."
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:350
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:351
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:301
#, java-format
msgid "1 destination deleted."
msgid_plural "{0} destinations deleted."
@@ -182,23 +196,23 @@ msgstr[0] "{0} адрес назначения удалён."
msgstr[1] "{0} адреса назначения удалёны."
msgstr[2] "{0} адресов назначения удалёны."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:353
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
msgid "No entries selected to delete."
msgstr "Записи для удаления не выбраны."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:360
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:361
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:310
msgid "Address book saved."
msgstr "Адресная книга сохранена."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:363
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:364
msgid "ERROR: Could not write addressbook file."
msgstr "ОШИБКА: Не удалось сохранить файл адресной книги."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:368
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:369
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:314
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid "Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit."
msgstr "Форма не принята, скорее всего это произошло из-за того, что Вы нажимали кнопку \"Назад\" или \"Обновить\" в браузере. Пожалуйста, заполните форму заново."
@@ -225,21 +239,21 @@ msgstr "Перезагрузить"
msgid "Configuration reloaded."
msgstr "Настройки перезагружены."
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:104
#, java-format
msgid "{0} address book in {1} database"
msgstr "{0} адресная книга в {1} базе данных"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:251
msgid "Manually added via SusiDNS"
msgstr "Добавлен вручную через SusiDNS"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:265
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr "Не удалось добавить адрес назначения для {0} в сервис именования {1}"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:289
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr "Не удалось удалить адрес назначения для {0} из сервиса именования {1}"
@@ -264,8 +278,8 @@ msgstr "адресная книга"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120
@@ -274,7 +288,7 @@ msgstr "Введение"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
msgid "Address books"
@@ -282,7 +296,7 @@ msgstr "Адресные книги"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:109
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
msgid "private"
@@ -290,7 +304,7 @@ msgstr "приватная"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:111
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
msgid "master"
@@ -298,7 +312,7 @@ msgstr "основная"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
msgid "router"
@@ -306,7 +320,7 @@ msgstr "маршрутизатор"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
msgid "published"
@@ -314,7 +328,7 @@ msgstr "публикуемая"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
msgid "Subscriptions"
@@ -322,19 +336,19 @@ msgstr "Подписки"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
msgid "Configuration"
msgstr "Настройки"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:123
msgid "Address book"
msgstr "Адресная книга"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
msgid "Storage"
msgstr "Хранилище"
@@ -373,7 +387,7 @@ msgstr "Ссылки"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250
msgid "Destination"
msgstr "Адрес назначения"
@@ -407,7 +421,7 @@ msgid "Add new destination"
msgstr "Добавить новый адрес"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:158
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:155
msgid "Host Name"
msgstr "Имя хоста"
@@ -491,59 +505,59 @@ msgstr "Файл для хранения даты/времени модифик
msgid "File to log activity to (change to /dev/null if you like)"
msgstr "Файл для записи журнала действий"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:103
msgid "addressbook"
msgstr "адресная книга"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:174
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:171
msgid "Encoded Name"
msgstr "Кодированное имя"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:190
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:187
msgid "Base 32 Address"
msgstr "Base 32 адрес"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:200
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:197
msgid "Address Helper"
msgstr "Address Helper"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:204
msgid "link"
msgstr "ссылка"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:211
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:208
msgid "Public Key"
msgstr "Публичный ключ"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:210
msgid "ElGamal 2048 bit"
msgstr "2048-битное шифрование Эль-Гамаля"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:214
msgid "Signing Key"
msgstr "Подписывающий ключ (Signing Key)"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216
msgid "DSA 1024 bit"
msgstr "DSA 1024 бит"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
msgid "Certificate"
msgstr "Сертификат"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
msgid "Added Date"
msgstr "Дата добавления"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
msgid "Source"
msgstr "Источник"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238
msgid "Last Modified"
msgstr "Последнее изменение"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244
msgid "Notes"
msgstr "Примечания"

View File

@@ -0,0 +1,697 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <gribua@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-06-19 13:57+0000\n"
"Last-Translator: Pharmasolin <gribua@gmail.com>\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.net/projects/p/I2P/team/uk_UA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk_UA\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
msgid "Host name \"{0}\" contains illegal character {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format
msgid "Host name cannot start with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format
msgid "Host name cannot end with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format
msgid "Host name cannot contain \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is"
" unavailable in this JVM"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:217
msgid "Hashcash"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:219
msgid "Hidden"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:221
msgid "Signed"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:223
#, java-format
msgid "Type {0}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format
msgid "One result for search."
msgid_plural "{0} results for search."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:250
#, java-format
msgid "Address book contains 1 entry."
msgid_plural "Address book contains {0} entries."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#, java-format
msgid "Showing {0} of {1}"
msgstr "Показано {0} з {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392
msgid "Add"
msgstr "Додати"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390
msgid "Replace"
msgstr "Перемістити"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#, java-format
msgid ""
"Host name {0} is already in address book with a different destination. Click"
" \"Replace\" to overwrite."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
#, java-format
msgid "Destination added for {0}."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259
#, java-format
msgid "Destination changed for {0}."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261
msgid "Warning - host name does not end with \".i2p\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:320
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269
msgid "Invalid Base 64 destination."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:329
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
msgid "Please enter a host name and destination"
msgstr "Будь ласка, введіть ім'я хоста і призначення"
#. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:261
msgid "Delete Entry"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334
msgid "Delete Selected"
msgstr "Видалити Вибрані"
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:347
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299
#, java-format
msgid "Destination {0} deleted."
msgstr "Призначення {0} видалено."
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:350
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302
#, java-format
msgid "1 destination deleted."
msgid_plural "{0} destinations deleted."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304
msgid "No entries selected to delete."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:360
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
msgid "Address book saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:363
msgid "ERROR: Could not write addressbook file."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:368
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid ""
"Invalid form submission, probably because you used the \"back\" or "
"\"reload\" button on your browser. Please resubmit."
msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
msgid "Save"
msgstr "Зберегти"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
msgid "Configuration saved."
msgstr "Настройки збережені."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
msgid "Reload"
msgstr "Перезавантажити"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
msgid "Configuration reloaded."
msgstr "Настройки перезавантажені."
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105
#, java-format
msgid "{0} address book in {1} database"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252
msgid "Manually added via SusiDNS"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:152
msgid "Subscriptions reloaded."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
msgid "address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120
msgid "Overview"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
msgid "Address books"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
msgid "private"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
msgid "master"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
msgid "router"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
msgid "published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
msgid "Subscriptions"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
msgid "Configuration"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
msgid "Address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:131
msgid "Storage"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169
msgid "Filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172
msgid "other"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:174
msgid "all"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185
msgid "Current filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190
msgid "clear filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:201
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
msgid "Search"
msgstr "Шукати"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:238
msgid "Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240
msgid "Links"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
msgid "Destination"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:273
msgid "Mark for deletion"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:292
msgid "Base 32 address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:296
msgid "More information on this entry"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:299
msgid "details"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:332
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:388
msgid "Cancel"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:365
msgid "This address book is empty."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:378
msgid "Add new destination"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:158
msgid "Host Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
msgid "configuration"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
msgid "Hints"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
msgid ""
"If you want to manually add lines to an addressbook, add them to the private"
" or master addressbooks."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
msgid "Options"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "Update interval in hours"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
msgid "Your hosts.txt (don't change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
msgid "Your personal addressbook, these hosts will be published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
msgid "Your private addressbook, it is never published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
msgid "Port for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
msgid "Hostname for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
msgid "Whether to update the published addressbook"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
msgid ""
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170
msgid "File to log activity to (change to /dev/null if you like)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
msgid "addressbook"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:174
msgid "Encoded Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:190
msgid "Base 32 Address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:200
msgid "Address Helper"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "link"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:211
msgid "Public Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "ElGamal 2048 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
msgid "Signing Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
msgid "DSA 1024 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
msgid "Certificate"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
msgid "Added Date"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
msgid "Source"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
msgid "Last Modified"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
msgid "Notes"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
msgid "Introduction"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
msgid "What is the addressbook?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
msgid "The addressbook application is part of your I2P installation."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid ""
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid ""
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
msgid ""
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook application work?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
msgid ""
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an "
"eepsite."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
msgid ""
"Hosts in the private address book can be accessed by you but their addresses"
" are never distributed to others."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid ""
"The private address book can also be used for aliases of hosts in your other"
" address books."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
msgid "subscriptions"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
msgid "The subscription file contains a list of i2p URLs."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
msgid ""
"The addressbook application regularly checks this list for new eepsites."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
msgid "Those URLs refer to published hosts.txt files."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "See the FAQ for a list of subscription URLs."
msgstr ""

View File

@@ -0,0 +1,690 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# <tran.nathan@gmail.com>, 2011.
# dich_tran <tran.nathan@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-06-03 06:18+0000\n"
"Last-Translator: dich_tran <tran.nathan@gmail.com>\n"
"Language-Team: Vietnamese (http://www.transifex.net/projects/p/I2P/team/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
msgid "Host name \"{0}\" contains illegal character {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format
msgid "Host name cannot start with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format
msgid "Host name cannot end with \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format
msgid "Host name cannot contain \"{0}\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is"
" unavailable in this JVM"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:217
msgid "Hashcash"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:219
msgid "Hidden"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:221
msgid "Signed"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressBean.java:223
#, java-format
msgid "Type {0}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries."
msgstr[0] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format
msgid "One result for search."
msgid_plural "{0} results for search."
msgstr[0] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:250
#, java-format
msgid "Address book contains 1 entry."
msgid_plural "Address book contains {0} entries."
msgstr[0] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#, java-format
msgid "Showing {0} of {1}"
msgstr "Hiển thị {0} trong {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392
msgid "Add"
msgstr "Thêm"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390
msgid "Replace"
msgstr "Thay thế"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#, java-format
msgid ""
"Host name {0} is already in address book with a different destination. Click"
" \"Replace\" to overwrite."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
#, java-format
msgid "Destination added for {0}."
msgstr "Thêm địa chỉ đến cho {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259
#, java-format
msgid "Destination changed for {0}."
msgstr "Đổi địa chỉ đến cho {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261
msgid "Warning - host name does not end with \".i2p\""
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:320
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269
msgid "Invalid Base 64 destination."
msgstr "Dạng Base 64 của địa chỉ không đúng"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:329
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
msgid "Please enter a host name and destination"
msgstr "Xin điền vào tên máy chủ và địa chỉ đến"
#. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:261
msgid "Delete Entry"
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334
msgid "Delete Selected"
msgstr "Xóa lựa chọn"
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:347
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299
#, java-format
msgid "Destination {0} deleted."
msgstr "Địa chỉ {0} được xóa."
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:350
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302
#, java-format
msgid "1 destination deleted."
msgid_plural "{0} destinations deleted."
msgstr[0] ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304
msgid "No entries selected to delete."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:360
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
msgid "Address book saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:363
msgid "ERROR: Could not write addressbook file."
msgstr "LỖI: không thể lưu trữ sổ địa chỉ."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:368
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid ""
"Invalid form submission, probably because you used the \"back\" or "
"\"reload\" button on your browser. Please resubmit."
msgstr ""
"Mẫu nạp không giá trị, có lẻ vì bạn dùng nút \"lùi\" (back) hoặc \"nạp lại\""
" (reload) trong trình duyệt. Xin vui lòng làm lại."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
msgid "Save"
msgstr "Lưu trữ"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:141
msgid "Configuration saved."
msgstr "Cấu hình được lưu trữ."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
msgid "Reload"
msgstr "Nạp lại"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:144
msgid "Configuration reloaded."
msgstr "Cấu hình được nạp lại."
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105
#, java-format
msgid "{0} address book in {1} database"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252
msgid "Manually added via SusiDNS"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr "Lưu sổ ghi danh, cập nhật sổ địa chỉ từ nguồn ghi danh bây giờ."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:152
msgid "Subscriptions reloaded."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
msgid "address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120
msgid "Overview"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
msgid "Address books"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
msgid "private"
msgstr "riêng"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
msgid "master"
msgstr "chính"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
msgid "router"
msgstr "bộ định tuyến"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
msgid "published"
msgstr "phát hành"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
msgid "Subscriptions"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
msgid "Configuration"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
msgid "Address book"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:131
msgid "Storage"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169
msgid "Filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172
msgid "other"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:174
msgid "all"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185
msgid "Current filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190
msgid "clear filter"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:201
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
msgid "Search"
msgstr "Tìm"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:238
msgid "Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240
msgid "Links"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
msgid "Destination"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:273
msgid "Mark for deletion"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:292
msgid "Base 32 address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:296
msgid "More information on this entry"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:299
msgid "details"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:332
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:388
msgid "Cancel"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:365
msgid "This address book is empty."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:378
msgid "Add new destination"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:158
msgid "Host Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
msgid "configuration"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
msgid "Hints"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
msgid ""
"If you want to manually add lines to an addressbook, add them to the private"
" or master addressbooks."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
msgid "Options"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "Update interval in hours"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
msgid "Your hosts.txt (don't change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
msgid "Your personal addressbook, these hosts will be published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
msgid "Your private addressbook, it is never published"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
msgid "Port for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
msgid "Hostname for your eepProxy (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
msgid "Whether to update the published addressbook"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
msgid ""
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170
msgid "File to log activity to (change to /dev/null if you like)"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
msgid "addressbook"
msgstr "Sổ địa chỉ"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:174
msgid "Encoded Name"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:190
msgid "Base 32 Address"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:200
msgid "Address Helper"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "link"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:211
msgid "Public Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "ElGamal 2048 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
msgid "Signing Key"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
msgid "DSA 1024 bit"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
msgid "Certificate"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
msgid "Added Date"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
msgid "Source"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
msgid "Last Modified"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
msgid "Notes"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
msgid "Introduction"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:109
msgid "What is the addressbook?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
msgid "The addressbook application is part of your I2P installation."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid ""
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid ""
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
msgid ""
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook application work?"
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
msgid ""
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an "
"eepsite."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
msgid ""
"Hosts in the private address book can be accessed by you but their addresses"
" are never distributed to others."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid ""
"The private address book can also be used for aliases of hosts in your other"
" address books."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
msgid "subscriptions"
msgstr "đăng ký"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
msgid "The subscription file contains a list of i2p URLs."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
msgid ""
"The addressbook application regularly checks this list for new eepsites."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
msgid "Those URLs refer to published hosts.txt files."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "See the FAQ for a list of subscription URLs."
msgstr ""

View File

@@ -1,141 +1,222 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
# foo <foo@bar>, 2009.
#
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susidns package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# ducki2p <ducki2p@gmail.com>, 2011.
# <walking@i2pmail.org>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P susidns\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 18:29+0000\n"
"PO-Revision-Date: 2010-05-29 12:51+0800\n"
"Last-Translator: walking <walking@mail.i2p>\n"
"Language-Team: foo <foo@bar>\n"
"Language: \n"
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-06-11 08:23+0000\n"
"PO-Revision-Date: 2011-08-20 05:50+0000\n"
"Last-Translator: walking <walking@i2pmail.org>\n"
"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/I2P/team/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Chinese\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:200
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:193
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:197
msgid "Search"
msgstr "搜索"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
msgid "Search within filtered list"
msgstr "在过滤结果中搜索"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
msgid "Filtered list"
msgstr "过滤结果列表"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
msgid "no matches"
msgstr "无匹配项目"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
msgid "Addressbook"
msgstr "地址簿"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
msgid "contains no entries"
msgstr "包含 0 个项目"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
msgid "contains 1 entry"
msgstr "包含 1 个项目"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
msgid "contains {0} entries"
msgstr "包含 {0} 个项目"
msgid "Host name \"{0}\" contains illegal character {1}"
msgstr "主机名\"{0}\"中包含非法字符{1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
#: ../src/java/src/i2p/susi/dns/AddressBean.java:143
#: ../src/java/src/i2p/susi/dns/AddressBean.java:145
#: ../src/java/src/i2p/susi/dns/AddressBean.java:152
#, java-format
msgid "Host name cannot start with \"{0}\""
msgstr "主机名称不能以\"{0}\"开头。"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:147
#: ../src/java/src/i2p/susi/dns/AddressBean.java:149
#, java-format
msgid "Host name cannot end with \"{0}\""
msgstr "主机名不能以\"{0}\"结尾。"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:154
#, java-format
msgid "Host name cannot contain \"{0}\""
msgstr "主机名称不能包含“{0}”"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:157
#, java-format
msgid ""
"Host name \"{0}\" requires conversion to ASCII but the conversion library is"
" unavailable in this JVM"
msgstr "主机名称“{0}”需要转化为ASCIIb编码但您的JavaJVM缺少转换需要的库。"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:209
msgid "None"
msgstr "无"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:217
msgid "Hashcash"
msgstr "Hashcash"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:219
msgid "Hidden"
msgstr "隐藏"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:221
msgid "Signed"
msgstr "已数字签名"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:223
#, java-format
msgid "Type {0}"
msgstr "类型{0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#, java-format
msgid "One result for search within filtered list."
msgid_plural "{0} results for search within filtered list."
msgstr[0] "列表中有{0}个与筛选条件匹配的结果。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, java-format
msgid "Filtered list contains 1 entry."
msgid_plural "Fltered list contains {0} entries."
msgstr[0] "筛选列表中包含{0}条记录。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:241
#, java-format
msgid "One result for search."
msgid_plural "{0} results for search."
msgstr[0] "{0}个搜索结果。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:250
#, java-format
msgid "Address book contains 1 entry."
msgid_plural "Address book contains {0} entries."
msgstr[0] "地址簿中有{0}条记录。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#, java-format
msgid "Showing {0} of {1}"
msgstr "显示 {0} 个项目共 {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:392
msgid "Add"
msgstr "添加"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:366
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:287
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:298
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:231
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:243
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:390
msgid "Replace"
msgstr "替换"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:242
#, java-format
msgid "Host name {0} is already in addressbook, unchanged."
msgstr "主机名{0}已存在于地址簿中,本次操作未更新。"
msgid "Host name {0} is already in address book, unchanged."
msgstr "主机名{0}已存在于地址簿中,操作取消。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:244
#, java-format
msgid ""
"Host name {0} is already in addressbook with a different destination. Click "
"\"Replace\" to overwrite."
msgstr "名{0}已以不同目标密钥的存在于地址簿中,点击“替换”进行覆盖"
"Host name {0} is already in address book with a different destination. Click"
" \"Replace\" to overwrite."
msgstr "主机名{0}已存在于地址簿中,但对应不同的目标密钥,点击“替换”覆盖此记录。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:278
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
#, java-format
msgid "Destination added for {0}."
msgstr "目标密钥已添加为{0}。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:259
#, java-format
msgid "Destination changed for {0}."
msgstr "目标已更新为{0}。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:315
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:261
msgid "Warning - host name does not end with \".i2p\""
msgstr "警告 - 主机名未以\".i2p\"结尾。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:320
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:269
msgid "Invalid Base 64 destination."
msgstr "无效的Base64目标密钥"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:275
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr "无效的主机名“{0}”。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:329
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
msgid "Please enter a host name and destination"
msgstr "请输入主机名称与目标"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
#. clear search when deleting
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:354
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:261
msgid "Delete Entry"
msgstr "删除记录"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:333
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:282
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:334
msgid "Delete Selected"
msgstr "删除选中项"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:347
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:299
#, java-format
msgid "Destination {0} deleted."
msgstr "目标 {0} 已删除"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:350
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:302
#, java-format
msgid "{0} destinations deleted."
msgstr "{0} 个目标已删除"
msgid "1 destination deleted."
msgid_plural "{0} destinations deleted."
msgstr[0] "{0} 个目标已删除。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
msgid "Addressbook saved."
msgstr "地址簿已保存"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:352
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:304
msgid "No entries selected to delete."
msgstr "未选择要删除的记录。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:360
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
msgid "Address book saved."
msgstr "地址簿已保存。"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:363
msgid "ERROR: Could not write addressbook file."
msgstr "错误:无法写入地址簿文件"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:319
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:368
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:151
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:315
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
msgid ""
"Invalid form submission, probably because you used the \"back\" or \"reload"
"\" button on your browser. Please resubmit."
msgstr ""
"提交数据无效,可能的原因是您使用了浏览器中的“前进”或“后退”按钮造成会话过期,"
"请重新提交。"
"Invalid form submission, probably because you used the \"back\" or "
"\"reload\" button on your browser. Please resubmit."
msgstr "提交数据无效,可能的原因是您使用了浏览器中的“前进”或“后退”按钮造成会话过期,请重新提交。"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
msgid "Save"
msgstr "保存"
@@ -144,9 +225,9 @@ msgid "Configuration saved."
msgstr "配置已保存"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:145
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
msgid "Reload"
msgstr "刷新"
@@ -154,234 +235,348 @@ msgstr "刷新"
msgid "Configuration reloaded."
msgstr "配置已重新载入"
#. Yes this is a hack.
#. No it doesn't work on a text-mode browser.
#. Fetching from the addressbook servlet
#. with the correct parameters will kick off a
#. config reload and fetch.
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:139
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:105
#, java-format
msgid "{0} address book in {1} database"
msgstr "{1}数据库中{0}地址簿"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:252
msgid "Manually added via SusiDNS"
msgstr "通过 SusiDNS 手工添加。"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:266
#, java-format
msgid "Failed to add Destination for {0} to naming service {1}"
msgstr "域名服务{1}中的目标{0}添加失败。"
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:290
#, java-format
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr "域名服务{1}中的目标{0}删除失败。"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr "订阅已保存,正在通过订阅地址更新地址簿。"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:148
msgid "Subscriptions saved."
msgstr "订阅已保存。"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:152
msgid "Subscriptions reloaded."
msgstr "订阅设置已重新载入。"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
msgid "addressbook"
msgid "address book"
msgstr "地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:104
msgid "addressbooks"
msgstr "地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:120
msgid "Overview"
msgstr "概述"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:93
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:106
msgid "private"
msgstr "私人"
msgid "Address books"
msgstr "地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:95
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:108
msgid "master"
msgstr "主要"
msgid "private"
msgstr "私人"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:97
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:110
msgid "router"
msgstr "路由"
msgid "master"
msgstr "主要"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:99
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:112
msgid "published"
msgstr "发布"
msgid "router"
msgstr "路由"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:101
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:114
msgid "subscriptions"
msgstr "订阅"
msgid "published"
msgstr "发布"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:103
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:116
msgid "configuration"
msgstr "配置"
msgid "Subscriptions"
msgstr "订阅"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:107
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:105
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:118
msgid "overview"
msgstr "介绍"
msgid "Configuration"
msgstr "配置"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:163
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
msgid "Address book"
msgstr "地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:131
msgid "Storage"
msgstr "储存"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:169
msgid "Filter"
msgstr "过滤器"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:166
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172
msgid "other"
msgstr "其他"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:174
msgid "all"
msgstr "全部"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:185
msgid "Current filter"
msgstr "当前过滤器"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:182
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:190
msgid "clear filter"
msgstr "清除过滤器"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:224
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:201
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
msgid "Search"
msgstr "搜索"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:238
msgid "Name"
msgstr "名称"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:240
msgid "Links"
msgstr "链接"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:384
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
msgid "Destination"
msgstr "目标"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:257
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:273
msgid "Mark for deletion"
msgstr "标记为删除"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:279
msgid "address helper link"
msgstr "地址簿助手链接"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:292
msgid "Base 32 address"
msgstr "Base32 地址"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:296
msgid "More information on this entry"
msgstr "此记录的更多信息"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:299
msgid "details"
msgstr "详情"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:332
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:388
msgid "Cancel"
msgstr "取消"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
msgid "This addressbook is empty."
msgstr "此地址簿为空"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:365
msgid "This address book is empty."
msgstr "此地址簿为空"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:356
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:378
msgid "Add new destination"
msgstr "添加新目标"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
msgid "Hostname"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:380
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:158
msgid "Host Name"
msgstr "主机名称"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:102
msgid "configuration"
msgstr "配置"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
msgid "Hints"
msgstr "提示"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:134
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
"\\addressbook\\ (Windows)."
msgstr ""
"此处使用的路径是以地址簿工作目录为参照的相对路径,通常为 ~/.i2p/addressbook/ "
"(Linux) 或 %APPDATA%\\I2P\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:136
msgid ""
"If you want to manually add lines to an addressbook, add them to the private "
"or master addressbooks."
msgstr "如果您希望想地址簿手动添加地址条目,请将其加入私有地址簿或主地址簿。"
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
msgstr ""
"此处使用的路径是以地址簿工作目录为参照的相对路径,通常为 ~/.i2p/addressbook/ (Linux) 或 "
"%APPDATA%\\I2P\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:138
msgid ""
"If you want to manually add lines to an addressbook, add them to the private"
" or master addressbooks."
msgstr "如果您希望想地址簿手动添加地址条目,请将其加入私有地址簿或主地址簿。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
msgstr "路由地址簿与已发布地址簿会由地址簿程序负责更新。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:140
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
msgstr ""
"当您发布地址簿时,主地址簿与路由地址簿中的所有地址条目都会显示于已发布地址簿"
"中。"
msgstr "当您发布地址簿时,主地址簿与路由地址簿中的所有地址条目都会显示于已发布地址簿中。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:142
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
msgstr "私有地址簿用来记录需要保密的私人目标,其中的条目不会被发布。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:144
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
msgid "Options"
msgstr "选项"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:146
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr "含有订阅URL列表的文件(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:148
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
msgid "Update interval in hours"
msgstr "更新周期(小时)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
"您发布的公开地址簿 hosts.txt (请指定为您Web服务器目录中的某个路径以便发布。)"
msgstr "您发布的公开地址簿 hosts.txt (请指定为您Web服务器目录中的某个路径以便发布。)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:152
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
msgid "Your hosts.txt (don't change)"
msgstr "您的 host.txt (无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:154
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
msgid "Your personal addressbook, these hosts will be published"
msgstr "您的个人地址簿,其中的地址会参与发布。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:156
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
msgid "Your private addressbook, it is never published"
msgstr "您的私有地址簿,其中的地址不会被发布。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:158
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
msgid "Port for your eepProxy (no need to change)"
msgstr "您的I2P代理端口(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
msgid "Hostname for your eepProxy (no need to change)"
msgstr "您的I2P代理主机名(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
msgid "Whether to update the published addressbook"
msgstr "是否更新发布地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:164
msgid ""
"File containing the etags header from the fetched subscription URLs (no need "
"to change)"
msgstr "此文件含有订阅URL返回的etag头(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:166
msgid ""
"File containing the modification timestamp for each fetched subscription URL "
"(no need to change)"
msgstr "此文件含有每个地址簿订阅URL上次获取时的修改时间(无需修改)"
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr "此文件含有订阅URL返回的etag头(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:168
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr "此文件含有每个地址簿订阅URL上次获取时的修改时间(无需修改)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:170
msgid "File to log activity to (change to /dev/null if you like)"
msgstr "活动日志文件(关闭可设为/dev/null [Linux])"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:106
msgid "addressbook"
msgstr "地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:174
msgid "Encoded Name"
msgstr "编码后名称"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:190
msgid "Base 32 Address"
msgstr "b32(Base32)地址"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:200
msgid "Address Helper"
msgstr "地址助手"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "link"
msgstr "链接"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:211
msgid "Public Key"
msgstr "公钥"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "ElGamal 2048 bit"
msgstr "ElGamal 2048位"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
msgid "Signing Key"
msgstr "签名钥匙"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
msgid "DSA 1024 bit"
msgstr "DSA 1024位"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
msgid "Certificate"
msgstr "证书"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
msgid "Added Date"
msgstr "加入日期"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
msgid "Source"
msgstr "来源"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
msgid "Last Modified"
msgstr "上次修改"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
msgid "Notes"
msgstr "注释"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:91
msgid "Introduction"
msgstr "介绍"
@@ -391,116 +586,107 @@ msgid "What is the addressbook?"
msgstr "什么是地址簿"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:111
msgid "The addressbook application is part of your i2p installation."
msgstr "地址簿程序是I2P安装程序的一部分。"
msgid "The addressbook application is part of your I2P installation."
msgstr "地址簿程序是I2P软件的一部分。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:113
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
"他通过分散的来源或称地址簿“订阅”(概念类似RSS)更新您的地址簿文件 host.txt。"
msgstr "他通过分散的来源或称地址簿“订阅”(概念类似RSS)更新您的地址簿文件 host.txt。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:115
msgid ""
"In the default configuration, the addressbook is only subscribed to www.i2p2."
"i2p."
msgstr "默认设置中地址簿仅订阅 www.i2p2.i2p 的项目。"
"In the default configuration, the address book is only subscribed to "
"www.i2p2.i2p."
msgstr "默认安装中,地址簿程序只订阅 www.i2p2.i2p 的地址簿。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:117
msgid ""
"Subscribing to additional sites is easy, just add them to your <a href="
"\"subscriptions.jsp\">subscriptions</a> file."
msgstr ""
"订阅其他网站的地址簿也很简单,只需将它们加入 <a href=\"subscriptions.jsp\">订"
"阅</a> 文件即可。"
"Subscribing to additional sites is easy, just add them to your <a "
"href=\"subscriptions.jsp\">subscriptions</a> file."
msgstr "订阅其他网站的地址簿也很简单,只需将它们加入 <a href=\"subscriptions.jsp\">订阅</a> 文件即可。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:119
msgid ""
"For more information on naming in i2p, see <a href=\"http://www.i2p2.i2p/"
"naming.html\">the overview on www.i2p2.i2p</a>."
"For more information on naming in I2P, see <a "
"href=\"http://www.i2p2.i2p/naming.html\">the overview on www.i2p2.i2p</a>."
msgstr ""
"关于I2P网络域名系统的更多信息,参见 <a href=\"http://www.i2p2.i2p/naming.html"
"\"> www.i2p2.i2p 网站上的概述</a>."
"关于I2P域名解析的详情,参见 <a href=\"http://www.i2p2.i2p/naming.html\">www.i2p2.i2p "
"上的概述</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:121
msgid "How does the addressbook work?"
msgstr "那么地址簿如何工作的呢?"
msgid "How does the addressbook application work?"
msgstr "地址簿程序如何工作?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:123
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" addressbook, stored in the hosts.txt file."
msgstr ""
"地址簿程序定期通过订阅的URL获取新的地址簿条目并将它们合并入您的“路由”地址簿"
"中,保存与 hosts.txt 文件内。"
"their content into your \"router\" address book."
msgstr "地址簿程序会定期下载订阅的地址簿并将他们的内容合并至“路由器地址簿\"。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
msgid ""
"Then it merges your \"master\" addressbook (userhosts.txt) into the router "
"addressbook as well."
msgstr "随后他还会将您的“主要”地址簿(userhost.txt)合并入路由器地址簿。"
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr "然后您的“主地址簿\"中的内容也会并入\"路由器地址簿\"中。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:127
msgid ""
"If configured, the router addressbook is now written to the \"published\" "
"addressbook, which will be publicly available if you are running an eepsite."
msgstr ""
"如果启用了相关配置,路由器地址簿会写入您的“发布地址簿中,如果您有自己的"
"eepsite匿名站点那么它可以通过您的站点公开发布。"
"If configured, the router address book is now written to the \"published\" "
"address book, which will be publicly available if you are running an "
"eepsite."
msgstr "如果配置中指定,“路由器地址簿”还会被写入“已发布地址簿中,如果您运行有eepsite此地址簿可以被公开订阅。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:129
msgid ""
"The router also uses a private addressbook (privatehosts.txt, not shown in "
"the picture), which is not merged or published."
msgstr ""
"路由器同时提供了私有地址簿(privatehost.txt,图片中为出现),其中的项目不会被合并"
"或发布。"
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
msgstr "路由器同时还使用“私人地址簿”(图中未显示),该地址簿不会被合并或发布。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:131
msgid ""
"Hosts in the private addressbook can be accessed by you but their addresses "
"are never distributed to others."
msgstr ""
"您可以访问私有地址簿中的网站,但它们的地址绝不会通过您的公开地址簿发布给别"
"人。"
"Hosts in the private address book can be accessed by you but their addresses"
" are never distributed to others."
msgstr "您可以访问“私有地址簿”中的主机名,但他们的实际地址不会发布给其他人。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
msgid ""
"The private addressbook can also be used for aliases of hosts in your other "
"addressbooks."
msgstr "私有地址簿还可以被用来设置网站别名。"
"The private address book can also be used for aliases of hosts in your other"
" address books."
msgstr "私有地址簿”也可以用于为其他地址簿中的主机名添加别名。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:102
msgid "subscriptions"
msgstr "订阅"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
msgid "The subscription file contains a list of i2p URLs."
msgstr "订阅文件是一个I2P链接列表。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:134
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
msgid ""
"The addressbook application regularly checks this list for new eepsites."
msgstr "地址簿程序定期通过这些链接检查是否有新的I2P匿名网站。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:136
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
msgid "Those URLs refer to published hosts.txt files."
msgstr "这些URL指向公开发布的hosts.txt文件。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:138
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
msgstr "默认订阅是 www.i2p2.i2p 提供的 hosts.txt,此文件很少更新。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:140
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr "所以订阅一些网站的最新地址簿是个不错的主意。"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:142
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:144
msgid "See the FAQ for a list of subscription URLs."
msgstr ""
"其他来源的订阅链接参见I2P站点的 <a href=\"http://www.i2p2.i2p/faq_zh.html"
"\">FAQ</a>"
msgstr "其他来源的订阅链接参见I2P站点的 <a href=\"http://www.i2p2.i2p/faq_zh.html\">FAQ</a>"
#~ msgid "Delete"
#~ msgstr "删除"

View File

@@ -2,16 +2,18 @@
# 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
#
# foo <foo@bar>, 2009.
#
# punkibastardo <punkibastardo@gmail.com>, 2011.
# ducki2p <ducki2p@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
"POT-Creation-Date: 2011-03-12 20:49+0000\n"
"PO-Revision-Date: 2011-04-18 21:35+0100\n"
"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
"Language-Team: Spanish (Castilian) <None>\n"
"POT-Creation-Date: 2011-06-11 08:24+0000\n"
"PO-Revision-Date: 2011-07-20 00:53+0000\n"
"Last-Translator: blabla <blabla@trash-mail.com>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/I2P/team/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -24,7 +26,8 @@ msgstr "desconocido"
#: src/src/i2p/susi/webmail/WebMail.java:473
msgid "Warning: no transfer encoding found, fallback to 7bit."
msgstr "Aviso: no se encuentra codificación de transferencia, volviendo a 7 bits."
msgstr ""
"Aviso: no se encuentra codificación de transferencia, volviendo a 7 bits."
#: src/src/i2p/susi/webmail/WebMail.java:478
#, java-format
@@ -33,7 +36,8 @@ msgstr "No se ha encontrado codificador para la codificación \\''{0}''\\."
#: src/src/i2p/susi/webmail/WebMail.java:484
msgid "Warning: no charset found, fallback to US-ASCII."
msgstr "Aviso: no se ha encontrado el juego de caracteres, volviendo a US-ASCII."
msgstr ""
"Aviso: no se ha encontrado el juego de caracteres, volviendo a US-ASCII."
#: src/src/i2p/susi/webmail/WebMail.java:498
#, java-format
@@ -51,7 +55,8 @@ msgstr "Descarga"
#: src/src/i2p/susi/webmail/WebMail.java:525
msgid "File is packed into a zipfile for security reasons."
msgstr "El archivo está empaquetado en un archivo zip por razones de seguridad."
msgstr ""
"El archivo está empaquetado en un archivo zip por razones de seguridad."
#: src/src/i2p/susi/webmail/WebMail.java:525
#, java-format
@@ -150,7 +155,8 @@ msgstr "Error al analizar parámetros de descarga."
#: src/src/i2p/susi/webmail/WebMail.java:1089
msgid "Invalid pagesize number, resetting to default value."
msgstr "Tamaño de página no válida, restableciendo a los valores predeterminados."
msgstr ""
"Tamaño de página no válida, restableciendo a los valores predeterminados."
#: src/src/i2p/susi/webmail/WebMail.java:1113
msgid "No messages marked for deletion."
@@ -439,3 +445,4 @@ msgstr "Fecha:"
msgid "Could not fetch mail."
msgstr "No se pudo descargar el correo."

View File

@@ -37,6 +37,8 @@ public class SysTray implements SysTrayMenuListener {
private static String _portString;
private static boolean _showIcon;
private static UrlLauncher _urlLauncher = new UrlLauncher();
private static final boolean _is64 = "64".equals(System.getProperty("sun.arch.data.model")) ||
System.getProperty("os.arch").contains("64");
static {
File config = new File(I2PAppContext.getGlobalContext().getConfigDir(), "systray.config");
@@ -52,7 +54,7 @@ public class SysTray implements SysTrayMenuListener {
//if (!(new File("router.config")).exists())
// openRouterConsole("http://localhost:" + _portString + "/index.jsp");
if ( (System.getProperty("os.name").startsWith("Windows")) && (!Boolean.getBoolean("systray.disable")) )
if ( (System.getProperty("os.name").startsWith("Windows")) && (!Boolean.getBoolean("systray.disable")) && (!_is64))
_instance = new SysTray();
}

15
build.properties Normal file
View File

@@ -0,0 +1,15 @@
# These properties can be set to alter the build process.
#
# This file contains default values that are used by official I2P installers.
#
# End-users *should not* edit this file. If you want to change the values, make a
# copy, call it override.properties, and make the desired changes to that.
################################################################################
# Javadocs
# Note: Include the trailing slash! Don't surround the URL in quotes!
javasedocs.url=http://download.oracle.com/javase/6/docs/api/
jettydocs.url=http://docs.i2p2.de/jetty/javadoc/
jrobindocs.url=http://docs.i2p-projekt.de/jrobin/javadoc/
wrapperdocs.url=http://wrapper.tanukisoftware.com/jdoc/

376
build.xml
View File

@@ -15,6 +15,9 @@
<!-- change this to false if you don't have gettext -->
<property name="require.gettext" value="true" />
<!-- Include property files so that values can be easily overridden. Currently just useful for javadoc hosters -->
<property file="override.properties"/>
<property file="build.properties"/>
<!-- You probably don't want to change anything from here down -->
<target name="help" depends="all" />
@@ -23,6 +26,10 @@
<echo message=" pkg: distclean then package everything up (installer, clean tarball, update tarball)" />
<echo message=" dist: pkg and javadoc" />
<echo message=" installer: build the GUI installer" />
<echo message=" installer-freebsd: build the GUI installer (FreeBSD only)" />
<echo message=" installer-linux: build the GUI installer (Linux only)" />
<echo message=" installer-osx: build the GUI installer (OSX only)" />
<echo message=" installer-windows: build the GUI installer (Windows only)" />
<echo message=" tarball: tar the full install into i2p.tar.bz2 (extracts to build a new clean install)" />
<echo message=" updater: Package the built files in i2pupdate.zip (extracts safely over existing installs)" />
<echo message=" updater200: Updater compressed with pack200 (creates i2pupdate200.zip, 60% smaller)" />
@@ -202,6 +209,9 @@
<condition property="noExe">
<os arch="ppc" />
</condition>
<condition property="noExe">
<os arch="armv5tejl" />
</condition>
<condition property="noExe">
<os arch="amd64" />
</condition>
@@ -279,12 +289,13 @@
</manifest>
</jar>
</target>
<target name="jbigi-windows-only" depends="buildProperties, jbigi-list-changes" >
<!-- Now system-specific jbigis in alphabetical order -->
<target name="jbigi-freebsd-only" depends="buildProperties, jbigi-list-changes" >
<!-- set if unset -->
<property name="workspace.changes.jbigi.tr" value="" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*windows*.dll" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*freebsd*.so" />
<manifest>
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
@@ -306,6 +317,45 @@
</jar>
</target>
<target name="jbigi-linux-nonx86-only" depends="buildProperties, jbigi-list-changes" >
<!-- set if unset -->
<property name="workspace.changes.jbigi.tr" value="" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*linux-arm*.so,*linux-ppc*.so" />
<manifest>
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.jbigi.tr}" />
</manifest>
</jar>
</target>
<target name="jbigi-osx-only" depends="buildProperties, jbigi-list-changes" >
<!-- set if unset -->
<property name="workspace.changes.jbigi.tr" value="" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*.jnilib" />
<manifest>
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.jbigi.tr}" />
</manifest>
</jar>
</target>
<target name="jbigi-windows-only" depends="buildProperties, jbigi-list-changes" >
<!-- set if unset -->
<property name="workspace.changes.jbigi.tr" value="" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*windows*.dll" />
<manifest>
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.jbigi.tr}" />
</manifest>
</jar>
</target>
<!-- the apps need to compile the jsps to poupdate -->
<target name="poupdate" depends="buildRouter, buildStreaming, buildSystray, buildJetty, buildDesktopGui" >
<echo message="Setting environment variable LG2 to a lang code (eg: de,zh,nl etc)" />
@@ -369,10 +419,12 @@
<pathelement location="installer/lib/wrapper/all/wrapper.jar" />
<pathelement location="core/lib/junit.jar" />
</classpath>
<link offline="true" href="http://download.oracle.com/javase/6/docs/api/" packagelistLoc="installer/resources/package-lists/java/" />
<link offline="true" href="http://docs.i2p2.de/jetty/javadoc/" packagelistLoc="installer/resources/package-lists/jetty/" />
<link offline="true" href="http://docs.i2p-projekt.de/jrobin/javadoc/" packagelistLoc="installer/resources/package-lists/jrobin/" />
<link offline="true" href="http://wrapper.tanukisoftware.com/jdoc/" packagelistLoc="installer/resources/package-lists/wrapper/" />
<!-- These variables are stored in build.properties.
End-users can override by creating the file override.properties -->
<link offline="true" href="${javasedocs.url}" packagelistLoc="installer/resources/package-lists/java/" />
<link offline="true" href="${jettydocs.url}" packagelistLoc="installer/resources/package-lists/jetty/" />
<link offline="true" href="${jrobindocs.url}" packagelistLoc="installer/resources/package-lists/jrobin/" />
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="installer/resources/package-lists/wrapper/" />
</javadoc>
<echo message="Warning, javadoc embeds timestamps in the output, run with 'TZ=UTC ant javadoc' if you plan to distribute" />
</target>
@@ -392,15 +444,19 @@
<target name="getBuildNumber" >
<exec executable="grep" outputproperty="buildLine" >
<arg value="public final static long BUILD" />
<arg value="router/java/src/net/i2p/router/RouterVersion.java" />
<arg value="router/java/src/net/i2p/router/RouterVersion.java" />
</exec>
<exec executable="cut" inputstring="${buildLine}" outputproperty="build.temp" failonerror="true" >
<arg value="-f2" />
<arg value="-d=" />
<arg value="-d=" />
</exec>
<exec executable="cut" inputstring="${build.temp}" outputproperty="build.number" failonerror="true" >
<exec executable="tr" inputstring="${build.temp}" outputproperty="build.temp.tr" failonerror="true">
<arg value="-d" />
<arg value="[:space:]"/>
</exec>
<exec executable="cut" inputstring="${build.temp.tr}" outputproperty="build.number" failonerror="true" >
<arg value="-f1" />
<arg value="-d;" />
<arg value="-d;" />
</exec>
<echo message="Build number is ${build.number}" />
</target>
@@ -491,25 +547,83 @@
</delete>
</target>
<target name="preppkg" depends="preppkg-linux, preppkg-osx, preppkg-windows, jbigi">
<target name="preppkg" depends="preppkg-linux, preppkg-freebsd, preppkg-osx, preppkg-windows, jbigi">
<copy file="build/jbigi.jar" todir="pkg-temp/lib" />
<copy todir="pkg-temp/lib/wrapper/freebsd/">
<fileset dir="installer/lib/wrapper/freebsd/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/freebsd64/">
<fileset dir="installer/lib/wrapper/freebsd64" />
</copy>
<copy todir="pkg-temp/lib/wrapper/macosx/">
<fileset dir="installer/lib/wrapper/macosx/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/solaris/">
<fileset dir="installer/lib/wrapper/solaris/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux-arm/">
<fileset dir="installer/lib/wrapper/linux-arm/" />
</target>
<target name="preppkg-freebsd" depends="preppkg-unix">
<copy todir="pkg-temp/lib/wrapper/freebsd/">
<fileset dir="installer/lib/wrapper/freebsd/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/freebsd64/">
<fileset dir="installer/lib/wrapper/freebsd64" />
</copy>
</target>
<target name="preppkg-freebsd-only" depends="preppkg-freebsd, jbigi-freebsd-only" >
<copy file="build/jbigi.jar" todir="pkg-temp/lib" />
<copy file="installer/lib/wrapper/all/wrapper.jar" todir="pkg-temp/lib" />
</target>
<!-- only what is needed for debian, etc. -->
<target name="preppkg-linux-only" depends="preppkg-linux, jbigi-linux-only" >
<copy file="build/jbigi.jar" todir="pkg-temp/lib" />
<copy file="installer/lib/wrapper/all/wrapper.jar" todir="pkg-temp/lib" />
</target>
<target name="preppkg-unix" depends="preppkg-base">
<copy file="installer/resources/runplain.sh" todir="pkg-temp/" />
<!-- <copy file="apps/i2psnark/launch-i2psnark" todir="pkg-temp/" /> old feature that per zzz isn't used-->
<copy file="installer/resources/eepget" todir="pkg-temp/" />
<copy file="installer/resources/i2prouter" todir="pkg-temp/" />
<copy file="installer/resources/osid" todir="pkg-temp/" />
<copy file="installer/resources/postinstall.sh" todir="pkg-temp/" />
<copy todir="pkg-temp/man/">
<fileset dir="installer/resources/man/" />
</copy>
</target>
<target name="preppkg-linux" depends="preppkg-linux-x86,preppkg-linux-nonx86" />
<target name="preppkg-linux-x86" depends="preppkg-unix">
<copy todir="pkg-temp/lib/wrapper/linux/">
<fileset dir="installer/lib/wrapper/linux/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux64/">
<fileset dir="installer/lib/wrapper/linux64/" />
</copy>
</target>
<target name="preppkg-linux-nonx86" depends="preppkg-unix">
<copy todir="pkg-temp/lib/wrapper/linux-armv7/">
<fileset dir="installer/lib/wrapper/linux-armv7/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux-ppc/">
<fileset dir="installer/lib/wrapper/linux-ppc/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux-armv5/">
<fileset dir="installer/lib/wrapper/linux-armv5/" />
</copy>
</target>
<target name="preppkg-osx" depends="preppkg-unix">
<!--<copy file="installer/resources/I2P Router Console.webloc" todir="pkg-temp/" />-->
<copy todir="pkg-temp/Start I2P Router.app">
<fileset dir="installer/resources/Start I2P Router.app" />
</copy>
<copy todir="pkg-temp/lib/wrapper/macosx/">
<fileset dir="installer/lib/wrapper/macosx/" />
</copy>
</target>
<target name="preppkg-osx-only" depends="preppkg-osx, jbigi-osx-only" >
<copy file="build/jbigi.jar" todir="pkg-temp/lib" />
<copy file="installer/lib/wrapper/all/wrapper.jar" todir="pkg-temp/lib" />
</target>
<target name="preppkg-windows" depends="preppkg-base, buildexe">
<copy file="i2p.exe" todir="pkg-temp/" failonerror="false" />
<copy file="apps/systray/java/lib/systray4j.dll" todir="pkg-temp/lib" />
@@ -518,6 +632,7 @@
<copy file="installer/resources/eepget.bat" todir="pkg-temp/" />
<copy file="installer/resources/i2prouter.bat" todir="pkg-temp/" />
<copy file="installer/resources/fixperms.bat" todir="pkg-temp/" />
<copy file="installer/resources/fix_logfile_path.cmd" todir="pkg-temp/" />
<copy file="installer/resources/install_i2p_service_winnt.bat" todir="pkg-temp/" />
<copy file="installer/resources/set_config_dir_for_nt_service.bat" todir="pkg-temp/" />
<copy file="installer/resources/uninstall_i2p_service_winnt.bat" todir="pkg-temp/" />
@@ -530,38 +645,11 @@
</copy>
</target>
<!-- only what is needed for debian, etc. -->
<target name="preppkg-linux-only" depends="preppkg-linux, jbigi-linux-only" >
<target name="preppkg-windows-only" depends="preppkg-windows, jbigi-windows-only">
<copy file="build/jbigi.jar" todir="pkg-temp/lib" />
<copy file="installer/lib/wrapper/all/wrapper.jar" todir="pkg-temp/lib" />
<copy file="installer/lib/wrapper/all/wrapper.jar" todir="pkg-temp/lib" />
</target>
<!-- x86 linux only -->
<target name="preppkg-linux" depends="preppkg-base">
<copy file="installer/resources/runplain.sh" todir="pkg-temp/" />
<!-- <copy file="apps/i2psnark/launch-i2psnark" todir="pkg-temp/" /> old feature that per zzz isn't used-->
<copy file="installer/resources/eepget" todir="pkg-temp/" />
<copy file="installer/resources/i2prouter" todir="pkg-temp/" />
<copy file="installer/resources/osid" todir="pkg-temp/" />
<copy file="installer/resources/postinstall.sh" todir="pkg-temp/" />
<copy todir="pkg-temp/man/">
<fileset dir="installer/resources/man/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux/">
<fileset dir="installer/lib/wrapper/linux/" />
</copy>
<copy todir="pkg-temp/lib/wrapper/linux64/">
<fileset dir="installer/lib/wrapper/linux64/" />
</copy>
</target>
<target name="preppkg-osx" depends="preppkg-linux">
<!--<copy file="installer/resources/I2P Router Console.webloc" todir="pkg-temp/" />-->
<copy todir="pkg-temp/Start I2P Router.app">
<fileset dir="installer/resources/Start I2P Router.app" />
</copy>
</target>
<target name="preppkg-base" depends="build, preplicenses, prepConsoleDocs, prepthemeupdates, prepCertificates">
<!-- if updater200 was run previously, it left *.pack files in pkg-temp -->
<delete>
@@ -924,6 +1012,184 @@
<!-- thazzit -->
</target>
<!-- Custom installers -->
<target name="installer-freebsd" depends="clean, preppkg-freebsd-only, getReleaseNumber, getBuildNumber, buildProperties, util-list-changes" >
<taskdef name="izpack" classpath="${basedir}/installer/lib/izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
<mkdir dir="pkg-temp/installer" />
<!-- set if unset -->
<property name="workspace.changes.util.tr" value="" />
<jar destfile="./pkg-temp/installer/copy.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Copy.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Copy" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/delete.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Delete.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Delete" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/exec.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Exec.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Exec" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<izpack input="${basedir}/installer/install.xml" output="${basedir}/i2pinstall_${release.number}-freebsd-only.jar" installerType="standard" basedir="${basedir}" />
</target>
<target name="installer-linux" depends="clean, preppkg-linux-only, getReleaseNumber, getBuildNumber, buildProperties, util-list-changes" >
<taskdef name="izpack" classpath="${basedir}/installer/lib/izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
<mkdir dir="pkg-temp/installer" />
<!-- set if unset -->
<property name="workspace.changes.util.tr" value="" />
<jar destfile="./pkg-temp/installer/copy.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Copy.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Copy" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/delete.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Delete.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Delete" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/exec.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Exec.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Exec" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<izpack input="${basedir}/installer/install.xml" output="${basedir}/i2pinstall_${release.number}-linux-only.jar" installerType="standard" basedir="${basedir}" />
</target>
<target name="installer-osx" depends="clean, checkForIzpack2App, preppkg-osx-only, getReleaseNumber, getBuildNumber, buildProperties, util-list-changes">
<taskdef name="izpack" classpath="${basedir}/installer/lib/izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
<mkdir dir="pkg-temp/installer" />
<mkdir dir="pkg-temp/osx" />
<!-- set if unset -->
<property name="workspace.changes.util.tr" value="" />
<jar destfile="./pkg-temp/installer/copy.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Copy.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Copy" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/delete.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Delete.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Delete" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/exec.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Exec.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Exec" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<izpack input="${basedir}/installer/install.xml" output="${basedir}/i2pinstall_${release.number}-osx-only.jar" installerType="standard" basedir="${basedir}" />
<ant target="installer2app" />
<delete dir="pkg-temp/osx" />
</target>
<target name="checkForIzpack2App">
<available property="izpack2app.available" file="${user.home}/IzPack/utils/wrappers/izpack2app/izpack2app.py" />
</target>
<target name="installer2app" if="izpack2app.available">
<mkdir dir="pkg-temp/osx" />
<exec executable="python" failonerror="true">
<arg value="${user.home}/IzPack/utils/wrappers/izpack2app/izpack2app.py" />
<arg value="${basedir}/i2pinstall_${release.number}-osx-only.jar" />
<arg value="${basedir}/pkg-temp/osx/i2p-${release.number}-osx-install.app" />
</exec>
<zip destfile="${basedir}/i2pinstall_${release.number}-osx.zip" level="9"
basedir="${basedir}/pkg-temp/osx" whenempty="fail" comment="${release.number}-${build.number}"/>
</target>
<target name="checkForIzpack2Exe">
<available property="izpack2exe.available" file="${user.home}/IzPack/utils/wrappers/izpack2exe/izpack2exe.py" />
</target>
<!-- Yes, even though this makes an installer for Windows, we still need to depend on preppkg-unix (because the installer attempts to delete these files
and will fail if they don't exist. Thankfully these files are so very small there's not much harm in including them.
-->
<target name="installer-windows" depends="clean, doBuildEXE, checkForIzpack2Exe, preppkg-windows-only, preppkg-unix, getReleaseNumber, getBuildNumber, buildProperties, util-list-changes" >
<taskdef name="izpack" classpath="${basedir}/installer/lib/izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
<mkdir dir="pkg-temp/installer" />
<!-- set if unset -->
<property name="workspace.changes.util.tr" value="" />
<jar destfile="./pkg-temp/installer/copy.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Copy.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Copy" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/delete.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Delete.class net/i2p/util/FileUtil.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Delete" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<jar destfile="./pkg-temp/installer/exec.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Exec.class">
<manifest>
<attribute name="Main-Class" value="net.i2p.util.Exec" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />
<attribute name="Workspace-Changes" value="${workspace.changes.util.tr}" />
</manifest>
</jar>
<izpack input="${basedir}/installer/install.xml" output="${basedir}/i2pinstall_${release.number}-windows-only.jar" installerType="standard" basedir="${basedir}" />
<ant target="installer2exe" />
<delete dir="pkg-temp/win" />
</target>
<target name="installer2exe" if="izpack2exe.available"> <!-- different from the launch4j exe creator -->
<mkdir dir="pkg-temp/win" />
<exec executable="python" failonerror="true">
<arg value="${user.home}/IzPack/utils/wrappers/izpack2exe/izpack2exe.py" />
<arg value="--file=${basedir}/i2pinstall_${release.number}-windows-only.jar" />
<arg value="--no-upx" />
<arg value="--name=I2P" />
<arg value="--output=${basedir}/i2pinstall-${release.number}-windows.exe" />
</exec>
</target>
<target name="installer-all" >
<ant target="installer-freebsd" />
<ant target="installer-linux" />
<ant target="installer-osx" />
<ant target="installer-windows" />
<ant target="installer" />
</target>
<!-- end custom installers -->
<target name="test" depends="buildProperties, jbigi" >
<mkdir dir="reports/core/junit/" />
<ant dir="core/java/" target="test" />
@@ -1244,7 +1510,7 @@
<copy file="apps/addressbook/myhosts.txt" todir="pkg-temp/addressbook/" />
<!-- config.txt is in installer/resources/portable -->
<mkdir dir="pkg-temp/docs" />
<copy file="installer/resources/initialNews.xml" tofile="pkg-temp/docs/news.xml" overwrite="true" />
<copy file="installer/resources/initialNews/initialNews.xml" tofile="pkg-temp/docs/news.xml" overwrite="true" />
<copy file="installer/resources/readme/readme.html" tofile="pkg-temp/docs/readme.html" />
<copy file="installer/resources/startconsole.html" todir="pkg-temp/docs/" />
<copy file="installer/resources/start.ico" todir="pkg-temp/docs/" />

View File

@@ -43,10 +43,17 @@ X86_PLATFORMS="pentium pentiummmx pentium2 pentium3 pentiumm k6 k62 k63 athlon g
MINGW_PLATFORMS="${X86_PLATFORMS} ${MISC_MINGW_PLATFORMS}"
LINUX_PLATFORMS="${X86_PLATFORMS} ${MISC_LINUX_PLATFORMS}"
FREEBSD_PLATFORMS="${X86_PLATFORMS} ${MISC_FREEBSD_PLATFORMS}"
DARWIN_PLATFORMS="${X86_PLATFORMS} ${MISC_DARWIN_PLATFORMS}"
DARWIN_PLATFORMS="core2 corei"
# Set the version to 5.0.2 for OSX because
# 1) it doesn't have the -r parameter as an option for sed
# 2) AFAIK there are only 64bit capable CPUs for the Intel Macs
if [ `uname -s |grep Darwin` ]; then
VER=5.0.2
else
VER=$(echo gmp-*.tar.bz2 | sed -re "s/(.*-)(.*)(.*.tar.bz2)$/\2/" | tail -n 1)
fi
# OSX doesn't have the -r parameter as an option for sed.
VER=$(echo gmp-*.tar.bz2 | sed -re "s/(.*-)(.*)(.*.tar.bz2)$/\2/" | tail -n 1)
if [ "$VER" == "" ] ; then
echo "ERROR! Can't find gmp source tarball."
exit 1
@@ -123,7 +130,11 @@ function configure_file {
echo -e "\n\n\nAttempting configure for ${3}${5}${2}\n\n\n"
sleep 10
# Nonfatal bail out on unsupported platform.
../../gmp-${1}/configure --build=${2} --with-pic && return 0
if [ `uname -s |grep Darwin` ]; then
../../gmp-${1}/configure --build=${2}-apple-darwin --with-pic && return 0
else
../../gmp-${1}/configure --build=${2} --with-pic && return 0
fi
cd ..
rm -R "$2"
echo -e "\n\nSorry, ${3}${5}${2} is not supported on your build environment.\a"

View File

@@ -109,8 +109,13 @@ public class I2PAppContext {
private File _logDir;
private File _appDir;
private File _tmpDir;
// split up big lock on this to avoid deadlocks
private final Object _lock1 = new Object(), _lock2 = new Object(), _lock3 = new Object(), _lock4 = new Object(),
_lock5 = new Object(), _lock6 = new Object(), _lock7 = new Object(), _lock8 = new Object(),
_lock9 = new Object(), _lock10 = new Object(), _lock11 = new Object(), _lock12 = new Object(),
_lock13 = new Object(), _lock14 = new Object(), _lock15 = new Object(), _lock16 = new Object(),
_lock17 = new Object();
/**
* Pull the default context, creating a new one if necessary, else using
* the first one created.
@@ -385,7 +390,7 @@ public class I2PAppContext {
*/
public File getTempDir() {
// fixme don't synchronize every time
synchronized (this) {
synchronized (_lock1) {
if (_tmpDir == null) {
String d = getProperty("i2p.dir.temp", System.getProperty("java.io.tmpdir"));
// our random() probably isn't warmed up yet
@@ -409,7 +414,7 @@ public class I2PAppContext {
/** don't rely on deleteOnExit() */
public void deleteTempDir() {
synchronized (this) {
synchronized (_lock1) {
if (_tmpDir != null) {
FileUtil.rmdir(_tmpDir, false);
_tmpDir = null;
@@ -543,7 +548,7 @@ public class I2PAppContext {
}
private void initializeStatManager() {
synchronized (this) {
synchronized (_lock2) {
if (_statManager == null)
_statManager = new StatManager(this);
_statManagerInitialized = true;
@@ -570,7 +575,7 @@ public class I2PAppContext {
}
private void initializeSessionKeyManager() {
synchronized (this) {
synchronized (_lock3) {
if (_sessionKeyManager == null)
//_sessionKeyManager = new PersistentSessionKeyManager(this);
_sessionKeyManager = new TransientSessionKeyManager(this);
@@ -590,7 +595,7 @@ public class I2PAppContext {
}
private void initializeNamingService() {
synchronized (this) {
synchronized (_lock4) {
if (_namingService == null) {
_namingService = NamingService.createInstance(this);
}
@@ -613,7 +618,7 @@ public class I2PAppContext {
}
private void initializeElGamalEngine() {
synchronized (this) {
synchronized (_lock5) {
if (_elGamalEngine == null) {
if ("off".equals(getProperty("i2p.encryption", "on")))
_elGamalEngine = new DummyElGamalEngine(this);
@@ -638,7 +643,7 @@ public class I2PAppContext {
}
private void initializeElGamalAESEngine() {
synchronized (this) {
synchronized (_lock6) {
if (_elGamalAESEngine == null)
_elGamalAESEngine = new ElGamalAESEngine(this);
_elGamalAESEngineInitialized = true;
@@ -658,7 +663,7 @@ public class I2PAppContext {
}
private void initializeAESEngine() {
synchronized (this) {
synchronized (_lock7) {
if (_AESEngine == null) {
if ("off".equals(getProperty("i2p.encryption", "on")))
_AESEngine = new AESEngine(this);
@@ -682,7 +687,7 @@ public class I2PAppContext {
}
private void initializeLogManager() {
synchronized (this) {
synchronized (_lock8) {
if (_logManager == null)
_logManager = new LogManager(this);
_logManagerInitialized = true;
@@ -701,7 +706,7 @@ public class I2PAppContext {
}
private void initializeHMAC() {
synchronized (this) {
synchronized (_lock9) {
if (_hmac == null) {
_hmac= new HMACGenerator(this);
}
@@ -718,7 +723,7 @@ public class I2PAppContext {
/** @deprecated used only by syndie */
private void initializeHMAC256() {
synchronized (this) {
synchronized (_lock10) {
if (_hmac256 == null) {
_hmac256 = new HMAC256Generator(this);
}
@@ -737,7 +742,7 @@ public class I2PAppContext {
}
private void initializeSHA() {
synchronized (this) {
synchronized (_lock11) {
if (_sha == null)
_sha= new SHA256Generator(this);
_shaInitialized = true;
@@ -755,7 +760,7 @@ public class I2PAppContext {
}
private void initializeDSA() {
synchronized (this) {
synchronized (_lock12) {
if (_dsa == null) {
if ("off".equals(getProperty("i2p.encryption", "on")))
_dsa = new DummyDSAEngine(this);
@@ -777,7 +782,7 @@ public class I2PAppContext {
}
private void initializeKeyGenerator() {
synchronized (this) {
synchronized (_lock13) {
if (_keyGenerator == null)
_keyGenerator = new KeyGenerator(this);
_keyGeneratorInitialized = true;
@@ -796,7 +801,7 @@ public class I2PAppContext {
}
protected void initializeClock() { // overridden in RouterContext
synchronized (this) {
synchronized (_lock14) {
if (_clock == null)
_clock = new Clock(this);
_clockInitialized = true;
@@ -817,7 +822,7 @@ public class I2PAppContext {
}
private void initializeRoutingKeyGenerator() {
synchronized (this) {
synchronized (_lock15) {
if (_routingKeyGenerator == null)
_routingKeyGenerator = new RoutingKeyGenerator(this);
_routingKeyGeneratorInitialized = true;
@@ -834,7 +839,7 @@ public class I2PAppContext {
}
protected void initializeKeyRing() {
synchronized (this) {
synchronized (_lock16) {
if (_keyRing == null)
_keyRing = new KeyRing();
_keyRingInitialized = true;
@@ -852,7 +857,7 @@ public class I2PAppContext {
}
private void initializeRandom() {
synchronized (this) {
synchronized (_lock17) {
if (_random == null) {
//if (true)
_random = new FortunaRandomSource(this);

View File

@@ -12,6 +12,7 @@ package net.i2p.client;
import net.i2p.I2PAppContext;
import net.i2p.data.i2cp.DisconnectMessage;
import net.i2p.data.i2cp.I2CPMessage;
import net.i2p.util.I2PAppThread;
import net.i2p.util.Log;
/**
@@ -27,7 +28,26 @@ class DisconnectMessageHandler extends HandlerImpl {
public void handleMessage(I2CPMessage message, I2PSessionImpl session) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Handle message " + message);
session.propogateError(((DisconnectMessage)message).getReason(), new I2PSessionException("Disconnect Message received"));
String reason = ((DisconnectMessage)message).getReason();
session.propogateError(reason, new I2PSessionException("Disconnect Message received"));
session.destroySession(false);
if (reason.contains("restart")) {
Thread t = new I2PAppThread(new Reconnector(session), "Reconnect " + session, true);
t.start();
}
}
/** @since 0.8.8 */
private static class Reconnector implements Runnable {
private final I2PSessionImpl _session;
public Reconnector(I2PSessionImpl session) {
_session = session;
}
public void run() {
try { Thread.sleep(10*1000); } catch (InterruptedException ie) {}
_session.reconnect();
}
}
}

View File

@@ -18,8 +18,9 @@ import net.i2p.util.RandomSource;
/**
* Dummy wrapper for AES cipher operation.
* UNUSED unless i2p.encryption = off
* See CryptixAESEngine for the real thing.
* Warning -
* most methods UNUSED unless i2p.encryption = off
* See CryptixAESEngine overrides for the real thing.
*/
public class AESEngine {
protected final Log _log;
@@ -38,7 +39,7 @@ public class AESEngine {
* @param out where to store the result
* @param outIndex where in out to start writing
* @param sessionKey private esession key to encrypt to
* @param iv IV for CBC
* @param iv IV for CBC, must be 16 bytes
* @param length how much data to encrypt
*/
public void encrypt(byte payload[], int payloadIndex, byte out[], int outIndex, SessionKey sessionKey, byte iv[], int length) {
@@ -62,6 +63,15 @@ public class AESEngine {
_log.logAlways(Log.WARN, "AES is disabled");
}
/**
* Encrypt the SHA-256 Hash of the payload, the 4 byte length, and the payload,
* with random padding up to the paddedSize, rounded up to the next multiple of 16.
*
* @param paddedSize minimum size of the output
* @param iv IV for CBC, must be 16 bytes
* @return null on error
* @deprecated unused
*/
public byte[] safeEncrypt(byte payload[], SessionKey sessionKey, byte iv[], int paddedSize) {
if ((iv == null) || (payload == null) || (sessionKey == null) || (iv.length != 16)) return null;
@@ -88,6 +98,14 @@ public class AESEngine {
return data;
}
/**
* See safeEncrypt() for description.
* WARNING - no check for maximum length here, OOM DOS possible, fix it if you're going to use this.
*
* @param iv IV for CBC, must be 16 bytes
* @return null on error
* @deprecated unused
*/
public byte[] safeDecrypt(byte payload[], SessionKey sessionKey, byte iv[]) {
if ((iv == null) || (payload == null) || (sessionKey == null) || (iv.length != 16)) return null;

View File

@@ -11,6 +11,12 @@ package net.i2p.crypto;
import java.security.InvalidKeyException;
// for using system version
//import java.security.GeneralSecurityException;
//import javax.crypto.Cipher;
//import javax.crypto.spec.IvParameterSpec;
//import javax.crypto.spec.SecretKeySpec;
import net.i2p.I2PAppContext;
import net.i2p.data.ByteArray;
import net.i2p.data.DataHelper;
@@ -34,18 +40,47 @@ public class CryptixAESEngine extends AESEngine {
private static final ByteCache _prevCache = ByteCache.getInstance(16, 16);
/**** see comments for main() below
private static final boolean USE_SYSTEM_AES;
static {
boolean systemOK = false;
try {
systemOK = Cipher.getMaxAllowedKeyLength("AES") >= 256;
} catch (GeneralSecurityException gse) {
// a NoSuchAlgorithmException
} catch (NoSuchMethodError nsme) {
// JamVM, gij
try {
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
SecretKeySpec key = new SecretKeySpec(new byte[32], "AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
systemOK = true;
} catch (GeneralSecurityException gse) {
}
}
USE_SYSTEM_AES = systemOK;
//System.out.println("Using system AES? " + systemOK);
}
****/
public CryptixAESEngine(I2PAppContext context) {
super(context);
//_cache = new CryptixAESKeyCache();
}
/** @param length must be a multiple of 16 */
/**
* @param iv must be 16 bytes
* @param length must be a multiple of 16
*/
@Override
public void encrypt(byte payload[], int payloadIndex, byte out[], int outIndex, SessionKey sessionKey, byte iv[], int length) {
encrypt(payload, payloadIndex, out, outIndex, sessionKey, iv, 0, length);
}
/** @param length must be a multiple of 16 */
/**
* @param iv must be 16 bytes
* @param length must be a multiple of 16
*/
@Override
public void encrypt(byte payload[], int payloadIndex, byte out[], int outIndex, SessionKey sessionKey, byte iv[], int ivOffset, int length) {
if ( (payload == null) || (out == null) || (sessionKey == null) || (iv == null) )
@@ -65,6 +100,22 @@ public class CryptixAESEngine extends AESEngine {
return;
}
/****
if (USE_SYSTEM_AES) {
try {
SecretKeySpec key = new SecretKeySpec(sessionKey.getData(), "AES");
IvParameterSpec ivps = new IvParameterSpec(iv, ivOffset, 16);
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key, ivps, _context.random());
cipher.doFinal(payload, payloadIndex, length, out, outIndex);
return;
} catch (GeneralSecurityException gse) {
if (_log.shouldLog(Log.WARN))
_log.warn("Java encrypt fail", gse);
}
}
****/
int numblock = length / 16;
DataHelper.xor(iv, ivOffset, payload, payloadIndex, out, outIndex, 16);
@@ -79,6 +130,7 @@ public class CryptixAESEngine extends AESEngine {
public void decrypt(byte payload[], int payloadIndex, byte out[], int outIndex, SessionKey sessionKey, byte iv[], int length) {
decrypt(payload, payloadIndex, out, outIndex, sessionKey, iv, 0, length);
}
@Override
public void decrypt(byte payload[], int payloadIndex, byte out[], int outIndex, SessionKey sessionKey, byte iv[], int ivOffset, int length) {
if ((iv== null) || (payload == null) || (payload.length <= 0) || (sessionKey == null) )
@@ -95,6 +147,22 @@ public class CryptixAESEngine extends AESEngine {
return ;
}
/****
if (USE_SYSTEM_AES) {
try {
SecretKeySpec key = new SecretKeySpec(sessionKey.getData(), "AES");
IvParameterSpec ivps = new IvParameterSpec(iv, ivOffset, 16);
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.DECRYPT_MODE, key, ivps, _context.random());
cipher.doFinal(payload, payloadIndex, length, out, outIndex);
return;
} catch (GeneralSecurityException gse) {
if (_log.shouldLog(Log.WARN))
_log.warn("Java decrypt fail", gse);
}
}
****/
int numblock = length / 16;
if (length % 16 != 0) numblock++;
@@ -167,37 +235,89 @@ public class CryptixAESEngine extends AESEngine {
CryptixRijndael_Algorithm.blockDecrypt(payload, rv, inIndex, outIndex, sessionKey.getPreparedKey(), 16);
}
/********
/******
private static final int MATCH_RUNS = 5000;
private static final int TIMING_RUNS = 10000;
******/
/**
* Test results 10K timing runs.
* July 2011 eeepc.
* Not worth enabling System version.
* And we can't get rid of Cryptix because AES-256 is unavailable
* in several JVMs.
* Make USE_SYSTEM_AES above non-final to run this.
*<pre>
* JVM Cryptix (ms) System (ms)
* Sun 8662 n/a
* OpenJDK 8616 8510
* Harmony 14732 16986
* JamVM 50013 761494 (!)
* gij 51130 761693 (!)
* jrockit 9780 n/a
*</pre>
*
*/
/*******
public static void main(String args[]) {
I2PAppContext ctx = new I2PAppContext();
I2PAppContext ctx = I2PAppContext.getGlobalContext();
try {
boolean canTestSystem = USE_SYSTEM_AES;
if (!canTestSystem)
System.out.println("System AES 256 not available, testing Cryptix only");
testEDBlock(ctx);
testEDBlock2(ctx);
testED(ctx);
testED2(ctx);
if (canTestSystem) {
System.out.println("Start Cryptix vs. System verification run of " + MATCH_RUNS);
for (int i = 0; i < MATCH_RUNS; i++) {
testED(ctx, false, true);
testED(ctx, true, false);
}
}
System.out.println("Start Cryptix run of " + TIMING_RUNS);
long start = System.currentTimeMillis();
for (int i = 0; i < TIMING_RUNS; i++) {
testED(ctx, false, false);
}
System.out.println("Cryptix took " + (System.currentTimeMillis() - start));
if (canTestSystem) {
System.out.println("Start System run of " + TIMING_RUNS);
start = System.currentTimeMillis();
for (int i = 0; i < TIMING_RUNS; i++) {
testED(ctx, true, true);
}
System.out.println("System took " + (System.currentTimeMillis() - start));
}
//testFake(ctx);
//testNull(ctx);
} catch (Exception e) {
e.printStackTrace();
}
try { Thread.sleep(5*1000); } catch (InterruptedException ie) {}
//try { Thread.sleep(5*1000); } catch (InterruptedException ie) {}
}
private static void testED(I2PAppContext ctx) {
private static final byte[] _iv = new byte[16];
private static byte[] _orig = new byte[1024];
private static byte[] _encrypted = new byte[1024];
private static byte[] _decrypted = new byte[1024];
private static void testED(I2PAppContext ctx, boolean systemEnc, boolean systemDec) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
byte iv[] = new byte[16];
byte orig[] = new byte[128];
byte encrypted[] = new byte[128];
byte decrypted[] = new byte[128];
ctx.random().nextBytes(iv);
ctx.random().nextBytes(orig);
ctx.random().nextBytes(_iv);
ctx.random().nextBytes(_orig);
CryptixAESEngine aes = new CryptixAESEngine(ctx);
aes.encrypt(orig, 0, encrypted, 0, key, iv, orig.length);
aes.decrypt(encrypted, 0, decrypted, 0, key, iv, encrypted.length);
if (!DataHelper.eq(decrypted,orig))
USE_SYSTEM_AES = systemEnc;
aes.encrypt(_orig, 0, _encrypted, 0, key, _iv, _orig.length);
USE_SYSTEM_AES = systemDec;
aes.decrypt(_encrypted, 0, _decrypted, 0, key, _iv, _encrypted.length);
if (!DataHelper.eq(_decrypted,_orig))
throw new RuntimeException("full D(E(orig)) != orig");
else
System.out.println("full D(E(orig)) == orig");
//else
// System.out.println("full D(E(orig)) == orig");
}
// this verifies decryption in-place
private static void testED2(I2PAppContext ctx) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
byte iv[] = new byte[16];
@@ -213,6 +333,7 @@ public class CryptixAESEngine extends AESEngine {
else
System.out.println("full D(E(orig)) == orig");
}
private static void testFake(I2PAppContext ctx) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
SessionKey wrongKey = ctx.keyGenerator().generateSessionKey();
@@ -230,6 +351,7 @@ public class CryptixAESEngine extends AESEngine {
else
System.out.println("full D(E(orig)) != orig when we used the wrong key");
}
private static void testNull(I2PAppContext ctx) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
SessionKey wrongKey = ctx.keyGenerator().generateSessionKey();
@@ -249,6 +371,7 @@ public class CryptixAESEngine extends AESEngine {
throw new RuntimeException("full D(E(orig)) didn't fail when we used null!");
}
private static void testEDBlock(I2PAppContext ctx) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
byte iv[] = new byte[16];
@@ -265,6 +388,7 @@ public class CryptixAESEngine extends AESEngine {
else
System.out.println("block D(E(orig)) == orig");
}
private static void testEDBlock2(I2PAppContext ctx) {
SessionKey key = ctx.keyGenerator().generateSessionKey();
byte iv[] = new byte[16];

View File

@@ -96,8 +96,6 @@ public class ElGamalEngine {
YKGenerator.restart();
}
private final static BigInteger _two = new NativeBigInteger(1, new byte[] { 0x02});
private BigInteger[] getNextYK() {
return YKGenerator.getNextYK();
}

View File

@@ -174,6 +174,11 @@ public abstract class SimpleDataStructure extends DataStructureImpl {
return rv;
}
/**
* Warning - this returns true for two different classes with the same size
* and same data, e.g. SessionKey and SessionTag, but you wouldn't
* put them in the same Set, would you?
*/
@Override
public boolean equals(Object obj) {
if ((obj == null) || !(obj instanceof SimpleDataStructure)) return false;

View File

@@ -122,7 +122,7 @@ class LogWriter implements Runnable {
if (_manager.getDisplayOnScreenLevel() <= rec.getPriority()) {
if (_manager.displayOnScreen()) {
// wrapper log already does time stamps, so reformat without the date
if (System.getProperty("wrapper.version") != null)
if (_manager.getContext().hasWrapper())
System.out.print(LogRecordFormatter.formatRecord(_manager, rec, false));
else
System.out.print(val);

View File

@@ -9,6 +9,7 @@ package net.i2p.util;
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -28,6 +29,7 @@ import freenet.support.CPUInformation.VIACPUInfo;
import freenet.support.CPUInformation.UnknownCPUException;
import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
/**
* <p>BigInteger that takes advantage of the jbigi library for the modPow operation,
@@ -145,6 +147,7 @@ public class NativeBigInteger extends BigInteger {
* @since 0.8.7
*/
private final static String JBIGI_OPTIMIZATION_ARM = "arm";
private final static String JBIGI_OPTIMIZATION_PPC = "ppc";
/**
* Operating systems
@@ -175,6 +178,8 @@ public class NativeBigInteger extends BigInteger {
private static final boolean _isArm = System.getProperty("os.arch").startsWith("arm");
private static final boolean _isPPC = System.getProperty("os.arch").contains("ppc");
/* libjbigi.so vs jbigi.dll */
private static final String _libPrefix = (_isWin || _isOS2 ? "" : "lib");
private static final String _libSuffix = (_isWin || _isOS2 ? ".dll" : _isMac ? ".jnilib" : ".so");
@@ -182,10 +187,12 @@ public class NativeBigInteger extends BigInteger {
private final static String sCPUType; //The CPU Type to optimize for (one of the above strings)
static {
if (_isX86) // Don't try to resolve CPU type on PPC and other non x86 hardware
if (_isX86) // Don't try to resolve CPU type on non x86 hardware
sCPUType = resolveCPUType();
else if (_isArm)
sCPUType = JBIGI_OPTIMIZATION_ARM;
else if (_isPPC && !_isMac)
sCPUType = JBIGI_OPTIMIZATION_PPC;
else
sCPUType = null;
loadNative();
@@ -629,6 +636,35 @@ public class NativeBigInteger extends BigInteger {
// athlon64_64 is always a fallback for 64 bit
rv.add(_libPrefix + getMiddleName1() + JBIGI_OPTIMIZATION_ATHLON64 + "_64" + _libSuffix);
}
if (_isArm) {
InputStream in = null;
try {
in = new FileInputStream("/proc/cpuinfo");
while (true) {
String line = DataHelper.readLine(in);
if (line == null)
break;
if (!line.startsWith("CPU architecture"))
continue;
//CPU architecture: 5TEJ
//CPU architecture: 7
int colon = line.indexOf(": ");
String sver = line.substring(colon + 2, colon + 3);
int ver = Integer.parseInt(sver);
// add libjbigi-linux-armv7.so, libjbigi-linux-armv6.so, ...
for (int i = ver; i >= 3; i--) {
rv.add(_libPrefix + getMiddleName1() + primary + 'v' + i + _libSuffix);
}
break;
}
} catch (NumberFormatException nfe) {
} catch (IOException ioe) {
} finally {
if (in != null) try { in.close(); } catch (IOException ioe) {}
}
}
// the preferred selection
rv.add(_libPrefix + getMiddleName1() + primary + _libSuffix);
@@ -659,7 +695,7 @@ public class NativeBigInteger extends BigInteger {
rv.add(_libPrefix + getMiddleName1() + "none_64" + _libSuffix);
// Add libjbigi-xxx-none.so
// Note that libjbigi-osx-none.jnilib is a 'fat binary' with both PPC and x86-32
if (!_isArm)
if (!_isArm && !_isPPC && !_isMac)
rv.add(getResourceName(false));
return rv;
}

View File

@@ -1,4 +1,4 @@
package net.matanotion;
package net.metanotion;
/**
* Exists only to enable package.html to be included in javadoc.

43
debian/changelog vendored
View File

@@ -1,3 +1,41 @@
i2p (0.8.7-6) UNRELEASED; urgency=low
* Add ttf-dejavu to recommends, so that graphs on
headless systems can be generated.
-- Kill Your TV <killyourtv@i2pmail.org> Thu, 18 Aug 2011 15:50:59 +0000
i2p (0.8.7-5) stable; urgency=low
* Depend on default-jre-headless | java5-runtime-headless |
java6-runtime-headless instead of the non-headless versions. Sure the
-headless packages fulfilled the dependency, but this way it should pull in
the headless package by default.
* Remove unused lock from core/java/src/net/i2p/crypto/ElGamalEngine.java to
fix lock-ups on arm/ppc CPUs
-- Kill Your TV <killyourtv@i2pmail.org> Mon, 01 Aug 2011 17:51:14 +0000
i2p (0.8.7-4) stable; urgency=low
* Change to allow jbigi to be built on non-x86
-- Kill Your TV <killyourtv@i2pmail.org> Tue, 26 Jul 2011 23:13:00 +0000
i2p (0.8.7-3) stable; urgency=low
* When i2p-doc package is installed, add the Javadoc link to the router
console.
-- Kill Your TV <killyourtv@i2pmail.org> Tue, 28 Jun 2011 22:39:46 +0000
i2p (0.8.7-2) stable; urgency=low
* Remove --with quilt from debian/rules. This is only meant for use in mtn
<facepalm>
-- Kill Your TV <killyourtv@i2pmail.org> Mon, 27 Jun 2011 16:41:40 +0000
i2p (0.8.7-1) stable; urgency=low
* The "W00t! My debs are official!" release
@@ -5,8 +43,11 @@ i2p (0.8.7-1) stable; urgency=low
* Drop from debian/patches: 0002-sync-countries, 0006-i2p-jetty,
0007-eepget-redirections, 0008-config-news, 0009-jetty-snark-disable and
re-work the existing patches.
* Debconf translations (thanks guys!)
- Russian (by hiddenz@mail.i2p)
- German & Spanish (by m1xxy@mail.i2p)
-- Kill Your TV <killyourtv@i2pmail.org> Sun, 26 Jun 2011 18:51:31 +0000
-- Kill Your TV <killyourtv@i2pmail.org> Mon, 27 Jun 2011 12:38:59 +0000
i2p (0.8.6-7) stable; urgency=low

12
debian/control vendored
View File

@@ -18,7 +18,7 @@ Package: i2p
Architecture: all
Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, default-jre | java5-runtime | java6-runtime,
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
adduser,
i2p-router (>= 0.8.6-5),
libjbigi-jni (>= ${source:Version}),
@@ -41,7 +41,7 @@ Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}
Homepage: http://www.i2p2.de/jbigi
Description: Java Big Integer library
This Package contains the libjbigi JNI library
This Package contains the libjbigi JNI library (and on x86 platforms, jcpuid).
.
libjbigi is a math library that is part of the I2P installation. Use of this
library greatly enhances the efficiency of cryptographic algorithms, such as
@@ -65,12 +65,13 @@ Package: i2p-router
Architecture: all
Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, default-jre | java5-runtime | java6-runtime
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, default-jre-headless | java5-runtime-headless | java6-runtime-headless
Replaces: i2p ( << 0.8.6-5)
Breaks: i2p (<< 0.8.6-5)
Recommends: libjbigi-jni (>= ${source:Version}), libjbigi-jni (<< ${source:Version}.1~)
Recommends: libjbigi-jni (>= ${source:Version}), libjbigi-jni (<< ${source:Version}.1~), ttf-dejavu
Suggests: tor,
i2p-messenger,
i2phex,
i2p-tahoe-lafs,
imule,
i2pfox,
@@ -90,3 +91,6 @@ Description: Load-balanced unspoofable packet switching network
applications can use to securely communicate. All data is wrapped with several
layers of encryption, and the network is both distributed and dynamic, with no
trusted parties.
.
TrueType fonts (such as those provided in the package ttf-dejavu) are required
in order to generate graphs.

View File

@@ -6,6 +6,10 @@ if [ ! -z $2 ]; then
test -d /usr/share/doc/i2p-doc \
&& rm -rf /usr/share/doc/i2p-doc
fi
if dpkg --compare-versions $2 lt 0.8.7-3; then
test -d /usr/share/doc/i2p-doc/api \
&& rm -rf /usr/share/doc/i2p-doc/api
fi
fi
#DEBHELPER#

View File

@@ -1,2 +1,2 @@
core/c/jbigi/*.so usr/lib/jni
core/c/jcpuid/lib/freenet/support/CPUInformation/*.so usr/lib/jni
#core/c/jcpuid/lib/freenet/support/CPUInformation/*.so usr/lib/jni

View File

@@ -3,8 +3,8 @@ Date: Tue, 24 May 2011 21:26:10 +0000
Subject: rename jcpuid
---
core/c/jcpuid/build.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
core/c/jcpuid/build.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
--- a/core/c/jcpuid/build.sh
+++ b/core/c/jcpuid/build.sh
@@ -24,7 +24,7 @@ Subject: rename jcpuid
- LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so"
- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-linux.so";;
+ LINKFLAGS="-shared -Wl,-soname,libjcpuid.so"
+ LIBFILE="lib/freenet/support/CPUInformation/libjcpuid.so";;
+ LIBFILE="../jbigi/libjcpuid.so";;
esac
echo "Compiling C code..."

2
debian/rules vendored
View File

@@ -50,7 +50,7 @@ build-indep:
dh_prep
# The next line is used by KYTV when building from source packages
#[ -r jetty/jetty-5.1.15.tgz ] && ln -sf $(CURDIR)/jetty/jetty-5.1.15.tgz $(CURDIR)/apps/jetty/jetty-5.1.15.tgz
ant preppkg-linux javadoc
ant preppkg-unix javadoc
echo router.updateDisabled=true > $(I2P)/router.config
mv $(I2P)/runplain.sh $(I2P)/i2prouter-nowrapper
-cp -fv /usr/share/tor/geoip $(CURDIR)/pkg-temp/geoip/geoip.txt

View File

@@ -1,3 +1,76 @@
2011-08-20 zzz
* Translations:
- New Danish and Ukranian translations from transifex
- Update Italian, Chinese, Spanish, Polish, Swedish,
and Vietnamese translations from transifex
- Update .tx/config
2011-08-19 zzz
* Soft restart:
- Allow NTP to reinitialize clock after the comm system
in the first minute of uptime
- Fix i2ptunnels not restarting
- Increase minimum forward clock shift for soft restart
- Reduce minimum backward clock shift for soft restart
- Signal the I2CP client with a different message when restarting
- I2CP client reconnects when receiving restart message
2011-08-17 kytv
* Fix #506: Don't attempt to load systray4j when using a 64bit JVM
in Windows.
2011-08-16 zzz
* Console: Tweak logs page CSS
* Graphs: Delete corrupt rrd file (ticket #483)
* UPnP: Fix bug causing failure when the PC has multiple interfaces
2011-08-06 kytv
* Fix #473 (wrapper.logfile set to the wrong path in Windows).
2011-07-31 zzz
* Crypto: Implement and then comment out an alternate
AES-256/CBC implementation using the JVM crypto libs,
and tests, it isn't faster
* Netdb: Add a job to refresh all the old router infos at startup,
to speed integration
2011-07-30 kytv
* Installer:
- add libjbigi*core*jnilib, libjbigi-osx-none_64.jnilib, and
libjbigi-linux-ppc.so
- Add Linux PPC wrapper
* Add linux-ppc to NBI.
* Remove unused lock
2011-07-29 zzz
* Netdb Search:
- Follow all DSRM's, not just the last one, by moving the code
from the match job to the selector
- Update peer profile after SingleSearchJob
- Cleanups, javadocs, log tweaks, final
* ProfileOrganizer: Tweak fast tier size
2011-07-28 zzz
* Context: Split up big lock to avoid deadlocks
* Streaming: Avoid a rare exception on race
* TunnelPoolManager: Reduce race window for restarting a tunnel pool
2011-07-27 kytv
* Add armel (armv5tejl) wrapper. Compiled and tested in Debian Squeeze.
2011-07-26 zzz
* Installer: The previous wrapper files only work on armv7
* NativeBigInteger: Move libjbigi-linux-arm.so to libjbigi-linux-armv7.so,
do ARM version detection in NBI.
* NetDB:
- Explore even more aggressively at startup
- Increase SingleSearchJob timeout
- Increase time at startup for processing DSRM
- Cleanups, final, javadoc, concurrent
* OutNetMessage: Cleanups
* Tunnels: Change another log error to a warn
* Watchdog: Improve the way it calls for a thread dump
2011-07-22 kytv
* Add a 64bit wrapper to OSX. With 0.8.7 came a fat Mac wrapper with i386 and PPC.
The included wrapper is now quad-fat (i386, ppc, x86_64, and ppc64).

View File

@@ -171,6 +171,8 @@
<args><arg value="$INSTALL_PATH\install_i2p_service_unix" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH\install-headless.txt" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH\runplain.sh" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH\osid" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
@@ -183,10 +185,15 @@
<args><arg value="$INSTALL_PATH\eepget" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH/Start I2P Router.app" /></args></executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH/man" /></args></executable>
<!-- Placeholder for an OSX 'shortcut' to the router console
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH/I2P Router Console.webloc" /></args></executable>
-->
<!-- workaround for bad default path for wrapper.log in Windows. -->
<executable targetfile="$INSTALL_PATH/fix_logfile_path.cmd" type="bin" stage="postinstall" keep="false"> <os family="windows" />
</executable>
<!-- workaround for vista permission problems - see comments above -->
<executable targetfile="$INSTALL_PATH/fixperms.bat" type="bin" stage="postinstall" keep="true" failure="warn"
@@ -221,6 +228,8 @@
</args>
</executable>
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="false" failure="warn"> <os family="windows" />
<args><arg value="$INSTALL_PATH/installer/" /></args></executable>
</pack>
@@ -228,9 +237,7 @@
<pack name="Windows Service" required="no">
<description>Automatically start I2P in the background</description>
<os family="windows" />
<executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="false" />
<!--
-->
<!-- <executable targetfile="$INSTALL_PATH/set_config_dir_for_nt_service.bat" stage="postinstall" failure="warn" keep="false" /> -->
<executable targetfile="$INSTALL_PATH/install_i2p_service_winnt.bat" stage="postinstall" failure="warn" keep="true">
<args>
<arg value="$INSTALL_PATH\wrapper.config" />

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,33 @@
@echo off
:: fix_logfile_path.cmd
::
:: This is a simple (and/or stupid) script whose sole purpose is to set the
:: correct path for wrapper.logfile, by explicitly setting it to use the
:: environment variable %temp%.
::
:: On every *NIX-like system, $SYSTEM_java_io_tmpdir/wrapper.log points to a system-level
:: temp directory (/tmp on Linux, /var/tmp on BSD, etc.), but in Windows the value of %temp%
:: depends on whose account a process is running under. If the same user that installs I2P
:: is the only one that will run I2P, this isn't a problem.
::
:: The problem comes from trying to run the process as a service, or trying to run under an
:: account other than the one that did the installation. For example if the user "Administrator"
:: installed I2P on Windows 7, the value for wrapper.logfile will be set to the hardcoded value of
:: C:\Users\Administrator\AppData\Local\Temp\wrapper.log (if it's left at the default value of
:: $SYSTEM_java_io_tmpdir/wrapper.log.
::
:: If user Alice tries to run I2P, the wrapper will try to write its logfile to
:: C:\Users\Administrator\AppData\Local\Temp\wrapper.log. Unfortunately Alice
:: doesn't have the rights to access Administrator's temp directory. The same
:: will happen with the "limited access account" that the I2P service runs
:: under.
::
:: Since Windows doesn't have sed and it has a retarded find, we resort to this
:: lameness.
::
cd /d %~dp0
find /V /I "wrapper.logfile=" wrapper.config > wrapper.new
echo wrapper.logfile=%%temp%%\wrapper.log >> wrapper.new
move wrapper.new wrapper.config
:: As an added bonus, wrapper.config now has DOS line endings in Windows.

View File

@@ -327,3 +327,4 @@ planet.i2p=W0omtMApOdlTkgJoct08QnzDkeb~xc60df5Cx3k3qqOFmyEkRB65NdpSdvldI5STmXmXl
exotrack.i2p=Ly1vs4plBuGisqlMiQOjhVkXFZPBMy9joSCrus~tuLXBRXDrPYG9WXJMzY4gb3LiW0VVawv0kLgikX8eeeruXmgKwQW5zB9UPSP0CQnXTRelE3Jn7lev~re4woHvgS-EGBwWikxqXF3f7W8-LhieI0JhBZxItiWhJJME07oncW0kgS8UIMl0wqN2Y-p0sryFCN056TfGNTXigfxrSLqKnpi6a2OyEkF62qvRID3qXzRque0vKQjqvavq2mqxjFrSgLUoyKod5h9Px6qK08gtoAyDKMLPk7fPgReYKj6awiOxRSGfsMpZD3~ZuV0Sts2XtCau3S3myYMIDe5oKziPtZRIej4KBDxT0YYIw5v4RoqzqF88gNgHDfkPZ25JKTOt5xGcPTG8kwYrtx39PX6NrJmv-I~LUz6sZZlIW24k1qbO7zBxZ6mazldQY1~FJGXzn5MNzsxp44iOZdMDJJh18N0Psthk2hqlQOS4L0Ss1Odm1czhBxf1Y~j3L-QsMttcAAAA
outproxyng.h2ik.i2p=1RqMQd58RgA4D~XT34rCjQteJVQwFKQbPK5P03GetL-DyCfKV6Vg61xyxGOZK-K4KTXXf45PG~oDAWIzE7UY5aXN9oAjHXfPrU9hHxv35BaxFqUpsJLgjWu41OwSjl5aN2-freH4gGVSiL62I1y2bcXHc2kVHlbToQOy8bJoS3KSDHEeU0r79f~cY3xf6rBHpHNMJtdYdnWlLq5KFc2cz~8lIut~sSIAwUEfebBkhfl2ctvdEGdSshBWGTxXiahtQX0xraynF-Cex2hxvBAl0g9aoOnrLx~Gses54WPD-m3RArI3fiaxEALRuFa0mfrrEgjOhBtVU8IlTYrTEkR8JSGofsEmuqqM03FIrwOv6lJZi-xemiNUr3OX6VdO4ckIg69BxpCYzP2IxLO5r8lSwyHqGbYPFxBIjbSMsv6tGWWdglV4Y9sQHTarboA-XDih3DzDpomb1~78cSiV3PRidjj4MDggn1abkQbRVd6WLV~eTi54bctS-JwW-I5Xyqq~AAAA
inr.i2p=GGB99wXYBnX-wOxQ~Xrvo7AvngoYgifvZZL54ksZWzclcirG7AysqfkAKyv906PxfM4y2DcN2K9m4-D99yFj-1BdnUuIEqfi2yuaaVoWuOffT3h9ne~kZnq3C-wrmczD70Gxk4shvSVxMdUEFvEip8QY4K0R-FiKBsFAfWGTE3b9d-QCzP0H9VP5V-CaYjYVQuMRgMluk9gnoLRipvV7483f~rmGgYX8xwygEAQ3v9P4hrAlJrP0lWJLI1K6KQucP3THIxZ4A9Xxnl0I7EZAT8bHwzschFrcDPYM~DtQdkJTz2VphocbNLfIExTrFt88-xC69WE-fSbaMf9jucT4f5kdpfpRu0kM~am40etxPs8uXGF-L9IXCjgUkJHrWdPHeGhnx-ye2xvUTLO2jyga8iY89Ee3IpqivVUg-iAQJzX9NXC29sf0YzNj8d8mdWRNuzbLSx9CVJ3l1NPJr4k7hmCqf8lBGXNIFZQL4Wez1PPcM4gw0o73gqIxkxvVzVcpAAAA
pastethis.i2p=qg6Y8Dj5LHAP3tOGmJXpmqe2ivpgVcs4UHJ0hv~VRGhNTh7awM3qPIhKNMhrq9G5ZgXWB3QlSmi-m2FQVndTNKegdfbdnFMNLOOwh2pm1akhvEp6MeKhv0KjJFKpNOb2ygHu2MXPXuDuh5odO1LRs3Pxr1PdjM~7L5NxRE-o-EuCKH5H1335BAfvY5k1SIU-t-YaIctMKGH88D9OjPEt7PlqXsdXUQnJFO6B4V3E1BdH33Zc6oVxaSSOLuLaSPjrczC4h79U9gJFmR4isWpHmynucEtJmEbJ4atcUe4~m2uYw8tWGGFoMvz9y3y6kRqb1alPpX9wPZb5OGjTJIQTmSGsag2-CJldnqa3mEDCWQ3gs6FLud-s1z~2J51BnFl~LpPPF6yT8879R5zOGAEwfIp4N8fJTbgPNxz4P4LRQLXHk0t1oYPEpwLneiLH-87zzM3IiTeeb3XCDyc2T7zzLGrktb2i6BlyEBJMXbsN2CiviKOHI7CEp~u8Lsp69FSeAAAA

View File

@@ -40,9 +40,15 @@ X86_64=`echo "${OS_ARCH}" | grep x86_64`
case $HOST_OS in
debian | fedora | gentoo | linux | mandrake | redhat | suse )
if [ `echo $OS_ARCH |grep arm` ]; then
wrapperpath="./lib/wrapper/linux-arm"
if [ `echo $OS_ARCH |grep armv7` ]; then
wrapperpath="./lib/wrapper/linux-armv7"
cp ${wrapperpath}/libwrapper.so ./lib/
elif [ `echo $OS_ARCH |grep arm` ]; then
wrapperpath="./lib/wrapper/linux-armv5"
cp ${wrapperpath}/libwrapper.so ./lib/
elif [ `echo $OS_ARCH |grep ppc` ]; then
wrapperpath="./lib/wrapper/linux-ppc"
cp ${wrapperpath}/libwrapper.so ./lib/
elif [ "X$X86_64" = "X" ]; then
wrapperpath="./lib/wrapper/linux"
cp ${wrapperpath}/libwrapper.so ./lib/
@@ -99,5 +105,7 @@ fi
# no, let's not start the router from the install script any more
# ./i2prouter start
rm -f ./osid
rm -f ./postinstall.sh
exit 0

View File

@@ -670,7 +670,6 @@ div.joblog {
div.joblog:li {
word-wrap: break-word !important;
text-align: justify !important;
line-height: 80% !important;
}

View File

@@ -963,7 +963,6 @@ div.main li {
div.joblog li {
word-wrap: break-word !important;
text-align: justify !important;
line-height: 120% !important;
margin: 2px 0px 2px 30px;
padding: 2px 20px 2px 0px;

View File

@@ -1008,7 +1008,6 @@ div.joblog i {
div.joblog li {
word-wrap: break-word !important;
text-align: justify !important;
line-height: 115% !important;
padding: 0;
font-size: 9pt !important;

View File

@@ -0,0 +1,28 @@
Cryptix General License
Copyright (c) 1995-2005 The Cryptix Foundation Limited.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND
CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -94,4 +94,7 @@ public abstract class ClientManagerFacade implements Service {
public abstract SessionConfig getClientSessionConfig(Destination dest);
public abstract SessionKeyManager getClientSessionKeyManager(Hash dest);
public void renderStatusHTML(Writer out) throws IOException { }
/** @since 0.8.8 */
public abstract void shutdown(String msg);
}

View File

@@ -36,6 +36,7 @@ public class DummyClientManagerFacade extends ClientManagerFacade {
public void startup() {}
public void stopAcceptingClients() { }
public void shutdown() {}
public void shutdown(String msg) {}
public void restart() {}
public void messageDeliveryStatusUpdate(Destination fromDest, MessageId id, boolean delivered) {}

View File

@@ -49,7 +49,7 @@ public class OutNetMessage {
private Set<String> _failedTransports;
private long _sendBegin;
private long _transmitBegin;
private Exception _createdBy;
//private Exception _createdBy;
private final long _created;
/** for debugging, contains a mapping of even name to Long (e.g. "begin sending", "handleOutbound", etc) */
private HashMap<String, Long> _timestamps;
@@ -66,11 +66,12 @@ public class OutNetMessage {
public OutNetMessage(RouterContext context) {
_context = context;
_log = context.logManager().getLog(OutNetMessage.class);
setPriority(-1);
setExpiration(-1);
_priority = -1;
_expiration = -1;
//_createdBy = new Exception("Created by");
_created = context.clock().now();
timestamp("Created");
if (_log.shouldLog(Log.INFO))
timestamp("Created");
//_context.messageStateMonitor().outboundMessageAdded();
//_context.statManager().createRateStat("outNetMessage.timeToDiscard",
// "How long until we discard an outbound msg?",
@@ -78,7 +79,8 @@ public class OutNetMessage {
}
/**
* Stamp the message's progress
* Stamp the message's progress.
* Only useful if log level is INFO or DEBUG
*
* @param eventName what occurred
* @return how long this message has been 'in flight'
@@ -119,9 +121,9 @@ public class OutNetMessage {
return _timestamps.get(eventName);
}
}
return ZERO;
return Long.valueOf(0);
}
private static final Long ZERO = Long.valueOf(0);
private void locked_initTimestamps() {
if (_timestamps == null) {
_timestamps = new HashMap(8);
@@ -129,7 +131,11 @@ public class OutNetMessage {
}
}
public Exception getCreatedBy() { return _createdBy; }
/**
* @deprecated
* @return null always
*/
public Exception getCreatedBy() { return null; }
/**
* Specifies the router to which the message should be delivered.
@@ -297,10 +303,11 @@ public class OutNetMessage {
super.finalize();
}
*/
@Override
public String toString() {
StringBuilder buf = new StringBuilder(128);
buf.append("[OutNetMessage contains ");
StringBuilder buf = new StringBuilder(256);
buf.append("[OutNetMessage containing ");
if (_message == null) {
buf.append("*no message*");
} else {
@@ -322,15 +329,19 @@ public class OutNetMessage {
buf.append(" with onFailedReply job: ").append(_onFailedReply);
if (_onFailedSend != null)
buf.append(" with onFailedSend job: ").append(_onFailedSend);
buf.append(" {timestamps: \n");
renderTimestamps(buf);
buf.append("}");
if (_log.shouldLog(Log.INFO)) {
buf.append(" {timestamps: \n");
renderTimestamps(buf);
buf.append("}");
}
buf.append("]");
return buf.toString();
}
/**
* Only useful if log level is INFO or DEBUG
*/
private void renderTimestamps(StringBuilder buf) {
if (_log.shouldLog(Log.INFO)) {
synchronized (this) {
long lastWhen = -1;
for (int i = 0; i < _timestampOrder.size(); i++) {
@@ -350,7 +361,6 @@ public class OutNetMessage {
lastWhen = when.longValue();
}
}
}
}
private final static SimpleDateFormat _fmt = new SimpleDateFormat("HH:mm:ss.SSS");
@@ -361,19 +371,21 @@ public class OutNetMessage {
}
}
/****
@Override
public int hashCode() {
int rv = 0;
rv += DataHelper.hashCode(_message);
rv += DataHelper.hashCode(_target);
int rv = DataHelper.hashCode(_message);
rv ^= DataHelper.hashCode(_target);
// the others are pretty much inconsequential
return rv;
}
@Override
public boolean equals(Object obj) {
if(obj == null) return false;
if(!(obj instanceof OutNetMessage)) return false;
//if(obj == null) return false;
//if(!(obj instanceof OutNetMessage)) return false;
return obj == this; // two OutNetMessages are different even if they contain the same message
}
****/
}

View File

@@ -1308,7 +1308,8 @@ public class Router implements RouterClock.ClockShiftListener {
_started = _context.clock().now();
_log.error("Stopping the router for a restart...");
_log.logAlways(Log.WARN, "Stopping the client manager");
try { _context.clientManager().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error stopping the client manager", t); }
// NOTE: DisconnectMessageHandler keys off "restart"
try { _context.clientManager().shutdown("Router restart"); } catch (Throwable t) { _log.log(Log.CRIT, "Error stopping the client manager", t); }
_log.logAlways(Log.WARN, "Stopping the comm system");
try { _context.messageRegistry().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the message registry", t); }
try { _context.commSystem().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the comm system", t); }

View File

@@ -40,11 +40,13 @@ public class RouterClock extends Clock {
private int _lastStratum;
/**
* If the system clock shifts by this much (positive or negative),
* If the system clock shifts by this much,
* call the callback, we probably need a soft restart.
* @since 0.8.8
*/
private static final long MASSIVE_SHIFT = 75*1000;
private static final long MASSIVE_SHIFT_FORWARD = 150*1000;
private static final long MASSIVE_SHIFT_BACKWARD = 61*1000;
private final Set<ClockShiftListener> _shiftListeners;
private volatile long _lastShiftNanos;
@@ -137,7 +139,11 @@ public class RouterClock extends Clock {
} // check sanity
}
if (_alreadyChanged) {
// In first minute, allow a lower (better) stratum to do a step adjustment after
// a previous step adjustment.
// This allows NTP to trump a peer offset after a soft restart
if (_alreadyChanged &&
(stratum >= _lastStratum || _startedOn - System.currentTimeMillis() > 60*1000)) {
// Update the target offset, slewing will take care of the rest
if (delta > 15*1000)
getLog().error("Warning - Updating target clock offset to " + offsetMs + "ms from " + _offset + "ms, Stratum " + stratum);
@@ -192,8 +198,8 @@ public class RouterClock extends Clock {
// copy the global, so two threads don't both increment or decrement _offset
long offset = _offset;
long sinceLastSlewed = systemNow - _lastSlewed;
if (sinceLastSlewed >= MASSIVE_SHIFT ||
sinceLastSlewed <= 0 - MASSIVE_SHIFT) {
if (sinceLastSlewed >= MASSIVE_SHIFT_FORWARD ||
sinceLastSlewed <= 0 - MASSIVE_SHIFT_BACKWARD) {
_lastSlewed = systemNow;
notifyMassive(sinceLastSlewed);
} else if (sinceLastSlewed >= MAX_SLEW) {
@@ -224,7 +230,7 @@ public class RouterClock extends Clock {
long nowNanos = System.nanoTime();
// try to prevent dups, not guaranteed
// nanoTime() isn't guaranteed to be monotonic either :(
if (nowNanos < _lastShiftNanos + MASSIVE_SHIFT)
if (nowNanos < _lastShiftNanos + MASSIVE_SHIFT_FORWARD)
return;
_lastShiftNanos = nowNanos;

View File

@@ -59,6 +59,8 @@ public class RouterContext extends I2PAppContext {
private MessageStateMonitor _messageStateMonitor;
private RouterThrottle _throttle;
private final Set<Runnable> _finalShutdownTasks;
// split up big lock on this to avoid deadlocks
private final Object _lock1 = new Object(), _lock2 = new Object();
private static List<RouterContext> _contexts = new ArrayList(1);
@@ -411,7 +413,7 @@ public class RouterContext extends I2PAppContext {
@Override
protected void initializeClock() {
synchronized (this) {
synchronized (_lock1) {
if (_clock == null)
_clock = new RouterClock(this);
_clockInitialized = true;
@@ -428,7 +430,7 @@ public class RouterContext extends I2PAppContext {
@Override
protected void initializeKeyRing() {
synchronized (this) {
synchronized (_lock2) {
if (_keyRing == null)
_keyRing = new PersistentKeyRing(this);
_keyRingInitialized = true;

View File

@@ -18,10 +18,10 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 14;
public final static long BUILD = 26;
/** for example "-test" */
public final static String EXTRA = "";
public final static String EXTRA = "-rc";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
public static void main(String args[]) {
System.out.println("I2P Router version: " + FULL_VERSION);

View File

@@ -1,5 +1,7 @@
package net.i2p.router;
import java.io.File;
import net.i2p.data.DataHelper;
import net.i2p.stat.Rate;
import net.i2p.stat.RateStat;
@@ -105,9 +107,13 @@ class RouterWatchdog implements Runnable {
// This works on linux...
// It won't on windows, and we can't call i2prouter.bat either, it does something
// completely different...
if (System.getProperty("wrapper.version") != null && !System.getProperty("os.name").startsWith("Win")) {
if (_context.hasWrapper() && !System.getProperty("os.name").startsWith("Win")) {
ShellCommand sc = new ShellCommand();
boolean success = sc.executeSilentAndWaitTimed("./i2prouter dump", 10);
File i2pr = new File(_context.getBaseDir(), "i2prouter");
String[] args = new String[2];
args[0] = i2pr.getAbsolutePath();
args[1] = "dump";
boolean success = sc.executeSilentAndWaitTimed(args, 10);
if (success)
_log.log(Log.CRIT, "Threads dumped to wrapper log");
}

View File

@@ -11,7 +11,7 @@ package net.i2p.router;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -55,7 +55,7 @@ public class Shitlist {
public Shitlist(RouterContext context) {
_context = context;
_log = context.logManager().getLog(Shitlist.class);
_entries = new ConcurrentHashMap(8);
_entries = new ConcurrentHashMap(16);
_context.jobQueue().addJob(new Cleanup(_context));
}
@@ -96,9 +96,12 @@ public class Shitlist {
return _entries.size();
}
/** for ShitlistRenderer in router console */
/**
* For ShitlistRenderer in router console.
* Note - may contain expired entries.
*/
public Map<Hash, Entry> getEntries() {
return new HashMap<Hash, Entry>(_entries);
return Collections.unmodifiableMap(_entries);
}
public boolean shitlistRouter(Hash peer) {

View File

@@ -86,7 +86,7 @@ class ClientManager {
}
public void restart() {
shutdown();
shutdown("Router restart");
// to let the old listener die
try { Thread.sleep(2*1000); } catch (InterruptedException ie) {}
@@ -96,7 +96,10 @@ class ClientManager {
startListeners(port);
}
public void shutdown() {
/**
* @param msg message to send to the clients
*/
public void shutdown(String msg) {
_isStarted = false;
_log.info("Shutting down the ClientManager");
if (_listener != null)
@@ -116,7 +119,7 @@ class ClientManager {
}
for (Iterator<ClientConnectionRunner> iter = runners.iterator(); iter.hasNext(); ) {
ClientConnectionRunner runner = iter.next();
runner.disconnectClient("Router shutdown", Log.WARN);
runner.disconnectClient(msg, Log.WARN);
}
}

View File

@@ -58,8 +58,16 @@ public class ClientManagerFacadeImpl extends ClientManagerFacade implements Inte
}
public void shutdown() {
shutdown("Router shutdown");
}
/**
* @param msg message to send to the clients
* @since 0.8.8
*/
public void shutdown(String msg) {
if (_manager != null)
_manager.shutdown();
_manager.shutdown(msg);
}
public void restart() {

View File

@@ -25,6 +25,7 @@ import net.i2p.util.Log;
* or other criteria to minimize netdb size, but for now we just use _facade's
* validate(), which is a sliding expriation based on netdb size.
*
* @deprecated unused - see comments in KNDF
*/
class ExpireRoutersJob extends JobImpl {
private final Log _log;

View File

@@ -22,6 +22,7 @@ import net.i2p.util.Log;
* yet full, attempting to keep a pool of keys we can explore with (at least one
* per bucket)
*
* @deprecated unused, see comments in KNDF
*/
class ExploreKeySelectorJob extends JobImpl {
private Log _log;

View File

@@ -12,46 +12,34 @@ import net.i2p.router.RouterContext;
import net.i2p.util.Log;
class FloodOnlyLookupMatchJob extends JobImpl implements ReplyJob {
private Log _log;
private FloodOnlySearchJob _search;
private DatabaseSearchReplyMessage _dsrm;
private final Log _log;
private final FloodOnlySearchJob _search;
public FloodOnlyLookupMatchJob(RouterContext ctx, FloodOnlySearchJob job) {
super(ctx);
_log = ctx.logManager().getLog(getClass());
_search = job;
_dsrm = null;
}
public void runJob() {
if ( (getContext().netDb().lookupLeaseSetLocally(_search.getKey()) != null) ||
(getContext().netDb().lookupRouterInfoLocally(_search.getKey()) != null) ) {
if (getContext().netDb().lookupLocally(_search.getKey()) != null) {
if (_log.shouldLog(Log.INFO))
_log.info(_search.getJobId() + ": search match and found locally");
_search.success();
} else {
int remaining = _search.getLookupsRemaining();
if (_log.shouldLog(Log.INFO))
_log.info(_search.getJobId() + ": got a DatabaseSearchReply when we were looking for "
+ _search.getKey().toBase64() + ", with " + remaining + " outstanding searches");
// netDb reply pointing us at other people
// Only process if we don't know enough floodfills
// This only works if both reply, otherwise we aren't called - should be fixed
if (_search.shouldProcessDSRM() && _dsrm != null) {
if (_log.shouldLog(Log.INFO))
_log.info(_search.getJobId() + ": Processing DatabaseSearchReply");
// Chase the hashes from the reply
getContext().jobQueue().addJob(new SingleLookupJob(getContext(), _dsrm));
}
// In practice, we always have zero remaining when this is called,
// because the selector only returns true when there is zero remaining
_search.failed();
}
}
public String getName() { return "NetDb flood search (phase 1) match"; }
public void setMessage(I2NPMessage message) {
if (message instanceof DatabaseSearchReplyMessage) {
// DSRM processing now in FloodOnlyLookupSelector instead of here,
// a dsrm is only passed in when there are no more lookups remaining
// If more than one peer sent one, we only process the last one
// And sadly if the first peer sends a DRSM and the second one times out,
// this won't get called...
_dsrm = (DatabaseSearchReplyMessage) message;
// so that all DSRM's are processed, not just the last one.
_search.failed();
return;
}

View File

@@ -8,20 +8,23 @@ import net.i2p.router.RouterContext;
import net.i2p.util.Log;
class FloodOnlyLookupSelector implements MessageSelector {
private RouterContext _context;
private FloodOnlySearchJob _search;
private final RouterContext _context;
private final FloodOnlySearchJob _search;
private boolean _matchFound;
private Log _log;
private final Log _log;
public FloodOnlyLookupSelector(RouterContext ctx, FloodOnlySearchJob search) {
_context = ctx;
_search = search;
_log = ctx.logManager().getLog(getClass());
_matchFound = false;
}
public boolean continueMatching() {
return _search.getLookupsRemaining() > 0 && !_matchFound && _context.clock().now() < getExpiration();
}
public long getExpiration() { return (_matchFound ? -1 : _search.getExpiration()); }
public boolean isMatch(I2NPMessage message) {
if (message == null) return false;
if (message instanceof DatabaseStoreMessage) {
@@ -35,14 +38,32 @@ class FloodOnlyLookupSelector implements MessageSelector {
} else if (message instanceof DatabaseSearchReplyMessage) {
DatabaseSearchReplyMessage dsrm = (DatabaseSearchReplyMessage)message;
if (_search.getKey().equals(dsrm.getSearchKey())) {
_search.decrementRemaining(dsrm.getFromHash());
// assume 0 old, all new, 0 invalid, 0 dup
// TODO - dsrm.getFromHash() can't be trusted - check against the list of
// those we sent the search to in _search ?
// assume 0 new, all old, 0 invalid, 0 dup
_context.profileManager().dbLookupReply(dsrm.getFromHash(), 0, dsrm.getNumReplies(), 0, 0,
System.currentTimeMillis()-_search.getCreated());
if (_search.getLookupsRemaining() <= 0)
return true; // ok, no more left, so time to fail
else
return false;
// Moved from FloodOnlyLookupMatchJob so it is called for all replies
// rather than just the last one
// Got a netDb reply pointing us at other floodfills...
// Only process if we don't know enough floodfills or are starting up
if (_search.shouldProcessDSRM()) {
if (_log.shouldLog(Log.INFO))
_log.info(_search.getJobId() + ": Processing DSRM via SingleLookupJob, apparently from " + dsrm.getFromHash());
// Chase the hashes from the reply
_context.jobQueue().addJob(new SingleLookupJob(_context, dsrm));
} else if (_log.shouldLog(Log.INFO)) {
int remaining = _search.getLookupsRemaining();
_log.info(_search.getJobId() + ": got a DSRM apparently from " + dsrm.getFromHash() + " when we were looking for "
+ _search.getKey() + ", with " + remaining + " outstanding searches");
}
// if no more left, time to fail
int remaining = _search.decrementRemaining(dsrm.getFromHash());
return remaining <= 0;
}
}
return false;

View File

@@ -5,17 +5,19 @@ import net.i2p.router.RouterContext;
import net.i2p.util.Log;
class FloodOnlyLookupTimeoutJob extends JobImpl {
private FloodSearchJob _search;
private Log _log;
private final FloodSearchJob _search;
public FloodOnlyLookupTimeoutJob(RouterContext ctx, FloodOnlySearchJob job) {
super(ctx);
_search = job;
_log = ctx.logManager().getLog(getClass());
}
public void runJob() {
if (_log.shouldLog(Log.INFO))
_log.info(_search.getJobId() + ": search timed out");
Log log = getContext().logManager().getLog(getClass());
if (log.shouldLog(Log.INFO))
log.info(_search.getJobId() + ": search timed out");
_search.failed();
}
public String getName() { return "NetDb flood search (phase 1) timeout"; }
}

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