propagate from branch 'i2p.i2p' (head 2ab4ae45aa60b379e85fca378522966c090a1a27)

to branch 'i2p.i2p.zzz.test' (head 220477e37d4df782b9a8bb30d12669d146dc6226)
This commit is contained in:
zzz
2012-10-13 14:23:29 +00:00
21 changed files with 3543 additions and 2879 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2psnark\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-06 09:09+0000\n"
"POT-Creation-Date: 2012-10-12 00:38+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@ -246,7 +246,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:990
#: ../java/src/org/klomp/snark/SnarkManager.java:1013
#: ../java/src/org/klomp/snark/SnarkManager.java:1449
#: ../java/src/org/klomp/snark/SnarkManager.java:1451
#, java-format
msgid "Failed to copy torrent file to {0}"
msgstr ""
@ -312,61 +312,66 @@ msgstr ""
msgid "Adding torrents in {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1394
#: ../java/src/org/klomp/snark/SnarkManager.java:1374
#, java-format
msgid "Up bandwidth limit is {0} KBps"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1396
#, java-format
msgid "Download finished: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1445
#: ../java/src/org/klomp/snark/SnarkManager.java:1447
#, java-format
msgid "Metainfo received for {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1446
#: ../java/src/org/klomp/snark/SnarkManager.java:1669
#: ../java/src/org/klomp/snark/SnarkManager.java:1448
#: ../java/src/org/klomp/snark/SnarkManager.java:1671
#, java-format
msgid "Starting up torrent {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1461
#: ../java/src/org/klomp/snark/SnarkManager.java:1463
#, java-format
msgid "Error on torrent {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1487
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1792
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1802
#: ../java/src/org/klomp/snark/SnarkManager.java:1489
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1805
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1815
msgid "Magnet"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1518
#: ../java/src/org/klomp/snark/SnarkManager.java:1520
msgid "Unable to connect to I2P!"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1524
#: ../java/src/org/klomp/snark/SnarkManager.java:1526
#, java-format
msgid "Unable to add {0}"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1668
#: ../java/src/org/klomp/snark/SnarkManager.java:1670
#: ../java/src/org/klomp/snark/web/FetchAndAdd.java:124
msgid "Opening the I2P tunnel"
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1692
#: ../java/src/org/klomp/snark/SnarkManager.java:1694
msgid "Opening the I2P tunnel and starting all torrents."
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1747
#: ../java/src/org/klomp/snark/SnarkManager.java:1749
msgid "Stopping all torrents and closing the I2P tunnel."
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1766
#: ../java/src/org/klomp/snark/SnarkManager.java:1768
msgid "Closing I2P tunnel after notifying trackers."
msgstr ""
#: ../java/src/org/klomp/snark/SnarkManager.java:1773
#: ../java/src/org/klomp/snark/SnarkManager.java:1784
#: ../java/src/org/klomp/snark/SnarkManager.java:1775
#: ../java/src/org/klomp/snark/SnarkManager.java:1786
msgid "I2P tunnel closed."
msgstr ""
@ -419,7 +424,7 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:261
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1254
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1267
msgid "I2PSnark"
msgstr ""
@ -442,8 +447,8 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:338
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2248
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2250
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2261
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263
msgid "Status"
msgstr ""
@ -459,8 +464,8 @@ msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:363
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:365
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2103
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2118
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2116
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2131
msgid "Torrent"
msgstr ""
@ -559,570 +564,585 @@ msgstr[1] ""
msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\""
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:640
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:614
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:644
#, java-format
msgid "Magnet deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:621
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:646
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:622
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:650
#, java-format
msgid "Torrent file deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:642
#, java-format
msgid "Download deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
#, java-format
msgid "Data file deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:658
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:669
#, java-format
msgid "Data file could not be deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:689
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:684
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:693
#, java-format
msgid "Directory could not be deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:687
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:691
#, java-format
msgid "Directory deleted: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:734
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:738
msgid "Error creating torrent - you must select a tracker"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:750
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:755
#, java-format
msgid "Torrent created for \"{0}\""
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:752
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:757
#, java-format
msgid ""
"Many I2P trackers require you to register new torrents before seeding - "
"please do so before starting \"{0}\""
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:754
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759
#, java-format
msgid "Error creating a torrent for \"{0}\""
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:757
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
#, java-format
msgid "Cannot create a torrent for the nonexistent data: {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:760
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:765
msgid "Error creating torrent - you must enter a file or directory"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1758
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1771
msgid "Delete selected"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1772
msgid "Save tracker configuration"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:797
msgid "Removed"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1757
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1762
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:826
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1770
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1775
msgid "Add tracker"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:844
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:847
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:849
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:852
msgid "Enter valid tracker name and URLs"
msgstr ""
#. "<input type=\"reset\" class=\"cancel\" value=\"").append(_("Cancel")).append("\">\n" +
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:849
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1761
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1774
msgid "Restore defaults"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:852
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:857
msgid "Restored default trackers"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:994
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:997
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:998
msgid "Checking"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1000
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
msgid "Allocating"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1005
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1011
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
msgid "Tracker Error"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:997
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1002
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1030
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1008
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1013
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1041
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1046
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1051
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1057
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1062
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1073
#, java-format
msgid "1 peer"
msgid_plural "{0} peers"
msgstr[0] ""
msgstr[1] ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1010
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1011
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022
msgid "Starting"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1030
msgid "Seeding"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1023
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1038
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2190
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2305
msgid "Complete"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1042
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1034
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1048
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049
msgid "OK"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2203
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2318
msgid "Complete"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1054
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1059
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1060
msgid "Stalled"
msgid "OK"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1064
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1065
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1069
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1071
msgid "Stalled"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1075
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1076
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1079
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080
msgid "No Peers"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1071
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1082
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1083
msgid "Stopped"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1116
msgid "Torrent details"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1145
msgid "View files"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1136
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1147
msgid "Open file"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1179
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1192
msgid "Stop the torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194
msgid "Stop"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1193
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1206
msgid "Start the torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1195
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208
msgid "Start"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1207
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1220
msgid "Remove the torrent from the active list, deleting the .torrent file"
msgstr ""
#. Can't figure out how to escape double quotes inside the onclick string.
#. Single quotes in translate strings with parameters must be doubled.
#. Then the remaining single quote must be escaped
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1225
#, java-format
msgid ""
"Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
"data will not be deleted) ?"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1215
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1228
msgid "Remove"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1227
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240
msgid "Delete the .torrent file and the associated data file(s)"
msgstr ""
#. Can't figure out how to escape double quotes inside the onclick string.
#. Single quotes in translate strings with parameters must be doubled.
#. Then the remaining single quote must be escaped
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1232
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1245
#, java-format
msgid ""
"Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
"data?"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1235
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1725
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1248
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1738
msgid "Delete"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283
msgid "Unknown"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1282
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1295
msgid "Seed"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1305
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1318
msgid "Uninteresting (The peer has no pieces we need)"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1307
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320
msgid "Choked (The peer is not allowing us to request pieces)"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1340
msgid "Uninterested (We have no pieces the peer needs)"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1342
msgid "Choking (We are not allowing the peer to request pieces)"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1383
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1396
#, java-format
msgid "Details at {0} tracker"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1412
msgid "Info"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1427
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1440
msgid "Add Torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1429
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1442
msgid "From URL"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1432
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1445
msgid ""
"Enter the torrent file download URL (I2P only), magnet link, maggot link, or "
"info hash"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1437
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1450
msgid "Add torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1440
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1453
#, java-format
msgid "You can also copy .torrent files to: {0}."
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1442
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1455
msgid "Removing a .torrent will cause it to stop."
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1465
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1478
msgid "Create Torrent"
msgstr ""
#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1468
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1481
msgid "Data to seed"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1472
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1485
msgid "File or directory to seed (must be within the specified path)"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1474
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2153
msgid "Tracker"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489
msgid "Select a tracker"
msgstr ""
#. out.write(_("Open trackers and DHT only"));
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1481
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1494
msgid "Open trackers only"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1498
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1511
msgid "Create torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1771
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1535
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1784
msgid "Configuration"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1526
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1539
msgid "Data directory"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1528
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1541
msgid "Edit i2psnark.config and restart to change"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1532
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1545
msgid "Files readable by all"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1536
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1549
msgid "If checked, other users may access the downloaded files"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1540
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1553
msgid "Auto start"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1557
msgid "If checked, automatically start torrents that are added"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1548
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561
msgid "Theme"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1561
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1574
msgid "Refresh time"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1574
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1587
msgid "Never"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1580
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1593
msgid "Startup delay"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1582
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595
msgid "minutes"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1606
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1619
msgid "Total uploader limit"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1609
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622
msgid "peers"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1613
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1626
msgid "Up bandwidth limit"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1616
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1629
msgid "Half available bandwidth recommended."
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1618
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1631
msgid "View or change router bandwidth"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1635
msgid "Use open trackers also"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1626
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1639
msgid ""
"If checked, announce torrents to open trackers as well as the tracker listed "
"in the torrent file"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1630
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1643
msgid "Enable DHT"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1634
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1647
msgid "If checked, use DHT"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1650
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663
msgid "Inbound Settings"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1656
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669
msgid "Outbound Settings"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1664
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1677
msgid "I2CP host"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1669
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1682
msgid "I2CP port"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1684
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1697
msgid "I2CP options"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1689
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702
msgid "Save configuration"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1703
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1716
msgid "Trackers"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1708
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1721
msgid "Name"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1710
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1723
msgid "Website URL"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2343
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1725
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2356
msgid "Open"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1714
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1727
msgid "Private"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1716
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1729
msgid "Announce URL"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1750
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763
msgid "Add"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1787
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1800
#, java-format
msgid "Invalid magnet URL {0}"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1834
#, java-format
msgid "Invalid info hash in magnet URL {0}"
msgstr ""
#. * dummies for translation
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1958
#, java-format
msgid "1 hop"
msgid_plural "{0} hops"
msgstr[0] ""
msgstr[1] ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1946
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1959
#, java-format
msgid "1 tunnel"
msgid_plural "{0} tunnels"
msgstr[0] ""
msgstr[1] ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2127
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2140
msgid "Torrent file"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2162
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2175
msgid "Magnet link"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2169
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2182
msgid "Private torrent"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2178
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2242
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2244
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2191
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2257
msgid "Size"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2185
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2198
msgid "Completion"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2195
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2208
msgid "Remaining"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2202
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2215
msgid "Files"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2207
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2220
msgid "Pieces"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2211
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2224
msgid "Piece size"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2234
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2238
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2288
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2247
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2251
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2301
msgid "Directory"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2255
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2257
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2268
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2270
msgid "Priority"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2263
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2276
msgid "Up to higher level directory"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2293
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2306
msgid "Torrent not found?"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2302
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2315
msgid "File not found in torrent?"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2315
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2328
msgid "complete"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2316
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2329
msgid "remaining"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2370
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2383
msgid "High"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2375
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2388
msgid "Normal"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2380
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2393
msgid "Skip"
msgstr ""
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2389
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2402
msgid "Save priorities"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-07-16 23:58+0000\n"
"POT-Creation-Date: 2012-10-12 00:38+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@ -47,7 +47,7 @@ msgid "Base 32"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1031
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:380
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:374
msgid "Destination"
msgstr ""
@ -131,94 +131,108 @@ msgstr ""
msgid "internal"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:174
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:175
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:221
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:222
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:233
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:234
msgid "Starting tunnel"
msgstr ""
#. and give them something to look at in any case
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:246
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:247
msgid "Stopping tunnel"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:315
msgid "Configuration changes saved"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:317
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:318
msgid "Failed to save configuration"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:436
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:437
msgid "New Tunnel"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:456
msgid "Standard client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:457
msgid "HTTP client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:458
msgid "IRC client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:459
msgid "Standard server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:460
msgid "HTTP server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:461
msgid "SOCKS 4/4a/5 proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:462
msgid "SOCKS IRC proxy"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:470
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:587
msgid "Port not set"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:463
msgid "CONNECT/SSL/HTTPS proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:464
msgid "IRC server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:465
msgid "Streamr client"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:589
msgid "Invalid port"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:466
msgid "Warning - ports less than 1024 are not recommended"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:482
msgid "Standard client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:483
msgid "HTTP client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:484
msgid "IRC client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:485
msgid "Standard server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:486
msgid "HTTP server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:487
msgid "SOCKS 4/4a/5 proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:488
msgid "SOCKS IRC proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:489
msgid "CONNECT/SSL/HTTPS proxy"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:490
msgid "IRC server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:491
msgid "Streamr client"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:492
msgid "Streamr server"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:467
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:493
msgid "HTTP bidir"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:555
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:305
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:581
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:299
msgid "Host not set"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:559
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:287
msgid "Port not set"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:583
msgid "Invalid address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:82
@ -246,14 +260,14 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:127
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:127
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:294
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:288
msgid "Type"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:131
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:131
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:241
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:399
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:393
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:330
msgid "Description"
msgstr ""
@ -798,7 +812,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:192
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:312
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:306
msgid "Status"
msgstr ""
@ -811,30 +825,30 @@ msgid "No Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:199
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:319
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:313
msgid "Starting..."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:206
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:220
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:326
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:340
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:354
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:320
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:334
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:348
msgid "Stop"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:213
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:347
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:341
msgid "Running"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:227
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:361
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:355
msgid "Stopped"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:234
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:368
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:362
msgid "Start"
msgstr ""
@ -843,7 +857,7 @@ msgid "New server tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:409
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:403
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:295
@ -853,7 +867,7 @@ msgid "Standard"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:411
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:405
msgid "Create"
msgstr ""
@ -862,23 +876,23 @@ msgid "I2P Client Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:298
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:292
msgid "Interface"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:333
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:327
msgid "Standby"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:371
msgid "Outproxy"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:394
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:388
msgid "none"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:407
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
msgid "New client tunnel"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,7 @@ public class HomeHelper extends HelperBase {
static final String DEFAULT_FAVORITES =
_x("Bug Reports") + S + _x("Bug tracker") + S + "http://trac.i2p2.i2p/report/1" + S + I + "bug.png" + S +
"colombo-bt.i2p" + S + _x("The Italian Bittorrent Resource") + S + "http://colombo-bt.i2p/" + S + I + "colomboicon.png" + S +
//"colombo-bt.i2p" + S + _x("The Italian Bittorrent Resource") + S + "http://colombo-bt.i2p/" + S + I + "colomboicon.png" + S +
_x("Dev Forum") + S + _x("Development forum") + S + "http://zzz.i2p/" + S + I + "eepsite.png" + S +
_x("diftracker") + S + _x("Bittorrent tracker") + S + "http://diftracker.i2p/" + S + I + "eepsite.png" + S +
"echelon.i2p" + S + _x("I2P Applications") + S + "http://echelon.i2p/" + S + I + "eepsite.png" + S +

View File

@ -3,10 +3,14 @@ package net.i2p.router.web;
import java.io.IOException;
import java.io.Writer;
import java.text.DecimalFormat;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeMap;
import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;
@ -14,18 +18,15 @@ import net.i2p.stat.Frequency;
import net.i2p.stat.FrequencyStat;
import net.i2p.stat.Rate;
import net.i2p.stat.RateStat;
import net.i2p.util.Log;
/**
* Dump the stats to the web admin interface
*/
public class StatsGenerator {
private Log _log;
private RouterContext _context;
public StatsGenerator(RouterContext context) {
_context = context;
_log = context.logManager().getLog(StatsGenerator.class);
}
public void generateStatsPage(Writer out, boolean showAll) throws IOException {
@ -35,10 +36,10 @@ public class StatsGenerator {
out.write(buf.toString());
buf.setLength(0);
Map groups = _context.statManager().getStatsByGroup();
for (Iterator iter = groups.entrySet().iterator(); iter.hasNext(); ) {
Map.Entry entry = (Map.Entry)iter.next();
String group = (String)entry.getKey();
Map<String, SortedSet<String>> unsorted = _context.statManager().getStatsByGroup();
Map<String, Set<String>> groups = new TreeMap(new AlphaComparator());
groups.putAll(unsorted);
for (String group : groups.keySet()) {
buf.append("<option value=\"#").append(group).append("\">");
buf.append(_(group)).append("</option>\n");
// let's just do the groups
@ -66,9 +67,9 @@ public class StatsGenerator {
out.write(buf.toString());
buf.setLength(0);
for (Iterator iter = groups.keySet().iterator(); iter.hasNext(); ) {
String group = (String)iter.next();
Set stats = (Set)groups.get(group);
for (Map.Entry<String, Set<String>> entry : groups.entrySet()) {
String group = entry.getKey();
Set<String> stats = entry.getValue();
buf.append("<h3><a name=\"");
buf.append(group);
buf.append("\">");
@ -77,8 +78,7 @@ public class StatsGenerator {
buf.append("<ul>");
out.write(buf.toString());
buf.setLength(0);
for (Iterator statIter = stats.iterator(); statIter.hasNext(); ) {
String stat = (String)statIter.next();
for (String stat : stats) {
buf.append("<li><b><a name=\"");
buf.append(stat);
buf.append("\">");
@ -250,6 +250,18 @@ public class StatsGenerator {
private final static DecimalFormat _pct = new DecimalFormat("#0.00%");
private final static String pct(double num) { synchronized (_pct) { return _pct.format(num); } }
/**
* Translated sort
* @since 0.9.3
*/
private class AlphaComparator implements Comparator<String> {
public int compare(String lhs, String rhs) {
String lname = _(lhs);
String rname = _(rhs);
return Collator.getInstance().compare(lname, rname);
}
}
/** translate a string */
private String _(String s) {
return Messages.getString(s, _context);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6,20 +6,21 @@
# Translators:
# <colomboi2p@ymail.com>, 2012.
# <jokjok@hotmail.it>, 2011.
# Tony Goodyear <fswitch20@hotmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-25 11:01+0000\n"
"PO-Revision-Date: 2012-05-22 00:15+0000\n"
"Last-Translator: ColomboI2P <colomboi2p@ymail.com>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/I2P/language/"
"POT-Creation-Date: 2012-10-12 00:46+0000\n"
"PO-Revision-Date: 2012-10-11 19:37+0000\n"
"Last-Translator: Tony Goodyear <fswitch20@hotmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/I2P/language/"
"it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
@ -74,60 +75,60 @@ msgstr "Firmato"
msgid "Type {0}"
msgstr "Tipo {0}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:232
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:202
#, 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
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
#, 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
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:211
#, 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
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:220
#, 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
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:236
#, 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/AddressbookBean.java:257
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:412
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/AddressbookBean.java:257
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:268
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:410
msgid "Replace"
msgstr "Sostituisci"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:267
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:238
#, java-format
msgid "Host name {0} is already in address book, unchanged."
msgstr "L''host name {0} è già nella rubrica, nessuna modifica."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:299
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:269
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:240
#, java-format
msgid ""
@ -137,63 +138,63 @@ 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:312
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:282
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:253
#, java-format
msgid "Destination added for {0}."
msgstr "Destinazione aggiunta per {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:284
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:255
#, java-format
msgid "Destination changed for {0}."
msgstr "Destinazione modificata per {0}."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:316
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:286
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:257
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:321
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:291
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:265
msgid "Invalid Base 64 destination."
msgstr "Destinazione in Base 64 non valida."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:327
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:297
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:271
#, java-format
msgid "Invalid host name \"{0}\"."
msgstr "Host name \"{0}\" non valido."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:330
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:300
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:274
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:334
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:355
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:304
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:325
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:270
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:274
msgid "Delete Entry"
msgstr "Elimina voce"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:304
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:347
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:351
msgid "Delete Selected"
msgstr "Elimina Selezione"
#. parameter is a host name
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:348
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:318
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:295
#, java-format
msgid "Destination {0} deleted."
msgstr "Destinazione {0} eliminata."
#. parameter will always be >= 2
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:351
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:321
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:298
#, java-format
msgid "1 destination deleted."
@ -201,24 +202,24 @@ msgid_plural "{0} destinations deleted."
msgstr[0] "1 destinazione eliminata."
msgstr[1] "{0} destinazioni eliminate."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:353
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:323
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:300
msgid "No entries selected to delete."
msgstr "Non è stata selezionata nessuna voce per l'eliminazione."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:361
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:331
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:307
msgid "Address book saved."
msgstr "Rubrica salvata."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:364
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:334
msgid "ERROR: Could not write addressbook file."
msgstr "ERRORE: impossibile scrivere sul file della rubrica."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:369
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:339
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:156
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:128
msgid ""
"Invalid form submission, probably because you used the \"back\" or \"reload"
"\" button on your browser. Please resubmit."
@ -227,9 +228,9 @@ msgstr ""
"\" o \"aggiorna\" del tuo browser. Per favore inviarlo 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:141
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:141
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:103
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Save"
msgstr "Salva"
@ -238,9 +239,9 @@ 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:139
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:139
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:122
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "Reload"
msgstr "Ricarica"
@ -271,18 +272,18 @@ msgstr ""
"Operazione di eliminazione della Destinazione per {0} dal servizio di naming "
"{1} fallita"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:115
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
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:120
msgid "Subscriptions saved."
msgstr "Sottoscrizioni salvate."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:152
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:124
msgid "Subscriptions reloaded."
msgstr "Sottoscrizioni ricaricate."
@ -290,166 +291,166 @@ msgstr "Sottoscrizioni ricaricate."
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:113
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:113
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:147
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:133
msgid "Overview"
msgstr "Panoramica"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:104
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:115
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119
msgid "Address books"
msgstr "Rubriche"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:106
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:117
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:129
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121
msgid "private"
msgstr "privato"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:118
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:108
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:119
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:131
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123
msgid "master"
msgstr "master"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:121
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125
msgid "router"
msgstr "router"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:123
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:112
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:123
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127
msgid "published"
msgstr "pubblicato"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:124
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:114
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:129
msgid "Subscriptions"
msgstr "Sottoscrizioni"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:141
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:116
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:127
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:139
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:131
msgid "Configuration"
msgstr "Configurazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:149
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:134
msgid "Address book"
msgstr "Rubrica"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:135
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:154
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:139
msgid "Storage"
msgstr "Deposito"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:168
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:172
msgid "Filter"
msgstr "Filtro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:171
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:175
msgid "other"
msgstr "altro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:173
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:177
msgid "all"
msgstr "tutto"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:187
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:191
msgid "Current filter"
msgstr "Filtro corrente"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:192
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:196
msgid "clear filter"
msgstr "cancella il filtro"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:205
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:209
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:213
msgid "Search"
msgstr "Ricerca"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:246
msgid "Name"
msgstr "Nome"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:244
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:248
msgid "Links"
msgstr "Collegamenti"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:246
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:262
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:250
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:266
msgid "Destination"
msgstr "Destinazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:282
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:286
msgid "Mark for deletion"
msgstr "Marca per la rimozione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:303
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
msgid "Base 32 address"
msgstr "indirizzo in Base 32"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:311
msgid "More information on this entry"
msgstr "Più informazioni su questa voce"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:310
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
msgid "details"
msgstr "dettagli"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:349
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
msgid "Cancel"
msgstr "Annulla"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:379
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:383
msgid "This address book is empty."
msgstr "Questa rubrica è vuota."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:394
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:398
msgid "Add new destination"
msgstr "Aggiungi una nuova destinazione"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:396
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:161
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:165
msgid "Host Name"
msgstr "Host Name"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:111
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:119
msgid "configuration"
msgstr "configurazione"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155
msgid "Hints"
msgstr "Suggerimenti"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:145
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:157
msgid ""
"File and directory paths here are relative to the addressbook's working "
"directory, which is normally ~/.i2p/addressbook/ (Linux) or %APPDATA%\\I2P"
@ -459,7 +460,7 @@ msgstr ""
"uso, che normalmente è ~/.i2p/addressbook/ (Linux) o %APPDATA%\\I2P"
"\\addressbook\\ (Windows)."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:147
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159
msgid ""
"If you want to manually add lines to an addressbook, add them to the private "
"or master addressbooks."
@ -467,7 +468,7 @@ 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:148
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:160
msgid ""
"The router addressbook and the published addressbook are updated by the "
"addressbook application."
@ -475,7 +476,7 @@ msgstr ""
"La rubrica del router e la rubrica pubblicata sono aggiornate "
"dall'applicazione rubrica stessa."
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:150
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:162
msgid ""
"When you publish your addressbook, ALL destinations from the master and "
"router addressbooks appear there."
@ -483,7 +484,7 @@ 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:151
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163
msgid ""
"Use the private addressbook for private destinations, these are not "
"published."
@ -491,21 +492,21 @@ 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:153
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:165
msgid "Options"
msgstr "Opzioni"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:155
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:167
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:157
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:169
msgid "Update interval in hours"
msgstr "Imposta l'intervallo in ore"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:159
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:171
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
@ -513,31 +514,31 @@ msgstr ""
"Il tuo file hosts.txt pubblico (scegli un percorso all'interno della root "
"dei documenti del tuo webserver)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:161
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173
msgid "Your hosts.txt (don't change)"
msgstr "Il tuo hosts.txt (non modificare)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:163
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175
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:165
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:177
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:167
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:179
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:169
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:181
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:171
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:183
msgid "Whether to update the published addressbook"
msgstr "Se aggiornare o meno la rubrica pubblicata"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:173
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:185
msgid ""
"File containing the etags header from the fetched subscription URLs (no need "
"to change)"
@ -545,7 +546,7 @@ msgstr ""
"File contenente gli header degli etags recuperati dagli URL delle "
"sottoscrizioni (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:175
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:187
msgid ""
"File containing the modification timestamp for each fetched subscription URL "
"(no need to change)"
@ -553,83 +554,87 @@ msgstr ""
"File contenente il timestamp delle modifiche per ogni URL di sottoscrizione "
"recuperato (non necessita modifiche)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:177
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:189
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/config_jsp.java:191
msgid "Name of the theme to use (defaults to 'light')"
msgstr "Nome del tema in uso ( predefinto \"chiaro\")"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
msgid "addressbook"
msgstr "rubrica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:177
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:181
msgid "Encoded Name"
msgstr "Nome cifrato"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:193
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:197
msgid "Base 32 Address"
msgstr "Indirizzo in Base 32"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:203
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "Base 64 Hash"
msgstr "Base 64 Hash"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:209
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "Address Helper"
msgstr "Assistente Indirizzo"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:216
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
msgid "link"
msgstr "collegamento"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:224
msgid "Public Key"
msgstr "Chiave Pubblica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:222
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
msgid "ElGamal 2048 bit"
msgstr "ElGamal 2048 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:230
msgid "Signing Key"
msgstr "Chiave per la Firma"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:228
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
msgid "DSA 1024 bit"
msgstr "DSA 1024 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:236
msgid "Certificate"
msgstr "Certificato"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:238
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:242
msgid "Added Date"
msgstr "Data aggiunta"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:244
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:248
msgid "Source"
msgstr "Sorgente"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:250
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:254
msgid "Last Modified"
msgstr "Ultima Modifica"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:256
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:260
msgid "Notes"
msgstr "Note"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:102
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:110
msgid "Introduction"
msgstr "Introduzione"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:120
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132
msgid "What is the addressbook?"
msgstr "Cos'è la rubrica?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:122
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134
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:123
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:135
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
@ -637,7 +642,7 @@ msgstr ""
"Aggiorna regolarmente il tuo file hosts.txt da fonti distribuite o "
"\"sottoscrizioni\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:125
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:137
msgid ""
"In the default configuration, the address book is only subscribed to www."
"i2p2.i2p."
@ -645,7 +650,7 @@ msgstr ""
"Nella configurazione di default, la rubrica è sottoscritta solamente a www."
"i2p2.i2p."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:126
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:138
msgid ""
"Subscribing to additional sites is easy, just add them to your <a href="
"\"subscriptions\">subscriptions</a> file."
@ -653,7 +658,7 @@ msgstr ""
"Sottoscriversi a siti addizionali è semplice, basta aggiungerli al vostro "
"file delle <a href=\"subscriptions\">sottoscrizioni</a>"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:128
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:140
msgid ""
"For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
"naming.html\">the overview on www.i2p2.i2p</a>."
@ -661,11 +666,11 @@ msgstr ""
"Per più informazioni sul naming in I2P, vedere la <a href=\"http://www.i2p2."
"i2p/naming.html\">panoramica su www.i2p2.i2p</a>."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:130
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:142
msgid "How does the addressbook application work?"
msgstr "Come funziona l'applicazione rubrica?"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:132
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:144
msgid ""
"The addressbook application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
@ -673,13 +678,13 @@ msgstr ""
"L'applicazione rubrica sonda regolarmente le tue sottoscrizioni e fonde il "
"loro contenuto nella rubrica \"router\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:133
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:145
msgid ""
"Then it merges your \"master\" address book into the router address book as "
"well."
msgstr "A questo punto fonde la tua rubrica \"master\" nella rubrica router."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:134
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:146
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."
@ -688,7 +693,7 @@ msgstr ""
"\"pubblicato\", che sarà disponibile pubblicamente se hai in esecuzione un "
"eepsite."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:136
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:148
msgid ""
"The router also uses a private address book (not shown in the picture), "
"which is not merged or published."
@ -696,7 +701,7 @@ msgstr ""
"Il router utilizza inoltre una rubrica privata (non mostrata nell'immagine) "
"che non viene fusa con niente nè pubblicata."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:137
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:149
msgid ""
"Hosts in the private address book can be accessed by you but their addresses "
"are never distributed to others."
@ -704,7 +709,7 @@ msgstr ""
"Puoi accedere agli host nella rubrica privata ma i loro indirizzi non "
"vengono mai distribuiti ad altri. "
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:138
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:150
msgid ""
"The private address book can also be used for aliases of hosts in your other "
"address books."
@ -716,22 +721,22 @@ msgstr ""
msgid "subscriptions"
msgstr "sottoscrizioni"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:147
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:144
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:148
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:145
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:149
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:146
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:150
msgid ""
"The default subscription is the hosts.txt from www.i2p2.i2p, which is "
"updated infrequently."
@ -739,7 +744,7 @@ 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:147
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:151
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
@ -747,6 +752,6 @@ msgstr ""
"Quindi è una buona idea aggiungere sottoscrizioni addizionali a siti che "
"hanno gli indirizzi più recenti."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:149
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:153
msgid "See the FAQ for a list of subscription URLs."
msgstr "Vedi le FAQ per una lista di indirizzi URL di sottoscrizione."

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-25 11:01+0000\n"
"POT-Creation-Date: 2012-10-12 00:46+0000\n"
"PO-Revision-Date: 2012-05-21 21:49+0000\n"
"Last-Translator: ColomboI2P <colomboi2p@ymail.com>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/I2P/language/"
@ -21,430 +21,430 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: src/src/i2p/susi/webmail/WebMail.java:435
#: src/src/i2p/susi/webmail/WebMail.java:445
msgid "unknown"
msgstr "sconosciuto"
#: src/src/i2p/susi/webmail/WebMail.java:454
#: src/src/i2p/susi/webmail/WebMail.java:464
msgid "Warning: no transfer encoding found, fallback to 7bit."
msgstr "Attenzione: nessuna codifica di trasferimento trovata, ritorno a 7bit."
#: src/src/i2p/susi/webmail/WebMail.java:459
#: src/src/i2p/susi/webmail/WebMail.java:469
#, java-format
msgid "No encoder found for encoding \\''{0}\\''."
msgstr "Nessun codificatore trovato per la codifica \\\"{0}\\\"."
#: src/src/i2p/susi/webmail/WebMail.java:465
#: src/src/i2p/susi/webmail/WebMail.java:475
msgid "Warning: no charset found, fallback to US-ASCII."
msgstr "Attenzione: nessun charset trovato, ritorno a US-ASCII."
#: src/src/i2p/susi/webmail/WebMail.java:479
#: src/src/i2p/susi/webmail/WebMail.java:489
#, java-format
msgid "Charset \\''{0}\\'' not supported."
msgstr "Charset \\\"{0}\\\" non supportato."
#: src/src/i2p/susi/webmail/WebMail.java:483
#: src/src/i2p/susi/webmail/WebMail.java:493
#, java-format
msgid "Part ({0}) not shown, because of {1}"
msgstr "Parte ({0}) non mostrata, a causa di {1}"
#: src/src/i2p/susi/webmail/WebMail.java:506
#: src/src/i2p/susi/webmail/WebMail.java:516
msgid "Download"
msgstr "Download"
#: src/src/i2p/susi/webmail/WebMail.java:506
#: src/src/i2p/susi/webmail/WebMail.java:516
msgid "File is packed into a zipfile for security reasons."
msgstr "Il file è compresso in formato zip per ragioni di sicurezza."
#: src/src/i2p/susi/webmail/WebMail.java:506
#: src/src/i2p/susi/webmail/WebMail.java:516
#, java-format
msgid "attachment ({0})."
msgstr "allegato ({0})."
#: src/src/i2p/susi/webmail/WebMail.java:510
#: src/src/i2p/susi/webmail/WebMail.java:520
#, java-format
msgid "Attachment ({0})."
msgstr "Allegato ({0})."
#: src/src/i2p/susi/webmail/WebMail.java:560
#: src/src/i2p/susi/webmail/WebMail.java:570
msgid "Need username for authentication."
msgstr "Serve l'username per l'autenticazione."
#: src/src/i2p/susi/webmail/WebMail.java:564
#: src/src/i2p/susi/webmail/WebMail.java:574
msgid "Need password for authentication."
msgstr "Serve la password per l'autenticazione."
#: src/src/i2p/susi/webmail/WebMail.java:568
#: src/src/i2p/susi/webmail/WebMail.java:578
msgid "Need hostname for connect."
msgstr "Serve l'hostname per connettersi"
#: src/src/i2p/susi/webmail/WebMail.java:573
#: src/src/i2p/susi/webmail/WebMail.java:583
msgid "Need port number for pop3 connect."
msgstr "Serve il numero di porta per connettersi con pop3."
#: src/src/i2p/susi/webmail/WebMail.java:580
#: src/src/i2p/susi/webmail/WebMail.java:590
msgid "POP3 port number is not in range 0..65535."
msgstr "Il numero di porta POP3 non è nell'intervallo 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:586
#: src/src/i2p/susi/webmail/WebMail.java:596
msgid "POP3 port number is invalid."
msgstr "Il numero di porta POP3 non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:592
#: src/src/i2p/susi/webmail/WebMail.java:602
msgid "Need port number for smtp connect."
msgstr "Serve il numero di porta per connettersi con smtp."
#: src/src/i2p/susi/webmail/WebMail.java:599
#: src/src/i2p/susi/webmail/WebMail.java:609
msgid "SMTP port number is not in range 0..65535."
msgstr "Il numero di porta SMTP non è nell'intervallo 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:605
#: src/src/i2p/susi/webmail/WebMail.java:615
msgid "SMTP port number is invalid."
msgstr "Il numero di porta SMTP non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:652
#: src/src/i2p/susi/webmail/WebMail.java:662
msgid "User logged out."
msgstr "Utente disconnesso."
#: src/src/i2p/susi/webmail/WebMail.java:656
#: src/src/i2p/susi/webmail/WebMail.java:666
msgid "Internal error, lost connection."
msgstr "Errore interno, connessione persa."
#: src/src/i2p/susi/webmail/WebMail.java:752
#: src/src/i2p/susi/webmail/WebMail.java:762
#, java-format
msgid "On {0} {1} wrote:"
msgstr "Su {0} {1} scritto:"
#: src/src/i2p/susi/webmail/WebMail.java:799
#: src/src/i2p/susi/webmail/WebMail.java:809
msgid "begin forwarded mail"
msgstr "inizia mail inoltrata"
#: src/src/i2p/susi/webmail/WebMail.java:821
#: src/src/i2p/susi/webmail/WebMail.java:831
msgid "end forwarded mail"
msgstr "concludi mail inoltrata"
#: src/src/i2p/susi/webmail/WebMail.java:828
#: src/src/i2p/susi/webmail/WebMail.java:1701
#: src/src/i2p/susi/webmail/WebMail.java:838
#: src/src/i2p/susi/webmail/WebMail.java:1731
msgid "Could not fetch mail body."
msgstr "Non è stato possibile prendere il corpo della mail."
#: src/src/i2p/susi/webmail/WebMail.java:856
#: src/src/i2p/susi/webmail/WebMail.java:866
msgid "Message id not valid."
msgstr "L'id del messaggio non è valido."
#: src/src/i2p/susi/webmail/WebMail.java:939
#: src/src/i2p/susi/webmail/WebMail.java:949
#, java-format
msgid "No Encoding found for {0}"
msgstr "Nessuna Codifica trovata per {0}"
#: src/src/i2p/susi/webmail/WebMail.java:943
#: src/src/i2p/susi/webmail/WebMail.java:953
#, java-format
msgid "Could not encode data: {0}"
msgstr "Non è stato possibile codificare i dati: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:948
#: src/src/i2p/susi/webmail/WebMail.java:958
#, java-format
msgid "Error reading uploaded file: {0}"
msgstr "Errore nella lettura del file inviato: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1026
#: src/src/i2p/susi/webmail/WebMail.java:1036
msgid "Error parsing download parameter."
msgstr "Errore durante l'analisi del parametro di download."
#: src/src/i2p/susi/webmail/WebMail.java:1070
#: src/src/i2p/susi/webmail/WebMail.java:1080
msgid "Invalid pagesize number, resetting to default value."
msgstr ""
"Numero di dimensione di pagina invalido, ripristino al valore di default in "
"corso."
#: src/src/i2p/susi/webmail/WebMail.java:1094
#: src/src/i2p/susi/webmail/WebMail.java:1104
msgid "No messages marked for deletion."
msgstr "Nessun messaggio segnato per l'eliminazione."
#: src/src/i2p/susi/webmail/WebMail.java:1114
#: src/src/i2p/susi/webmail/WebMail.java:1124
#, java-format
msgid "Error deleting message: {0}"
msgstr "Errore durante la rimozione del messaggio: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1125
#: src/src/i2p/susi/webmail/WebMail.java:1135
#, java-format
msgid "1 message deleted."
msgid_plural "{0} messages deleted."
msgstr[0] "1 messaggio eliminato."
msgstr[1] "{0} messaggi eliminati."
#: src/src/i2p/susi/webmail/WebMail.java:1248
#: src/src/i2p/susi/webmail/WebMail.java:1585
#: src/src/i2p/susi/webmail/WebMail.java:1278
#: src/src/i2p/susi/webmail/WebMail.java:1615
msgid "Login"
msgstr "Login"
#: src/src/i2p/susi/webmail/WebMail.java:1250
#: src/src/i2p/susi/webmail/WebMail.java:1280
#, java-format
msgid "1 Message"
msgid_plural "{0} Messages"
msgstr[0] "1 Messaggio"
msgstr[1] "{0} Messaggi"
#: src/src/i2p/susi/webmail/WebMail.java:1252
#: src/src/i2p/susi/webmail/WebMail.java:1282
msgid "Show Message"
msgstr "Mostra Messaggio"
#: src/src/i2p/susi/webmail/WebMail.java:1314
#: src/src/i2p/susi/webmail/WebMail.java:1344
#, java-format
msgid "Error decoding content: {0}"
msgstr "Errore nella decodifica del contenuto: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1319
#: src/src/i2p/susi/webmail/WebMail.java:1349
msgid "Error decoding content: No encoder found."
msgstr "Errore nella decodifica del contenuto: Nessun codificatore trovato"
#: src/src/i2p/susi/webmail/WebMail.java:1366
#: src/src/i2p/susi/webmail/WebMail.java:1396
msgid "no subject"
msgstr "nessun soggetto"
#: src/src/i2p/susi/webmail/WebMail.java:1383
#: src/src/i2p/susi/webmail/WebMail.java:1413
msgid "Found no valid sender address."
msgstr "Non è stato trovato nessun indirizzo mittente valido."
#: src/src/i2p/susi/webmail/WebMail.java:1389
#: src/src/i2p/susi/webmail/WebMail.java:1419
#, java-format
msgid "Found no valid address in \\''{0}\\''."
msgstr "Non è stato trovato nessun indirizzo valido in \\\"{0}\\\"."
#: src/src/i2p/susi/webmail/WebMail.java:1408
#: src/src/i2p/susi/webmail/WebMail.java:1438
msgid "No recipients found."
msgstr "Nessun destinatario trovato."
#: src/src/i2p/susi/webmail/WebMail.java:1415
#: src/src/i2p/susi/webmail/WebMail.java:1445
msgid "Quoted printable encoder not available."
msgstr "Codificatore stampabile citato non disponibile."
#: src/src/i2p/susi/webmail/WebMail.java:1420
#: src/src/i2p/susi/webmail/WebMail.java:1450
msgid "Header line encoder not available."
msgstr "Codificatore linea di testata non disponibile."
#: src/src/i2p/susi/webmail/WebMail.java:1471
#: src/src/i2p/susi/webmail/WebMail.java:1501
msgid "Mail sent."
msgstr "Mail inviata."
#: src/src/i2p/susi/webmail/WebMail.java:1510
#: src/src/i2p/susi/webmail/WebMail.java:1540
msgid "Send"
msgstr "Invia"
#: src/src/i2p/susi/webmail/WebMail.java:1511
#: src/src/i2p/susi/webmail/WebMail.java:1541
msgid "Cancel"
msgstr "Annulla"
#: src/src/i2p/susi/webmail/WebMail.java:1512
#: src/src/i2p/susi/webmail/WebMail.java:1542
msgid "Delete Attachment"
msgstr "Elimina Allegato"
#: src/src/i2p/susi/webmail/WebMail.java:1513
#: src/src/i2p/susi/webmail/WebMail.java:1607
#: src/src/i2p/susi/webmail/WebMail.java:1688
#: src/src/i2p/susi/webmail/WebMail.java:1543
#: src/src/i2p/susi/webmail/WebMail.java:1637
#: src/src/i2p/susi/webmail/WebMail.java:1718
msgid "Reload Config"
msgstr "Ricarica Configurazione"
#: src/src/i2p/susi/webmail/WebMail.java:1514
#: src/src/i2p/susi/webmail/WebMail.java:1608
#: src/src/i2p/susi/webmail/WebMail.java:1689
#: src/src/i2p/susi/webmail/WebMail.java:1544
#: src/src/i2p/susi/webmail/WebMail.java:1638
#: src/src/i2p/susi/webmail/WebMail.java:1719
msgid "Logout"
msgstr "Disconnettiti"
#: src/src/i2p/susi/webmail/WebMail.java:1537
#: src/src/i2p/susi/webmail/WebMail.java:1693
#: src/src/i2p/susi/webmail/WebMail.java:1567
#: src/src/i2p/susi/webmail/WebMail.java:1723
msgid "From:"
msgstr "Da:"
#: src/src/i2p/susi/webmail/WebMail.java:1538
#: src/src/i2p/susi/webmail/WebMail.java:1568
msgid "To:"
msgstr "A:"
#: src/src/i2p/susi/webmail/WebMail.java:1539
#: src/src/i2p/susi/webmail/WebMail.java:1569
msgid "Cc:"
msgstr "Cc:"
#: src/src/i2p/susi/webmail/WebMail.java:1540
#: src/src/i2p/susi/webmail/WebMail.java:1570
msgid "Bcc:"
msgstr "Bcc:"
#: src/src/i2p/susi/webmail/WebMail.java:1541
#: src/src/i2p/susi/webmail/WebMail.java:1695
#: src/src/i2p/susi/webmail/WebMail.java:1571
#: src/src/i2p/susi/webmail/WebMail.java:1725
msgid "Subject:"
msgstr "Soggetto:"
#: src/src/i2p/susi/webmail/WebMail.java:1542
#: src/src/i2p/susi/webmail/WebMail.java:1572
msgid "Bcc to self"
msgstr "Bcc a se stessi"
#: src/src/i2p/susi/webmail/WebMail.java:1545
#: src/src/i2p/susi/webmail/WebMail.java:1575
msgid "New Attachment:"
msgstr "Nuovo Allegato"
#: src/src/i2p/susi/webmail/WebMail.java:1545
#: src/src/i2p/susi/webmail/WebMail.java:1575
msgid "Upload File"
msgstr "Invia File"
#: src/src/i2p/susi/webmail/WebMail.java:1551
#: src/src/i2p/susi/webmail/WebMail.java:1581
msgid "Attachments:"
msgstr "Allegati:"
#. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:1574
#: src/src/i2p/susi/webmail/WebMail.java:1604
msgid "User"
msgstr "Utente"
#: src/src/i2p/susi/webmail/WebMail.java:1575
#: src/src/i2p/susi/webmail/WebMail.java:1605
msgid "Password"
msgstr "Password"
#: src/src/i2p/susi/webmail/WebMail.java:1580
#: src/src/i2p/susi/webmail/WebMail.java:1610
msgid "Host"
msgstr "Host"
#: src/src/i2p/susi/webmail/WebMail.java:1581
#: src/src/i2p/susi/webmail/WebMail.java:1611
msgid "POP3-Port"
msgstr "Porta POP3"
#: src/src/i2p/susi/webmail/WebMail.java:1582
#: src/src/i2p/susi/webmail/WebMail.java:1612
msgid "SMTP-Port"
msgstr "Porta SMTP"
#: src/src/i2p/susi/webmail/WebMail.java:1585
#: src/src/i2p/susi/webmail/WebMail.java:1615
msgid "Reset"
msgstr "Reset"
#: src/src/i2p/susi/webmail/WebMail.java:1586
#: src/src/i2p/susi/webmail/WebMail.java:1616
msgid "Learn about I2P mail"
msgstr "Ulteriori informazioni sulla mail I2P"
#: src/src/i2p/susi/webmail/WebMail.java:1587
#: src/src/i2p/susi/webmail/WebMail.java:1617
msgid "Create Account"
msgstr "Crea Account"
#: src/src/i2p/susi/webmail/WebMail.java:1599
#: src/src/i2p/susi/webmail/WebMail.java:1629
msgid "Really delete the marked messages?"
msgstr "Eliminare veramente i messaggi selezionati?"
#: src/src/i2p/susi/webmail/WebMail.java:1599
#: src/src/i2p/susi/webmail/WebMail.java:1629
msgid "Yes, really delete them!"
msgstr "Sì,eliminali per davvero!"
#: src/src/i2p/susi/webmail/WebMail.java:1601
#: src/src/i2p/susi/webmail/WebMail.java:1680
#: src/src/i2p/susi/webmail/WebMail.java:1631
#: src/src/i2p/susi/webmail/WebMail.java:1710
msgid "New"
msgstr "Nuovo"
#: src/src/i2p/susi/webmail/WebMail.java:1602
#: src/src/i2p/susi/webmail/WebMail.java:1681
#: src/src/i2p/susi/webmail/WebMail.java:1632
#: src/src/i2p/susi/webmail/WebMail.java:1711
msgid "Reply"
msgstr "Rispondi"
#: src/src/i2p/susi/webmail/WebMail.java:1603
#: src/src/i2p/susi/webmail/WebMail.java:1682
#: src/src/i2p/susi/webmail/WebMail.java:1633
#: src/src/i2p/susi/webmail/WebMail.java:1712
msgid "Reply All"
msgstr "Rispondi A Tutti"
#: src/src/i2p/susi/webmail/WebMail.java:1604
#: src/src/i2p/susi/webmail/WebMail.java:1683
#: src/src/i2p/susi/webmail/WebMail.java:1634
#: src/src/i2p/susi/webmail/WebMail.java:1713
msgid "Forward"
msgstr "Inoltra"
#: src/src/i2p/susi/webmail/WebMail.java:1605
#: src/src/i2p/susi/webmail/WebMail.java:1684
#: src/src/i2p/susi/webmail/WebMail.java:1635
#: src/src/i2p/susi/webmail/WebMail.java:1714
msgid "Delete"
msgstr "Elimina"
#: src/src/i2p/susi/webmail/WebMail.java:1606
#: src/src/i2p/susi/webmail/WebMail.java:1636
msgid "Check Mail"
msgstr "Controlla Mail"
#: src/src/i2p/susi/webmail/WebMail.java:1610
#: src/src/i2p/susi/webmail/WebMail.java:1640
msgid "Sender"
msgstr "Mittente"
#: src/src/i2p/susi/webmail/WebMail.java:1611
#: src/src/i2p/susi/webmail/WebMail.java:1641
msgid "Subject"
msgstr "Soggetto"
#: src/src/i2p/susi/webmail/WebMail.java:1612
#: src/src/i2p/susi/webmail/WebMail.java:1642
msgid "Date"
msgstr "Data"
#: src/src/i2p/susi/webmail/WebMail.java:1613
#: src/src/i2p/susi/webmail/WebMail.java:1643
msgid "Size"
msgstr "Dimensione"
#: src/src/i2p/susi/webmail/WebMail.java:1639
#: src/src/i2p/susi/webmail/WebMail.java:1669
#, java-format
msgid "1 Byte"
msgid_plural "{0} Bytes"
msgstr[0] "1 Byte"
msgstr[1] "{0} Bytes"
#: src/src/i2p/susi/webmail/WebMail.java:1644
#: src/src/i2p/susi/webmail/WebMail.java:1674
msgid "Mark All"
msgstr "Segna Tutti"
#: src/src/i2p/susi/webmail/WebMail.java:1645
#: src/src/i2p/susi/webmail/WebMail.java:1675
msgid "Invert Selection"
msgstr "Inverti Selezione"
#: src/src/i2p/susi/webmail/WebMail.java:1646
#: src/src/i2p/susi/webmail/WebMail.java:1676
msgid "Clear"
msgstr "Cancella"
#: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1650
#: src/src/i2p/susi/webmail/WebMail.java:1679
#: src/src/i2p/susi/webmail/WebMail.java:1680
msgid "First"
msgstr "Primo"
#: src/src/i2p/susi/webmail/WebMail.java:1649
#: src/src/i2p/susi/webmail/WebMail.java:1650
#: src/src/i2p/susi/webmail/WebMail.java:1685
#: src/src/i2p/susi/webmail/WebMail.java:1679
#: src/src/i2p/susi/webmail/WebMail.java:1680
#: src/src/i2p/susi/webmail/WebMail.java:1715
msgid "Previous"
msgstr "Precedente"
#: src/src/i2p/susi/webmail/WebMail.java:1651
#: src/src/i2p/susi/webmail/WebMail.java:1681
#, java-format
msgid "Page {0} of {1}"
msgstr "Pagina {0} di {1}"
#: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1654
#: src/src/i2p/susi/webmail/WebMail.java:1683
#: src/src/i2p/susi/webmail/WebMail.java:1684
msgid "Last"
msgstr "Ultimo"
#: src/src/i2p/susi/webmail/WebMail.java:1653
#: src/src/i2p/susi/webmail/WebMail.java:1654
#: src/src/i2p/susi/webmail/WebMail.java:1686
#: src/src/i2p/susi/webmail/WebMail.java:1683
#: src/src/i2p/susi/webmail/WebMail.java:1684
#: src/src/i2p/susi/webmail/WebMail.java:1716
msgid "Next"
msgstr "Successivo"
#: src/src/i2p/susi/webmail/WebMail.java:1657
#: src/src/i2p/susi/webmail/WebMail.java:1687
msgid "Pagesize:"
msgstr "Dimensione di Pagina:"
#: src/src/i2p/susi/webmail/WebMail.java:1658
#: src/src/i2p/susi/webmail/WebMail.java:1688
msgid "Set"
msgstr "Imposta"
#: src/src/i2p/susi/webmail/WebMail.java:1668
#: src/src/i2p/susi/webmail/WebMail.java:1698
msgid "Really delete this message?"
msgstr "Eliminare per davvero questo messaggio?"
#: src/src/i2p/susi/webmail/WebMail.java:1668
#: src/src/i2p/susi/webmail/WebMail.java:1698
msgid "Yes, really delete it!"
msgstr "Sì, eliminalo per davvero!"
#: src/src/i2p/susi/webmail/WebMail.java:1687
#: src/src/i2p/susi/webmail/WebMail.java:1717
msgid "Back to Folder"
msgstr "Torna alla Cartella"
#: src/src/i2p/susi/webmail/WebMail.java:1694
#: src/src/i2p/susi/webmail/WebMail.java:1724
msgid "Date:"
msgstr "Data:"
#: src/src/i2p/susi/webmail/WebMail.java:1705
#: src/src/i2p/susi/webmail/WebMail.java:1735
msgid "Could not fetch mail."
msgstr "Non è stato possibile recuperare la mail"

View File

@ -1,12 +1,11 @@
package net.i2p.stat;
import java.text.Collator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
@ -212,19 +211,28 @@ public class StatManager {
return _frequencyStats.containsKey(statName);
}
/** Group name (String) to a Set of stat names, ordered alphabetically */
/**
* Group name (untranslated String) to a SortedSet of untranslated stat names.
* Map is unsorted.
*/
public Map<String, SortedSet<String>> getStatsByGroup() {
Map<String, SortedSet<String>> groups = new TreeMap(Collator.getInstance());
for (Iterator<FrequencyStat> iter = _frequencyStats.values().iterator(); iter.hasNext();) {
FrequencyStat stat = iter.next();
if (!groups.containsKey(stat.getGroupName())) groups.put(stat.getGroupName(), new TreeSet());
Set<String> names = groups.get(stat.getGroupName());
Map<String, SortedSet<String>> groups = new HashMap(32);
for (FrequencyStat stat : _frequencyStats.values()) {
String gname = stat.getGroupName();
SortedSet<String> names = groups.get(gname);
if (names == null) {
names = new TreeSet();
groups.put(gname, names);
}
names.add(stat.getName());
}
for (Iterator<RateStat> iter = _rateStats.values().iterator(); iter.hasNext();) {
RateStat stat = iter.next();
if (!groups.containsKey(stat.getGroupName())) groups.put(stat.getGroupName(), new TreeSet());
Set<String> names = groups.get(stat.getGroupName());
for (RateStat stat : _rateStats.values()) {
String gname = stat.getGroupName();
SortedSet<String> names = groups.get(gname);
if (names == null) {
names = new TreeSet();
groups.put(gname, names);
}
names.add(stat.getName());
}
return groups;

View File

@ -16,6 +16,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Arrays;
/**
* Passes a command to the OS shell for execution and manages the input and
@ -27,55 +28,49 @@ import java.io.OutputStreamWriter;
*/
public class ShellCommand {
private static final boolean DEBUG = false;
private static final boolean CONSUME_OUTPUT = true;
private static final boolean NO_CONSUME_OUTPUT = false;
private static final boolean WAIT_FOR_EXIT_STATUS = true;
private static final boolean NO_WAIT_FOR_EXIT_STATUS = false;
private boolean _commandSuccessful;
private boolean _commandCompleted;
private CommandThread _commandThread;
// Following are unused, only for NO_CONSUME_OUTPUT;
// need synchronization or volatile or something if we start using it.
private InputStream _errorStream;
private InputStream _inputStream;
private boolean _isTimerRunning;
private OutputStream _outputStream;
private Process _process;
/** @since 0.9.3 */
private static class Result {
public volatile boolean commandSuccessful;
}
/**
* Executes a shell command in its own thread.
* Use caution when repeatedly calling execute methods with the same object
* as there are some globals here...
*
* @author hypercubus
*/
private class CommandThread extends Thread {
private final Object caller;
private final boolean consumeOutput;
private final Object shellCommand;
private final Result result;
/**
* @param shellCommand either a String or a String[] (since 0.8.3)
* @param consumeOutput always true, false is unused, possibly untested
* @param result out parameter
*/
CommandThread(Object caller, Object shellCommand, boolean consumeOutput) {
super("CommandThread");
this.caller = caller;
CommandThread(Object shellCommand, boolean consumeOutput, Result result) {
super("ShellCommand Executor");
this.shellCommand = shellCommand;
this.consumeOutput = consumeOutput;
this.result = result;
}
@Override
public void run() {
// FIXME these will corrupt the globals if the command times out and the caller
// makes another request with the same object.
_commandSuccessful = execute(shellCommand, consumeOutput, WAIT_FOR_EXIT_STATUS);
_commandCompleted = true;
if (_isTimerRunning) {
synchronized(caller) {
caller.notifyAll(); // In case the caller is still in the wait() state.
}
}
result.commandSuccessful = execute(shellCommand, consumeOutput, WAIT_FOR_EXIT_STATUS);
}
}
@ -90,19 +85,16 @@ public class ShellCommand {
* @author hypercubus
*/
private static class StreamConsumer extends Thread {
private BufferedReader bufferedReader;
private InputStreamReader inputStreamReader;
private final BufferedReader bufferedReader;
public StreamConsumer(InputStream inputStream) {
super("StreamConsumer");
this.inputStreamReader = new InputStreamReader(inputStream);
super("ShellCommand Consumer");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
this.bufferedReader = new BufferedReader(inputStreamReader);
}
@Override
public void run() {
try {
while ((bufferedReader.readLine()) != null) {
// Just like a Hoover.
@ -119,27 +111,25 @@ public class ShellCommand {
* Reads data from a <code>java.io.InputStream</code> and writes it to
* <code>STDOUT</code>.
*
* UNUSED, only for NO_CONSUME_OUTPUT
*
* @author hypercubus
*/
private static class StreamReader extends Thread {
private BufferedReader bufferedReader;
private InputStreamReader inputStreamReader;
private final BufferedReader bufferedReader;
public StreamReader(InputStream inputStream) {
super("StreamReader");
this.inputStreamReader = new InputStreamReader(inputStream);
super("ShellCommand Reader");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
this.bufferedReader = new BufferedReader(inputStreamReader);
}
@Override
public void run() {
char[] buffer = new char[BUFFER_SIZE];
int bytesRead;
try {
while (true)
while ((bytesRead = bufferedReader.read(buffer, 0, BUFFER_SIZE)) != -1)
for (int i = 0; i < bytesRead; i++)
@ -155,30 +145,26 @@ public class ShellCommand {
* Reads data from <code>STDIN</code> and writes it to a
* <code>java.io.OutputStream</code>.
*
* UNUSED, only for NO_CONSUME_OUTPUT
*
* @author hypercubus
*/
private static class StreamWriter extends Thread {
private BufferedWriter bufferedWriter;
private BufferedReader in;
private OutputStreamWriter outputStreamWriter;
private final BufferedWriter bufferedWriter;
public StreamWriter(OutputStream outputStream) {
super("StreamWriter");
this.outputStreamWriter = new OutputStreamWriter(outputStream);
super("ShellCommand Writer");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
this.bufferedWriter = new BufferedWriter(outputStreamWriter);
}
@Override
public void run() {
String input;
in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
while (true) {
input = in.readLine() + "\r\n";
bufferedWriter.write(input, 0, input.length());
bufferedWriter.write(in.readLine());
bufferedWriter.write("\r\n");
bufferedWriter.flush();
}
} catch (IOException e) {
@ -226,11 +212,7 @@ public class ShellCommand {
* else <code>false</code>.
*/
public boolean executeAndWait(String shellCommand) {
if (execute(shellCommand, NO_CONSUME_OUTPUT, WAIT_FOR_EXIT_STATUS))
return true;
return false;
return execute(shellCommand, NO_CONSUME_OUTPUT, WAIT_FOR_EXIT_STATUS);
}
/**
@ -254,29 +236,20 @@ public class ShellCommand {
* returns an exit status of 0 (indicating success),
* else <code>false</code>.
*/
public synchronized boolean executeAndWaitTimed(String shellCommand, int seconds) {
_commandThread = new CommandThread(this, shellCommand, NO_CONSUME_OUTPUT);
_commandThread.start();
public boolean executeAndWaitTimed(String shellCommand, int seconds) {
Result result = new Result();
Thread commandThread = new CommandThread(shellCommand, NO_CONSUME_OUTPUT, result);
commandThread.start();
try {
if (seconds > 0) {
_isTimerRunning = true;
wait(seconds * 1000);
_isTimerRunning = false;
if (!_commandCompleted)
commandThread.join(seconds * 1000);
if (commandThread.isAlive())
return true;
}
} catch (InterruptedException e) {
// Wake up, time to die.
}
_isTimerRunning = false;
if (_commandSuccessful)
return true;
return false;
return result.commandSuccessful;
}
/**
@ -307,11 +280,7 @@ public class ShellCommand {
* else <code>false</code>.
*/
public boolean executeSilentAndWait(String shellCommand) {
if (execute(shellCommand, CONSUME_OUTPUT, WAIT_FOR_EXIT_STATUS))
return true;
return false;
return execute(shellCommand, CONSUME_OUTPUT, WAIT_FOR_EXIT_STATUS);
}
/**
@ -332,9 +301,10 @@ public class ShellCommand {
* here disables waiting.
* @return <code>true</code> if the spawned shell process
* returns an exit status of 0 (indicating success),
* OR if the time expires,
* else <code>false</code>.
*/
public synchronized boolean executeSilentAndWaitTimed(String shellCommand, int seconds) {
public boolean executeSilentAndWaitTimed(String shellCommand, int seconds) {
return executeSAWT(shellCommand, seconds);
}
@ -353,50 +323,65 @@ public class ShellCommand {
* here disables waiting.
* @return <code>true</code> if the spawned shell process
* returns an exit status of 0 (indicating success),
* OR if the time expires,
* else <code>false</code>.
* @since 0.8.3
*/
public synchronized boolean executeSilentAndWaitTimed(String[] commandArray, int seconds) {
public boolean executeSilentAndWaitTimed(String[] commandArray, int seconds) {
return executeSAWT(commandArray, seconds);
}
/** @since 0.8.3 */
private boolean executeSAWT(Object shellCommand, int seconds) {
_commandThread = new CommandThread(this, shellCommand, CONSUME_OUTPUT);
_commandThread.start();
try {
if (seconds > 0) {
_isTimerRunning = true;
wait(seconds * 1000);
_isTimerRunning = false;
if (!_commandCompleted)
return true;
String name = null;
long begin = 0;
if (DEBUG) {
if (shellCommand instanceof String) {
name = (String) shellCommand;
} else if (shellCommand instanceof String[]) {
String[] arr = (String[]) shellCommand;
name = Arrays.toString(arr);
}
begin = System.currentTimeMillis();
}
Result result = new Result();
Thread commandThread = new CommandThread(shellCommand, CONSUME_OUTPUT, result);
commandThread.start();
try {
if (seconds > 0) {
commandThread.join(seconds * 1000);
if (commandThread.isAlive()) {
if (DEBUG)
System.out.println("ShellCommand gave up waiting for \"" + name + "\" after " + seconds + " seconds");
return true;
}
}
} catch (InterruptedException e) {
// Wake up, time to die.
}
_isTimerRunning = false;
if (_commandSuccessful)
return true;
return false;
if (DEBUG)
System.out.println("ShellCommand returning " + result.commandSuccessful + " for \"" + name + "\" after " + (System.currentTimeMillis() - begin) + " ms");
return result.commandSuccessful;
}
/** @deprecated unused */
public InputStream getErrorStream() {
return _errorStream;
}
/** @deprecated unused */
public InputStream getInputStream() {
return _inputStream;
}
/** @deprecated unused */
public OutputStream getOutputStream() {
return _outputStream;
}
/**
* Just does exec, this is NOT a test of ShellCommand.
*/
public static void main(String args[]) {
if (args.length <= 0) {
System.err.println("Usage: ShellCommand commandline");
@ -410,63 +395,80 @@ public class ShellCommand {
/**
* @param shellCommand either a String or a String[] (since 0.8.3) - quick hack
* @param consumeOutput always true, false is unused, possibly untested
*/
private boolean execute(Object shellCommand, boolean consumeOutput, boolean waitForExitStatus) {
StreamConsumer processStderrConsumer;
StreamConsumer processStdoutConsumer;
StreamReader processStderrReader;
StreamWriter processStdinWriter;
StreamReader processStdoutReader;
Process process;
String name = null; // for debugging only
try {
// easy way so we don't have to copy this whole method
if (shellCommand instanceof String)
_process = Runtime.getRuntime().exec((String)shellCommand);
else if (shellCommand instanceof String[])
_process = Runtime.getRuntime().exec((String[])shellCommand);
else
if (shellCommand instanceof String) {
name = (String) shellCommand;
if (DEBUG)
System.out.println("ShellCommand exec \"" + name + "\" consume? " + consumeOutput + " wait? " + waitForExitStatus);
process = Runtime.getRuntime().exec(name);
} else if (shellCommand instanceof String[]) {
String[] arr = (String[]) shellCommand;
if (DEBUG) {
name = Arrays.toString(arr);
System.out.println("ShellCommand exec \"" + name + "\" consume? " + consumeOutput + " wait? " + waitForExitStatus);
}
process = Runtime.getRuntime().exec(arr);
} else {
throw new ClassCastException("shell command must be a String or a String[]");
}
if (consumeOutput) {
processStderrConsumer = new StreamConsumer(_process.getErrorStream());
Thread processStderrConsumer = new StreamConsumer(process.getErrorStream());
processStderrConsumer.start();
processStdoutConsumer = new StreamConsumer(_process.getInputStream());
Thread processStdoutConsumer = new StreamConsumer(process.getInputStream());
processStdoutConsumer.start();
} else {
_errorStream = _process.getErrorStream();
_inputStream = _process.getInputStream();
_outputStream = _process.getOutputStream();
processStderrReader = new StreamReader(_errorStream);
// unused, consumeOutput always true
_errorStream = process.getErrorStream();
_inputStream = process.getInputStream();
_outputStream = process.getOutputStream();
Thread processStderrReader = new StreamReader(_errorStream);
processStderrReader.start();
processStdinWriter = new StreamWriter(_outputStream);
Thread processStdinWriter = new StreamWriter(_outputStream);
processStdinWriter.start();
processStdoutReader = new StreamReader(_inputStream);
Thread processStdoutReader = new StreamReader(_inputStream);
processStdoutReader.start();
}
if (waitForExitStatus) {
if (DEBUG)
System.out.println("ShellCommand waiting for \"" + name + '\"');
try {
_process.waitFor();
process.waitFor();
} catch (Exception e) {
if (DEBUG) {
System.out.println("ShellCommand exception waiting for \"" + name + '\"');
e.printStackTrace();
}
if (!consumeOutput)
killStreams();
return false;
}
if (!consumeOutput)
killStreams();
if (_process.exitValue() > 0)
if (DEBUG)
System.out.println("ShellCommand exit value is " + process.exitValue() + " for \"" + name + '\"');
if (process.exitValue() > 0)
return false;
}
} catch (Exception e) {
// probably IOException, file not found from exec()
if (DEBUG) {
System.out.println("ShellCommand execute exception for \"" + name + '\"');
e.printStackTrace();
}
return false;
}
return true;
}
/** unused, only for NO_CONSUME_OUTPUT */
private void killStreams() {
try {
_errorStream.close();

View File

@ -47,7 +47,7 @@ Debian wrapper.config to try to prevent confusion.
# Application
APP_NAME="i2p"
@@ -55,8 +48,8 @@
@@ -61,8 +54,8 @@
#RUN_AS_USER=
# Wrapper
@ -58,7 +58,7 @@ Debian wrapper.config to try to prevent confusion.
# Priority at which to run the wrapper. See "man nice" for valid priorities.
# nice is only used if a priority is specified.
@@ -167,48 +160,6 @@
@@ -173,48 +166,6 @@
# Workaround for Gentoo
JAVABINARY=$(awk -F'=' '/^ *wrapper\.java\.command/{print $2}' "$WRAPPER_CONF")
@ -107,7 +107,7 @@ Debian wrapper.config to try to prevent confusion.
if [ -n "$FIXED_COMMAND" ]
then
COMMAND="$FIXED_COMMAND"
@@ -899,9 +850,6 @@
@@ -905,9 +856,6 @@
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP $ADDITIONAL_PARA"
eval $COMMAND_LINE
@ -117,7 +117,7 @@ Debian wrapper.config to try to prevent confusion.
else
eval echo `gettext '$APP_LONG_NAME is already running.'`
exit 1
@@ -1025,9 +973,6 @@
@@ -1031,9 +979,6 @@
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP $ADDITIONAL_PARA"
eval $COMMAND_LINE
@ -127,7 +127,7 @@ Debian wrapper.config to try to prevent confusion.
else
eval echo `gettext '$APP_LONG_NAME is already running.'`
exit 1
@@ -1798,16 +1743,8 @@
@@ -1871,18 +1816,9 @@
status
;;
@ -136,13 +136,16 @@ Debian wrapper.config to try to prevent confusion.
- if [ ! `grep ^RUN_AS_USER $0` ]; then
- showsetusermesg
- fi
-
- echo
- echo "You may want to disable the browser from launching at startup at"
- echo "http://127.0.0.1:7657/configclients"
- ;;
-
- 'remove' | 'uninstall')
- removedaemon
+ 'install' | 'remove' | 'uninstall')
+ echo "Use \"dpkg-reconfigure i2p\" to configure the initscript."
+ exit 1
;;
'dump')
@ -186,7 +189,7 @@ Debian wrapper.config to try to prevent confusion.
#
#********************************************************************
# Java Application
@@ -53,13 +44,14 @@
@@ -60,13 +51,14 @@
# classes, or all the classes of i2p.jar, are in a different directory).
# Be sure there are no other duplicate classes.
#
@ -206,7 +209,7 @@ Debian wrapper.config to try to prevent confusion.
# Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
wrapper.java.additional.auto_bits=TRUE
@@ -69,7 +61,7 @@
@@ -76,7 +68,7 @@
wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt
wrapper.java.additional.2=-Dorg.mortbay.http.Version.paranoid=true
wrapper.java.additional.3=-Dorg.mortbay.xml.XmlParser.NotValidating=true
@ -215,7 +218,7 @@ Debian wrapper.config to try to prevent confusion.
wrapper.java.additional.4.stripquotes=TRUE
# On some IPv6 enabled systems, I2P and other network-enabled java applications
@@ -137,11 +129,7 @@
@@ -144,11 +136,7 @@
# NOTE: On Linux/Mac this is overridden in the i2prouter script; changes here will have no effect.
# Windows users may wish to change this to %APPDATA%\I2P\wrapper.log
# System temp directory:
@ -228,7 +231,7 @@ Debian wrapper.config to try to prevent confusion.
# Format of output for the log file.
# The format consists of the tokens 'L' for log level, 'P' for prefix, 'D' for thread,
@@ -211,11 +199,7 @@
@@ -218,11 +206,7 @@
# Linux/Mac users, do not set here, see settings in the i2prouter script.
# Directory must exist or the wrapper will fail to start.
# System temp directory:
@ -241,7 +244,7 @@ Debian wrapper.config to try to prevent confusion.
#
# From i2prouter:
#
@@ -229,10 +213,7 @@
@@ -236,10 +220,7 @@
# Linux/Mac users, do not set here, see settings in the i2prouter script.
# Directory must exist or the wrapper will fail to start.
# System temp directory:
@ -253,7 +256,7 @@ Debian wrapper.config to try to prevent confusion.
#********************************************************************
# Wrapper General Properties
@@ -249,30 +230,3 @@
@@ -256,30 +237,3 @@
wrapper.umask=0022
wrapper.java.umask=0022
wrapper.logfile.umask=077

View File

@ -1,6 +1,6 @@
--- a/router/java/src/net/i2p/router/tasks/OOMListener.java
+++ b/router/java/src/net/i2p/router/tasks/OOMListener.java
@@ -46,7 +46,7 @@
@@ -48,7 +48,7 @@
log.log(Log.CRIT, "free mem: " + Runtime.getRuntime().freeMemory() +
" total mem: " + Runtime.getRuntime().totalMemory());
if (_context.hasWrapper())

View File

@ -1,5 +1,16 @@
2012-10-11 kytv
* Italian translation updates from Transifex
* i2prouter:
- Support for installing as a daemon with systemd on Arch Linux and Suse
- Support installing as a daemon on Slackware
2012-10-10 zzz
* ShellCommand: Fix launching all browsers at startup (ticket #453)
* stats.jsp: Sort groups by translated name
2012-10-09 zzz
* Console, i2ptunnel: Warn on low ports
* EventLog: Add more events
* NetDB: Increase floodfills again
* RouterInfo: Exit 1 on error in main()
* SSU:

View File

@ -30,6 +30,9 @@ findstr /V /R "^wrapper.logfile=" wrapper.config > wrapper.tmp1
findstr /V /R "^wrapper.java.pidfile=" wrapper.tmp1 > wrapper.tmp2
findstr /V /R "^wrapper.pidfile=" wrapper.tmp2 > wrapper.new
del /F /Q wrapper.tmp*
echo #PORTABLE installation: >> wrapper.new
echo # The remaining lines should be commented out (or removed) >> wrapper.new
echo # for PORTABLE I2P installations: >> wrapper.new
echo wrapper.logfile=%%temp%%\wrapper.log >> wrapper.new
echo wrapper.java.pidfile=%%temp%%\routerjvm.pid >> wrapper.new
echo wrapper.pidfile=%%temp%%\i2p.pid >> wrapper.new

0
installer/resources/fixperms.bat Executable file → Normal file
View File

View File

@ -43,6 +43,12 @@ APP_LONG_NAME="I2P Service"
# fallback to echo is below, we can't set it to echo here.
GETTEXT=$(which gettext > /dev/null 2>&1)
# Where to install the systemd service
SYSTEMD_SERVICE="/etc/systemd/system/${APP_NAME}.service"
if grep -q systemd /proc/cmdline; then
USE_SYSTEMD=1
fi
# If specified, the Wrapper will be run as the specified user.
# IMPORTANT - Make sure that the user has the required privileges to write
# the PID file and wrapper.log files and that the directories exist.
@ -1185,6 +1191,27 @@ installUpstart() {
fi
}
installsystemd() {
if [ -d "/etc/systemd/system/" ]; then
cat << EOF >> "$SYSTEMD_SERVICE"
[Unit]
Description=$APP_LONG_NAME
After= local-fs.target network.target
[Service]
Type=forking
ExecStart=$I2P/i2prouter start
ExecReload=$I2P/i2prouter restart
ExecStop=$I2P/i2prouter stop
PIDFile=$I2P_CONFIG_DIR/i2p.pid
[Install]
WantedBy=multi-user.target
EOF
systemctl --system daemon-reload > /dev/null 2>&1
fi
}
installdaemon() {
if [ `id | sed 's/^uid=//;s/(.*$//'` != "0" ] ; then
eval echo `gettext 'Must be root to perform this action.'`
@ -1218,76 +1245,115 @@ installdaemon() {
/sbin/chkconfig "$APP_NAME" on
fi
fi
elif [ -f /etc/slackware-version ]; then
eval echo `gettext 'Detected Slackware Linux:'`
if [ -e "/etc/rc.d/rc.i2p" -o -f "/etc/rc.d/rc.i2p.new" ]; then
echo "Found initscript from I2P Slackpkg. Aborting." >&2
exit 1
else
if grep -q ${APP_NAME}router /etc/rc.d/rc.local > /dev/null 2>&1; then
eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
exit 1
else
echo "${REALDIR}/${APP_NAME}router start" >> /etc/rc.d/rc.local
if [ ! -e /etc/rc.d/rc.local_shutdown ]; then
echo "#!/bin/sh" >> /etc/rc.d/rc.local_shutdown
fi
echo "${REALDIR}/${APP_NAME}router stop" >> /etc/rc.d/rc.local_shutdown
chmod 755 /etc/rc.d/rc.local_shutdown
fi
fi
elif [ -f /etc/arch-release ]; then
eval echo `gettext 'Detected Arch Linux:'`
if [ -f /etc/rc.d/i2prouter ]; then
eval echo `gettext 'Initscript from AUR package found. Refusing to continue.'`
if [ -f "/etc/rc.d/i2prouter" -o -f "/usr/lib/systemd/system/i2prouter.service" ]; then
eval echo `gettext 'AUR package found. Refusing to continue.'`
exit 1
elif [ -f /etc/rc.d/i2p ]; then
elif [ -f /etc/rc.d/i2p -a ! "$USE_SYSTEMD" = "1" ] || [ -f "$SYSTEMD_SERVICE" -a "$USE_SYSTEMD" = "1" ]; then
eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
exit 1
else
echo "#!/bin/bash" >> /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.conf" >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.d/functions" >> /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo "case "\$1" in" >> /etc/rc.d/${APP_NAME}
echo " start)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy \"Starting i2p-Router\"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router start >/dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " add_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " stop)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy "Stopping i2p-Router"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router stop > /dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " rm_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " restart)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router restart" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " console)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router console" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " status)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router status" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " dump)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router dump" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " graceful)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router graceful" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " *)" >> /etc/rc.d/${APP_NAME}
echo " echo \"usage: \$0 {start|stop|restart|console|status|dump}\"" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo "esac" >> /etc/rc.d/${APP_NAME}
chmod 755 /etc/rc.d/${APP_NAME}
chown root:root /etc/rc.d/${APP_NAME}
eval echo `gettext ' The $APP_LONG_NAME daemon has been installed.'`
eval echo `gettext ' Add \"i2p\" to the DAEMONS variable in /etc/rc.conf to enable.'`
if [ ! -f "/etc/init.d/i2p" ]; then
if [ "$USE_SYSTEMD" != "1" ]; then
echo "#!/bin/bash" > /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.conf" >> /etc/rc.d/${APP_NAME}
echo ". /etc/rc.d/functions" >> /etc/rc.d/${APP_NAME}
echo >> /etc/rc.d/${APP_NAME}
echo "case "\$1" in" >> /etc/rc.d/${APP_NAME}
echo " start)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy \"Starting i2p-Router\"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router start >/dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " add_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " stop)" >> /etc/rc.d/${APP_NAME}
echo " stat_busy "Stopping i2p-Router"" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router stop > /dev/null 2>&1" >> /etc/rc.d/${APP_NAME}
echo " if [ \$? -gt 0 ]; then" >> /etc/rc.d/${APP_NAME}
echo " stat_fail" >> /etc/rc.d/${APP_NAME}
echo " else" >> /etc/rc.d/${APP_NAME}
echo " stat_done" >> /etc/rc.d/${APP_NAME}
echo " rm_daemon i2prouter" >> /etc/rc.d/${APP_NAME}
echo " fi" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " restart)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router restart" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " console)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router console" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " status)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router status" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " dump)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router dump" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " graceful)" >> /etc/rc.d/${APP_NAME}
echo " ${REALDIR}/${APP_NAME}router graceful" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo " *)" >> /etc/rc.d/${APP_NAME}
echo " echo \"usage: \$0 {start|stop|restart|console|status|dump}\"" >> /etc/rc.d/${APP_NAME}
echo " ;;" >> /etc/rc.d/${APP_NAME}
echo "esac" >> /etc/rc.d/${APP_NAME}
chmod 755 /etc/rc.d/${APP_NAME}
chown root:root /etc/rc.d/${APP_NAME}
else
# We'll end up here if systemd is enabled.
# If systemd is enabled we don't need the initscript
rm -f /etc/rc.d/${APP_NAME}
fi
fi
if [ ! -f "${SYSTEMD_SERVICE}" ]; then
installsystemd
fi
if ! grep -q systemd /proc/cmdline; then
eval echo `gettext ' The $APP_LONG_NAME daemon has been installed.'`
eval echo `gettext ' Add \"i2p\" to the DAEMONS variable in /etc/rc.conf to enable.'`
fi
fi
elif [ -f /etc/SuSE-release ] ; then
eval echo `gettext 'Detected SuSE or SLES:'`
if [ -f "/etc/init.d/$APP_NAME" ] ; then
if [ -f /etc/rc.d/${APP_NAME} -a ! "$USE_SYSTEMD" = "1" ] || [ -f "$SYSTEMD_SERVICE" -a "$USE_SYSTEMD" = "1" ]; then
eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
exit 1
else
eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
sed -i "s/Default-Start: 2 3 4 5/Default-Start: 5/" $0
insserv "/etc/init.d/$APP_NAME"
if [ ! -f "/etc/init.d/$APP_NAME" ]; then
if [ "$USE_SYSTEMD" != "1" ]; then
eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
sed -i "s/Default-Start: 2 3 4 5/Default-Start: 5/" $0
insserv "/etc/init.d/$APP_NAME"
else
rm -f "/etc/init.d/$APP_NAME"
fi
fi
if [ ! -f "${SYSTEMD_SERVICE}" ]; then
installsystemd
fi
fi
elif [ -f /etc/lsb-release -o -f /etc/debian_version ] ; then
eval echo `gettext 'Detected Debian-based distribution:'`
@ -1471,21 +1537,32 @@ removedaemon() {
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1
fi
elif [ -f /etc/slackware-version ] ; then
eval echo `gettext 'Detected Slackware Linux:'`
if grep -q ${APP_NAME}router /etc/rc.d/rc.local > /dev/null 2>&1 ; then
eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
sed -i "/i2prouter/d" /etc/rc.d/rc.local /etc/rc.d/rc.local_shutdown
else
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1
fi
elif [ -f /etc/arch-release ] ; then
eval echo `gettext 'Detected Arch Linux:'`
if [ -f "/etc/rc.d/$APP_NAME" ] ; then
if [ -f "/etc/rc.d/$APP_NAME" -o -f "$SYSTEMD_SERVICE" ] ; then
eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
rm -f "/etc/rc.d/$APP_NAME"
rm -f "$SYSTEMD_SERVICE"
else
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1
fi
elif [ -f /etc/SuSE-release ] ; then
eval echo `gettext 'Detected SuSE or SLES:'`
if [ -f "/etc/init.d/$APP_NAME" ] ; then
if [ -f "/etc/init.d/$APP_NAME" -o ${SYSTEMD_SERVICE} ] ; then
eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
insserv -r "/etc/init.d/$APP_NAME"
rm -f "/etc/init.d/$APP_NAME"
rm -f "$SYSTEMD_SERVICE"
else
eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
exit 1
@ -1719,7 +1796,8 @@ checkifstartingasroot() {
echo "$0 and set ALLOW_ROOT=true instead."
exit 1
fi
}
}
docommand() {
case "$COMMAND" in
'console')
@ -1803,7 +1881,9 @@ docommand() {
if [ ! `grep ^RUN_AS_USER $0` ]; then
showsetusermesg
fi
echo
echo "You may want to disable the browser from launching at startup at"
echo "http://127.0.0.1:7657/configclients"
;;
'remove' | 'uninstall')

View File

@ -52,8 +52,7 @@
<li class="tidylist"><b>Invisible Internet Project (I2P) Official Website</b><br><a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a> and
its mirror <a href="http://i2p-projekt.i2p/" target="_blank">i2p-projekt.i2p</a>: Secure and
anonymous connections to <a href="http://www.i2p2.de/" target="_blank">www.i2p2.de</a>. There's also an official mirror running on <a href="http://geti2p.net/" target="_blank">geti2p.net</a>. If you want to know more about how I2P works or how you can participate, this is your first port of call!</li>
<li class="tidylist"><b>I2P Community Forums</b><br><a href="http://forum.i2p/" target="_blank">forum.i2p</a>: A secure
and anonymous connection to <a href="http://forum.i2p2.de/" target="_blank">forum.i2p2.de</a>, an online forum community where developers and users alike discuss problems and ideas relating to I2P and associated topics, and <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> for both end users and developers.</li>
<li class="tidylist"><b>I2P Community Forums</b><br><a href="http://forum.i2p/" target="_blank">forum.i2p</a>: A secure and anonymous connection to an online forum community where problems and ideas relating to I2P and associated topics are discussed. There is also <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> for development related discussions.</li>
<li class="tidylist"><b>I2P Anonymous Pastebin</b><br><a href="http://pastethis.i2p/" target="_blank">pastethis.i2p</a>: Secure and
anonymous paste service allowing anonymous text and text-based code sharing over I2P.</li>
<li class="tidylist"><b>Echelon's I2P Resources</b><br><a href="http://echelon.i2p/" target="_blank">echelon.i2p</a>: I2P software
@ -84,7 +83,7 @@
<li class="tidylist"><b>Check Your Proxy Setttings</b><br>If
you cannot see any eepsites at all (not even <a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a>),
make sure your browser's proxy is set to access http traffic (<i>not</i> https, <i>not</i> socks) via <code>127.0.0.1 port 4444</code>. If you need some help, there's <a href="http://www.i2p2.i2p/htproxyports.html" target="_blank">a guide</a> to configuring your browser for I2P use, also <a href="http://www.i2p2.de/htproxyports.html" target="_blank">available</a> on the normal web.
make sure your browser's proxy is set to access http traffic (<i>not</i> https, <i>not</i> socks) via <code>127.0.0.1 port 4444</code>. If you need some help, there's <a href="http://www.i2p2.de/htproxyports" target="_blank">a guide</a> to configuring your browser for I2P use.
</li>
<li class="tidylist"><b>Check Your Logs</b><br><a href="/logs">Logs</a> may help resolve a problem. You may wish to paste excerpts in a <a href="http://forum.i2p/viewforum.php?f=10" target="_blank">forum</a> for help, or perhaps <a href="http://pastethis.i2p/" target="_blank">paste</a> it instead and reference the link on IRC for help.
@ -106,8 +105,7 @@
<li class="tidylist"><b>Getting Support Online</b><br>You may also want
to review the information on the <a href="http://www.i2p2.i2p/" target="_blank">I2P website</a>,
post messages to the <a href="http://forum.i2p/" target="_blank">I2P discussion forum</a> (also reachable <a href="http://forum.i2p2.de/" target="_blank">on the internet</a>),
or swing by
post messages to the <a href="http://forum.i2p/" target="_blank">I2P discussion forum</a> or swing by
<a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> or <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> on I2P's internal IRC network (<code>irc.postman.i2p</code> or <code>irc.freshcoffee.i2p</code>). These channels are also available outside of I2P's encrypted, anonymous network via <a href="irc://irc.freenode.net/i2p">Freenode IRC</a>.
</li>

View File

@ -33,8 +33,15 @@ wrapper.java.command=java
#wrapper.java.command=%JAVA_HOME%/bin/java
# Gentoo uses the following:
#wrapper.java.command=/etc/java-config-2/current-system-vm/bin/java
#
# Tell the Wrapper to log the full generated Java command line.
#wrapper.java.command.loglevel=INFO
##
## PORTABLE installation:
# A portable Java installation can be configured thusly:
#set.JAVA_HOME=C:\path\to\your\portable\java\installation
#wrapper.java.command=%JAVA_HOME\bin\java.exe
##
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper

View File

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