Compare commits

...

91 Commits

Author SHA1 Message Date
idk
1c67f06ffc Since service installs always have an i2p.dir.config set, they don't need to have a default in WorkingDir.java around line 110. However, since user installs do not have an i2p.dir.config set, at around line 80-110 we have to determine whether to use the legacy config in AppData/Roaming or the new default in AppData/Local. Use programdata environment variable becaue it is consistent with the actual path that we should be using. 2022-09-16 14:06:41 -04:00
idk
0ce816acd1 change path validation for service installs when install location contains system32 2022-09-13 11:06:43 -04:00
idk
2fd01c8390 add correct programdata path to default eepsite 2022-09-10 11:16:35 -04:00
idk
16eb1577f9 remove extraneous logging 2022-09-10 11:12:19 -04:00
idk
ecd58a833c If default computed path contains %programdata% or system32 we're running as a daemon on Windows, and %programdata%/Application Data/ does not exist anymore(since ~Win7?). Don't append /Application Data/ in default, command, or shortcut, that should all go directly into %programdata%/i2p now 2022-09-10 10:26:06 -04:00
idk
b533ccaabd remove Application Data from path to I2P service config on Windows 2022-09-08 17:03:39 -04:00
zzz
0f560139f3 unused field 2022-09-07 10:11:39 -04:00
zzz
b610b7a695 Transports: Don't rekey noise params on testnet 2022-09-07 10:09:05 -04:00
zzz
26f882edd5 SSU: Fallback processing for MTU detection
take the minimum of all interfaces if specific interface not found
Update CLI to support address args for testing
2022-09-07 10:01:32 -04:00
idk
f00e020f2b Fix unexpanded styles on addressbook pages #365 2022-09-06 18:09:58 -04:00
idk
edd0dd0b0d fix padding on expanded elements in SusiDNS 2022-09-06 15:54:44 -04:00
idk
031fa45eb8 fix incorrect background color on expanding element in SusiDNS 2022-09-06 15:39:45 -04:00
zzz
a2eee5a673 NetDB: Fix reseeding when clock is skewed
reported, fixed, and tested by zlatinb
2022-09-06 11:56:33 -04:00
zzz
45c160f27a Data: Cache SSU2 string 2022-09-06 09:39:14 -04:00
zzz
7ba59b4338 SSU2: Don't publish or connect if our MTU becomes too small
after initial check in constructor
Don't rectify 1280 IPv4 MTU down to 1276
Add note about replay detector
2022-09-06 09:35:29 -04:00
zzz
554b17fe9a SusiDNS: Fix adding to empty address book
by doing form processing even if book is empty.
Do all form processing before displays so the
displays reflect any form add/delete.
Broken in 0.9.50 when form processing call was moved.
Hide replace and add alternate buttons if book is empty.
Ref: https://www.reddit.com/r/i2p/comments/wu7nac/how_do_i_add_to_the_private_address_book/
2022-09-04 08:14:19 -04:00
zzz
64632eed4a UPnP: Fix opening IPv6 ports 2022-09-03 12:01:59 -04:00
zzz
49299f3f28 NetDB: Query connected peers for their RI directly
Negative cache router hash when expiring RI
Log tweaks
2022-09-03 11:59:39 -04:00
zzz
00774590b0 SSU2: Fix ISE after sending retry for clock skew in session request
log tweaks
2022-09-01 12:21:33 -04:00
zzz
52b640b582 Router: Ensure database store message is processed before reply job (Gitlab #364)
by processing DSM inline in InNetMessagePool.
Caused random lookup failures of RI and LS.
Made worse by previous change removing duplicate store from reply job.
thanks obscuratus and drzed
2022-09-01 11:55:00 -04:00
zzz
911e69e3ae Emphasize checklist step to try Maven jars build before release
to not break Android build
ref: Gitlab MR !64
2022-08-31 07:56:13 -04:00
zzz
d809d6653d SSU2: Implement ack-immediate flag
Use a single ack timer for each session rather than
creating a new one for every ack
Log tweaks
2022-08-29 16:47:19 -04:00
idk
8df81fc0a1 Merge branch '1.9.0-java7-classpath-fix' into 'master'
explicitly set types of some objects so that the code can be compiled with a Java 7 bootclasspth

See merge request i2p-hackers/i2p.i2p!64
2022-08-29 15:45:55 +00:00
zzz
ed76829562 Console: Don't lookup RI if banned 2022-08-28 15:28:17 -04:00
zzz
4f4044c3f0 Console: Add notification and summary bar info on deadlock
Check for deadlock more frequently
2022-08-28 15:24:34 -04:00
zzz
3a4bfc9c07 Util: Add option to gzip router logs
Primarily for devs. No UI.
remove shutdown hook ID
2022-08-28 15:07:30 -04:00
zzz
b25c207e9a Console: Linkify router hash even if not in netdb
as the console will do the lookup if not
2022-08-28 11:22:31 -04:00
idk
fcae43547b explicitly set types of some objects so that the code can be compiled with a Java 7 bootclasspth 2022-08-27 19:26:03 -04:00
zzz
b34b0cc399 SSU2: Fix packets exceeding MTU by up to 3 bytes 2022-08-25 10:58:14 -04:00
zzz
f4875d12fa SSU2: Immediately fail session request containing zero token
i2pd will send this after retry with zero token and termination
2022-08-25 10:56:34 -04:00
zzz
2f06e9bebf SSU2: Implement path challenge and connection migration
mark session dead after receiving destroy
log tweaks
2022-08-25 08:57:02 -04:00
zzz
9b6dde008d Router: Hopefully fix deadlock via rebuildRouterAddress() and UDPTransport 2022-08-25 08:46:25 -04:00
zzz
6ddaa72a86 Add deadlocks to event log 2022-08-23 13:01:32 -04:00
zzz
d064de1913 Debian files for 1.9.0 2022-08-23 11:36:06 -04:00
zzz
97013f8874 blocklist update 2022-08-22 15:15:20 -04:00
zzz
39954032d2 1.9.0 2022-08-22 10:16:29 -04:00
zzz
44f0acead5 Refresh debian patches 2022-08-21 07:28:57 -04:00
zzz
6d024b49a9 Fix encoding of getopt translations az and es_AR 2022-08-21 06:36:20 -04:00
zzz
8a379d5394 Pull translations from Transifex 2022-08-19 12:54:48 -04:00
zzz
972adde7eb Router: Add SSU2 keys to the killKeys() list 2022-08-16 18:13:02 -04:00
zzz
f3dd06ad1e Bump build time 2022-08-13 13:32:26 -04:00
zzz
55603782bb New translation: Spanish (Argentina) 2022-08-13 13:31:53 -04:00
zzz
3d65f93277 i2psnark: CSS fix for disabled edit torrent button 2022-08-12 09:42:22 -04:00
zzz
e35d173982 SSU2: Enable for Android, ARM, and 2% of others 2022-08-10 08:11:11 -04:00
zzz
ec6e9b1bfb Router: Hopefully fix clock/job queue deadlock after clock shift
ref: http://git.idk.i2p/mesh/i2p.i2p/-/issues/6
2022-08-06 11:00:09 -04:00
zzz
ca6046f821 GeoIP 2022-08 2022-08-06 10:57:36 -04:00
zzz
c81b4645a8 SSU: Try to keep a mix of v1/v2 introducers 2022-08-05 10:51:08 -04:00
zzz
0687ef8364 SSU2: Block bob's IP in relay response from charlie
(i2pd bug, fixed today)
2022-08-04 17:33:31 -04:00
zzz
8d149136fe SSU2: Remove unused ECN variable
Add RTTdev to logging
2022-08-04 08:40:18 -04:00
zzz
2a83c8f6ee i2ptunnel: New outproxy (new installs only) 2022-08-04 05:58:30 -04:00
zzz
689016f48e SSU2: Pass source ip/port to path challenge/response callbacks
(more prep for connection migration)
2022-08-02 09:38:11 -04:00
zzz
146bbf67f8 SSU2: Add state lookup by conn ID
As fallback for failed lookup by RemoteHostId.
This will eventually be the primary lookup after most traffic is SSU2.
For now, only used to receive traffic from a peer that changed IP/port.
SSU 1/2 send destroy when replacing old session with new.
Prep for full SSU2 connection migration.
2022-07-31 11:34:55 -04:00
zzz
b606c2084b LogManager: Prevent hangs at shutdown on Mac after dock right-click-quit (Gitlab #363) 2022-07-29 12:23:34 -04:00
idk
c1efe6daab Merge pull request #27 from mehdie79/master
Fix errors in HACKING.md
2022-07-28 14:23:49 -04:00
zzz
4bdb7d752f SSU2: Send response to path challenge 2022-07-27 11:48:27 -04:00
zzz
6d9aca9d9b SSU2: Path challenge/response block types 2022-07-27 11:43:00 -04:00
zzz
e250531174 SSU2: Stub out path challenge/response 2022-07-27 10:56:18 -04:00
zzz
5948a7dec3 SSU: Only decrease MTU if the retransmitted packet was large 2022-07-27 10:30:56 -04:00
zzz
4e4718b3b1 NetDB: Publish ff stats based on current caps, not previous
Comment out unused contact property
2022-07-27 09:34:02 -04:00
zzz
d94ff6ad86 Router: Log warning if no family keys loaded 2022-07-27 09:16:01 -04:00
zzz
e4a8a6492d SSU2: Send termination in response to termination 2022-07-26 09:51:41 -04:00
zzz
17695915fa SSU2: Fix bitfield shifts of 256 or more 2022-07-25 13:17:56 -04:00
zzz
69adf84363 Console: Fix saving flat clients.config file
when in portable configuration and changing the
launch browser on startup setting on /configservice
ref: http://zzz.i2p/topics/3347
2022-07-21 09:19:25 -04:00
zzz
af8272b970 SSU: Reduce max establishment time 2022-07-19 12:08:26 -04:00
zzz
5355ee7740 SSU2: Shorten token expiration based on cache size 2022-07-19 11:55:59 -04:00
zzz
02cd83187b GeoIP: Don't lookup route48 addresses 2022-07-19 11:21:12 -04:00
zzz
f5ca15c28d SSU2: Retransmit session confirmed after receiving apparent retransmitted session created
Retransmit handshake messages faster and expire faster (SSU 1/2)
log tweaks
2022-07-19 11:17:54 -04:00
zzz
b7db6ae77c SSU2: Fix storage/checking of local firewalled IP address/port in token file 2022-07-19 11:15:24 -04:00
idk
4aa6ee2308 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.i2p 2022-07-17 15:34:48 -04:00
idk
21dc07bf5a add note about possible need for Java 17 options to startapp.sh 2022-07-17 15:34:25 -04:00
idk
4a6fe9b291 Merge branch 'docker_updates' into 'master'
Switch to OpenJDK17

See merge request i2p-hackers/i2p.i2p!61
2022-07-17 19:33:23 +00:00
zzz
8aef6ce292 SSU2: MTU and other fixes
Use minimum MTU for IPv6 session confirmed to avoid PMTU issues
Set default MTU for known IPv6 tunnel brokers
Check for s mismatch in session confirmed RI
Don't put DateTime block after Termination block
Fix first message failed check
Log sent data packet size
Log tweaks
2022-07-17 11:28:00 -04:00
Mehdi Esmaeilzadeh
c9cf208de7 Fix errors in HACKING.md 2022-07-17 01:45:55 -07:00
zzz
097fa34e91 SSU2: Send retry with termination block on clock skew 2022-07-15 15:03:22 -04:00
zzz
c2ffcb8512 SSU2: Don't rectify MTUs to mod 16 in SSU2 addresses
Set max MTU for range48.org brokered addresses
Limit MTU for brokered addresses in UDPAddress also
2022-07-15 08:51:43 -04:00
zzz
2432680ed3 SSU2: Fail session if first outbound message fails
Reduce max consecutive message failures to fail session (SSU 1/2)
Set peer as unreachable for these failures
Reduce max consectutive session confirmed retransmissions
Fix session confirmed retransmission timing
Respond to relay tag request in data phase
Log tweaks
2022-07-12 07:29:20 -04:00
zzz
8e985eb951 SSU2: Fix NACK handling when higher than previous highest acked
was treating them as acks
2022-07-10 13:01:56 -04:00
zzz
a18a5136b7 Console: Only display news if a new entry is found
not simply when a new file is downloaded
2022-07-09 09:41:13 -04:00
zzz
73c8ee826e SSU2: Support other reason codes in destroy message 2022-07-09 07:31:46 -04:00
zzz
2a4ab118de SSU2: Persist SSU2 tokens
Move establisher and packet handler initialization
to after the address initialization
2022-07-08 14:12:31 -04:00
zzz
70596d0548 SSU: Initialize MTUs
SSU2: Don't log MTU warning at startup
Remove unused dropPeerCapacities()
2022-07-08 11:13:58 -04:00
zzz
6ede06cfdf SSU2: Send termination before dropping session after failure to get Session Confirmed ack 2022-07-08 11:09:58 -04:00
zzz
8818c78cbd Transport: Don't lookup RI in wasUnreachable()
to reduce netdb lookups
2022-07-08 10:00:04 -04:00
zzz
9489b41cb7 Util: Fix UnmodifiableSortedSet compiler warnings 2022-07-05 12:02:28 -04:00
zzz
9a9722dd3e SSU2: Fix peer test throttling
Only throttle messages 1 and 2
Send limit response on throttle
Throttle IPv6 based on first 8 bytes only
2022-07-05 07:37:51 -04:00
zzz
ec3a88dc34 Console: Add cancel button to netdb search form 2022-07-04 08:32:16 -04:00
zzz
4e21fe74e5 NetDB: Lookup handling cleanups
Allow lookups of our RI even when hidden
Consolidate routerHash() calls
Remove unused router.publishUnreachableRouters option, was default true
2022-07-04 08:30:21 -04:00
Zlatin Balevsky
9dc8ca4edb Merge branch 'jbigi-apple-silicon' into 'master'
jbigi for Apple silicon

See merge request i2p-hackers/i2p.i2p!63
2022-07-03 12:46:31 +00:00
Zlatin Balevsky
efc3b847ac jbigi for Apple silicon 2022-07-03 13:43:29 +01:00
Zlatin Balevsky
3701cf9782 Merge branch 'gmp-patch-x18' into 'master'
Add ability to apply patches to GMP.  Apply fix for x18 register.  Run GMP tests after build.

See merge request i2p-hackers/i2p.i2p!62
2022-07-03 11:48:36 +00:00
Zlatin Balevsky
a171d71bbe Add ability to apply patches to GMP. Apply fix for x18 register. Run GMP tests after build. 2022-07-03 11:09:01 +01:00
138 changed files with 20184 additions and 1490 deletions

View File

@@ -9,6 +9,7 @@ trans.cs = apps/i2ptunnel/locale/messages_cs.po
trans.da = apps/i2ptunnel/locale/messages_da.po
trans.de = apps/i2ptunnel/locale/messages_de.po
trans.es = apps/i2ptunnel/locale/messages_es.po
trans.es_AR = apps/i2ptunnel/locale/messages_es_AR.po
trans.fa = apps/i2ptunnel/locale/messages_fa.po
trans.fi = apps/i2ptunnel/locale/messages_fi.po
trans.fr = apps/i2ptunnel/locale/messages_fr.po
@@ -43,6 +44,7 @@ trans.cs = apps/i2ptunnel/locale-proxy/messages_cs.po
trans.de = apps/i2ptunnel/locale-proxy/messages_de.po
trans.el = apps/i2ptunnel/locale-proxy/messages_el.po
trans.es = apps/i2ptunnel/locale-proxy/messages_es.po
trans.es_AR = apps/i2ptunnel/locale-proxy/messages_es_AR.po
trans.fa = apps/i2ptunnel/locale-proxy/messages_fa.po
trans.fi = apps/i2ptunnel/locale-proxy/messages_fi.po
trans.fr = apps/i2ptunnel/locale-proxy/messages_fr.po
@@ -117,6 +119,7 @@ trans.da = router/locale/messages_da.po
trans.de = router/locale/messages_de.po
trans.el = router/locale/messages_el.po
trans.es = router/locale/messages_es.po
trans.es_AR = router/locale/messages_es_AR.po
trans.et_EE = router/locale/messages_et.po
trans.fa = router/locale/messages_fa.po
trans.fi = router/locale/messages_fi.po
@@ -154,6 +157,7 @@ trans.da = apps/routerconsole/locale/messages_da.po
trans.de = apps/routerconsole/locale/messages_de.po
trans.el = apps/routerconsole/locale/messages_el.po
trans.es = apps/routerconsole/locale/messages_es.po
trans.es_AR = apps/routerconsole/locale/messages_es_AR.po
trans.et_EE = apps/routerconsole/locale/messages_et.po
trans.fa = apps/routerconsole/locale/messages_fa.po
trans.fi = apps/routerconsole/locale/messages_fi.po
@@ -187,6 +191,7 @@ trans.cs = apps/routerconsole/locale-news/messages_cs.po
trans.de = apps/routerconsole/locale-news/messages_de.po
trans.el = apps/routerconsole/locale-news/messages_el.po
trans.es = apps/routerconsole/locale-news/messages_es.po
trans.es_AR = apps/routerconsole/locale-news/messages_es_AR.po
trans.fa = apps/routerconsole/locale-news/messages_fa.po
trans.fi = apps/routerconsole/locale-news/messages_fi.po
trans.fr = apps/routerconsole/locale-news/messages_fr.po
@@ -232,6 +237,7 @@ trans.da = apps/routerconsole/locale-countries/messages_da.po
trans.de = apps/routerconsole/locale-countries/messages_de.po
trans.el = apps/routerconsole/locale-countries/messages_el.po
trans.es = apps/routerconsole/locale-countries/messages_es.po
trans.es_AR = apps/routerconsole/locale-countries/messages_es_AR.po
trans.et_EE = apps/routerconsole/locale-countries/messages_et.po
trans.fa = apps/routerconsole/locale-countries/messages_fa.po
trans.fi = apps/routerconsole/locale-countries/messages_fi.po
@@ -276,6 +282,7 @@ trans.cs = apps/i2psnark/locale/messages_cs.po
trans.de = apps/i2psnark/locale/messages_de.po
trans.el = apps/i2psnark/locale/messages_el.po
trans.es = apps/i2psnark/locale/messages_es.po
trans.es_AR = apps/i2psnark/locale/messages_es_AR.po
trans.fa = apps/i2psnark/locale/messages_fa.po
trans.fi = apps/i2psnark/locale/messages_fi.po
trans.fr = apps/i2psnark/locale/messages_fr.po
@@ -310,6 +317,7 @@ trans.da = apps/susidns/locale/messages_da.po
trans.de = apps/susidns/locale/messages_de.po
trans.el = apps/susidns/locale/messages_el.po
trans.es = apps/susidns/locale/messages_es.po
trans.es_AR = apps/susidns/locale/messages_es_AR.po
trans.fa = apps/susidns/locale/messages_fa.po
trans.fi = apps/susidns/locale/messages_fi.po
trans.fr = apps/susidns/locale/messages_fr.po
@@ -389,6 +397,7 @@ trans.da = apps/susimail/locale/messages_da.po
trans.de = apps/susimail/locale/messages_de.po
trans.el = apps/susimail/locale/messages_el.po
trans.es = apps/susimail/locale/messages_es.po
trans.es_AR = apps/susimail/locale/messages_es_AR.po
trans.fa = apps/susimail/locale/messages_fa.po
trans.fi = apps/susimail/locale/messages_fi.po
trans.fr = apps/susimail/locale/messages_fr.po
@@ -429,6 +438,7 @@ trans.cs = debian/po/cs.po
trans.de = debian/po/de.po
trans.el = debian/po/el.po
trans.es = debian/po/es.po
trans.es_AR = debian/po/es_AR.po
trans.fi = debian/po/fi.po
trans.fr = debian/po/fr.po
trans.gl = debian/po/gl.po
@@ -462,6 +472,7 @@ trans.az = installer/resources/locale/po/messages_az.po
trans.ca = installer/resources/locale/po/messages_ca.po
trans.de = installer/resources/locale/po/messages_de.po
trans.es = installer/resources/locale/po/messages_es.po
trans.es_AR = installer/resources/locale/po/messages_es_AR.po
trans.fi = installer/resources/locale/po/messages_fi.po
trans.fr = installer/resources/locale/po/messages_fr.po
trans.id = installer/resources/locale/po/messages_id.po
@@ -507,6 +518,7 @@ trans.az = core/java/src/gnu/getopt/MessagesBundle_az.properties
trans.cs = core/java/src/gnu/getopt/MessagesBundle_cs.properties
trans.de = core/java/src/gnu/getopt/MessagesBundle_de.properties
trans.es = core/java/src/gnu/getopt/MessagesBundle_es.properties
trans.es_AR = core/java/src/gnu/getopt/MessagesBundle_es_AR.properties
trans.fi = core/java/src/gnu/getopt/MessagesBundle_fi.properties
trans.fr = core/java/src/gnu/getopt/MessagesBundle_fr.properties
trans.gl = core/java/src/gnu/getopt/MessagesBundle_gl.properties
@@ -543,6 +555,7 @@ trans.ca = apps/ministreaming/locale/messages_ca.po
trans.cs = apps/ministreaming/locale/messages_cs.po
trans.de = apps/ministreaming/locale/messages_de.po
trans.es = apps/ministreaming/locale/messages_es.po
trans.es_AR = apps/ministreaming/locale/messages_es_AR.po
trans.fa = apps/ministreaming/locale/messages_fa.po
trans.fi = apps/ministreaming/locale/messages_fi.po
trans.fr = apps/ministreaming/locale/messages_fr.po
@@ -579,6 +592,7 @@ trans.ar = installer/resources/locale-man/man_ar.po
trans.az = installer/resources/locale-man/man_az.po
trans.de = installer/resources/locale-man/man_de.po
trans.es = installer/resources/locale-man/man_es.po
trans.es_AR = installer/resources/locale-man/man_es_AR.po
trans.fi = installer/resources/locale-man/man_fi.po
trans.fr = installer/resources/locale-man/man_fr.po
trans.hu = installer/resources/locale-man/man_hu.po

View File

@@ -7,14 +7,15 @@
# blabla <blabla@trash-mail.com>, 2011
# Ettore Atalan <atalanttore@googlemail.com>, 2016
# foo <foo@bar>, 2009
# Georg Stadler, 2022
# Lars Schimmer <echelon@i2pmail.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-25 12:29+0000\n"
"PO-Revision-Date: 2017-06-30 21:32+0000\n"
"Last-Translator: Lars Schimmer <echelon@i2pmail.org>\n"
"POT-Creation-Date: 2022-02-09 19:13+0000\n"
"PO-Revision-Date: 2011-02-13 12:05+0000\n"
"Last-Translator: Georg Stadler, 2022\n"
"Language-Team: German (http://www.transifex.com/otf/I2P/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,69 +30,81 @@ msgstr "I2P starten"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
msgid "I2P is starting!"
msgstr "I2P startet gerade!"
#: src/net/i2p/desktopgui/ExternalTrayManager.java:44
#: src/net/i2p/desktopgui/ExternalTrayManager.java:72
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
msgid "Starting"
msgstr "Startend"
#: src/net/i2p/desktopgui/InternalTrayManager.java:55
#: src/net/i2p/desktopgui/InternalTrayManager.java:207
#: src/net/i2p/desktopgui/InternalTrayManager.java:65
#: src/net/i2p/desktopgui/InternalTrayManager.java:249
msgid "Launch I2P Browser"
msgstr "I2P-Browser öffnen"
#: src/net/i2p/desktopgui/InternalTrayManager.java:76
#: src/net/i2p/desktopgui/InternalTrayManager.java:228
#: src/net/i2p/desktopgui/InternalTrayManager.java:86
#: src/net/i2p/desktopgui/InternalTrayManager.java:270
msgid "Configure I2P System Tray"
msgstr "I2P System Tray konfigurieren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:77
#: src/net/i2p/desktopgui/InternalTrayManager.java:229
msgid "Disable"
msgstr "Deaktivieren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:87
#: src/net/i2p/desktopgui/InternalTrayManager.java:271
msgid "Enable notifications"
msgstr "Benachrichtigungen aktivieren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:93
#: src/net/i2p/desktopgui/InternalTrayManager.java:245
#: src/net/i2p/desktopgui/InternalTrayManager.java:101
#: src/net/i2p/desktopgui/InternalTrayManager.java:285
msgid "Disable notifications"
msgstr "Benachrichtigungen deaktivieren"
#: src/net/i2p/desktopgui/InternalTrayManager.java:115
#: src/net/i2p/desktopgui/InternalTrayManager.java:299
msgid "Disable system tray"
msgstr ""
#: src/net/i2p/desktopgui/InternalTrayManager.java:131
#: src/net/i2p/desktopgui/InternalTrayManager.java:315
msgid "Restart I2P"
msgstr "I2P neustarten"
#: src/net/i2p/desktopgui/InternalTrayManager.java:110
#: src/net/i2p/desktopgui/InternalTrayManager.java:262
#: src/net/i2p/desktopgui/InternalTrayManager.java:148
#: src/net/i2p/desktopgui/InternalTrayManager.java:332
msgid "Stop I2P"
msgstr "I2P beenden"
#: src/net/i2p/desktopgui/InternalTrayManager.java:126
#: src/net/i2p/desktopgui/InternalTrayManager.java:278
#: src/net/i2p/desktopgui/InternalTrayManager.java:164
#: src/net/i2p/desktopgui/InternalTrayManager.java:348
msgid "Restart I2P Immediately"
msgstr "I2P sofort neustarten"
#: src/net/i2p/desktopgui/InternalTrayManager.java:143
#: src/net/i2p/desktopgui/InternalTrayManager.java:295
#: src/net/i2p/desktopgui/InternalTrayManager.java:181
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
msgid "Stop I2P Immediately"
msgstr "I2P sofort beenden"
#: src/net/i2p/desktopgui/InternalTrayManager.java:157
#: src/net/i2p/desktopgui/InternalTrayManager.java:309
#: src/net/i2p/desktopgui/InternalTrayManager.java:195
#: src/net/i2p/desktopgui/InternalTrayManager.java:379
msgid "Cancel I2P Shutdown"
msgstr "Herunterfahren von I2P abbrechen"
#: src/net/i2p/desktopgui/InternalTrayManager.java:363
#: src/net/i2p/desktopgui/InternalTrayManager.java:437
#, java-format
msgid "Shutdown in {0}"
msgstr "Herunterfahren in {0}"
#: src/net/i2p/desktopgui/InternalTrayManager.java:365
#: src/net/i2p/desktopgui/InternalTrayManager.java:439
msgid "Shutdown imminent"
msgstr "Herunterfahren bevorstehend"
#. status translations are in the console bundle
#: src/net/i2p/desktopgui/InternalTrayManager.java:370
#: src/net/i2p/desktopgui/InternalTrayManager.java:444
msgid "Network"
msgstr "Netzwerk"
#. Windows typically has tooltips; Linux (at least Ubuntu) doesn't
#: src/net/i2p/desktopgui/TrayManager.java:63
#: src/net/i2p/desktopgui/TrayManager.java:73
msgid "I2P: Right-click for menu"
msgstr "I2P: Rechtsklick für Menü"

View File

@@ -37,6 +37,7 @@ public class ConfigUIHelper {
//{ "et", "ee", "Eesti", null },
{ "en", "us", "English", null },
{ "es", "es", "Español", null },
{ "es", "ar", "Español" ,"Argentina" },
{ "fa", "ir", "Persian فارسی", null },
{ "fr", "fr", "Français", null },
//{ "gl", "lang_gl", "Galego", null },

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -13,8 +13,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-09 19:13+0000\n"
"PO-Revision-Date: 2022-02-13 03:20+0000\n"
"Last-Translator: daingewuvzeevisiddfddd\n"
"PO-Revision-Date: 2011-02-13 12:00+0000\n"
"Last-Translator: daingewuvzeevisiddfddd, 2022\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -609,7 +609,7 @@ msgstr "I2PSnarkは停止しました"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:327
msgid "Router is down"
msgstr "ルータは落ちています"
msgstr "ルータは落ちています"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:338
#, java-format
@@ -1411,7 +1411,7 @@ msgstr "半分の帯域幅を利用可能にすることを推奨します。"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2617
msgid "View or change router bandwidth"
msgstr "ルータの帯域幅を表示または変更"
msgstr "ルータの帯域幅を表示または変更"
#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:2623
msgid "Use open trackers also"

View File

@@ -1667,6 +1667,12 @@ input.reload[name="recheck"], input.reload[name="recheck"]:active, input.disable
margin-left: 2px !important
}
input.disabled[name="showEdit"] {
background: #989 url(images/restore.png);
background: url(images/restore.png), linear-gradient(to bottom, #989 0%, #878 100%);
margin-left: 2px !important
}
input.disabled[name="recheck"]:hover {
background-blend-mode: initial;
}

View File

@@ -1566,6 +1566,12 @@ input.reload[name="recheck"], input.disabled[name="recheck"] {
margin: 6px 2px;
}
input.disabled[name="showEdit"] {
background: url(images/restore.png) no-repeat 5px center, linear-gradient(to bottom, #eeecea 50%, #ded9d5 50%);
padding: 5px 5px 5px 21px !important;
margin: 6px 2px;
}
input.reload[name="recheck"]:hover, input.reload[name="recheck"]:focus {
background: url(images/recheck.png) no-repeat 5px center, linear-gradient(to bottom, #fff7ef 51%, #cfc1b5 52%);
}

View File

@@ -0,0 +1,700 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the i2ptunnel package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-05 14:31+0000\n"
"PO-Revision-Date: 2013-07-20 14:50+0000\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: ../java/build/Proxy.java:5 ../java/build/Proxy.java:11
#: ../java/build/Proxy.java:40 ../java/build/Proxy.java:49
#: ../java/build/Proxy.java:55 ../java/build/Proxy.java:91
#: ../java/build/Proxy.java:97 ../java/build/Proxy.java:111
msgid "Website Unreachable"
msgstr "Sitio web inalcanzable"
#: ../java/build/Proxy.java:6 ../java/build/Proxy.java:17
#: ../java/build/Proxy.java:29 ../java/build/Proxy.java:41
#: ../java/build/Proxy.java:50 ../java/build/Proxy.java:61
#: ../java/build/Proxy.java:70 ../java/build/Proxy.java:79
#: ../java/build/Proxy.java:92 ../java/build/Proxy.java:101
#: ../java/build/Proxy.java:112 ../java/build/Proxy.java:120
#: ../java/build/Proxy.java:132 ../java/build/Proxy.java:141
#: ../java/build/Proxy.java:151 ../java/build/Proxy.java:161
#: ../java/build/Proxy.java:173 ../java/build/Proxy.java:186
#: ../java/build/Proxy.java:198 ../java/build/Proxy.java:208
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:294
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:368
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:402
msgid "Router Console"
msgstr "Consola del router I2P"
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:42
#: ../java/build/Proxy.java:51 ../java/build/Proxy.java:62
#: ../java/build/Proxy.java:71 ../java/build/Proxy.java:80
#: ../java/build/Proxy.java:93 ../java/build/Proxy.java:102
#: ../java/build/Proxy.java:113 ../java/build/Proxy.java:121
#: ../java/build/Proxy.java:133 ../java/build/Proxy.java:142
#: ../java/build/Proxy.java:152 ../java/build/Proxy.java:162
#: ../java/build/Proxy.java:174 ../java/build/Proxy.java:187
#: ../java/build/Proxy.java:199 ../java/build/Proxy.java:209
msgid "I2P Router Console"
msgstr "Consola del router I2P"
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:43
#: ../java/build/Proxy.java:52 ../java/build/Proxy.java:63
#: ../java/build/Proxy.java:72 ../java/build/Proxy.java:81
#: ../java/build/Proxy.java:94 ../java/build/Proxy.java:103
#: ../java/build/Proxy.java:114 ../java/build/Proxy.java:122
#: ../java/build/Proxy.java:134 ../java/build/Proxy.java:143
#: ../java/build/Proxy.java:153 ../java/build/Proxy.java:163
#: ../java/build/Proxy.java:175 ../java/build/Proxy.java:188
#: ../java/build/Proxy.java:200 ../java/build/Proxy.java:210
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:297
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:369
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:403
msgid "Configuration"
msgstr "Configuración"
#: ../java/build/Proxy.java:9 ../java/build/Proxy.java:20
#: ../java/build/Proxy.java:32 ../java/build/Proxy.java:44
#: ../java/build/Proxy.java:53 ../java/build/Proxy.java:64
#: ../java/build/Proxy.java:73 ../java/build/Proxy.java:82
#: ../java/build/Proxy.java:95 ../java/build/Proxy.java:104
#: ../java/build/Proxy.java:115 ../java/build/Proxy.java:123
#: ../java/build/Proxy.java:135 ../java/build/Proxy.java:144
#: ../java/build/Proxy.java:154 ../java/build/Proxy.java:164
#: ../java/build/Proxy.java:176 ../java/build/Proxy.java:189
#: ../java/build/Proxy.java:201 ../java/build/Proxy.java:211
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:298
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:369
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:403
msgid "Help"
msgstr "Ayuda"
#: ../java/build/Proxy.java:10 ../java/build/Proxy.java:21
#: ../java/build/Proxy.java:33 ../java/build/Proxy.java:45
#: ../java/build/Proxy.java:54 ../java/build/Proxy.java:65
#: ../java/build/Proxy.java:74 ../java/build/Proxy.java:83
#: ../java/build/Proxy.java:96 ../java/build/Proxy.java:105
#: ../java/build/Proxy.java:116 ../java/build/Proxy.java:124
#: ../java/build/Proxy.java:136 ../java/build/Proxy.java:145
#: ../java/build/Proxy.java:155 ../java/build/Proxy.java:165
#: ../java/build/Proxy.java:177 ../java/build/Proxy.java:190
#: ../java/build/Proxy.java:202 ../java/build/Proxy.java:212
msgid "Addressbook"
msgstr "Libreta de direcciones"
#: ../java/build/Proxy.java:12
msgid "The website was not reachable."
msgstr "El sitio web no fue alcanzable."
#: ../java/build/Proxy.java:13
msgid ""
"The website is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr "El sitio web está fuera de línea, hay congestión en la red, o su router I2P aún no está bien integrado con los pares (peers)."
#: ../java/build/Proxy.java:14 ../java/build/Proxy.java:58
#: ../java/build/Proxy.java:109 ../java/build/Proxy.java:129
#, java-format
msgid "You may want to {0}retry{1}."
msgstr "Quizás quiera {0}reintentarlo{1}."
#: ../java/build/Proxy.java:15 ../java/build/Proxy.java:27
#: ../java/build/Proxy.java:48 ../java/build/Proxy.java:59
#: ../java/build/Proxy.java:90 ../java/build/Proxy.java:110
#: ../java/build/Proxy.java:118 ../java/build/Proxy.java:130
#: ../java/build/Proxy.java:171 ../java/build/Proxy.java:196
msgid "Could not find the following destination:"
msgstr "No se pudo encontrar el siguiente destino:"
#: ../java/build/Proxy.java:16 ../java/build/Proxy.java:22
#: ../java/build/Proxy.java:160 ../java/build/Proxy.java:166
msgid "Outproxy Not Found"
msgstr "Proxy de salida no encontrado"
#: ../java/build/Proxy.java:23
msgid ""
"The HTTP outproxy was not reachable, because its lease set was not found."
msgstr "El proxy HTTP de salida a Internet (outproxy) no estaba accesible porque no se encontró su LeaseSet (túneles al mismo destino)."
#: ../java/build/Proxy.java:24
msgid ""
"The outproxy is probably down, but there could also be network congestion."
msgstr "El proxy de salida a Internet (outproxy) probablemente estaba caído, pero también pudo haber congestión en la red."
#: ../java/build/Proxy.java:25 ../java/build/Proxy.java:169
#: ../java/build/Proxy.java:194 ../java/build/Proxy.java:215
#, java-format
msgid ""
"You may want to {0}retry{1} as this will randomly reselect an outproxy from "
"the pool you have defined {2}here{3} (if you have more than one configured)."
msgstr "Puede ser que quiera {0}reintentar{1} ya que esto volverá a seleccionar aleatoriamente un proxy de salida del repositorio que haya definido {2}aquí{3} (si tiene configurado más de uno)"
#: ../java/build/Proxy.java:26 ../java/build/Proxy.java:170
#: ../java/build/Proxy.java:195 ../java/build/Proxy.java:216
#, java-format
msgid ""
"If you continue to have trouble you may want to edit your outproxy list "
"{0}here{1}."
msgstr "Si aún sigue teniendo problemas puede ser que desee editar si lista de outproxies {0}aquí{1}."
#: ../java/build/Proxy.java:28
msgid "Information: New Host Name"
msgstr "Información: Nuevo nombre de host"
#: ../java/build/Proxy.java:34
msgid "Information: New Host Name with Address Helper"
msgstr "Información: Nuevo nombre de nodo con el asistente de direcciones"
#: ../java/build/Proxy.java:35
msgid ""
"The address helper link you followed is for a new host name that is not in "
"your address book."
msgstr "El enlace del asistente de direcciones que ha abierto es para un nuevo nombre de nodo que no está en su libreta de direcciones."
#: ../java/build/Proxy.java:36
msgid "You may save this host name to your local address book."
msgstr "Quizás desee guardar este dominio en su libreta de direcciones local."
#: ../java/build/Proxy.java:37
msgid ""
"If you save it to your address book, you will not see this message again."
msgstr "Si lo guarda en su libreta de direcciones, no verá este mensaje de nuevo."
#: ../java/build/Proxy.java:38
msgid ""
"If you do not save it, the host name will be forgotten after the next router"
" restart."
msgstr "Si no lo guarda, el dominio se olvidará después de reiniciar el ruter."
#: ../java/build/Proxy.java:39
msgid ""
"If you do not wish to visit this host, click the \"back\" button on your "
"browser."
msgstr "Di no desea visitar este dominio, pulse en botón \"volver\" de su navegador."
#: ../java/build/Proxy.java:46 ../java/build/Proxy.java:119
#: ../java/build/Proxy.java:125
msgid "Warning: Invalid Destination"
msgstr "Aviso: Destinación no válida."
#: ../java/build/Proxy.java:47
msgid "The Base32 address is invalid."
msgstr ""
#: ../java/build/Proxy.java:56
msgid "The website was not reachable, because its lease set was not found."
msgstr "El sitio web no fue alcanzable, porque no se encontró su lease set (túneles para ese destino)."
#: ../java/build/Proxy.java:57
msgid ""
"The website is probably down, but there could also be network congestion."
msgstr "El sitio web probablemente está caído, pero también podría haber congestión en la red."
#: ../java/build/Proxy.java:60 ../java/build/Proxy.java:66
msgid "Warning: Invalid Request URI"
msgstr "Advertencia: URI solicitado no válida"
#: ../java/build/Proxy.java:67
msgid "The request URI is invalid, and probably contains illegal characters."
msgstr "La URI solicitada no es válida y probablemente tenga caracteres no válidos."
#: ../java/build/Proxy.java:68
msgid ""
"If you clicked a link, check the end of the URI for any characters the "
"browser has mistakenly added on."
msgstr "Si ha pulsado en un enlace, compruebe el final de la URI por caracteres que haya podido añadir el navegador por error."
#: ../java/build/Proxy.java:69
msgid "Error: Request Denied"
msgstr "Error: solicitud denegada"
#: ../java/build/Proxy.java:75
msgid "Error: Local Access"
msgstr "Error: acceso local"
#: ../java/build/Proxy.java:76
msgid "Your browser is misconfigured."
msgstr "Su navegador no soporta iFrames."
#: ../java/build/Proxy.java:77
msgid ""
"Do not use the proxy to access the router console, localhost, or local LAN "
"destinations."
msgstr "No use el proxy para acceder a la consola del ruter, localhost o destinaciones en su LAN local."
#: ../java/build/Proxy.java:78
msgid "Website Unknown"
msgstr "Sitio web desconocido"
#: ../java/build/Proxy.java:84
msgid "Website Not Found in Addressbook"
msgstr "No se encontró el sitio web en la libreta de direcciones (resolución distribuida de nombres)"
#: ../java/build/Proxy.java:85
msgid "The website was not found in your router's addressbook."
msgstr "No se encontró el sitio web en la libreta de direcciones de su router I2P (resolución distribuida de nombres)."
#: ../java/build/Proxy.java:86
msgid "Check the link or find a Base 32 or Base 64 address."
msgstr "Compruebe el enlace o busque una dirección Base 32 o Base 64."
#: ../java/build/Proxy.java:87
#, java-format
msgid "If you have the Base 64 address, {0}add it to your addressbook{1}."
msgstr "Si tiene la dirección Base 64, {0}añádala a su libreta de direcciones{1} (resolución distribuida de nombres)."
#: ../java/build/Proxy.java:88
msgid ""
"Otherwise, find a Base 32 or address helper link, or use a jump service link"
" below."
msgstr "De otro modo, encuentre una dirección Base 32 o un enlace de ayudante\nde direccionamiento (address helper), o use uno de los enlaces a un servicio\nde salto (jump, direccionamiento distribuido) de debajo."
#: ../java/build/Proxy.java:89
#, java-format
msgid ""
"Seeing this page often? See {0}the FAQ{1} for help in {2}adding some "
"subscriptions{3} to your addressbook."
msgstr "¿Entra a esta web a menudo? Vea {0}las preguntas frecuentes (FAQ){1} por ayuda para {2}añadir algunas suscripciones{3} a su libreta de direcciones (resolución distribuida de nombres)."
#: ../java/build/Proxy.java:98
msgid ""
"The website was not reachable, because it uses encryption options that are "
"not supported by your I2P or Java version."
msgstr "El sitio web no fue alcanzable, porque utiliza opciones de cifrado que no están soportadas por su versión de I2P o de Java."
#: ../java/build/Proxy.java:99 ../java/build/Proxy.java:217
msgid "Could not connect to the following destination:"
msgstr "No se pudo conectar con el siguiente destino:"
#: ../java/build/Proxy.java:100 ../java/build/Proxy.java:106
#: ../java/build/Proxy.java:185 ../java/build/Proxy.java:191
msgid "Connection Reset"
msgstr "Reinicio de la conexión"
#: ../java/build/Proxy.java:107
msgid "The connection to the website was reset while the page was loading."
msgstr "La conexión al sitio web se reinició mientras se cargaba la página."
#: ../java/build/Proxy.java:108
msgid ""
"The website could be temporarily unavailable, too busy, or it has blocked "
"your access."
msgstr "El sitio web podría estar temporalmente no disponible, demasiado ocupado, o haber bloqueado su acceso."
#: ../java/build/Proxy.java:117
msgid "Warning: Authorization Required"
msgstr ""
#: ../java/build/Proxy.java:126
msgid ""
"The website destination specified was not valid, or was otherwise "
"unreachable."
msgstr "El destino del sitio web especificado no era válido, o de cualquier modo era inalcanzable."
#: ../java/build/Proxy.java:127
msgid ""
"Perhaps you pasted in the wrong Base 64 string or the link you are following"
" is bad."
msgstr "Quizás pegó la destinación Base 64 equivocada o el enlace que ha pulsado estaba mal."
#: ../java/build/Proxy.java:128
msgid "The I2P host could also be offline."
msgstr "También podría ser que ese servidor I2P esté apagado."
#: ../java/build/Proxy.java:131 ../java/build/Proxy.java:137
msgid "Warning: No Outproxy Configured"
msgstr "Advertencia: no se ha configurado ningún proxy de salida"
#: ../java/build/Proxy.java:138
msgid ""
"Your request was for a site outside of I2P, but you have no HTTP outproxy "
"configured."
msgstr "Su petición es para una web fuera de I2P, pero no tiene configurado el proxy de salida HTTP."
#: ../java/build/Proxy.java:139
msgid "Please configure an outproxy in I2PTunnel."
msgstr "Por favor, configure un proxy de salida en el I2PTunnel."
#: ../java/build/Proxy.java:140 ../java/build/Proxy.java:146
msgid "Warning: Destination Key Conflict"
msgstr "Advertencia: Conflicto con la clave de destino"
#: ../java/build/Proxy.java:147
msgid ""
"The address helper link you followed specifies a different destination key "
"than the entry in your address book."
msgstr "El enlace del asistente de direcciones que siguió especifica una clave de destino I2P distinta a la de la entrada en su libreta de direcciones."
#: ../java/build/Proxy.java:148
msgid ""
"Someone could be trying to impersonate another website, or people have given"
" two websites identical names."
msgstr "Alguien podría estar intentando suplantar otro sitio web, o la gente le ha dado nombres idénticos a dos sitios web."
#: ../java/build/Proxy.java:149
msgid ""
"Resolve the conflict by deciding which key you trust, and then either ignore"
" the address helper link, or delete the host entry from your address book "
"and click the address helper link again."
msgstr "Resuelva el conflicto decidiendo en qué clave confía, y luego, o bien ignore el enlace del asistente de direcciones o borre la entrada del nodo de su libreta de direcciones y haga clic en el enlace del asistente de direcciones de nuevo."
#: ../java/build/Proxy.java:150 ../java/build/Proxy.java:156
msgid "Warning: Bad Address Helper"
msgstr "Advertencia: Dirección de ayuda errónea."
#: ../java/build/Proxy.java:157
#, java-format
msgid "The helper key in the URL ({0}i2paddresshelper={1}) is not resolvable."
msgstr "La clave de ayuda en la URL ({0}i2paddresshelper={1}) no se puede resolver."
#: ../java/build/Proxy.java:158
msgid "It seems to be garbage data, or a mistyped Base 32 address."
msgstr "Parecen ser datos basura, o una dirección Base 32 mal escrita."
#: ../java/build/Proxy.java:159
msgid ""
"Check your URL to try and fix the helper key to be a valid Base 32 hostname "
"or Base 64 key."
msgstr "Compruebe la URL e intente arreglar la clave de ayuda para que sea un nombre de dominio Base 32 válido, o una clave Base 64."
#: ../java/build/Proxy.java:167
msgid "The HTTP Outproxy was not found."
msgstr "El proxy HTTP no está activo"
#: ../java/build/Proxy.java:168
msgid ""
"It is offline, there is network congestion, or your router is not yet well-"
"integrated with peers."
msgstr "Está apagado, o hay congestión en la red, o su ruter aún no está bien integrado con los otros pares."
#: ../java/build/Proxy.java:172 ../java/build/Proxy.java:178
msgid "Warning: Request Denied"
msgstr "Advertencia: solicitud denegada"
#: ../java/build/Proxy.java:179
msgid "You attempted to connect to a non-I2P website or location."
msgstr "Ha intentado conectarse a una localización o una web no I2P."
#: ../java/build/Proxy.java:180
msgid "Proxy Authorization Required"
msgstr "Se necesita Autorización para el Proxy"
#: ../java/build/Proxy.java:181
msgid "I2P HTTP Proxy Authorization Required"
msgstr "Se necesita Autorización para el proxy I2P HTTP"
#: ../java/build/Proxy.java:182
msgid ""
"This proxy is configured to require a username and password for access."
msgstr "Este proxy está configurado para requerir un usuario y contraseña para acceder."
#: ../java/build/Proxy.java:183
#, java-format
msgid ""
"Please enter your username and password, or check your {0}router "
"configuration{1} or {2}I2PTunnel configuration{3}."
msgstr "Por favor, escriba su usuario y contraseña, o compruebe su configuración{1} del {0}ruter o su configuración{3} de {2}I2PTunnel."
#: ../java/build/Proxy.java:184
#, java-format
msgid ""
"To disable authorization, remove the configuration "
"{0}i2ptunnel.proxy.auth=basic{1}, then stop and restart the HTTP Proxy "
"tunnel."
msgstr "Para desactivar la autorización, elimine la configuración {0}i2ptunnel.proxy.auth=basic{1}, entonces apague y reinicie el túnel HTTP Proxy."
#: ../java/build/Proxy.java:192
msgid "The connection to the proxy was reset."
msgstr "Se reinició la conexión al proxy."
#: ../java/build/Proxy.java:193
msgid ""
"The proxy could be temporarily unavailable, too busy, or it has blocked your"
" access."
msgstr "El proxy podría estar temporalmente no disponible, demasiado ocupado, o haber bloqueado su acceso."
#: ../java/build/Proxy.java:197 ../java/build/Proxy.java:203
msgid "Warning: Non-HTTP Protocol"
msgstr "Advertencia: Protocolo no HTTP"
#: ../java/build/Proxy.java:204
msgid "The request uses a bad protocol."
msgstr "La petición usa un protocolo incorrecto."
#: ../java/build/Proxy.java:205
msgid "The I2P HTTP Proxy supports HTTP and HTTPS requests only."
msgstr "El Proxy HTTP de I2P sólo soporta peticiones HTTP y HTTPS."
#: ../java/build/Proxy.java:206
msgid "Other protocols such as FTP are not allowed."
msgstr "Otros protocolos tales como FTP no están permitidos."
#: ../java/build/Proxy.java:207 ../java/build/Proxy.java:213
msgid "Outproxy Unreachable"
msgstr "Proxy de salida no alcanzable"
#: ../java/build/Proxy.java:214
msgid ""
"The HTTP outproxy was not reachable, because it uses encryption options that"
" are not supported by your I2P or Java version."
msgstr "El proxy HTTP de salida no se pudo alcanzar, porque usa opciones de cifrado que no están soportadas por su versión de I2P o de Java."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:692
msgid "This seems to be a bad destination:"
msgstr "Éste parece ser un destino falso:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:693
msgid "i2paddresshelper cannot help you with a destination like that!"
msgstr "El ayudante de direcciones no te puede ayudar con un destino así."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:765
#, java-format
msgid ""
"To visit the destination in your address book, click <a "
"href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, "
"click <a href=\"{1}\">here</a>."
msgstr "Para visitar el destino I2P de su libreta de direcciones, haga clic <a href=\"{0}\">aquí</a>. Para visitar el destino I2P en conflicto del asistente de direcciones, haga clic <a href=\"{1}\">aquí</a>."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:774
#, java-format
msgid "Destination for {0} in address book"
msgstr "Destino I2P para {0} en la libreta de direcciones"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:777
msgid "Conflicting address helper destination"
msgstr "Destino I2P en conflicto del asistente de direcciones"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1224
msgid "Corrupt Base32 address"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1304
msgid "Destination lease set not found"
msgstr "No se encontró el LeaseSet (túneles) del destino"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1437
msgid "Host"
msgstr "Host"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1441
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1502
msgid "Base32"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1445
msgid "Destination"
msgstr "Destino I2P"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1451
#, java-format
msgid "Continue to {0} without saving"
msgstr "Acceder a {0} sin guardar"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1452
msgid ""
"You can browse to the site without saving it to the address book. The "
"address will be remembered until you restart your I2P router."
msgstr "Puede visitar el sitio sin guardarlo en la libreta de direcciones. La dirección se recordará hasta que reinicie su router I2P."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1453
msgid "Continue without saving"
msgstr "Continuar sin guardar"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1460
#, java-format
msgid "Save {0} to router address book and continue to website"
msgstr "Guardar {0} en la libreta de direcciones del router I2P y continuar hacia el sitio web"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1461
msgid ""
"This address will be saved to your Router address book where your "
"subscription-based addresses are stored."
msgstr "Esta dirección se guardará en la libreta de direcciones de su router I2P, donde se almacenan sus direcciones basadas-en-suscripción."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1463
msgid ""
"If you want to keep track of sites you have added manually, add to your "
"Local or Private address book instead."
msgstr ""
#. FIXME wasn't escaped
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1466
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1548
msgid "Save & continue"
msgstr "Guardar y continuar"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1473
#, java-format
msgid "Save {0} to local address book and continue to website"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1474
msgid ""
"This address will be saved to your Local address book. Select this option "
"for addresses you wish to keep separate from the main router address book, "
"but don't mind publishing."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1478
#, java-format
msgid "Save {0} to private address book and continue to website"
msgstr "Guardar {0} en la libreta de direcciones personal y continuar hacia el sitio web"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1479
msgid ""
"This address will be saved to your Private address book, ensuring it is "
"never published."
msgstr "Esta dirección se guardará en su libreta de direcciones Privada, garantizando que nunca se publicará."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1507
msgid "Base32 address requires lookup password"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1509
msgid "Base32 address requires encryption key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1511
msgid "Base32 address requires encryption key and lookup password"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1513
msgid "Base32 address decryption failure, check encryption key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1524
msgid "Generate"
msgstr "Generar"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1525
msgid "Encryption key"
msgstr "Clave de cifrado"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1526
msgid ""
"You must either enter a PSK encryption key provided by the server operator, "
"or generate a DH encryption key and send that to the server operator."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1527
msgid "Ask the server operator for help."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1530
msgid "Enter PSK encryption key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1533
msgid "Generate new DH encryption key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1541
msgid "Lookup password"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1542
msgid "You must enter the password provided by the server operator."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:196
#, java-format
msgid "Added via address helper from {0}"
msgstr "Agregado por el ayudante de direcciones desde {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:198
msgid "Added via address helper"
msgstr "Agregado por el ayudante de direcciones."
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:235
msgid "Missing lookup password"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:249
msgid "Missing private key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:254
msgid "Invalid private key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:287
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:306
msgid "Your new encryption key"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:301
msgid "Address book"
msgstr "Libreta de direcciones"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:311
msgid "Copy the key and send it to the server operator."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:313
msgid "After you are granted permission, you may proceed to the website."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:334
msgid "Go back and fix the error"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:345
msgid "router"
msgstr "router"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:347
msgid "local"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:349
msgid "private"
msgstr "privado"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:362
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:396
#, java-format
msgid "Redirecting to {0}"
msgstr "Redireccionando a {0}"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:371
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:405
msgid "Address Book"
msgstr "Libreta de direcciones"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:376
#, java-format
msgid "Saved {0} to the {1} address book, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:377
#, java-format
msgid "Failed to save {0} to the {1} address book, redirecting now."
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:379
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:411
msgid "Click here if you are not redirected automatically."
msgstr "¡Haz click aquí si no estás siendo enviado automáticamente!"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:409
#, java-format
msgid "Saved the authentication for {0}, redirecting now."
msgstr ""

View File

@@ -4,6 +4,7 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# daingewuvzeevisiddfddd, 2022
# タカハシ, 2022
# Masayuki Hatta <mhatta@mhatta.org>, 2018
# daingewuvzeevisiddfddd, 2021
@@ -13,8 +14,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-05 14:31+0000\n"
"PO-Revision-Date: 2022-02-14 11:11+0000\n"
"Last-Translator: タカハシ\n"
"PO-Revision-Date: 2013-07-20 14:50+0000\n"
"Last-Translator: daingewuvzeevisiddfddd, 2022\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -43,7 +44,7 @@ msgstr "到達できないウェブサイト"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:368
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:402
msgid "Router Console"
msgstr "ルータコンソール"
msgstr "ルータコンソール"
#: ../java/build/Proxy.java:7 ../java/build/Proxy.java:18
#: ../java/build/Proxy.java:30 ../java/build/Proxy.java:42
@@ -56,7 +57,7 @@ msgstr "ルータコンソール"
#: ../java/build/Proxy.java:174 ../java/build/Proxy.java:187
#: ../java/build/Proxy.java:199 ../java/build/Proxy.java:209
msgid "I2P Router Console"
msgstr "I2P ルータコンソール"
msgstr "I2P ルータコンソール"
#: ../java/build/Proxy.java:8 ../java/build/Proxy.java:19
#: ../java/build/Proxy.java:31 ../java/build/Proxy.java:43
@@ -111,7 +112,7 @@ msgstr "ウェブサイトに到達できません。"
msgid ""
"The website is offline, there is network congestion, or your router is not "
"yet well-integrated with peers."
msgstr "ウェブサイトはオフラインか、ネットワークが混み合っているか、あるいはルータがまだきちんとピアに統合されていません。"
msgstr "ウェブサイトはオフラインか、ネットワークが混み合っているか、あるいはルータがまだきちんとピアに統合されていません。"
#: ../java/build/Proxy.java:14 ../java/build/Proxy.java:58
#: ../java/build/Proxy.java:109 ../java/build/Proxy.java:129
@@ -185,7 +186,7 @@ msgstr "アドレス帳へ保存すると、この通知をもう一度見るこ
msgid ""
"If you do not save it, the host name will be forgotten after the next router"
" restart."
msgstr "保存しなければ、ホスト名はルータを再起動すると忘れられます。"
msgstr "保存しなければ、ホスト名はルータを再起動すると忘れられます。"
#: ../java/build/Proxy.java:39
msgid ""
@@ -241,7 +242,7 @@ msgstr "このブラウザの設定が悪いです。"
msgid ""
"Do not use the proxy to access the router console, localhost, or local LAN "
"destinations."
msgstr "ルータコンソール、ローカルホスト、またはローカルLANの宛先へアクセスするのにプロキシを使わないでください。"
msgstr "ルータコンソール、ローカルホスト、またはローカルLANの宛先へアクセスするのにプロキシを使わないでください。"
#: ../java/build/Proxy.java:78
msgid "Website Unknown"
@@ -253,7 +254,7 @@ msgstr "アドレス帳にウェブサイトが見つかりませんでした"
#: ../java/build/Proxy.java:85
msgid "The website was not found in your router's addressbook."
msgstr "あなたのルータのアドレス帳にウェブサイトが見つかりませんでした。"
msgstr "あなたのルータのアドレス帳にウェブサイトが見つかりませんでした。"
#: ../java/build/Proxy.java:86
msgid "Check the link or find a Base 32 or Base 64 address."
@@ -386,7 +387,7 @@ msgstr "HTTPアウトプロキシが見つかりませんでした。"
msgid ""
"It is offline, there is network congestion, or your router is not yet well-"
"integrated with peers."
msgstr "オフラインであるか、ネットワークが混雑しているか、ルータがまだピアとうまく統合されていないかのいずれかです。"
msgstr "オフラインであるか、ネットワークが混雑しているか、ルータがまだピアとうまく統合されていないかのいずれかです。"
#: ../java/build/Proxy.java:172 ../java/build/Proxy.java:178
msgid "Warning: Request Denied"
@@ -414,7 +415,7 @@ msgstr "このプロキシは、アクセスにユーザー名とパスワード
msgid ""
"Please enter your username and password, or check your {0}router "
"configuration{1} or {2}I2PTunnel configuration{3}."
msgstr "ユーザー名とパスワードを入力、または{0}ルータ設定{1}または{2}I2Pトンネル設定{3}を確認してください。"
msgstr "ユーザー名とパスワードを入力、または{0}ルータ設定{1}または{2}I2Pトンネル設定{3}を確認してください。"
#: ../java/build/Proxy.java:184
#, java-format
@@ -515,7 +516,7 @@ msgstr "保存せずに {0} を続行"
msgid ""
"You can browse to the site without saving it to the address book. The "
"address will be remembered until you restart your I2P router."
msgstr "アドレス帳に保存しなくても閲覧できます。アドレスはI2Pルータを再起動するまで記憶されます。"
msgstr "アドレス帳に保存しなくても閲覧できます。アドレスはI2Pルータを再起動するまで記憶されます。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1453
msgid "Continue without saving"
@@ -524,13 +525,13 @@ msgstr "保存せずに続行"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1460
#, java-format
msgid "Save {0} to router address book and continue to website"
msgstr "ルータのアドレス帳に {0} を保存し、ウェブサイトを続行"
msgstr "ルータのアドレス帳に {0} を保存し、ウェブサイトを続行"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1461
msgid ""
"This address will be saved to your Router address book where your "
"subscription-based addresses are stored."
msgstr "このアドレスは、購読ベースのアドレスが保存されているルータのアドレス帳に保存されます。"
msgstr "このアドレスは、購読ベースのアドレスが保存されているルータのアドレス帳に保存されます。"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1463
msgid ""
@@ -662,7 +663,7 @@ msgstr "戻ってエラーを修正"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:345
msgid "router"
msgstr "ルータ"
msgstr "ルータ"
#: ../java/src/net/i2p/i2ptunnel/localServer/LocalHTTPServer.java:347
msgid "local"

View File

@@ -5,6 +5,7 @@
#
# Translators:
# A5h8d0wf0x <littleslyfoxie28@gmail.com>, 2014
# slrslr, 2022
# trendspotter <jirka.p@volny.cz>, 2020-2021
# Waseihou Watashi <waseihou@gmail.com>, 2012
msgid ""
@@ -12,8 +13,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-17 13:12+0000\n"
"PO-Revision-Date: 2021-11-17 13:34+0000\n"
"Last-Translator: zzzi2p\n"
"PO-Revision-Date: 2011-02-13 11:46+0000\n"
"Last-Translator: slrslr, 2022\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -465,7 +466,7 @@ msgstr "Délka"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1418
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1526
msgid "Variance"
msgstr ""
msgstr "Odchylka"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:531
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1420
@@ -590,7 +591,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1513
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1599
msgid "hop variance"
msgstr ""
msgstr "odchylka hop"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:631
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1608
@@ -607,7 +608,7 @@ msgstr "Počet"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1621
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1671
msgid "Backup Count"
msgstr ""
msgstr "Počet Záloh"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:637
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1623
@@ -675,7 +676,7 @@ msgstr "Profil"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:687
msgid "Delay Connect"
msgstr ""
msgstr "Spozdit Připojení"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:689
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2261
@@ -685,12 +686,12 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:696
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2268
msgid "interactive connection"
msgstr ""
msgstr "interaktivní spojení"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:700
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2272
msgid "bulk connection (downloads/websites/BT)"
msgstr ""
msgstr "hromadné spojení (stahování/webové stránky/BT)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:702
msgid "Delay Connection"
@@ -698,11 +699,11 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:706
msgid "for request/response connections"
msgstr ""
msgstr "pro spojení požadavků/odpovědí"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:718
msgid "Delay tunnel open until required"
msgstr ""
msgstr "Zpozdit otevření tunelu dokud není vyžadováno"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:720
msgid "Conserve resources by only creating tunnels when required"
@@ -717,7 +718,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:730
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2278
msgid "Reduce tunnel quantity when idle"
msgstr ""
msgstr "Snížit kvantitu tunelu při nečinnosti"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:732
msgid ""
@@ -734,7 +735,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:740
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2284
msgid "Reduced tunnel count"
msgstr ""
msgstr "Snížený počet tunelů"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:744
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:758
@@ -748,7 +749,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:750
msgid "Close tunnels when idle"
msgstr ""
msgstr "Zavřít tunely při nečinnosti"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:752
msgid "To conserve resources, close tunnels when not in use"
@@ -772,7 +773,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:778
msgid "New Keys on Reopen"
msgstr ""
msgstr "Nové Klíče při Opětovném otevření."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:784
msgid "Enable"
@@ -787,7 +788,7 @@ msgstr "Zakázat"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:802
msgid "Persistent private key"
msgstr ""
msgstr "Trvalý privátní klíč"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:805
msgid ""
@@ -911,7 +912,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:960
msgid "Local Authorization"
msgstr ""
msgstr "Místní Autorizace"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:962
msgid ""
@@ -945,7 +946,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:976
msgid "Outproxy Authorization"
msgstr ""
msgstr "Outproxy Autorizace"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:978
msgid "Enable if the outproxy a username and password to access"
@@ -969,7 +970,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1004
msgid "Jump URL List"
msgstr ""
msgstr "Skočit v Seznamu URL"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1006
msgid ""
@@ -980,7 +981,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1018
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2394
msgid "Router I2CP Address"
msgstr ""
msgstr "Adresa Routeru I2CP"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1022
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2398
@@ -995,7 +996,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1036
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2412
msgid "Custom options"
msgstr ""
msgstr "Vlastní možnosti"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1038
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2414
@@ -1143,7 +1144,7 @@ msgstr "Odchozí"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1721
msgid "Encrypt Leaseset"
msgstr ""
msgstr "Šifrovat Leaseset"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1730
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1740
@@ -1237,7 +1238,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1907
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1939
msgid "Client"
msgstr ""
msgstr "Klient"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1923
msgid "Add"
@@ -1515,7 +1516,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:177
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/ssl_jsp.java:638
msgid "Status Messages"
msgstr ""
msgstr "Stavové Zprávy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:181
msgid "Refresh"
@@ -1675,7 +1676,7 @@ msgstr "Vytvořit"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:458
msgid "I2P Client Tunnels"
msgstr ""
msgstr "I2P Klient Tunely"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:464
msgid "Interface"
@@ -1688,11 +1689,11 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:531
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:534
msgid "Standby"
msgstr ""
msgstr "Pohotovostní"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:589
msgid "Outproxy"
msgstr ""
msgstr "Outproxy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:602
msgid "internal plugin"
@@ -1704,7 +1705,7 @@ msgstr "žádný"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:673
msgid "New client tunnel"
msgstr ""
msgstr "Nový tunel klienta"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/register_jsp.java:189
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/register_jsp.java:210

File diff suppressed because it is too large Load Diff

View File

@@ -15,8 +15,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-17 13:12+0000\n"
"PO-Revision-Date: 2022-02-17 12:18+0000\n"
"Last-Translator: daingewuvzeevisiddfddd\n"
"PO-Revision-Date: 2011-02-13 11:46+0000\n"
"Last-Translator: daingewuvzeevisiddfddd, 2022\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -224,7 +224,7 @@ msgstr "種類"
msgid ""
"Name of tunnel to be displayed on Tunnel Manager home page and the router "
"console sidebar"
msgstr "トンネルマネージャのホームページとルータコンソールのサイドバーに表示するトンネルの名前"
msgstr "トンネルマネージャのホームページとルータコンソールのサイドバーに表示するトンネルの名前"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:270
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1123
@@ -251,13 +251,13 @@ msgstr "トンネルマネージャのホームページに表示するトンネ
msgid ""
"Enable this option to ensure this service is available when the router "
"starts"
msgstr "この設定を有効にすると、ルータの起動時にこのサービスが利用可能になります"
msgstr "この設定を有効にすると、ルータの起動時にこのサービスが利用可能になります"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:282
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1135
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:584
msgid "Automatically start tunnel when router starts"
msgstr "ルータが起動したときにトンネルを自動で開始"
msgstr "ルータが起動したときにトンネルを自動で開始"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:286
msgid ""
@@ -341,7 +341,7 @@ msgid ""
"If you are accessing a service on a remote I2P router, you may wish to "
"connect with SSL to avoid traffic interception. The client application "
"should be also be configured to use SSL."
msgstr "もし遠隔のI2Pルータサービスにアクセスしているなら、トラフィックの傍受を避けるためにSSLを使って接続することをお勧めします。クライアントアプリケーションもSSLを使う設定をする必要があります。"
msgstr "もし遠隔のI2Pルータサービスにアクセスしているなら、トラフィックの傍受を避けるためにSSLを使って接続することをお勧めします。クライアントアプリケーションもSSLを使う設定をする必要があります。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:386
msgid "Clients use SSL to connect to tunnel"
@@ -968,7 +968,7 @@ msgstr "あなたのアドレス帳でホストが見つからない場合に、
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1018
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2394
msgid "Router I2CP Address"
msgstr "ルータのI2CPアドレス"
msgstr "ルータのI2CPアドレス"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:1022
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2398
@@ -1339,7 +1339,7 @@ msgstr "クライアントごとにユニークなローカルアドレスを設
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2247
msgid "Only enable if you are hosting this service on multiple routers"
msgstr "複数のルータでこのサービスをホストしている場合のみ有効にしてください。"
msgstr "複数のルータでこのサービスをホストしている場合のみ有効にしてください。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/edit_jsp.java:2251
msgid "Optimize for Multihoming"
@@ -1492,7 +1492,7 @@ msgstr "トンネルはまだ初期化されていませんので、数分後に
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
msgid "These are the local services provided by your router."
msgstr "これらはルータが提供するローカルサービスです。"
msgstr "これらはルータが提供するローカルサービスです。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:165
msgid ""
@@ -2125,7 +2125,7 @@ msgstr "I2P外のIRCネットワークも、I2P内のSOCKSアウトプロキシ
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:322
msgid "A basic server tunnel for hosting a generic service inside I2P."
msgstr "I2P 内の汎用サービスをホスティングするための基本的なサーバトンネル。"
msgstr "I2P 内の汎用サービスをホスティングするための基本的なサーバトンネル。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:326
msgid "A server tunnel that is customized for HTTP connections."
@@ -2143,7 +2143,7 @@ msgstr "I2P 内の IRC ネットワークをホストするためのカスタマ
msgid ""
"Usually, a separate tunnel needs to be created for each IRC server that is "
"to be accessible inside I2P."
msgstr "通常、I2P内でアクセスできるIRCサーバごとに別のトンネルを作成する必要があります。"
msgstr "通常、I2P内でアクセスできるIRCサーバごとに別のトンネルを作成する必要があります。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:338
msgid "Select tunnel type"
@@ -2157,7 +2157,7 @@ msgstr "トンネルに名前と詳細を設けてください。"
msgid ""
"These can be anything you want - they are just for ease of identifying the "
"tunnel in the routerconsole."
msgstr "これらは、あなたが望む何でも構いません - これらは、単にルータコンソールでトンネルを識別するためのを簡単にするためだけです。"
msgstr "これらは、あなたが望む何でも構いません - これらは、単にルータコンソールでトンネルを識別するためのを簡単にするためだけです。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:407
msgid ""
@@ -2219,14 +2219,14 @@ msgstr "たいていの場合127.0.0.1のみ許可します"
msgid ""
"The I2P router can automatically start this tunnel for you when the router "
"is started."
msgstr "I2Pルータが起動すると自動的にこのトンネルを開始できます"
msgstr "I2Pルータが起動すると自動的にこのトンネルを開始できます"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:578
msgid ""
"This can be useful for frequently-used tunnels (especially server tunnels), "
"but for tunnels that are only used occasionally it would mean that the I2P "
"router is creating and maintaining unnecessary tunnels."
msgstr "これは頻繁に使われるトンネル特にサーバートンネルには便利ですが、たまにしか使われないトンネルには、I2P ルータが不要なトンネルを作成して維持していることになります。"
msgstr "これは頻繁に使われるトンネル特にサーバートンネルには便利ですが、たまにしか使われないトンネルには、I2P ルータが不要なトンネルを作成して維持していることになります。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:604
msgid "The wizard has now collected enough information to create your tunnel."
@@ -2242,11 +2242,11 @@ msgstr "下の保存ボタンをクリックすると、ウィザードがトン
msgid ""
"Because you chose to automatically start the tunnel when the router starts, "
"you don't have to do anything further."
msgstr "ルータ起動時にトンネルを自動的に開始するよう選んでいるため、他に何かする必要はありません。"
msgstr "ルータ起動時にトンネルを自動的に開始するよう選んでいるため、他に何かする必要はありません。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:613
msgid "The router will start the tunnel once it has been set up."
msgstr "ルータが起動したらトンネルを開始します。"
msgstr "ルータが起動したらトンネルを開始します。"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:617
msgid ""

View File

@@ -0,0 +1,92 @@
# I2P
# Copyright (C) 2014 The I2P Project
# This file is distributed under the same license as the streaming package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-29 14:30+0000\n"
"PO-Revision-Date: 2014-06-24 22:17+0000\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:69
msgid "Message timeout"
msgstr "Tiempo hasta la expiración del mensaje"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:72
msgid "Failed delivery to local destination"
msgstr "Fallo en la entrega al destino local"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:75
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:108
msgid "Local router failure"
msgstr "Fallo del router local"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:78
msgid "Local network failure"
msgstr "Fallo de la red local"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:81
msgid "Session closed"
msgstr "Sesión cerrada"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:84
msgid "Invalid message"
msgstr "Mensaje no válido"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:87
msgid "Invalid message options"
msgstr "Opciones de mensaje no válido"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:90
msgid "Buffer overflow"
msgstr "Desbordamiento de memoria intermedia (buffer)"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:93
msgid "Message expired"
msgstr "El mensaje expiró"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:96
msgid "Local lease set invalid"
msgstr "El lease set (túneles al mismo destino) local no es válido"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:99
msgid "No local tunnels"
msgstr "No hay túneles locales"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:102
msgid "Unsupported encryption options"
msgstr "Opciones de cifrado no soportadas"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:105
msgid "Invalid destination"
msgstr "Destino I2P no válido"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:111
msgid "Destination lease set expired"
msgstr "El lease set (túneles al mismo destino) del destino expiró"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:114
msgid "Destination lease set not found"
msgstr "No se encontró el LeaseSet (túneles) del destino"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:117
msgid "Local destination shutdown"
msgstr "Cierre del destino local"
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:120
msgid "Connection was reset"
msgstr "La conexión fue reiniciada"
#. Translate this one here, can't do it later
#: ../java/src/net/i2p/client/streaming/I2PSocketException.java:127
msgid "Failure code"
msgstr "Código de fallo"

View File

@@ -90,7 +90,7 @@ public class NewsManager implements ClientApp {
* Does NOT update the NewsEntry list.
*
* @param entries each one should be "entry" at the root
* @return success
* @return true if any new entry was written (not if changed)
*/
public synchronized boolean storeEntries(List<Node> entries) {
return PersistNews.store(_context, entries);

View File

@@ -46,7 +46,7 @@ class PersistNews {
* Old entries are always overwritten, as they may change even without the updated date changing.
*
* @param entries each one should be "entry" at the root
* @return success
* @return true if any new entry was written (not if changed)
*/
public static boolean store(I2PAppContext ctx, List<Node> entries) {
Log log = ctx.logManager().getLog(PersistNews.class);
@@ -54,7 +54,7 @@ class PersistNews {
if (!dir.exists())
dir.mkdirs();
StringBuilder buf = new StringBuilder();
boolean rv = true;
boolean rv = false;
for (Node entry : entries) {
Node nid = entry.getNode("id");
if (nid == null) {
@@ -70,6 +70,8 @@ class PersistNews {
}
String name = idToName(ctx, id);
File file = new File(dir, name);
if (!rv && !file.exists())
rv = true;
Writer out = null;
try {
out = new OutputStreamWriter(new GZIPOutputStream(new SecureFileOutputStream(file)));
@@ -80,7 +82,6 @@ class PersistNews {
} catch (IOException ioe) {
if (log.shouldWarn())
log.warn("failed store to " + file, ioe);
rv = false;
} finally {
if (out != null) try { out.close(); } catch (IOException ioe) {}
}

View File

@@ -73,6 +73,8 @@ class NewsFetcher extends UpdateRunner {
/** is the news newer */
private boolean _isNewer;
private boolean _success;
/** did we get a new news entry */
private boolean _gotNewEntry;
private static final String TEMP_NEWS_FILE = "news.xml.temp";
static final String PROP_BLOCKLIST_TIME = "router.blocklistVersion";
@@ -141,10 +143,14 @@ class NewsFetcher extends UpdateRunner {
if (get.fetch()) {
int status = get.getStatusCode();
if (status == 200 || status == 304) {
Map<String, String> opts = new HashMap<String, String>(2);
Map<String, String> opts = new HashMap<String, String>(3);
opts.put(NewsHelper.PROP_LAST_CHECKED, Long.toString(start));
if (status == 200 && _isNewer)
opts.put(NewsHelper.PROP_LAST_UPDATED, Long.toString(_newLastModified));
if (status == 200 && _isNewer) {
String lastMod = Long.toString(_newLastModified);
opts.put(NewsHelper.PROP_LAST_UPDATED, lastMod);
if (_gotNewEntry)
opts.put(NewsHelper.PROP_LAST_NEW_ENTRY, lastMod);
}
_context.router().saveConfig(opts, null);
return;
}
@@ -526,7 +532,7 @@ class NewsFetcher extends UpdateRunner {
if (nmgr != null) {
nmgr.addEntries(entries);
List<Node> nodes = NewsXMLParser.getNodes(root, "entry");
nmgr.storeEntries(nodes);
_gotNewEntry = nmgr.storeEntries(nodes);
}
}
// Persist any new CRL entries

View File

@@ -363,10 +363,15 @@ public class ConfigServiceHandler extends FormHandler {
String url = _context.portMapper().getConsoleURL();
ca = new ClientAppConfig(UrlLauncher.class.getName(), "consoleBrowser",
url, 5, false);
clients.add(ca);
}
try {
if (ca != null)
ClientAppConfig.writeClientAppConfig(_context, ca);
if (ca != null) {
if (ClientAppConfig.isSplitConfig(_context))
ClientAppConfig.writeClientAppConfig(_context, ca);
else
ClientAppConfig.writeClientAppConfig(_context, clients);
}
addFormNotice(_t("Configuration saved successfully"));
} catch (IOException ioe) {
addFormError(_t("Error saving the configuration (applied but not saved) - please see the error logs"));

View File

@@ -3,10 +3,15 @@ package net.i2p.router.web;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
import java.util.concurrent.atomic.AtomicBoolean;
import net.i2p.I2PAppContext;
import net.i2p.app.ClientAppManager;
import net.i2p.app.NotificationService;
import net.i2p.router.RouterContext;
import net.i2p.router.util.EventLog;
import net.i2p.util.Log;
import net.i2p.util.SimpleTimer2;
import net.i2p.util.SystemVersion;
/**
* Periodic check
@@ -15,16 +20,17 @@ import net.i2p.util.SimpleTimer2;
* In routerconsole because java.lang.management is
* not available in Android.
*
* @since 0.9.55
* @since 0.9.55, public since 0.9.56
*/
class DeadlockDetector extends SimpleTimer2.TimedEvent {
public class DeadlockDetector extends SimpleTimer2.TimedEvent {
private final I2PAppContext _context;
private final RouterContext _context;
private final Log _log;
private static final String PROP_INTERVAL = "router.deadlockDetectIntervalHours";
private static final long DEFAULT_INTERVAL = 24;
private static final long DEFAULT_INTERVAL = SystemVersion.isSlow() ? 12 : 4;
private static final AtomicBoolean _isDeadlocked = new AtomicBoolean();
public DeadlockDetector(I2PAppContext ctx) {
public DeadlockDetector(RouterContext ctx) {
super(ctx.simpleTimer2());
_context = ctx;
_log = _context.logManager().getLog(DeadlockDetector.class);
@@ -41,6 +47,7 @@ class DeadlockDetector extends SimpleTimer2.TimedEvent {
public void timeReached() {
long start = System.currentTimeMillis();
boolean detected = detect();
// only reschedule if not detected
if (!detected) {
long time = System.currentTimeMillis() - start;
if (_log.shouldDebug())
@@ -55,7 +62,9 @@ class DeadlockDetector extends SimpleTimer2.TimedEvent {
return detect(_context);
}
public static boolean detect(I2PAppContext ctx) {
public static boolean detect(RouterContext ctx) {
if (_isDeadlocked.get())
return true;
try {
ThreadMXBean mxb = ManagementFactory.getThreadMXBean();
long[] ids = mxb.findDeadlockedThreads();
@@ -72,7 +81,8 @@ class DeadlockDetector extends SimpleTimer2.TimedEvent {
infos = mxb.getThreadInfo(ids, Integer.MAX_VALUE);
}
StringBuilder buf = new StringBuilder(2048);
buf.append("Deadlock detected, please report\n\n");
String msg1 = Messages.getString("Deadlock detected", ctx) + " - " + Messages.getString("Please report", ctx);
buf.append(msg1).append("\n\n");
for (int i = 0; i < infos.length; i++) {
ThreadInfo info = infos[i];
if (info == null)
@@ -86,9 +96,20 @@ class DeadlockDetector extends SimpleTimer2.TimedEvent {
}
buf.append('\n');
}
buf.append("\nAfter reporting, please restart your router!\n");
String msg2 = Messages.getString("After reporting, please restart your router", ctx);
buf.append('\n').append(msg2).append('\n');
Log log = ctx.logManager().getLog(DeadlockDetector.class);
log.log(Log.CRIT, buf.toString());
ctx.router().eventLog().addEvent(EventLog.DEADLOCK, infos.length + " threads");
_isDeadlocked.set(true);
ClientAppManager cmgr = ctx.clientAppManager();
if (cmgr != null) {
NotificationService ns = (NotificationService) cmgr.getRegisteredApp("desktopgui");
if (ns != null) {
ns.notify("Router", null, Log.CRIT, Messages.getString("Router", ctx),
msg1 + '\n' + msg2, null);
}
}
} catch (Throwable t) {
// class not found, unsupportedoperation, ...
Log log = ctx.logManager().getLog(DeadlockDetector.class);
@@ -98,6 +119,15 @@ class DeadlockDetector extends SimpleTimer2.TimedEvent {
return true;
}
/**
* Return the results of the last test. Does not run a new test.
*
* @since 0.9.56
*/
public static boolean isDeadlocked() {
return _isDeadlocked.get();
}
/*
public static void main(String[] args) {
final Object o1 = new Object();

View File

@@ -25,6 +25,8 @@ public class NewsHelper extends ContentHelper {
public static final String PROP_LAST_CHECKED = "routerconsole.newsLastChecked";
/** @since 0.9.4 */
public static final String PROP_LAST_UPDATED = "routerconsole.newsLastUpdated";
/** @since 0.9.55 */
public static final String PROP_LAST_NEW_ENTRY = "routerconsole.newsLastNewEntry";
/**
* Default true
* @since 0.9.21
@@ -256,7 +258,7 @@ public class NewsHelper extends ContentHelper {
* @since 0.9.4
*/
public static boolean shouldShowNews(RouterContext ctx) {
long lastUpdated = lastUpdated(ctx);
long lastUpdated = lastNewEntry(ctx);
if (lastUpdated <= 0)
return true;
long last = ctx.getProperty(PROP_LAST_HIDDEN, 0L);
@@ -276,7 +278,7 @@ public class NewsHelper extends ContentHelper {
* @since 0.9.4
*/
public static void showNews(RouterContext ctx, boolean yes) {
long stamp = yes ? 0 : lastUpdated(ctx);
long stamp = yes ? 0 : lastNewEntry(ctx);
ctx.router().saveConfig(PROP_LAST_HIDDEN, Long.toString(stamp));
}
@@ -370,4 +372,17 @@ public class NewsHelper extends ContentHelper {
ctx.router().saveConfig(PROP_LAST_UPDATED, Long.toString(rv));
return rv;
}
/**
* When we last got a new news entry
* @since 0.9.55
*/
private static long lastNewEntry(RouterContext ctx) {
long rv = ctx.getProperty(PROP_LAST_NEW_ENTRY, 0L);
if (rv > 0)
return rv;
rv = lastUpdated(ctx);
ctx.router().saveConfig(PROP_LAST_NEW_ENTRY, Long.toString(rv));
return rv;
}
}

View File

@@ -139,6 +139,7 @@ public class ConfigUIHelper extends HelperBase {
{ "de", "de", "Deutsch", null },
{ "et", "ee", "Eesti", null },
{ "es", "es", "Español", null },
{ "es", "ar", "Español" ,"Argentina" },
{ "fa", "ir", "Persian فارسی", null },
{ "fr", "fr", "Français", null },
{ "gl", "lang_gl", "Galego", null },

View File

@@ -36,6 +36,7 @@ public class EventLogHelper extends FormHandler {
EventLog.CLOCK_SHIFT, _x("Clock shifted"),
EventLog.CRASHED, _x("Crashed"),
EventLog.CRITICAL, _x("Critical error"),
EventLog.DEADLOCK, _x("Deadlock detected"),
EventLog.INSTALLED, _x("Installed new version"),
EventLog.INSTALL_FAILED, _x("Install failed"),
EventLog.NETWORK, _x("Network error"),

View File

@@ -421,7 +421,9 @@ public class NetDbHelper extends FormHandler {
"<tr><td colspan=\"3\" class=\"subheading\"><b>Add Sybil analysis (must pick one above):</b></td></tr>\n" +
"<tr><td>Sybil close to:</td><td><input type=\"text\" name=\"sybil2\"></td><td>Router hash, destination hash, b32, or from address book</td>\n" +
"<tr><td><label for=\"closetorouter\">or Sybil close to this router:</label></td><td><input type=\"checkbox\" class=\"optbox\" value=\"1\" name=\"sybil\" id=\"closetorouter\"></td><td></td></tr>\n" +
"<tr><td colspan=\"3\" class=\"optionsave\"><button type=\"submit\" class=\"search\" value=\"Lookup\">Lookup</button></td></tr>\n" +
"<tr><td colspan=\"3\" class=\"optionsave\">" +
"<button type=\"reset\" class=\"cancel\" value=\"Cancel\">Cancel</button> " +
"<button type=\"submit\" class=\"search\" value=\"Lookup\">Lookup</button></td></tr>\n" +
"</table>\n</form>\n");
}
}

View File

@@ -121,24 +121,27 @@ class NetDbRenderer {
if (h != null && h.length == Hash.HASH_LENGTH) {
Hash hash = new Hash(h);
RouterInfo ri = _context.netDb().lookupRouterInfoLocally(hash);
boolean banned = false;
if (ri == null) {
// remote lookup
LookupWaiter lw = new LookupWaiter();
_context.netDb().lookupRouterInfo(hash, lw, lw, 8*1000);
// just wait right here in the middle of the rendering, sure
synchronized(lw) {
try { lw.wait(9*1000); } catch (InterruptedException ie) {}
banned = _context.banlist().isBanlisted(hash);
if (!banned) {
// remote lookup
LookupWaiter lw = new LookupWaiter();
_context.netDb().lookupRouterInfo(hash, lw, lw, 8*1000);
// just wait right here in the middle of the rendering, sure
synchronized(lw) {
try { lw.wait(9*1000); } catch (InterruptedException ie) {}
}
ri = _context.netDb().lookupRouterInfoLocally(hash);
}
ri = _context.netDb().lookupRouterInfoLocally(hash);
}
if (ri != null) {
renderRouterInfo(buf, ri, false, true);
} else {
buf.append("<div class=\"netdbnotfound\">");
buf.append(_t("Router")).append(' ');
if (routerPrefix != null)
buf.append(routerPrefix);
buf.append(' ').append(_t("not found in network database"));
buf.append(routerPrefix);
buf.append(' ').append(banned ? "is banned" : _t("not found in network database"));
buf.append("</div>");
}
} else {

View File

@@ -26,6 +26,7 @@ import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
import net.i2p.router.networkdb.reseed.ReseedChecker;
import net.i2p.router.transport.TransportUtil;
import net.i2p.router.web.CSSHelper;
import net.i2p.router.web.DeadlockDetector;
import net.i2p.router.web.HelperBase;
import net.i2p.router.web.NewsHelper;
import net.i2p.router.web.WebAppStarter;
@@ -951,6 +952,15 @@ public class SummaryHelper extends HelperBase {
.append("</a></h4>");
}
if (DeadlockDetector.isDeadlocked()) {
buf.append("<div class=\"sb_notice\"><b>")
.append(_t("Deadlock detected"))
.append(" - <a href=\"/logs\">")
.append(_t("Please report"))
.append("</a> - ").append(_t("After reporting, please restart your router"))
.append("</b></div>");
}
ReseedChecker checker = _context.netDb().reseedChecker();
String status = checker.getStatus();
if (status.length() > 0) {

View File

@@ -8,6 +8,7 @@
# blabla <blabla@trash-mail.com>, 2011-2012
# ducki2p <ducki2p@gmail.com>, 2011
# foo <foo@bar>, 2009
# Juan Jaramillo <juanda097@protonmail.ch>, 2022
# mixxy, 2011
# punkibastardo <punkibastardo@gmail.com>, 2011-2012
# strel, 2013
@@ -17,15 +18,15 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-07-17 01:33+0000\n"
"PO-Revision-Date: 2017-06-30 21:33+0000\n"
"Last-Translator: strel\n"
"POT-Creation-Date: 2020-08-12 13:39+0000\n"
"PO-Revision-Date: 2013-10-14 15:34+0000\n"
"Last-Translator: Juan Jaramillo <juanda097@protonmail.ch>, 2022\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
msgid "Anonymous Proxy"
msgstr "Proxy anónimo"
@@ -768,6 +769,9 @@ msgstr "Wallis y Futuna"
msgid "Samoa"
msgstr "Samoa"
msgid "Kosovo"
msgstr "Kosovo"
msgid "Yemen"
msgstr "Yemen"

View File

@@ -0,0 +1,778 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-12 13:39+0000\n"
"PO-Revision-Date: 2013-10-14 15:34+0000\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
msgid "Anonymous Proxy"
msgstr "Proxy anónimo"
msgid "Satellite Provider"
msgstr "Proveedor de satélite"
msgid "Andorra"
msgstr "Andorra"
msgid "United Arab Emirates"
msgstr "Emiratos Árabes Unidos"
msgid "Afghanistan"
msgstr "Afganistán"
msgid "Antigua and Barbuda"
msgstr "Antigua y Barbuda"
msgid "Anguilla"
msgstr "Anguila"
msgid "Albania"
msgstr "Albania"
msgid "Armenia"
msgstr "Armenia"
msgid "Netherlands Antilles"
msgstr "Antillas Holandesas"
msgid "Angola"
msgstr "Angola"
msgid "Asia/Pacific Region"
msgstr "Región Asia/Pacífico"
msgid "Antarctica"
msgstr "La Antártida"
msgid "Argentina"
msgstr "Argentina"
msgid "American Samoa"
msgstr "Samoa Americana"
msgid "Austria"
msgstr "Austria"
msgid "Australia"
msgstr "Australia"
msgid "Aruba"
msgstr "Aruba"
msgid "Åland Islands"
msgstr "Islas Åland"
msgid "Azerbaijan"
msgstr "Azerbaiyán"
msgid "Bosnia and Herzegovina"
msgstr "Bosnia y Herzegovina"
msgid "Barbados"
msgstr "Barbados"
msgid "Bangladesh"
msgstr "Bangladés (Bangladesh)"
msgid "Belgium"
msgstr "Bélgica"
msgid "Burkina Faso"
msgstr "Burkina Faso"
msgid "Bulgaria"
msgstr "Bulgaria"
msgid "Bahrain"
msgstr "Bahrein"
msgid "Burundi"
msgstr "Burundi"
msgid "Benin"
msgstr "Benín"
msgid "Saint Barthélemy"
msgstr "San Bartolomé"
msgid "Bermuda"
msgstr "Bermudas"
msgid "Brunei Darussalam"
msgstr "Brunei"
msgid "Bolivia"
msgstr "Bolivia"
msgid "Bonaire"
msgstr "Bonaire"
msgid "Brazil"
msgstr "Brasil"
msgid "Bahamas"
msgstr "Bahamas"
msgid "Bhutan"
msgstr "Bután"
msgid "Bouvet Island"
msgstr "Isla Bouvet"
msgid "Botswana"
msgstr "Botsuana (Botswana)"
msgid "Belarus"
msgstr "Bielorrusia"
msgid "Belize"
msgstr "Belice"
msgid "Canada"
msgstr "Canadá"
msgid "Cocos (Keeling) Islands"
msgstr "Islas Cocos (Keeling)"
msgid "Congo"
msgstr "Congo"
msgid "Central African Republic"
msgstr "República Centroafricana"
msgid "Switzerland"
msgstr "Suiza"
msgid "Cote D'Ivoire"
msgstr "Costa de Marfil"
msgid "Cook Islands"
msgstr "Islas Cook"
msgid "Chile"
msgstr "Chile"
msgid "Cameroon"
msgstr "Camerún"
msgid "China"
msgstr "China"
msgid "Colombia"
msgstr "Colombia"
msgid "Costa Rica"
msgstr "Costa Rica"
msgid "Serbia and Montenegro"
msgstr "Serbia y Montenegro"
msgid "Cuba"
msgstr "Cuba"
msgid "Cape Verde"
msgstr "Cabo Verde"
msgid "Curaçao"
msgstr "Curaçao"
msgid "Christmas Island"
msgstr "Isla de Navidad"
msgid "Cyprus"
msgstr "Chipre"
msgid "Czech Republic"
msgstr "República Checa"
msgid "Germany"
msgstr "Alemania"
msgid "Djibouti"
msgstr "Yibuti (Djibouti)"
msgid "Denmark"
msgstr "Dinamarca"
msgid "Dominica"
msgstr "Dominica"
msgid "Dominican Republic"
msgstr "República Dominicana"
msgid "Algeria"
msgstr "Argelia"
msgid "Ecuador"
msgstr "Ecuador"
msgid "Estonia"
msgstr "Estonia"
msgid "Egypt"
msgstr "Egipto"
msgid "Western Sahara"
msgstr "Sáhara Occidental"
msgid "Eritrea"
msgstr "Eritrea"
msgid "Spain"
msgstr "España"
msgid "Ethiopia"
msgstr "Etiopía"
msgid "European Union"
msgstr "Unión Europea"
msgid "Finland"
msgstr "Finlandia"
msgid "Fiji"
msgstr "Fiyi (Fiji)"
msgid "Falkland Islands (Malvinas)"
msgstr "Islas Malvinas"
msgid "Micronesia"
msgstr "Micronesia"
msgid "Faroe Islands"
msgstr "Islas Feroe"
msgid "France"
msgstr "Francia"
msgid "Gabon"
msgstr "Gabón"
msgid "United Kingdom"
msgstr "Reino Unido"
msgid "Grenada"
msgstr "Granada"
msgid "Georgia"
msgstr "Georgia"
msgid "French Guiana"
msgstr "Guayana Francesa"
msgid "Guernsey"
msgstr "Guernsey"
msgid "Ghana"
msgstr "Ghana"
msgid "Gibraltar"
msgstr "Gibraltar"
msgid "Greenland"
msgstr "Groenlandia"
msgid "Gambia"
msgstr "Gambia"
msgid "Guinea"
msgstr "Guinea"
msgid "Guadeloupe"
msgstr "Guadalupe"
msgid "Equatorial Guinea"
msgstr "Guinea Ecuatorial"
msgid "Greece"
msgstr "Grecia"
msgid "South Georgia and the South Sandwich Islands"
msgstr "Georgia del Sur e Islas Sandwich del Sur"
msgid "Guatemala"
msgstr "Guatemala"
msgid "Guam"
msgstr "Guam"
msgid "Guinea-Bissau"
msgstr "Guinea-Bissau"
msgid "Guyana"
msgstr "Guyana"
msgid "Hong Kong"
msgstr "Hong Kong"
msgid "Honduras"
msgstr "Honduras"
msgid "Croatia"
msgstr "Croacia"
msgid "Haiti"
msgstr "Haití"
msgid "Hungary"
msgstr "Hungría"
msgid "Indonesia"
msgstr "Indonesia"
msgid "Ireland"
msgstr "Irlanda"
msgid "Israel"
msgstr "Israel"
msgid "Isle of Man"
msgstr "Isla de Man"
msgid "India"
msgstr "India"
msgid "British Indian Ocean Territory"
msgstr "Territorio británico del océano Índico"
msgid "Iraq"
msgstr "Irak"
msgid "Iran"
msgstr "Irán"
msgid "Iceland"
msgstr "Islandia"
msgid "Italy"
msgstr "Italia"
msgid "Jersey"
msgstr "Jersey"
msgid "Jamaica"
msgstr "Jamaica"
msgid "Jordan"
msgstr "Jordania"
msgid "Japan"
msgstr "Japón"
msgid "Kenya"
msgstr "Kenia"
msgid "Kyrgyzstan"
msgstr "Kirguizistán"
msgid "Cambodia"
msgstr "Camboya"
msgid "Kiribati"
msgstr "Kiribati"
msgid "Comoros"
msgstr "Comores"
msgid "Saint Kitts and Nevis"
msgstr "Saint Kitts y Nevis"
msgid "North Korea"
msgstr "Corea del Norte"
msgid "Republic of Korea"
msgstr "República de Corea"
msgid "Kuwait"
msgstr "Kuwait"
msgid "Cayman Islands"
msgstr "Islas Caimán"
msgid "Kazakhstan"
msgstr "Kazajistán"
msgid "Lao People's Democratic Republic"
msgstr "República Democrática Popular Lao"
msgid "Lebanon"
msgstr "Líbano"
msgid "Saint Lucia"
msgstr "Santa Lucía"
msgid "Liechtenstein"
msgstr "Liechtenstein"
msgid "Sri Lanka"
msgstr "Sri Lanka"
msgid "Liberia"
msgstr "Liberia"
msgid "Lesotho"
msgstr "Lesoto"
msgid "Lithuania"
msgstr "Lituania"
msgid "Luxembourg"
msgstr "Luxemburgo"
msgid "Latvia"
msgstr "Letonia"
msgid "Libya"
msgstr "Libia"
msgid "Morocco"
msgstr "Marruecos"
msgid "Monaco"
msgstr "Mónaco"
msgid "Moldova"
msgstr "Moldavia"
msgid "Montenegro"
msgstr "Montenegro"
msgid "Saint Martin"
msgstr "San Martín"
msgid "Madagascar"
msgstr "Madagascar"
msgid "Marshall Islands"
msgstr "Islas Marshall"
msgid "Macedonia"
msgstr "Macedonia"
msgid "Mali"
msgstr "Malí"
msgid "Myanmar"
msgstr "Myanmar (Birmania)"
msgid "Mongolia"
msgstr "Mongolia"
msgid "Macau"
msgstr "Macao"
msgid "Northern Mariana Islands"
msgstr "Islas Marianas del Norte"
msgid "Martinique"
msgstr "Martinica"
msgid "Mauritania"
msgstr "Mauritania"
msgid "Montserrat"
msgstr "Montserrat"
msgid "Malta"
msgstr "Malta"
msgid "Mauritius"
msgstr "Mauricio"
msgid "Maldives"
msgstr "Maldivas"
msgid "Malawi"
msgstr "Malaui (Malawi)"
msgid "Mexico"
msgstr "México"
msgid "Malaysia"
msgstr "Malasia"
msgid "Mozambique"
msgstr "Mozambique"
msgid "Namibia"
msgstr "Namibia"
msgid "New Caledonia"
msgstr "Nueva Caledonia"
msgid "Niger"
msgstr "Níger"
msgid "Norfolk Island"
msgstr "Isla Norfolk"
msgid "Nigeria"
msgstr "Nigeria"
msgid "Nicaragua"
msgstr "Nicaragua"
msgid "Netherlands"
msgstr "Holanda"
msgid "Norway"
msgstr "Noruega"
msgid "Nepal"
msgstr "Nepal"
msgid "Nauru"
msgstr "Nauru"
msgid "Niue"
msgstr "Niue"
msgid "New Zealand"
msgstr "Nueva Zelanda"
msgid "Oman"
msgstr "Omán"
msgid "Panama"
msgstr "Panamá"
msgid "Peru"
msgstr "Perú"
msgid "French Polynesia"
msgstr "Polinesia Francesa"
msgid "Papua New Guinea"
msgstr "Papúa Nueva Guinea"
msgid "Philippines"
msgstr "Filipinas"
msgid "Pakistan"
msgstr "Pakistán"
msgid "Poland"
msgstr "Polonia"
msgid "Saint Pierre and Miquelon"
msgstr "San Pedro y Miquelón"
msgid "Pitcairn Islands"
msgstr "Islas Pitcairn"
msgid "Puerto Rico"
msgstr "Puerto Rico"
msgid "Palestinian Territory"
msgstr "Territorio Palestino"
msgid "Portugal"
msgstr "Portugal"
msgid "Palau"
msgstr "Palau"
msgid "Paraguay"
msgstr "Paraguay"
msgid "Qatar"
msgstr "Catar (Qatar)"
msgid "Réunion"
msgstr "Reunión"
msgid "Romania"
msgstr "Rumanía"
msgid "Serbia"
msgstr "Serbia"
msgid "Russian Federation"
msgstr "Federación de Rusia"
msgid "Rwanda"
msgstr "Ruanda"
msgid "Saudi Arabia"
msgstr "Arabia Saudita"
msgid "Solomon Islands"
msgstr "Islas Salomón"
msgid "Seychelles"
msgstr "Seychelles"
msgid "Sudan"
msgstr "Sudán"
msgid "Sweden"
msgstr "Suecia"
msgid "Singapore"
msgstr "Singapur"
msgid "Saint Helena"
msgstr "Santa Elena"
msgid "Slovenia"
msgstr "Eslovenia"
msgid "Svalbard and Jan Mayen"
msgstr "Svalbard y Jan Mayen"
msgid "Slovakia"
msgstr "Eslovaquia"
msgid "Sierra Leone"
msgstr "Sierra Leona"
msgid "San Marino"
msgstr "San Marino"
msgid "Senegal"
msgstr "Senegal"
msgid "Somalia"
msgstr "Somalia"
msgid "Suriname"
msgstr "Surinam"
msgid "South Sudan"
msgstr "Sudán del Sur"
msgid "Sao Tome and Principe"
msgstr "Santo Tomé y Príncipe"
msgid "El Salvador"
msgstr "El Salvador"
msgid "Sint Maarten"
msgstr "Sint Maarten"
msgid "Syria"
msgstr "Siria"
msgid "Swaziland"
msgstr "Suazilandia"
msgid "Turks and Caicos Islands"
msgstr "Islas Turcas y Caicos"
msgid "Chad"
msgstr "Chad"
msgid "French Southern Territories"
msgstr "Tierras Australes y Antárticas Francesas"
msgid "Togo"
msgstr "Togo"
msgid "Thailand"
msgstr "Tailandia"
msgid "Tajikistan"
msgstr "Tayikistán"
msgid "Tokelau"
msgstr "Tokelau"
msgid "Timor-Leste"
msgstr "Timor-Leste"
msgid "Turkmenistan"
msgstr "Turkmenistán"
msgid "Tunisia"
msgstr "Túnez"
msgid "Tonga"
msgstr "Tonga"
msgid "Turkey"
msgstr "Turquía"
msgid "Trinidad and Tobago"
msgstr "Trinidad y Tobago"
msgid "Tuvalu"
msgstr "Tuvalu"
msgid "Taiwan"
msgstr "Taiwán"
msgid "Tanzania"
msgstr "Tanzania"
msgid "Ukraine"
msgstr "Ucrania"
msgid "Uganda"
msgstr "Uganda"
msgid "United States Minor Outlying Islands"
msgstr "Islas Ultramarinas menores de Estados Unidos"
msgid "United States"
msgstr "Estados Unidos"
msgid "Uruguay"
msgstr "Uruguay"
msgid "Uzbekistan"
msgstr "Uzbekistán"
msgid "Vatican"
msgstr "Ciudad del Vaticano"
msgid "Saint Vincent and the Grenadines"
msgstr "San Vicente y las Granadinas"
msgid "Venezuela"
msgstr "Venezuela"
msgid "Virgin Islands"
msgstr "Islas Vírgenes"
msgid "Vietnam"
msgstr "Vietnam"
msgid "Vanuatu"
msgstr "Vanuatu"
msgid "Wallis and Futuna"
msgstr "Wallis y Futuna"
msgid "Samoa"
msgstr "Samoa"
msgid "Kosovo"
msgstr "Kosovo"
msgid "Yemen"
msgstr "Yemen"
msgid "Mayotte"
msgstr "Mayotte"
msgid "South Africa"
msgstr "Sudáfrica"
msgid "Zambia"
msgstr "Zambia"
msgid "Zimbabwe"
msgstr "Zimbabue"

View File

@@ -5,22 +5,23 @@
#
# Translators:
# difusion, 2014
# Juan Jaramillo <juanda097@protonmail.ch>, 2022
# strel, 2014
# trolly, 2013
# Trolly, 2013
# fa1e5d1b5b1ea91a38c4e92aeae85c31_060014a, 2013
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-07-13 21:46+0000\n"
"PO-Revision-Date: 2017-06-30 21:33+0000\n"
"Last-Translator: difusion\n"
"POT-Creation-Date: 2021-05-05 15:14+0000\n"
"PO-Revision-Date: 2013-07-20 14:49+0000\n"
"Last-Translator: Juan Jaramillo <juanda097@protonmail.ch>, 2022\n"
"Language-Team: Spanish (http://www.transifex.com/otf/I2P/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
msgid "Congratulations on getting I2P installed!"
msgstr "&iexcl;Felicidades!, has instalado I2P con &eacute;xito."
@@ -66,3 +67,6 @@ msgid ""
"Point your IRC client to {0}localhost:6668{1} and say hi to us on "
"{2}#i2p{3}."
msgstr "Dirija su cliente de IRC hacia {0}localhost:6668{1} y salúdenos en {2}#i2p{3}."
msgid "I2P Development Team"
msgstr "Equipo de desarrollo de I2P"

View File

@@ -0,0 +1,67 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-05 15:14+0000\n"
"PO-Revision-Date: 2013-07-20 14:49+0000\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
msgid "Congratulations on getting I2P installed!"
msgstr "¡Felicidades por conseguir instalar I2P!"
msgid "Welcome to I2P!"
msgstr "&iexcl;Bienvenido a I2P!"
#, java-format
msgid "Please {0}have patience{1} as I2P boots up and finds peers."
msgstr "¡Por favor, tenga {0}paciencia{1} mientras I2P se arranca y encuentra otros pares!"
#, java-format
msgid ""
"While you are waiting, please {0}adjust your bandwidth settings{1} on the "
"{2}configuration page{3}."
msgstr "Este es el momento ideal para adaptar tu {0}configuraci&oacute;n del ancho de banda{1} en la {2}p&aacute;gina de configuraci&oacute;n{3}."
msgid ""
"Also you can setup your browser to use the I2P proxy to reach eepsites."
msgstr "También puede configurar su navegador para usar el proxy de I2P para ver las eepsites."
msgid ""
"Just enter 127.0.0.1 (or localhost) port 4444 as a http proxy into your "
"browser settings."
msgstr "Simplemente escriba 127.0.0.1 (o localhost) puerto 4444 en la configuración de proxy de su navegador."
msgid "Do not use SOCKS for this."
msgstr "No use SOCKS para esto."
#, java-format
msgid ""
"More information can be found on the {0}I2P browser proxy setup page{1}."
msgstr "Puede encontrarse más información en la web{1} de configuración del proxy del navegador de {0}I2P"
#, java-format
msgid ""
"Once you have a \"shared clients\" destination listed on the left, please "
"{0}check out{1} our {2}FAQ{3}."
msgstr "En cuanto veas a la izquierda una conexi&oacute;n llamada \"clientes diferentes\", puedes visitar nuestros {0}{1} {2}FAQ{3}."
#, java-format
msgid ""
"Point your IRC client to {0}localhost:6668{1} and say hi to us on "
"{2}#i2p{3}."
msgstr "Dirija su cliente de IRC hacia {0}localhost:6668{1} y salúdenos en {2}#i2p{3}."
msgid "I2P Development Team"
msgstr "Equipo de desarrollo de I2P"

View File

@@ -5,6 +5,7 @@
#
# Translators:
# A5h8d0wf0x <littleslyfoxie28@gmail.com>, 2014
# slrslr, 2022
# Pavel Pavel <tmp478523792@gmail.com>, 2016
# Waseihou Watashi <waseihou@gmail.com>, 2012
msgid ""
@@ -13,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-10 16:21+0000\n"
"PO-Revision-Date: 2011-02-13 12:00+0000\n"
"Last-Translator: Pavel Pavel <tmp478523792@gmail.com>, 2016\n"
"Last-Translator: slrslr, 2022\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,7 +41,7 @@ msgstr "IP adresa zakázána v souboru blocklist.txt, záznam {0}"
#: ../../../router/java/src/net/i2p/router/Router.java:1448
#: ../java/src/net/i2p/router/web/helpers/ConfigRestartBean.java:69
msgid "Restart imminent"
msgstr ""
msgstr "Připravuje se restart"
#: ../../../router/java/src/net/i2p/router/Router.java:1450
#: ../java/src/net/i2p/router/web/helpers/ConfigRestartBean.java:71
@@ -465,7 +466,7 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:574
#, java-format
msgid "Downloading plugin from {0}"
msgstr ""
msgstr "Stahování pluginu z {0}"
#: ../java/src/net/i2p/router/update/PluginUpdateRunner.java:169
msgid "Downloading plugin"
@@ -637,7 +638,7 @@ msgstr ""
#: ../java/src/net/i2p/router/update/UpdateRunner.java:202
#, java-format
msgid "Updating from {0}"
msgstr ""
msgstr "Aktualizace z {0}"
#: ../java/src/net/i2p/router/update/UpdateRunner.java:275
#, java-format
@@ -884,7 +885,7 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigNetHandler.java:416
#: ../java/src/net/i2p/router/web/helpers/WizardHandler.java:77
msgid "Configuration saved successfully"
msgstr ""
msgstr "Nastavení uloženo úspěšně"
#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:369
#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:418
@@ -903,7 +904,7 @@ msgstr ""
msgid ""
"Error saving the configuration (applied but not saved) - please see the "
"error logs"
msgstr ""
msgstr "Chyba při ukládání nastavení (použito ale neuloženo) - prosím podívejte se do chybových logů"
#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:388
#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:403
@@ -1229,34 +1230,34 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigAdvancedHandler.java:73
msgid "Error updating the configuration - please see the error logs"
msgstr ""
msgstr "Chyba při aktualizaci nastavení - prosím podívejte se do chybových logů"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:58
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:597
msgid "Save Client Configuration"
msgstr ""
msgstr "Uložit Nastavení Klienta"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:62
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configi2cp_jsp.java:629
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configi2cp_jsp.java:633
msgid "Save Interface Configuration"
msgstr ""
msgstr "Uložit Nastavení Rozhraní"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:66
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configwebapps_jsp.java:563
msgid "Save WebApp Configuration"
msgstr ""
msgstr "Uložit Nastavení WebApp"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:71
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configplugins_jsp.java:572
msgid "Save Plugin Configuration"
msgstr ""
msgstr "Uložit Nastavení Pluginu"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:78
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configplugins_jsp.java:597
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configplugins_jsp.java:601
msgid "Install Plugin"
msgstr ""
msgstr "Instalovat Plugin"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:87
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configplugins_jsp.java:626
@@ -1272,22 +1273,22 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:185
#, java-format
msgid "Error stopping plugin {0}"
msgstr ""
msgstr "Chyba zastavování pluginu {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:153
#, java-format
msgid "Deleted plugin {0}"
msgstr ""
msgstr "Smazaný Plugin {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:155
#, java-format
msgid "Error deleting plugin {0}"
msgstr ""
msgstr "Chyba mazání pluginu {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:180
#, java-format
msgid "Stopped plugin {0}"
msgstr ""
msgstr "Zastavený plugin {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:190
#, java-format
@@ -1307,13 +1308,13 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:315
msgid "New client added"
msgstr ""
msgstr "Nový klient přidán"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:336
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:362
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:377
msgid "Bad client index."
msgstr ""
msgstr "Špatný index klienta."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:345
#, java-format
@@ -1332,32 +1333,32 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:402
msgid "WebApp configuration saved."
msgstr ""
msgstr "WebApp nastavení uloženo."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:416
msgid "Plugin configuration saved."
msgstr ""
msgstr "Plugin nastavení uloženo."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:431
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java:227
msgid "WebApp"
msgstr ""
msgstr "WebApp"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:431
msgid "started"
msgstr ""
msgstr "spuštěno"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:433
msgid "Failed to start"
msgstr ""
msgstr "Selhalo spuštění"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:438
msgid "Failed to find server."
msgstr ""
msgstr "Selhalo hledání serveru."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:444
msgid "No plugin URL specified."
msgstr ""
msgstr "Nebyla zadána adresa pluginu."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:465
#: ../java/src/net/i2p/router/web/helpers/ConfigFamilyHandler.java:67
@@ -1372,12 +1373,12 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:519
#, java-format
msgid "No update URL specified for {0}"
msgstr ""
msgstr "Nebyla zadána adresa aktualizace pro {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:528
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:552
msgid "Plugin or update download already in progress."
msgstr ""
msgstr "Stahování pluginu nebo aktualizace již běží."
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:533
msgid "Updating all plugins"
@@ -1391,18 +1392,18 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:593
#, java-format
msgid "Checking plugin {0} for updates"
msgstr ""
msgstr "Kontrola aktualizací pluginu {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:632
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:634
#, java-format
msgid "Started plugin {0}"
msgstr ""
msgstr "Spuštěn plugin {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:637
#, java-format
msgid "Error starting plugin {0}"
msgstr ""
msgstr "Chyba spouštění pluginu {0}"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHandler.java:659
#: ../java/src/net/i2p/router/web/helpers/ConfigUIHandler.java:118
@@ -1429,7 +1430,7 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/SummaryBarRenderer.java:1049
#: ../java/src/net/i2p/router/web/helpers/SummaryHelper.java:601
msgid "Client"
msgstr ""
msgstr "Klient"
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java:133
#: ../java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java:228
@@ -1581,7 +1582,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:637
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:566
msgid "Delete selected"
msgstr ""
msgstr "Smazat vybrané"
#: ../java/src/net/i2p/router/web/helpers/ConfigHomeHandler.java:23
#: ../java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java:26
@@ -1606,7 +1607,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:625
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confighome_jsp.java:641
msgid "Restore defaults"
msgstr ""
msgstr "Obnovit výchozí"
#: ../java/src/net/i2p/router/web/helpers/ConfigHomeHandler.java:30
msgid "Home page changed"
@@ -1627,12 +1628,12 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigHomeHandler.java:95
#: ../java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java:95
msgid "Added"
msgstr ""
msgstr "Přidáno"
#: ../java/src/net/i2p/router/web/helpers/ConfigHomeHandler.java:112
#: ../java/src/net/i2p/router/web/helpers/ConfigSummaryHandler.java:122
msgid "Removed"
msgstr ""
msgstr "Odebráno"
#: ../java/src/net/i2p/router/web/helpers/ConfigKeyringHandler.java:29
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:627
@@ -2169,7 +2170,7 @@ msgstr ""
#: ../java/src/net/i2p/router/web/helpers/ConfigPeerHandler.java:63
#: ../java/src/net/i2p/router/web/helpers/WizardHandler.java:83
msgid "Unsupported"
msgstr ""
msgstr "Nepodporováno"
#: ../java/src/net/i2p/router/web/helpers/ConfigPeerHelper.java:23
msgid "IPs Banned Until Restart"
@@ -3003,7 +3004,7 @@ msgstr ""
#. "http://killyourtv.i2p/" + S + I + "television_delete.png" + S +
#: ../java/src/net/i2p/router/web/helpers/HomeHelper.java:85
msgid "MuWire"
msgstr ""
msgstr "MuWire"
#: ../java/src/net/i2p/router/web/helpers/HomeHelper.java:88
msgid "I2P News"
@@ -5207,11 +5208,11 @@ msgstr "I2PSnark"
#. standard themes for ConfigUIHelper
#: ../java/strings/Strings.java:45
msgid "dark"
msgstr ""
msgstr "tmavý"
#: ../java/strings/Strings.java:46
msgid "light"
msgstr ""
msgstr "světlý"
#: ../java/strings/Strings.java:51
msgid "Encryption"
@@ -5286,7 +5287,7 @@ msgstr "Certifikáty"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/webmail_jsp.java:274
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/welcome_jsp.java:329
msgid "Router is down"
msgstr ""
msgstr "Router neběží"
#. We have intl defined when this is included, but not when compiled
#. standalone.

View File

@@ -6948,7 +6948,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:443
msgid "Further Assistance"
msgstr ""
msgstr "Περαιτέρω Βοήθεια"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:445
msgid ""

File diff suppressed because it is too large Load Diff

View File

@@ -6627,7 +6627,7 @@ msgstr "初期設定はほとんどの人には機能します。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:551
msgid "There is a fundamental tradeoff between anonymity and performance."
msgstr "匿名性とパフォーマンスの間には本的なトレードオフがあります。"
msgstr "匿名性とパフォーマンスの間には本的な、兼ね合いがあります。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:554
msgid ""
@@ -7335,7 +7335,7 @@ msgstr "別の I2P のインスタンスを実行していませんか?競合
msgid ""
"The skew (offset) of your computer's clock relative to the network-synced "
"time."
msgstr "ネットワーク同期時間と比較したユーザーのコンピューター時間の歪み(オフセット)"
msgstr "ネットワーク同期時間と比較したユーザーのコンピューター時間の歪み(オフセット)"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:634
msgid "I2P requires your computer's time be accurate."
@@ -7546,7 +7546,7 @@ msgstr "I2P 内の IRC につなぐには?"
msgid ""
"A tunnel to the main IRC server network within I2P, Irc2P, is automatically "
"started when the I2P router starts."
msgstr "I2Pルーターが起動すると、I2P内の主なIRCサーバネットワークであるIrc2Pへのトンネルが自動的に開始されます。"
msgstr "I2Pルーターが起動すると、I2P内の主なIRCサーバネットワークであるIrc2Pへのトンネルが自動的に開始されます。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:722
msgid ""
@@ -7944,7 +7944,7 @@ msgid ""
"To learn more about how important I2P Reseed servers are, or explore other "
"topics and what functions they perform for I2P, you can visit the {0}I2P "
"Wiki{1}."
msgstr "I2P 再シードサーバがどれほど重要なのか、また他の話題やI2Pのためにどのような機能を果たしているのかを調べるには、{0}I2P Wiki{1}をご覧ください。"
msgstr "I2P 再シードサーバがどれほど重要なのか、また他の話題やI2Pのためにどのような機能を果たしているのかを調べるには、{0}I2P Wiki{1}をご覧ください。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/welcome_jsp.java:554
#, java-format

View File

@@ -18,7 +18,7 @@
# Taporpo Ne <taporpone@gmail.com>, 2015
# Tracerneo <ziolkoneo@gmail.com>, 2013
# ☆Verdulo, 2016-2017
# ☆Verdulo, 2021
# ☆Verdulo, 2021-2022
# ☆Verdulo, 2017-2020
# Warton <businesshehe@yahoo.com>, 2011-2012
# Tracerneo <ziolkoneo@gmail.com>, 2013
@@ -28,7 +28,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-10 16:21+0000\n"
"PO-Revision-Date: 2011-02-13 12:00+0000\n"
"Last-Translator: ☆Verdulo, 2021\n"
"Last-Translator: ☆Verdulo, 2021-2022\n"
"Language-Team: Polish (http://www.transifex.com/otf/I2P/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1839,7 +1839,7 @@ msgstr "Wybierz klasę do dodania"
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:139
#, java-format
msgid "All classes in {0}"
msgstr ""
msgstr "Wszystkie klasy w {0}"
#. stat groups for stats.jsp
#. See StatsGenerator for groups mapped to a display name
@@ -3276,7 +3276,7 @@ msgstr "Port"
#: ../java/src/net/i2p/router/web/helpers/NetDbRenderer.java:443
msgid "MTU"
msgstr ""
msgstr "MTU"
#: ../java/src/net/i2p/router/web/helpers/NetDbRenderer.java:455
#: ../java/strings/Strings.java:55

File diff suppressed because it is too large Load Diff

View File

@@ -126,8 +126,8 @@ Webサイトの開始、.i2pドメインの登録、サイトの宣伝につい
<li>
<b>辛抱強く待ちましょう</b><br>
I2Pの初回起動のネットワークへの統合は、ネットワークへの立ち上げとピア探しのため、時間がかかることがあります。
I2Pルータの稼働が長いほどパフォーマンスはよくなりますので、
ルータをできるだけ長く、できれば1日24時間・週7日つけてみてください
I2Pルータの稼働が長いほどパフォーマンスはよくなりますので、
ルータをできるだけ長く、できれば1日24時間・週7日つけてみてください
もし30分後、<i>アクティブ: [接続済/直近]</i> のカウントが依然10ピア未満、あるいは<i>統合</i>ピアの合計が5未満である場合は、問題確認のために行うことがいくつかあります。</li>
<li>
@@ -138,8 +138,8 @@ I2Pが最もよく機能するのは、<a href="/config">帯域幅設定セク
帯域幅割り当て、<i>特に</i>上り帯域幅が多ければ多いほど、ネットワークから得られる利益は大きくなります。</li>
<li>
<b>ファイアウォール、モデム、ルータ</b><br>
可能なら、あなたのモデム・ルータ・PCファイアウォールを適宜設定して、
<b>ファイアウォール、モデム、ルータ</b><br>
可能なら、あなたのモデム・ルータ・PCファイアウォールを適宜設定して、
インターネットからファイアウォールなしでI2P/Javaにアクセスできるようにしてください。
厳しいファイアウォール下にあっても、非制限の発信アクセスが可能な場合は、I2Pは依然機能します
着信アクセスを停止し、ネットワークに繋げるよう <a href="http://i2p-projekt.i2p/udp.html" target="_blank">SSU IP アドレス検出</a>を使ってください(<a href="https://en.wikipedia.org/wiki/Hole_punching_(networking)" target="_blank">ファイアウォールのホールパンチング</a>)。
@@ -164,18 +164,18 @@ Java が最新であることを確かめてください。
<a href="/logs">ログページ</a>先頭のJavaバージョンを確認してください。</li>
<li>
<b>古いハードウェア上で起動時に問題</b><br>
[Linux/BSD] <code>i2p/i2prouter start</code>でルータが起動できない場合、同じディレクトリ内の<code>runplain.sh</code>スクリプトをお試しください。
[Linux/BSD] <code>i2p/i2prouter start</code>でルータが起動できない場合、同じディレクトリ内の<code>runplain.sh</code>スクリプトをお試しください。
I2Pを起動するのにroot権限は必要ありません。</li>
<li>
<b>Universal Plug and PlayUPnPの有効化</b><br>
あなたのモデムまたはルータはおそらく自動ポートフォワーディングのためのUPnPをサポートしています。
UPnPサポートがモデムやルータで有効になっていることを確認してください。
それから<a href="/">I2Pルータ</a>を再起動してみてください。
うまくいっている場合、I2Pルータの初期接続テストが済めば、I2Pは「ネットワーク: OK」とサイドパネルに表示します。</li>
あなたのモデムまたはルータはおそらく自動ポートフォワーディングのためのUPnPをサポートしています。
UPnPサポートがモデムやルータで有効になっていることを確認してください。
それから<a href="/">I2Pルータ</a>を再起動してみてください。
うまくいっている場合、I2Pルータの初期接続テストが済めば、I2Pは「ネットワーク: OK」とサイドパネルに表示します。</li>
<li>
<b>ポートフォワーディング</b><br>
接続しやすくするため理想的にはUDPとTCPの両方で、モデム、ルータ、ファイアウォール<a href="/confignet">I2Pポート</a>を開放してください。
接続しやすくするため理想的にはUDPとTCPの両方で、モデム、ルータ、ファイアウォール(群)の<a href="/confignet">I2Pポート</a>を開放してください。
ポートフォワーディングの方法についての詳しい情報は、Web検索で容易に見つかります。
万一問題があれば、以下にまとめた我々のフォーラムやIRCチャンネルに援助を依頼するとよいでしょう。
I2Pはhttpまたはsocksプロキシ経由でのインターネットへの接続をサポートしていないことに注意してください。[パッチ歓迎!]

View File

@@ -5,6 +5,7 @@
#
# Translators:
# A5h8d0wf0x <littleslyfoxie28@gmail.com>, 2014
# slrslr, 2022
# Marketa Chalupnikova, 2022
# Waseihou Watashi <waseihou@gmail.com>, 2012
msgid ""
@@ -12,8 +13,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-14 13:36+0000\n"
"PO-Revision-Date: 2022-01-25 06:11+0000\n"
"Last-Translator: Marketa Chalupnikova\n"
"PO-Revision-Date: 2011-02-13 12:00+0000\n"
"Last-Translator: slrslr, 2022\n"
"Language-Team: Czech (http://www.transifex.com/otf/I2P/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -370,11 +371,11 @@ msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:153
msgid "Subscriptions saved."
msgstr ""
msgstr "Odběry uloženy."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:157
msgid "Subscriptions reloaded."
msgstr ""
msgstr "Odběry obnoveny."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:200
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:705
@@ -583,7 +584,7 @@ msgstr "Soubor"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:200
msgid "configuration"
msgstr ""
msgstr "nastavení"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:224
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:215
@@ -592,7 +593,7 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:239
msgid "Hints"
msgstr ""
msgstr "Rady"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:241
msgid ""
@@ -631,21 +632,21 @@ msgstr "Možnosti"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:253
msgid "File containing the list of subscriptions URLs (no need to change)"
msgstr ""
msgstr "Soubor obsahující seznam adres odběrů (není nutno měnit)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:255
msgid "Update interval in hours"
msgstr ""
msgstr "Interval aktualizace v hodinách"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:257
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr ""
msgstr "Váš veřejný soubor hosts.txt (vyberte cestu v rámci kořenového adresáře vašeho webového serveru)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:259
msgid "Your hosts.txt (don't change)"
msgstr ""
msgstr "Váš hosts.txt (neměňte)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:261
msgid "Your personal address book, these hosts will be published"
@@ -657,11 +658,11 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:265
msgid "Port for your eepProxy (no need to change)"
msgstr ""
msgstr "Port pro vaše eepProxy (není nutno měnit)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:267
msgid "Hostname for your eepProxy (no need to change)"
msgstr ""
msgstr "Hostname pro vaše eepProxy (není nutné měnit)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:269
msgid "Whether to update the published address book"
@@ -671,17 +672,17 @@ msgstr ""
msgid ""
"File containing the etags header from the fetched subscription URLs (no need"
" to change)"
msgstr ""
msgstr "Soubor obsahující etags hlavičku z načtených adres odběrů (není nutné měnit)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:273
msgid ""
"File containing the modification timestamp for each fetched subscription URL"
" (no need to change)"
msgstr ""
msgstr "Soubor obsahující časovou značku změny pro každou načtenou adresu odběru (není nutno měnit)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:275
msgid "File to log activity to (change to /dev/null if you like)"
msgstr ""
msgstr "Soubor do kterého bude zaznamenávána aktivita (změňte na /dev/null pokud chcete)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:277
msgid "Name of the theme to use (defaults to 'light')"
@@ -785,7 +786,7 @@ msgstr ""
msgid ""
"It regularly updates your hosts.txt file from distributed sources or "
"\"subscriptions\"."
msgstr ""
msgstr "Pravidelně aktualizuje váš hosts.txt soubor z distribuovaných zdrojů nebo \"odběrů\"."
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:212
#, java-format
@@ -883,11 +884,11 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:191
msgid "subscriptions"
msgstr ""
msgstr "odběry"
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:230
msgid "The subscription file contains a list of i2p URLs."
msgstr ""
msgstr "Soubor odběrů obsahuje seznam i2P adres."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:232
msgid ""
@@ -896,7 +897,7 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:234
msgid "Those URLs refer to published hosts.txt files."
msgstr ""
msgstr "Tyto adresy odkazují na zveřejněné soubory hosts.txt."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:236
#, java-format
@@ -909,11 +910,11 @@ msgstr ""
msgid ""
"So it is a good idea to add additional subscriptions to sites that have the "
"latest addresses."
msgstr ""
msgstr "Takže je dobrý nápad, přidat dodatečné odběry do stránek, které mají nejnovější adresy."
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:240
msgid "See the FAQ for a list of subscription URLs."
msgstr ""
msgstr "Podívejte se do FAQ pro seznam adres odběrů."
#: build/HowSVG.java:5
msgid ""

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,7 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# daingewuvzeevisiddfddd, 2022
# タカハシ, 2013-2014
# タカハシ, 2015,2022
# rafe <rafe.kun@gmail.com>, 2015
@@ -14,8 +15,8 @@ msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-14 13:36+0000\n"
"PO-Revision-Date: 2022-02-12 08:32+0000\n"
"Last-Translator: タカハシ\n"
"PO-Revision-Date: 2011-02-13 12:00+0000\n"
"Last-Translator: daingewuvzeevisiddfddd, 2022\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -397,7 +398,7 @@ msgstr "ローカル"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:196
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:205
msgid "Router"
msgstr "ルータ"
msgstr "ルータ"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:235
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:216
@@ -463,7 +464,7 @@ msgstr "このコンピュータでホストするサイトに使用してくだ
msgid ""
"The Router Address Book is automatically generated by combining the "
"Subscriptions, Local, Private, and Published address books."
msgstr "ルータのアドレス帳は、購読、ローカル、プライペート、及び公開の各アドレス帳を組み合わせて自動的に生成されます。"
msgstr "ルータのアドレス帳は、購読、ローカル、プライペート、及び公開の各アドレス帳を組み合わせて自動的に生成されます。"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:311
msgid "Export in hosts.txt format"
@@ -592,13 +593,13 @@ msgstr "アドレス帳に手動で行を追加したい場合は、プライベ
msgid ""
"The router address book and the published address book are updated by the "
"address book application."
msgstr "ルータのアドレス帳と公開アドレス帳は、アドレス帳アプリケーションから更新されます。"
msgstr "ルータのアドレス帳と公開アドレス帳は、アドレス帳アプリケーションから更新されます。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:247
msgid ""
"When you publish your address book, ALL destinations from the local and "
"router address books appear there."
msgstr "アドレス帳を公開するとき、ローカルとルータのアドレス帳の全ての宛先がそこに現れます。"
msgstr "アドレス帳を公開するとき、ローカルとルータのアドレス帳の全ての宛先がそこに現れます。"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:249
msgid ""
@@ -622,7 +623,7 @@ msgstr "時間で更新間隔"
msgid ""
"Your public hosts.txt file (choose a path within your webserver document "
"root)"
msgstr "あなたの公開 hosts.txt ファイル (ウェブサーバのドキュメントルート内のパスを選択)"
msgstr "あなたの公開 hosts.txt ファイル (ウェブサーバのドキュメントルート内のパスを選択)"
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:259
msgid "Your hosts.txt (don't change)"
@@ -807,7 +808,7 @@ msgid ""
"Router: These addresses are added automatically, by your subscriptions. If "
"you publish an address book, the router address book will be shared with "
"other I2P users."
msgstr "ルータ: これらのアドレスは、あなたの購読によって、自動的に追加されます。あなたがアドレス帳を公開した場合、ルータのアドレス帳は他のI2Pユーザーと共有されます。"
msgstr "ルータ: これらのアドレスは、あなたの購読によって、自動的に追加されます。あなたがアドレス帳を公開した場合、ルータのアドレス帳は他のI2Pユーザーと共有されます。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:226
msgid ""
@@ -829,26 +830,26 @@ msgstr "アドレス帳アプリケーションはどのように動作するの
msgid ""
"The address book application regularly polls your subscriptions and merges "
"their content into your \"router\" address book."
msgstr "アドレス帳アプリケーションは定期的に購読を調査し、「ルータ」アドレス帳内に内容を統合します。"
msgstr "アドレス帳アプリケーションは定期的に購読を調査し、「ルータ」アドレス帳内に内容を統合します。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:234
msgid ""
"Then it merges your \"local\" address book into the router address book as "
"well."
msgstr "その後、あなたの「マスター」アドレス帳も同様に、ルータアドレス帳に統合します。"
msgstr "その後、あなたの「マスター」アドレス帳も同様に、ルータアドレス帳に統合します。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:236
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 I2P "
"Site."
msgstr "設定している場合、ルータアドレス帳は、 I2P サイトを運用している場合、一般に公表される「公開」アドレス帳に書き込まれています。"
msgstr "設定している場合、ルータアドレス帳は、 I2P サイトを運用している場合、一般に公表される「公開」アドレス帳に書き込まれています。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:238
msgid ""
"The router also uses a private address book, which is not merged or "
"published."
msgstr "ルータは、統合または公開されないプライベートアドレス帳も使います。"
msgstr "ルータは、統合または公開されないプライベートアドレス帳も使います。"
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:240
msgid ""
@@ -901,7 +902,7 @@ msgid ""
"If SusiDNS is configured to publish your Router address book, the entries "
"will appear in your Published address book and saved to a hosts.txt file for"
" sharing."
msgstr "SusiDNSがあなたのルータアドレス帳を公開する設定のとき、項目ーは公開アドレス帳に表示され、共有用に hosts.txt ファイルに保存されます。"
msgstr "SusiDNSがあなたのルータアドレス帳を公開する設定のとき、項目ーは公開アドレス帳に表示され、共有用に hosts.txt ファイルに保存されます。"
#: build/HowSVG.java:6
msgid "Published Addressbook"
@@ -911,7 +912,7 @@ msgstr "公開アドレス帳"
msgid ""
"To configure SusiDNS to push your Router address book to your Published "
"address book, set 'should_publish=true' on the configuration page."
msgstr "ルータアドレス帳を公開アドレス帳にプッシュするように SusiDNS を設定するには、設定ページで'should_publish=true'を設定します。"
msgstr "ルータアドレス帳を公開アドレス帳にプッシュするように SusiDNS を設定するには、設定ページで'should_publish=true'を設定します。"
#: build/HowSVG.java:8
msgid ""
@@ -921,7 +922,7 @@ msgstr "購読から派生したすべてのホストは、ここまたはロー
#: build/HowSVG.java:9
msgid "Router Addressbook"
msgstr "ルータのアドレス帳"
msgstr "ルータのアドレス帳"
#: build/HowSVG.java:10
msgid ""
@@ -947,13 +948,13 @@ msgstr "I2Pアプリケーション (HTTPプロキシを含む) は、ローカ
msgid ""
"Additional subscriptions can be found in the FAQ section of the Router help "
"page."
msgstr "追加の購読はルータヘルプページのよくある質問の節で見つけられます。"
msgstr "追加の購読はルータヘルプページのよくある質問の節で見つけられます。"
#: build/HowSVG.java:16
msgid ""
"Hosts sourced from your subscriptions are added to your Router address book,"
" and are automatically synced (by default every 12 hours)."
msgstr "購読からのホストの情報はルータのアドレス帳に追加され、自動で同期されます初期設定では12時間毎"
msgstr "購読からのホストの情報はルータのアドレス帳に追加され、自動で同期されます初期設定では12時間毎"
#: build/HowSVG.java:17
msgid "Configure Subscriptions"
@@ -981,7 +982,7 @@ msgstr "I2P アプリケーション"
msgid ""
"The Local, Router and Private address books collectively serve as the DNS "
"authority for I2P applications."
msgstr "ローカル、ルータ、及びプライベートのアドレス帳は、I2Pアプリケーションの権威DNSとしてまとめて機能します。"
msgstr "ローカル、ルータ、及びプライベートのアドレス帳は、I2Pアプリケーションの権威DNSとしてまとめて機能します。"
#: build/HowSVG.java:23
msgid "Optional,"
@@ -996,16 +997,16 @@ msgid ""
"If you configure SusiDNS to publish your Router address book, it will export"
" a hosts.txt file containing all the hosts (by default to the root of your "
"eepsite)."
msgstr "ルータのアドレス帳を公開するように SusiDNS を設定すると、全てのホストを含む hosts.txt ファイルをエクスポートします (初期設定では、あなたの eepsite のルートへ)。"
msgstr "ルータのアドレス帳を公開するように SusiDNS を設定すると、全てのホストを含む hosts.txt ファイルをエクスポートします (初期設定では、あなたの eepsite のルートへ)。"
#: build/HowSVG.java:26
msgid ""
"Addresses manually added to your Local address book will merge with your "
"Router address book."
msgstr "ローカルのアドレス帳へ手動でアドレスを追加すると、あなたのルータアドレス帳と統合されます"
msgstr "ローカルのアドレス帳へ手動でアドレスを追加すると、あなたのルータアドレス帳と統合されます"
#: build/HowSVG.java:27
msgid ""
"Hosts you receive from your subscriptions will merge with your Router "
"address book."
msgstr "購読から受信するホストは、あなたのルータアドレス帳と統合されます。"
msgstr "購読から受信するホストは、あなたのルータアドレス帳と統合されます。"

View File

@@ -77,6 +77,13 @@
<h3 id="addrtitle"><%=intl._t("Address book")%>: <%=intl._t(book.getBook())%></h3>
<h4 id="storagepath"><%=intl._t("Storage")%>: ${book.displayName}</h4>
<%
// This is what does the form processing.
// We need to do this before any notEmpty test and before loadBookMessages() which displays the entry count.
// Messages will be displayed below.
String formMessages = book.getMessages();
%>
${book.loadBookMessages}
<% if (book.getBook().equals("private")) { %>
@@ -99,7 +106,7 @@ ${book.loadBookMessages}
<% if (book.getBook().equals("local")) { %>
<div id="bookdescription">
<p class="bookdescription">
<%=intl._t("This is the Local Address Book.")%>
<%=intl._t("This is the Local Address Book.")%>
<%=intl._t("Use it for sites that you host on this computer.")%>
</p>
</div>
@@ -128,15 +135,18 @@ ${book.loadBookMessages}
</div>
</form>
<% } /* book.getEntries().length() > 0 */ %>
</c:if><% /* book.notEmpty */ %>
</div>
</div><% /* headline */ %>
<div id="messages">${book.messages}<%
<% /* need this whether book is empty or not to display the form messages */ %>
<div id="messages"><%=formMessages%><%
if (importMessages != null) {
%><%=importMessages%><%
}
%></div>
<c:if test="${book.notEmpty}">
<div id="filter">
<c:if test="${book.hasFilter}">
<span><%=intl._t("Current filter")%>: <b>${book.filter}</b>
@@ -274,7 +284,7 @@ ${book.loadBookMessages}
<input type="hidden" name="begin" value="0">
<input type="hidden" name="end" value="49">
<div id="add">
<h3 id="addnewaddr" ><%=intl._t("Add new destination")%></h3>
<h3 id="addnewaddr" class="unexpanded"><%=intl._t("Add new destination")%></h3>
<table id="addnewaddrtable">
<tr>
<td><b><%=intl._t("Hostname")%></b></td>
@@ -287,10 +297,12 @@ ${book.loadBookMessages}
</table>
<p class="buttons" id="addnewaddrbutton">
<input class="cancel" type="reset" value="<%=intl._t("Cancel")%>" >
<c:if test="${book.notEmpty}">
<input class="accept" type="submit" name="action" value="<%=intl._t("Replace")%>" >
<% if (!book.getBook().equals("published")) { %>
<input class="add" type="submit" name="action" value="<%=intl._t("Add Alternate")%>" >
<% } %>
</c:if><% /* book.notEmpty */ %>
<input class="add" type="submit" name="action" value="<%=intl._t("Add")%>" >
</p>
</div>
@@ -303,7 +315,7 @@ ${book.loadBookMessages}
<input type="hidden" name="begin" value="0">
<input type="hidden" name="end" value="49">
<div id="import">
<h3 id="importhosts"><%=intl._t("Import from hosts.txt file")%></h3>
<h3 id="importhosts" class="unexpanded"><%=intl._t("Import from hosts.txt file")%></h3>
<table id="importhostsform">
<tr>
<td><b><%=intl._t("File")%></b></td>

View File

@@ -576,9 +576,17 @@ tr.list0 {
}
.expanded {
background: url(/themes/console/light/images/dropdown_active.png) #f8f8ff !important;
background: url(/themes/console/dark/images/dropdown_active.png) !important;
background-repeat: no-repeat !important;
background-position: .5%, 15% !important;
padding-left: 2% !important;
}
.unexpanded {
background: url(/themes/console/dark/images/dropdown.png) !important;
background-repeat: no-repeat !important;
background-position: .5%, 15% !important;
padding-left: 2% !important;
}
#addrtitle.expanded {

View File

@@ -0,0 +1,615 @@
# I2P
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the susimail package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-05 14:31+0000\n"
"PO-Revision-Date: 2011-03-11 22:21+0000\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: src/src/i2p/susi/webmail/MailPart.java:321
#, java-format
msgid "No encoder found for encoding \\''{0}\\''."
msgstr "No se ha encontrado codificador para la codificación \\''{0}''\\."
#. tagged in WebMail
#: src/src/i2p/susi/webmail/Sorters.java:124
#: src/src/i2p/susi/webmail/WebMail.java:1177
#: src/src/i2p/susi/webmail/WebMail.java:1178
msgid "Re:"
msgstr "Re:"
#: src/src/i2p/susi/webmail/Sorters.java:125
#: src/src/i2p/susi/webmail/WebMail.java:1257
#: src/src/i2p/susi/webmail/WebMail.java:1258
msgid "Fwd:"
msgstr "Reenv:"
#. MailDir-like
#: src/src/i2p/susi/webmail/WebMail.java:214
msgid "Drafts"
msgstr "Borradores"
#. MailDir-like
#: src/src/i2p/susi/webmail/WebMail.java:215
msgid "Sent"
msgstr "Enviar"
#. MailDir-like
#: src/src/i2p/susi/webmail/WebMail.java:216
msgid "Trash"
msgstr "Papelera"
#. MailDir-like
#: src/src/i2p/susi/webmail/WebMail.java:217
msgid "Bulk Mail"
msgstr ""
#. untranslated, translate on use
#: src/src/i2p/susi/webmail/WebMail.java:221
msgid "Inbox"
msgstr "Bandeja de entrada"
#: src/src/i2p/susi/webmail/WebMail.java:540
msgid "unknown"
msgstr "desconocido"
#: src/src/i2p/susi/webmail/WebMail.java:589
#, java-format
msgid "Charset \\''{0}\\'' not supported."
msgstr "juego de caracteres \\''{0}\\''no soportado."
#: src/src/i2p/susi/webmail/WebMail.java:593
#, java-format
msgid "Part ({0}) not shown, because of {1}"
msgstr "La parte ({0}) no se muestra, debido a {1}"
#: src/src/i2p/susi/webmail/WebMail.java:643
#: src/src/i2p/susi/webmail/WebMail.java:648
#, java-format
msgid "Download attachment {0}"
msgstr "Descargar adjunto {0}"
#: src/src/i2p/susi/webmail/WebMail.java:649
msgid "File is packed into a zipfile for security reasons."
msgstr "El archivo está empaquetado en un archivo zip por razones de seguridad."
#: src/src/i2p/susi/webmail/WebMail.java:654
#, java-format
msgid "Attachment ({0})."
msgstr "Adjunto ({0})."
#: src/src/i2p/susi/webmail/WebMail.java:714
msgid "Need username for authentication."
msgstr "Es necesario un nombre de usuario para la autentificación."
#: src/src/i2p/susi/webmail/WebMail.java:718
msgid "Need password for authentication."
msgstr "Es necesaria una contraseña para la autenticación."
#: src/src/i2p/susi/webmail/WebMail.java:722
msgid "Need hostname for connect."
msgstr "Es necesario un nombre de host para la conexión."
#: src/src/i2p/susi/webmail/WebMail.java:727
msgid "Need port number for pop3 connect."
msgstr "Es necesario el número de puerto para conectar pop3."
#: src/src/i2p/susi/webmail/WebMail.java:734
msgid "POP3 port number is not in range 0..65535."
msgstr "El puerto POP3 no está en el rango 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:740
msgid "POP3 port number is invalid."
msgstr "El puerto POP3 no es válido."
#: src/src/i2p/susi/webmail/WebMail.java:746
msgid "Need port number for smtp connect."
msgstr "Es necesario el número de puerto para conectar smtp."
#: src/src/i2p/susi/webmail/WebMail.java:753
msgid "SMTP port number is not in range 0..65535."
msgstr "El puerto SMTP no está en el rango 0..65535."
#: src/src/i2p/susi/webmail/WebMail.java:759
msgid "SMTP port number is invalid."
msgstr "El puerto SMTP no es válido."
#: src/src/i2p/susi/webmail/WebMail.java:836
#: src/src/i2p/susi/webmail/WebMail.java:1388
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:446
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:644
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:657
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:716
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:754
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:762
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:243
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:258
msgid "Cannot connect"
msgstr "No se pudo conectar"
#: src/src/i2p/susi/webmail/WebMail.java:932
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:744
msgid "Error connecting to server"
msgstr "Error al conectar al servidor"
#. _t("Internal error, lost connection.") + '\n' +
#: src/src/i2p/susi/webmail/WebMail.java:976
#: src/src/i2p/susi/webmail/WebMail.java:990
msgid "User logged out."
msgstr "Usuario desconectado."
#: src/src/i2p/susi/webmail/WebMail.java:1041
msgid "Draft saved."
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:1051
#: src/src/i2p/susi/webmail/WebMail.java:1292
#: src/src/i2p/susi/webmail/WebMail.java:2728
#: src/src/i2p/susi/webmail/WebMail.java:2909
msgid "Unable to save mail."
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:1181
#, java-format
msgid "On {0} {1} wrote:"
msgstr "El {0} {1} escribió:"
#: src/src/i2p/susi/webmail/WebMail.java:1244
#: src/src/i2p/susi/webmail/WebMail.java:1471
#, java-format
msgid "Error reading uploaded file: {0}"
msgstr "Error al leer el archivo subido: {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1270
msgid "begin forwarded mail"
msgstr "comenzar correo reenviado"
#: src/src/i2p/susi/webmail/WebMail.java:1280
msgid "end forwarded mail"
msgstr "final del correo reenviado"
#: src/src/i2p/susi/webmail/WebMail.java:1298
#: src/src/i2p/susi/webmail/WebMail.java:3491
msgid "Could not fetch mail body."
msgstr "No se pudo obtener el cuerpo del correo."
#: src/src/i2p/susi/webmail/WebMail.java:1330
msgid "Message id not valid."
msgstr "ID del mensaje no válida."
#: src/src/i2p/susi/webmail/WebMail.java:1375
msgid "Internal error, lost connection."
msgstr "Error interno, pérdida de conexión."
#: src/src/i2p/susi/webmail/WebMail.java:1468
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:386
#, java-format
msgid "No Encoding found for {0}"
msgstr "No se ha encontrado codificación para {0}"
#: src/src/i2p/susi/webmail/WebMail.java:1598
msgid "Attachment not found."
msgstr "Adjunto no encontrado."
#. error if we get here
#: src/src/i2p/susi/webmail/WebMail.java:1627
#: src/src/i2p/susi/webmail/WebMail.java:1629
#: src/src/i2p/susi/webmail/WebMail.java:2320
#: src/src/i2p/susi/webmail/WebMail.java:3495
msgid "Message not found."
msgstr "Mensaje no encontrado."
#: src/src/i2p/susi/webmail/WebMail.java:1732
#, java-format
msgid "1 message deleted."
msgid_plural "{0} messages deleted."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/src/i2p/susi/webmail/WebMail.java:1734
#: src/src/i2p/susi/webmail/WebMail.java:1743
msgid "No messages marked for deletion."
msgstr "No hay mensajes marcados para su eliminación."
#: src/src/i2p/susi/webmail/WebMail.java:1808
#, java-format
msgid "Host unchanged. Edit configuration file {0} to change host."
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:1828
msgid "Configuration saved"
msgstr "Configuración guardada"
#: src/src/i2p/susi/webmail/WebMail.java:1850
msgid "Invalid pagesize number, resetting to default value."
msgstr "Tamaño de página no válida, restableciendo los valores predeterminados."
#: src/src/i2p/susi/webmail/WebMail.java:2298
#: src/src/i2p/susi/webmail/WebMail.java:3107
msgid "Login"
msgstr "Iniciar sesión"
#: src/src/i2p/susi/webmail/WebMail.java:2300
#: src/src/i2p/susi/webmail/WebMail.java:2427
#: src/src/i2p/susi/webmail/WebMail.java:3124
msgid "Loading emails, please wait..."
msgstr "Cargando correos electrónicos, espere, por favor..."
#: src/src/i2p/susi/webmail/WebMail.java:2308
#, java-format
msgid "1 Message"
msgid_plural "{0} Messages"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/src/i2p/susi/webmail/WebMail.java:2310
#: src/src/i2p/susi/webmail/WebMail.java:3267
msgid "No messages"
msgstr "No hay mensajes"
#: src/src/i2p/susi/webmail/WebMail.java:2318
msgid "Show Message"
msgstr "Mostrar mensaje"
#: src/src/i2p/susi/webmail/WebMail.java:2323
msgid "New Message"
msgstr "Nuevo mensaje"
#: src/src/i2p/susi/webmail/WebMail.java:2325
msgid "Configuration"
msgstr "Configuración"
#: src/src/i2p/susi/webmail/WebMail.java:2336
msgid "Email"
msgstr "Email"
#: src/src/i2p/susi/webmail/WebMail.java:2413
#, java-format
msgid "{0} new message"
msgid_plural "{0} new messages"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/src/i2p/susi/webmail/WebMail.java:2416
msgid "No new messages"
msgstr "No hay mensajes nuevos"
#: src/src/i2p/susi/webmail/WebMail.java:2429
msgid "Checking for new emails on server"
msgstr "Comprobando si hay correos electrónicos nuevos en el servidor"
#: src/src/i2p/susi/webmail/WebMail.java:2431
#: src/src/i2p/susi/webmail/WebMail.java:3126
msgid "Refresh the page for updates"
msgstr "Actualice la página para actualizar"
#: src/src/i2p/susi/webmail/WebMail.java:2636
#: src/src/i2p/susi/webmail/WebMail.java:3226
#: src/src/i2p/susi/webmail/WebMail.java:3467
msgid "no subject"
msgstr "sin asunto"
#: src/src/i2p/susi/webmail/WebMail.java:2764
msgid "Found no valid sender address."
msgstr "No se ha encontrado una dirección de remitente válida."
#: src/src/i2p/susi/webmail/WebMail.java:2770
#, java-format
msgid "Found no valid address in \\''{0}\\''."
msgstr "No se ha encontrado ninguna dirección válida en \\''{0}\\''."
#: src/src/i2p/susi/webmail/WebMail.java:2784
msgid "No recipients found."
msgstr "No se han encontrado destinatarios."
#: src/src/i2p/susi/webmail/WebMail.java:2798
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:302
#, java-format
msgid "Email is too large, max is {0}"
msgstr "El correo es demasiado largo, el máximo es {0}"
#: src/src/i2p/susi/webmail/WebMail.java:2841
#: src/src/i2p/susi/webmail/WebMail.java:2922
msgid "Sending mail."
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:2846
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:254
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:346
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:351
msgid "Error sending mail"
msgstr "Error enviando correo"
#: src/src/i2p/susi/webmail/WebMail.java:2880
msgid "Mail sent."
msgstr "Correo enviado."
#: src/src/i2p/susi/webmail/WebMail.java:2972
msgid "Send"
msgstr "Enviar"
#: src/src/i2p/susi/webmail/WebMail.java:2973
msgid "Save as Draft"
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:2974
#: src/src/i2p/susi/webmail/WebMail.java:3282
#: src/src/i2p/susi/webmail/WebMail.java:3385
#: src/src/i2p/susi/webmail/WebMail.java:3547
msgid "Cancel"
msgstr "Cancelar"
#: src/src/i2p/susi/webmail/WebMail.java:3061
#: src/src/i2p/susi/webmail/WebMail.java:3179
#: src/src/i2p/susi/webmail/WebMail.java:3470
msgid "From"
msgstr "Desde"
#: src/src/i2p/susi/webmail/WebMail.java:3062
#: src/src/i2p/susi/webmail/WebMail.java:3179
#: src/src/i2p/susi/webmail/WebMail.java:3475
msgid "To"
msgstr "Para"
#: src/src/i2p/susi/webmail/WebMail.java:3063
#: src/src/i2p/susi/webmail/WebMail.java:3479
msgid "Cc"
msgstr "Cc"
#: src/src/i2p/susi/webmail/WebMail.java:3064
msgid "Bcc"
msgstr "Cco"
#: src/src/i2p/susi/webmail/WebMail.java:3065
#: src/src/i2p/susi/webmail/WebMail.java:3180
#: src/src/i2p/susi/webmail/WebMail.java:3472
msgid "Subject"
msgstr "Asunto"
#: src/src/i2p/susi/webmail/WebMail.java:3068
msgid "Add Attachment"
msgstr "Añadir adjunto"
#: src/src/i2p/susi/webmail/WebMail.java:3074
msgid "Attachments"
msgstr "Adjuntos"
#: src/src/i2p/susi/webmail/WebMail.java:3083
msgid "Delete selected attachments"
msgstr "Borrar adjuntos seleccionados"
#. boolean fixed = Boolean.parseBoolean(Config.getProperty(
#. CONFIG_PORTS_FIXED, "true" ));
#. String host = Config.getProperty(CONFIG_HOST, DEFAULT_HOST);
#. String pop3 = Config.getProperty(CONFIG_PORTS_POP3,
#. Integer.toString(DEFAULT_POP3PORT));
#. String smtp = Config.getProperty(CONFIG_PORTS_SMTP,
#. Integer.toString(DEFAULT_SMTPPORT));
#: src/src/i2p/susi/webmail/WebMail.java:3100
msgid "Email Login"
msgstr ""
#. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:3102
msgid "User"
msgstr "Usuario"
#: src/src/i2p/susi/webmail/WebMail.java:3103
msgid "Password"
msgstr "Contraseña"
#: src/src/i2p/susi/webmail/WebMail.java:3108
msgid "Read Mail Offline"
msgstr "Leer correo desconectado"
#: src/src/i2p/susi/webmail/WebMail.java:3112
#: src/src/i2p/susi/webmail/WebMail.java:3301
msgid "Settings"
msgstr "Ajustes"
#: src/src/i2p/susi/webmail/WebMail.java:3114
msgid "Create Account"
msgstr "Crear cuenta"
#: src/src/i2p/susi/webmail/WebMail.java:3114
msgid "Learn about I2P mail"
msgstr "Aprende sobre I2P mail"
#: src/src/i2p/susi/webmail/WebMail.java:3139
#: src/src/i2p/susi/webmail/WebMail.java:3409
msgid "New"
msgstr "Nuevo"
#: src/src/i2p/susi/webmail/WebMail.java:3149
msgid "Check Mail"
msgstr "Comprobar correo "
#. if (Config.hasConfigFile())
#. out.println(button( RELOAD, _t("Reload Config") ) + spacer);
#: src/src/i2p/susi/webmail/WebMail.java:3160
#: src/src/i2p/susi/webmail/WebMail.java:3421
#: src/src/i2p/susi/webmail/WebMail.java:3549
msgid "Logout"
msgstr "Cerrar sesión"
#: src/src/i2p/susi/webmail/WebMail.java:3178
msgid "Mark for deletion"
msgstr "Marcar para borrado"
#: src/src/i2p/susi/webmail/WebMail.java:3181
#: src/src/i2p/susi/webmail/WebMail.java:3482
msgid "Date"
msgstr "Fecha"
#: src/src/i2p/susi/webmail/WebMail.java:3183
msgid "Size"
msgstr "Talle"
#: src/src/i2p/susi/webmail/WebMail.java:3230
msgid "Message is new"
msgstr "El mensaje es nuevo"
#: src/src/i2p/susi/webmail/WebMail.java:3257
msgid "Message has an attachment"
msgstr "El mensaje tiene un adjunto"
#: src/src/i2p/susi/webmail/WebMail.java:3259
msgid "Message is spam"
msgstr "El mensaje es spam"
#. TODO ngettext
#: src/src/i2p/susi/webmail/WebMail.java:3280
msgid "Really delete the marked messages?"
msgstr "¿Realmente deseas borrar los mensajes marcados?"
#: src/src/i2p/susi/webmail/WebMail.java:3281
msgid "Yes, really delete them!"
msgstr "Sí, realmente eliminarlos!"
#: src/src/i2p/susi/webmail/WebMail.java:3284
msgid "Delete Selected"
msgstr "Borrar seleccionados"
#: src/src/i2p/susi/webmail/WebMail.java:3286
msgid "Mark All"
msgstr "Marcar todos"
#: src/src/i2p/susi/webmail/WebMail.java:3288
msgid "Clear All"
msgstr "Borrar todos"
#: src/src/i2p/susi/webmail/WebMail.java:3313
msgid "Folder"
msgstr "Carpeta"
#. TODO css to center it
#: src/src/i2p/susi/webmail/WebMail.java:3314
msgid "Change to Folder"
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:3320
msgid "First"
msgstr "Primera"
#: src/src/i2p/susi/webmail/WebMail.java:3321
#: src/src/i2p/susi/webmail/WebMail.java:3433
msgid "Previous"
msgstr "Anterior"
#: src/src/i2p/susi/webmail/WebMail.java:3330
#, java-format
msgid "Page {0} of {1}"
msgstr "Página {0} de {1}"
#: src/src/i2p/susi/webmail/WebMail.java:3332
#: src/src/i2p/susi/webmail/WebMail.java:3448
msgid "Next"
msgstr "Siguiente"
#: src/src/i2p/susi/webmail/WebMail.java:3333
msgid "Last"
msgstr "Última"
#: src/src/i2p/susi/webmail/WebMail.java:3383
msgid "Really delete this message?"
msgstr "¿Realmente deseas borrar este mensaje?"
#: src/src/i2p/susi/webmail/WebMail.java:3384
msgid "Yes, really delete it!"
msgstr "Sí, ¡bórralo!"
#: src/src/i2p/susi/webmail/WebMail.java:3412
msgid "Reply"
msgstr "Responder"
#: src/src/i2p/susi/webmail/WebMail.java:3413
msgid "Reply All"
msgstr "Responder a todos"
#: src/src/i2p/susi/webmail/WebMail.java:3414
msgid "Forward"
msgstr "Reenviar"
#: src/src/i2p/susi/webmail/WebMail.java:3415
msgid "Save As"
msgstr "Guardar como"
#: src/src/i2p/susi/webmail/WebMail.java:3417
#: src/src/i2p/susi/webmail/WebMail.java:3419
msgid "Delete"
msgstr "Borrar"
#. can't move unless has body
#. can't move from drafts
#: src/src/i2p/susi/webmail/WebMail.java:3425
msgid "Move to Folder"
msgstr ""
#: src/src/i2p/susi/webmail/WebMail.java:3445
msgid "Back to Folder"
msgstr "Volver a la carpeta"
#: src/src/i2p/susi/webmail/WebMail.java:3530
msgid "Folder Page Size"
msgstr "Tamaño de página de la carpeta"
#: src/src/i2p/susi/webmail/WebMail.java:3533
msgid "Set"
msgstr "Establecer"
#: src/src/i2p/susi/webmail/WebMail.java:3536
msgid "Advanced Configuration"
msgstr "Configuración avanzada"
#: src/src/i2p/susi/webmail/WebMail.java:3546
msgid "Save Configuration"
msgstr "Guardar configuración"
#. this appears in the UI so translate
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:108
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:644
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:754
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:936
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:978
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:1199
msgid "No response from server"
msgstr "No hay respuesta del servidor"
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:747
msgid "Mail server login failed, wrong username or password."
msgstr "Error al iniciar sesión en el servidor de correo, nombre de usuario o contraseña incorrectos."
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:749
msgid "Logout and then login again with the correct username and password."
msgstr "Salga y vuelva a iniciar sesión con el nombre de usuario y la contraseña correctos."
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:1238
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:1240
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:314
msgid "Login failed"
msgstr "Fallo al iniciar sesión"
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:256
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:285
msgid "Server refused connection"
msgstr "El servidor rechazó la conexión"
#. TODO which recipient?
#: src/src/i2p/susi/webmail/smtp/SMTPClient.java:327
msgid "Mail rejected"
msgstr "Correo rechazado"

View File

@@ -402,7 +402,7 @@ msgstr "選択した添付ファイルを削除する"
#. Integer.toString(DEFAULT_SMTPPORT));
#: src/src/i2p/susi/webmail/WebMail.java:3100
msgid "Email Login"
msgstr "Eメールログイン"
msgstr "Eメールログイン"
#. current postman hq length limits 16/12, new postman version 32/32
#: src/src/i2p/susi/webmail/WebMail.java:3102
@@ -596,7 +596,7 @@ msgstr "メールサーバーのログインに失敗しました、ユーザー
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:749
msgid "Logout and then login again with the correct username and password."
msgstr "ログアウトしてから、正しいユーザー名とパスワードで再度ログインします。"
msgstr "ログアウトしてから、正しいユーザー名とパスワードで再度ログインしてください。"
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:1238
#: src/src/i2p/susi/webmail/pop3/POP3MailBox.java:1240

View File

@@ -48,6 +48,7 @@ if [ "$1" != "dynamic" ]; then
../../gmp-${GMP_VER}/configure --with-pic;;
esac
make
make check
sh ../../build_jbigi.sh static
else
shift

View File

@@ -3,6 +3,11 @@
# This script downloads gmp-6.x.x.tar.bz2 to this directory
# (if a different version, change the GMP_VER= line below)
#
# If you do not want any patches applied comment out the
# PATCH_GMP line.
#
PATCH_GMP=true
export GMP_VER=6.2.1
export GMP_TARVER=${GMP_VER}
@@ -28,6 +33,14 @@ download_tar()
extract_tar()
{
tar -xjf ${GMP_TAR} > /dev/null 2>&1 || (rm -f ${GMP_TAR} && download_tar && extract_tar || exit 1)
if [ ! -z $PATCH_GMP ]; then
cd ${GMP_DIR}
for p in $(ls ../patches/*.diff); do
echo "applying $p"
cat $p | patch -p1
done
cd ..
fi
}
if [ ! -d "$GMP_DIR" -a ! -e "$GMP_TAR" ]; then

View File

@@ -0,0 +1,522 @@
# HG changeset patch
# User Torbjorn Granlund <tg@gmplib.org>
# Date 1606685500 -3600
# Node ID 5f32dbc41afc1f8cd77af1614f0caeb24deb7d7b
# Parent 94c84d919f83ba963ed1809f8e80c7bef32db55c
Avoid the x18 register since it is reserved on Darwin.
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aors_n.asm
--- a/mpn/arm64/aors_n.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aors_n.asm Sun Nov 29 22:31:40 2020 +0100
@@ -68,7 +68,7 @@
EPILOGUE()
PROLOGUE(func_n)
CLRCY
-L(ent): lsr x18, n, #2
+L(ent): lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x7, [up]
@@ -77,7 +77,7 @@
str x13, [rp],#8
tbnz n, #1, L(b11)
-L(b01): cbz x18, L(ret)
+L(b01): cbz x17, L(ret)
ldp x4, x5, [up,#8]
ldp x8, x9, [vp,#8]
sub up, up, #8
@@ -88,7 +88,7 @@
ldp x10, x11, [vp,#8]
add up, up, #8
add vp, vp, #8
- cbz x18, L(end)
+ cbz x17, L(end)
b L(top)
L(bx0): tbnz n, #1, L(b10)
@@ -101,7 +101,7 @@
L(b10): ldp x6, x7, [up]
ldp x10, x11, [vp]
- cbz x18, L(end)
+ cbz x17, L(end)
ALIGN(16)
L(top): ldp x4, x5, [up,#16]
@@ -114,8 +114,8 @@
ADDSUBC x12, x4, x8
ADDSUBC x13, x5, x9
stp x12, x13, [rp],#16
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x17, x17, #1
+ cbnz x17, L(top)
L(end): ADDSUBC x12, x6, x10
ADDSUBC x13, x7, x11
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsmul_1.asm
--- a/mpn/arm64/aorsmul_1.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aorsmul_1.asm Sun Nov 29 22:31:40 2020 +0100
@@ -32,10 +32,15 @@
include(`../config.m4')
-C cycles/limb
-C Cortex-A53 9.3-9.8
-C Cortex-A57 7.0
-C X-Gene 5.0
+C addmul_1 submul_1
+C cycles/limb cycles/limb
+C Cortex-A53 9.3-9.8 9.3-9.8
+C Cortex-A55 9.0-9.5 9.3-9.8
+C Cortex-A57 7 7
+C Cortex-A72
+C Cortex-A73 6 6
+C X-Gene 5 5
+C Apple M1 1.75 1.75
C NOTES
C * It is possible to keep the carry chain alive between the addition blocks
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsorrlshC_n.asm
--- a/mpn/arm64/aorsorrlshC_n.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aorsorrlshC_n.asm Sun Nov 29 22:31:40 2020 +0100
@@ -65,14 +65,14 @@
ASM_START()
PROLOGUE(func_n)
- lsr x18, n, #2
+ lsr x6, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x5, [up]
tbnz n, #1, L(b11)
L(b01): ldr x11, [vp]
- cbz x18, L(1)
+ cbz x6, L(1)
ldp x8, x9, [vp,#8]
lsl x13, x11, #LSH
ADDSUB( x15, x13, x5)
@@ -94,7 +94,7 @@
ADDSUB( x17, x13, x5)
str x17, [rp],#8
sub up, up, #8
- cbz x18, L(end)
+ cbz x6, L(end)
b L(top)
L(bx0): tbnz n, #1, L(b10)
@@ -107,7 +107,7 @@
L(b10): CLRRCY( x9)
ldp x10, x11, [vp]
sub up, up, #16
- cbz x18, L(end)
+ cbz x6, L(end)
ALIGN(16)
L(top): ldp x4, x5, [up,#16]
@@ -124,8 +124,8 @@
ADDSUBC(x16, x12, x4)
ADDSUBC(x17, x13, x5)
stp x16, x17, [rp],#16
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x6, x6, #1
+ cbnz x6, L(top)
L(end): ldp x4, x5, [up,#16]
extr x12, x10, x9, #RSH
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/cnd_aors_n.asm
--- a/mpn/arm64/cnd_aors_n.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/cnd_aors_n.asm Sun Nov 29 22:31:40 2020 +0100
@@ -65,7 +65,7 @@
CLRCY
- lsr x18, n, #2
+ lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x13, [vp]
@@ -75,7 +75,7 @@
str x9, [rp]
tbnz n, #1, L(b11)
-L(b01): cbz x18, L(rt)
+L(b01): cbz x17, L(rt)
ldp x12, x13, [vp,#8]
ldp x10, x11, [up,#8]
sub up, up, #8
@@ -86,7 +86,7 @@
L(b11): ldp x12, x13, [vp,#8]!
ldp x10, x11, [up,#8]!
sub rp, rp, #8
- cbz x18, L(end)
+ cbz x17, L(end)
b L(top)
L(bx0): ldp x12, x13, [vp]
@@ -99,7 +99,7 @@
b L(mid)
L(b10): sub rp, rp, #16
- cbz x18, L(end)
+ cbz x17, L(end)
ALIGN(16)
L(top): bic x6, x12, cnd
@@ -116,8 +116,8 @@
ADDSUBC x9, x11, x7
ldp x10, x11, [up,#32]!
stp x8, x9, [rp,#32]!
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x17, x17, #1
+ cbnz x17, L(top)
L(end): bic x6, x12, cnd
bic x7, x13, cnd
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/logops_n.asm
--- a/mpn/arm64/logops_n.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/logops_n.asm Sun Nov 29 22:31:40 2020 +0100
@@ -78,7 +78,7 @@
ASM_START()
PROLOGUE(func)
- lsr x18, n, #2
+ lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x7, [up]
@@ -88,7 +88,7 @@
str x15, [rp],#8
tbnz n, #1, L(b11)
-L(b01): cbz x18, L(ret)
+L(b01): cbz x17, L(ret)
ldp x4, x5, [up,#8]
ldp x8, x9, [vp,#8]
sub up, up, #8
@@ -99,7 +99,7 @@
ldp x10, x11, [vp,#8]
add up, up, #8
add vp, vp, #8
- cbz x18, L(end)
+ cbz x17, L(end)
b L(top)
L(bx0): tbnz n, #1, L(b10)
@@ -110,7 +110,7 @@
L(b10): ldp x6, x7, [up]
ldp x10, x11, [vp]
- cbz x18, L(end)
+ cbz x17, L(end)
ALIGN(16)
L(top): ldp x4, x5, [up,#16]
@@ -127,8 +127,8 @@
POSTOP( x12)
POSTOP( x13)
stp x12, x13, [rp],#16
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x17, x17, #1
+ cbnz x17, L(top)
L(end): LOGOP( x12, x6, x10)
LOGOP( x13, x7, x11)
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshift.asm
--- a/mpn/arm64/lshift.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/lshift.asm Sun Nov 29 22:31:40 2020 +0100
@@ -61,7 +61,7 @@
add rp, rp_arg, n, lsl #3
add up, up, n, lsl #3
sub tnc, xzr, cnt
- lsr x18, n, #2
+ lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x4, [up,#-8]
@@ -69,7 +69,7 @@
L(b01): NSHIFT x0, x4, tnc
PSHIFT x2, x4, cnt
- cbnz x18, L(gt1)
+ cbnz x17, L(gt1)
str x2, [rp,#-8]
ret
L(gt1): ldp x4, x5, [up,#-24]
@@ -89,7 +89,7 @@
PSHIFT x13, x5, cnt
NSHIFT x10, x4, tnc
PSHIFT x2, x4, cnt
- cbnz x18, L(gt2)
+ cbnz x17, L(gt2)
orr x10, x10, x13
stp x2, x10, [rp,#-16]
ret
@@ -123,11 +123,11 @@
orr x11, x12, x2
stp x10, x11, [rp,#-32]!
PSHIFT x2, x4, cnt
-L(lo0): sub x18, x18, #1
+L(lo0): sub x17, x17, #1
L(lo3): NSHIFT x10, x6, tnc
PSHIFT x13, x7, cnt
NSHIFT x12, x7, tnc
- cbnz x18, L(top)
+ cbnz x17, L(top)
L(end): orr x10, x10, x13
orr x11, x12, x2
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshiftc.asm
--- a/mpn/arm64/lshiftc.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/lshiftc.asm Sun Nov 29 22:31:40 2020 +0100
@@ -61,7 +61,7 @@
add rp, rp_arg, n, lsl #3
add up, up, n, lsl #3
sub tnc, xzr, cnt
- lsr x18, n, #2
+ lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x4, [up,#-8]
@@ -69,7 +69,7 @@
L(b01): NSHIFT x0, x4, tnc
PSHIFT x2, x4, cnt
- cbnz x18, L(gt1)
+ cbnz x17, L(gt1)
mvn x2, x2
str x2, [rp,#-8]
ret
@@ -90,7 +90,7 @@
PSHIFT x13, x5, cnt
NSHIFT x10, x4, tnc
PSHIFT x2, x4, cnt
- cbnz x18, L(gt2)
+ cbnz x17, L(gt2)
eon x10, x10, x13
mvn x2, x2
stp x2, x10, [rp,#-16]
@@ -125,11 +125,11 @@
eon x11, x12, x2
stp x10, x11, [rp,#-32]!
PSHIFT x2, x4, cnt
-L(lo0): sub x18, x18, #1
+L(lo0): sub x17, x17, #1
L(lo3): NSHIFT x10, x6, tnc
PSHIFT x13, x7, cnt
NSHIFT x12, x7, tnc
- cbnz x18, L(top)
+ cbnz x17, L(top)
L(end): eon x10, x10, x13
eon x11, x12, x2
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/mul_1.asm
--- a/mpn/arm64/mul_1.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/mul_1.asm Sun Nov 29 22:31:40 2020 +0100
@@ -56,7 +56,7 @@
PROLOGUE(mpn_mul_1)
adds x4, xzr, xzr C clear register and cy flag
-L(com): lsr x18, n, #2
+L(com): lsr x17, n, #2
tbnz n, #0, L(bx1)
L(bx0): mov x11, x4
@@ -65,7 +65,7 @@
L(b10): ldp x4, x5, [up]
mul x8, x4, v0
umulh x10, x4, v0
- cbz x18, L(2)
+ cbz x17, L(2)
ldp x6, x7, [up,#16]!
mul x9, x5, v0
b L(mid)-8
@@ -80,7 +80,7 @@
str x9, [rp],#8
tbnz n, #1, L(b10)
-L(b01): cbz x18, L(1)
+L(b01): cbz x17, L(1)
L(b00): ldp x6, x7, [up]
mul x8, x6, v0
@@ -90,8 +90,8 @@
adcs x12, x8, x11
umulh x11, x7, v0
add rp, rp, #16
- sub x18, x18, #1
- cbz x18, L(end)
+ sub x17, x17, #1
+ cbz x17, L(end)
ALIGN(16)
L(top): mul x8, x4, v0
@@ -110,8 +110,8 @@
stp x12, x13, [rp],#32
adcs x12, x8, x11
umulh x11, x7, v0
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x17, x17, #1
+ cbnz x17, L(top)
L(end): mul x8, x4, v0
adcs x13, x9, x10
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/rsh1aors_n.asm
--- a/mpn/arm64/rsh1aors_n.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/rsh1aors_n.asm Sun Nov 29 22:31:40 2020 +0100
@@ -59,7 +59,7 @@
ASM_START()
PROLOGUE(func_n)
- lsr x18, n, #2
+ lsr x6, n, #2
tbz n, #0, L(bx0)
@@ -69,7 +69,7 @@
L(b01): ADDSUB x13, x5, x9
and x10, x13, #1
- cbz x18, L(1)
+ cbz x6, L(1)
ldp x4, x5, [up],#48
ldp x8, x9, [vp],#48
ADDSUBC x14, x4, x8
@@ -80,8 +80,8 @@
ADDSUBC x12, x4, x8
ADDSUBC x13, x5, x9
str x17, [rp], #24
- sub x18, x18, #1
- cbz x18, L(end)
+ sub x6, x6, #1
+ cbz x6, L(end)
b L(top)
L(1): cset x14, COND
@@ -97,7 +97,7 @@
ldp x8, x9, [vp],#32
ADDSUBC x12, x4, x8
ADDSUBC x13, x5, x9
- cbz x18, L(3)
+ cbz x6, L(3)
ldp x4, x5, [up,#-16]
ldp x8, x9, [vp,#-16]
extr x17, x12, x15, #1
@@ -117,7 +117,7 @@
ADDSUB x12, x4, x8
ADDSUBC x13, x5, x9
and x10, x12, #1
- cbz x18, L(2)
+ cbz x6, L(2)
ldp x4, x5, [up,#-16]
ldp x8, x9, [vp,#-16]
ADDSUBC x14, x4, x8
@@ -134,8 +134,8 @@
ADDSUBC x12, x4, x8
ADDSUBC x13, x5, x9
add rp, rp, #16
- sub x18, x18, #1
- cbz x18, L(end)
+ sub x6, x6, #1
+ cbz x6, L(end)
ALIGN(16)
L(top): ldp x4, x5, [up,#-16]
@@ -152,8 +152,8 @@
ADDSUBC x12, x4, x8
ADDSUBC x13, x5, x9
stp x16, x17, [rp],#32
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x6, x6, #1
+ cbnz x6, L(top)
L(end): extr x16, x15, x14, #1
extr x17, x12, x15, #1
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/rshift.asm
--- a/mpn/arm64/rshift.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/rshift.asm Sun Nov 29 22:31:40 2020 +0100
@@ -60,7 +60,7 @@
PROLOGUE(mpn_rshift)
mov rp, rp_arg
sub tnc, xzr, cnt
- lsr x18, n, #2
+ lsr x17, n, #2
tbz n, #0, L(bx0)
L(bx1): ldr x5, [up]
@@ -68,7 +68,7 @@
L(b01): NSHIFT x0, x5, tnc
PSHIFT x2, x5, cnt
- cbnz x18, L(gt1)
+ cbnz x17, L(gt1)
str x2, [rp]
ret
L(gt1): ldp x4, x5, [up,#8]
@@ -89,7 +89,7 @@
PSHIFT x13, x4, cnt
NSHIFT x10, x5, tnc
PSHIFT x2, x5, cnt
- cbnz x18, L(gt2)
+ cbnz x17, L(gt2)
orr x10, x10, x13
stp x10, x2, [rp]
ret
@@ -121,11 +121,11 @@
orr x11, x12, x2
stp x11, x10, [rp,#32]!
PSHIFT x2, x5, cnt
-L(lo0): sub x18, x18, #1
+L(lo0): sub x17, x17, #1
L(lo3): NSHIFT x10, x7, tnc
NSHIFT x12, x6, tnc
PSHIFT x13, x6, cnt
- cbnz x18, L(top)
+ cbnz x17, L(top)
L(end): orr x10, x10, x13
orr x11, x12, x2
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/sqr_diag_addlsh1.asm
--- a/mpn/arm64/sqr_diag_addlsh1.asm Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/sqr_diag_addlsh1.asm Sun Nov 29 22:31:40 2020 +0100
@@ -47,7 +47,7 @@
ASM_START()
PROLOGUE(mpn_sqr_diag_addlsh1)
ldr x15, [up],#8
- lsr x18, n, #1
+ lsr x14, n, #1
tbz n, #0, L(bx0)
L(bx1): adds x7, xzr, xzr
@@ -62,8 +62,8 @@
ldr x17, [up],#16
ldp x6, x7, [tp],#32
umulh x11, x15, x15
- sub x18, x18, #1
- cbz x18, L(end)
+ sub x14, x14, #1
+ cbz x14, L(end)
ALIGN(16)
L(top): extr x9, x6, x5, #63
@@ -84,8 +84,8 @@
extr x8, x5, x4, #63
stp x12, x13, [rp],#16
adcs x12, x8, x10
- sub x18, x18, #1
- cbnz x18, L(top)
+ sub x14, x14, #1
+ cbnz x14, L(top)
L(end): extr x9, x6, x5, #63
mul x10, x17, x17

View File

@@ -19,13 +19,13 @@
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
#* Boston, MA 02111-1307 USA
#**************************************************************************/
getopt.ambigious={0}: se<EFBFBD>im ''{1}'' qeyri-m<EFBFBD>\u0259yy\u0259ndir
getopt.arguments1={0}: se<EFBFBD>im ''--{1} '' arqument\u0259 icaz\u0259 vermir
getopt.arguments2={0}: se<EFBFBD>im ''{1}{2}'' arqument\u0259 icaz\u0259 vermir
getopt.requires={0}: se<EFBFBD>im ''{1}'' arqument t\u0259l\u0259b edir
getopt.unrecognized={0}: tan\u0131nmayan se<EFBFBD>im ''--{1}''
getopt.unrecognized2={0}: tan\u0131nmayan se<EFBFBD>im ''{1}{2}''
getopt.illegal={0}: qanunsuz se<EFBFBD>im -- {1}
getopt.invalid={0}: etibars\u0131z se<EFBFBD>im -- {1}
getopt.requires2={0}: se<EFBFBD>im arqument t\u0259l\u0259b edir -- {1}
getopt.invalidValue='has_arg' parametri <EFBFBD><EFBFBD><EFBFBD>n {0} etibars\u0131z d\u0259y\u0259r
getopt.ambigious={0}: se\u00e7im ''{1}'' qeyri-m\u00fc\u0259yy\u0259ndir
getopt.arguments1={0}: se\u00e7im ''--{1} '' arqument\u0259 icaz\u0259 vermir
getopt.arguments2={0}: se\u00e7im ''{1}{2}'' arqument\u0259 icaz\u0259 vermir
getopt.requires={0}: se\u00e7im ''{1}'' arqument t\u0259l\u0259b edir
getopt.unrecognized={0}: tan\u0131nmayan se\u00e7im ''--{1}''
getopt.unrecognized2={0}: tan\u0131nmayan se\u00e7im ''{1}{2}''
getopt.illegal={0}: qanunsuz se\u00e7im -- {1}
getopt.invalid={0}: etibars\u0131z se\u00e7im -- {1}
getopt.requires2={0}: se\u00e7im arqument t\u0259l\u0259b edir -- {1}
getopt.invalidValue='has_arg' parametri \u00fc\u00e7\u00fcn {0} etibars\u0131z d\u0259y\u0259r

View File

@@ -0,0 +1,31 @@
#**************************************************************************
#* MessagesBundle.properties -- English language error messages
#*
#* Copyright (c) 1998 by William King (wrking@eng.sun.com) and
#* Aaron M. Renn (arenn@urbanophile.com)
#*
#* This program is free software; you can redistribute it and/or modify
#* it under the terms of the GNU Library General Public License as published
#* by the Free Software Foundation; either version 2 of the License or
#* (at your option) any later version.
#*
#* This program is distributed in the hope that it will be useful, but
#* WITHOUT ANY WARRANTY; without even the implied warranty of
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#* GNU Library General Public License for more details.
#*
#* You should have received a copy of the GNU Library General Public License
#* along with this program; see the file COPYING.LIB. If not, write to
#* the Free Software Foundation Inc., 59 Temple Place - Suite 330,
#* Boston, MA 02111-1307 USA
#**************************************************************************/
getopt.ambigious={0}: la opci\u00f3n ''{1}'' es ambigua
getopt.arguments1={0}: la opci\u00f3n ''--{1}'' no permite un argumento
getopt.arguments2={0}: la opci\u00f3n ''{1}{2}'' no permite un argumento
getopt.requires={0}: la opci\u00f3n ''{1}'' requiere un argumento
getopt.unrecognized={0}: opci\u00f3n no reconocida ''--{1}''
getopt.unrecognized2={0}: opci\u00f3n no reconocida ''{1}{2}''
getopt.illegal={0}: opci\u00f3n ilegal -- {1}
getopt.invalid={0}: opci\u00f3n no v\u00e1lida -- {1}
getopt.requires2={0}: la opci\u00f3n requiere un argumento -- {1}
getopt.invalidValue=Valor no v\u00e1lido {0} para el par\u00e1metro 'has_arg'

View File

@@ -31,7 +31,7 @@ public class CoreVersion {
* Otherwise, the same as PUBLISHED_VERSION.
* RouterVersion.FULL_VERSION is suggested for display to the user.
*/
public final static String VERSION = "1.8.0";
public final static String VERSION = "1.9.0";
/**
* The version published in the netdb via StatisticsManager.
@@ -48,7 +48,7 @@ public class CoreVersion {
*
* @since 0.9.46
*/
public final static String PUBLISHED_VERSION = "0.9.54";
public final static String PUBLISHED_VERSION = "0.9.55";
/**
* For Vuze.

View File

@@ -34,10 +34,10 @@ public class BuildTime {
private static final long _latestTime;
private static final long YEARS_25 = 25L*365*24*60*60*1000;
/** update this periodically */
private static final String EARLIEST = "2022-05-19 12:00:00 UTC";
private static final String EARLIEST = "2022-08-13 12:00:00 UTC";
// fallback if parse fails ticket #1976
// date -d 202x-xx-xx +%s
private static final long EARLIEST_LONG = 1652918400 * 1000L;
private static final long EARLIEST_LONG = 1660348800 * 1000L;
static {
// this is the standard format of build.timestamp as set in the top-level build.xml

View File

@@ -9,11 +9,19 @@ package net.i2p.util;
*
*/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.zip.GZIPOutputStream;
import net.i2p.data.DataHelper;
/**
* File-based log writer thread that pulls log records from the LogManager,
@@ -93,12 +101,31 @@ class FileLogWriter extends LogWriter {
* @since 0.9.19 renamed from closeFile()
*/
protected void closeWriter() {
closeWriter(_currentFile, false);
}
/**
* Gzip the closed file
*
* @param threadGzipper if true, spin off a thread
* @since 0.9.55
*/
private void closeWriter(File currentFile, boolean threadGzipper) {
Writer out = _currentOut;
if (out != null) {
try {
out.close();
} catch (IOException ioe) {}
}
if (_manager.shouldGzip() && currentFile != null && currentFile.length() >= _manager.getMinGzipSize()) {
Thread gzipper = new Gzipper(currentFile);
if (threadGzipper) {
gzipper.setPriority(Thread.MIN_PRIORITY);
gzipper.start(); // rotate
} else {
gzipper.run(); // shutdown
}
}
}
/**
@@ -107,6 +134,7 @@ class FileLogWriter extends LogWriter {
* Caller must synch
*/
private void rotateFile() {
File old = _currentFile;
File f = getNextFile();
_currentFile = f;
_numBytesInCurrentFile = 0;
@@ -125,7 +153,9 @@ class FileLogWriter extends LogWriter {
//System.exit(0);
}
}
closeWriter();
closeWriter(old, true);
if (_manager.shouldGzip())
(new File(f.getPath() + ".gz")).delete();
try {
_currentOut = new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(f), "UTF-8"));
} catch (IOException ioe) {
@@ -180,7 +210,8 @@ class FileLogWriter extends LogWriter {
f = new File(base, replace(pattern, i));
else
f = new File(replace(pattern, i));
if (!f.exists()) {
// check for file or file.gz
if (!f.exists() && !(_manager.shouldGzip() && (new File(f.getPath() + ".gz").exists()))) {
_rotationNum = i;
return f;
}
@@ -197,7 +228,18 @@ class FileLogWriter extends LogWriter {
if (oldest == null) {
oldest = f;
} else {
if (f.lastModified() < oldest.lastModified()) {
// set file or file.gz for last mod check
File ff, oo;
if (!_manager.shouldGzip() || f.exists())
ff = f;
else
ff = new File(f.getPath() + ".gz");
if (!_manager.shouldGzip() || oldest.exists())
oo = oldest;
else
oo = new File(oldest.getPath() + ".gz");
if (ff.lastModified() < oo.lastModified()) {
_rotationNum = i;
oldest = f;
}
@@ -218,4 +260,34 @@ class FileLogWriter extends LogWriter {
}
return buf.toString();
}
/**
* @since 0.9.55
*/
private static class Gzipper extends I2PAppThread {
private final File _f;
public Gzipper(File f) {
super("Log file compressor");
_f = f;
}
public void run() {
File to = new File(_f.getPath() + ".gz");
InputStream in = null;
OutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(_f));
out = new BufferedOutputStream(new GZIPOutputStream(new SecureFileOutputStream(to)));
DataHelper.copy(in, out);
} catch (IOException ioe) {
System.out.println("Error compressing log file " + _f);
} finally {
if (in != null) try { in.close(); } catch (IOException ioe) {}
if (out != null) try { out.close(); } catch (IOException ioe) {}
to.setLastModified(_f.lastModified());
_f.delete();
}
}
}
}

View File

@@ -38,6 +38,8 @@ import net.i2p.data.DataHelper;
* This also fires off a LogWriter thread that pulls pending records off and
* writes them where appropriate.
*
* As of 0.9.41, this class may be overridden via I2PAppContext.setLogManager()
*
*/
public class LogManager implements Flushable {
public final static String CONFIG_LOCATION_PROP = "loggerConfigLocation";
@@ -65,6 +67,10 @@ public class LogManager implements Flushable {
private static final String PROP_DUP = "logger.dropDuplicates";
/** @since 0.9.18 */
private static final String PROP_FLUSH = "logger.flushInterval";
/** @since 0.9.56 */
private static final String PROP_GZIP = "logger.gzip";
/** @since 0.9.56 */
private static final String PROP_MIN_GZIP_SIZE = "logger.minGzipSize";
public final static String PROP_RECORD_PREFIX = "logger.record.";
public final static String DEFAULT_FORMAT = DATE + " " + PRIORITY + " [" + THREAD + "] " + CLASS + ": " + MESSAGE;
@@ -79,6 +85,9 @@ public class LogManager implements Flushable {
public final static String DEFAULT_DEFAULTLEVEL = Log.STR_ERROR;
public final static String DEFAULT_ONSCREENLEVEL = Log.STR_CRIT;
private static final int MIN_FILESIZE_LIMIT = 16*1024;
private final static boolean DEFAULT_GZIP = false;
private static final int DEFAULT_MIN_GZIP_SIZE = 64*1024;
private final I2PAppContext _context;
private final Log _log;
@@ -133,6 +142,8 @@ public class LogManager implements Flushable {
private final AtomicLong _droppedRecords = new AtomicLong();
// in seconds
private int _flushInterval = (int) (LogWriter.FLUSH_INTERVAL / 1000);
private boolean _gzip;
private long _minGzipSize;
private boolean _alreadyNoticedMissingConfig;
@@ -452,6 +463,17 @@ public class LogManager implements Flushable {
String str = config.getProperty(PROP_DUP);
_dropDuplicates = str == null || Boolean.parseBoolean(str);
str = config.getProperty(PROP_GZIP);
_gzip = str != null ? Boolean.parseBoolean(str) : DEFAULT_GZIP;
if (_gzip) {
_minGzipSize = DEFAULT_MIN_GZIP_SIZE;
try {
str = config.getProperty(PROP_MIN_GZIP_SIZE);
if (str != null)
_minGzipSize = Long.parseLong(str);
} catch (NumberFormatException nfe) {}
}
//if (_log.shouldLog(Log.DEBUG))
// _log.debug("Log set to use the base log file as " + _baseLogfilename);
@@ -673,6 +695,20 @@ public class LogManager implements Flushable {
return _rotationLimit;
}
/**
* @since 0.9.56
*/
boolean shouldGzip() {
return _gzip;
}
/**
* @since 0.9.56
*/
long getMinGzipSize() {
return _gzip ? _minGzipSize : Long.MAX_VALUE;
}
/** @return success */
public synchronized boolean saveConfig() {
Properties props = createConfig();
@@ -712,6 +748,8 @@ public class LogManager implements Flushable {
rv.setProperty(PROP_DISPLAYONSCREENLEVEL, Log.toLevelString(_onScreenLimit));
rv.setProperty(PROP_CONSOLEBUFFERSIZE, Integer.toString(_consoleBufferSize));
rv.setProperty(PROP_FLUSH, Integer.toString(_flushInterval));
rv.setProperty(PROP_GZIP, Boolean.toString(_gzip));
rv.setProperty(PROP_MIN_GZIP_SIZE, Long.toString(_minGzipSize));
for (LogLimit lim : _limits) {
rv.setProperty(PROP_RECORD_PREFIX + lim.getRootName(), Log.toLevelString(lim.getLimit()));
@@ -797,7 +835,10 @@ public class LogManager implements Flushable {
// try to prevent out-of-order logging at shutdown
flush();
// this could generate out-of-order messages
_writer.flushRecords(false);
// Gitlab #363 Mac hangs in DTG displaying the popup
// after right-clicking the dock icon and selecting Quit
if (!SystemVersion.isMac())
_writer.flushRecords(false);
_writer.stopWriting();
synchronized (_writer) {
_writer.notifyAll();
@@ -809,16 +850,10 @@ public class LogManager implements Flushable {
_consoleBuffer.clear();
}
private static final AtomicInteger __id = new AtomicInteger();
private class ShutdownHook extends I2PAppThread {
private final int _id;
public ShutdownHook() {
_id = __id.incrementAndGet();
}
@Override
public void run() {
setName("Log " + _id + " shutdown ");
setName("Log shutdown");
shutdown();
}
}

View File

@@ -34,6 +34,14 @@ public class ObjectCounter<K> implements Serializable {
return 1;
}
/**
* Set a high value
* @since 0.9.56
*/
public void max(K h) {
map.put(h, new AtomicInteger(Integer.MAX_VALUE / 2));
}
/**
* @return current count
*/

View File

@@ -39,14 +39,14 @@ public class OrderedProperties extends Properties {
public Set<Object> keySet() {
if (size() <= 1)
return super.keySet();
return new UnmodifiableSortedSet(super.keySet());
return new UnmodifiableSortedSet<Object>(super.keySet());
}
@Override
public Set<Map.Entry<Object, Object>> entrySet() {
if (size() <= 1)
return super.entrySet();
return new UnmodifiableSortedSet(super.entrySet(), ECOMP);
return new UnmodifiableSortedSet<Map.Entry<Object, Object>>(super.entrySet(), ECOMP);
}
private static class EntryComparator implements Comparator<Map.Entry<Object, Object>>, Serializable {

View File

@@ -39,6 +39,7 @@ public class UnmodifiableSortedSet<E> extends ArraySet<E> implements SortedSet<E
this(c, null);
}
@SuppressWarnings("unchecked")
public UnmodifiableSortedSet(Set<? extends E> c, Comparator<? super E> comparator) {
super(c, c.size());
comp = comparator;
@@ -58,6 +59,7 @@ public class UnmodifiableSortedSet<E> extends ArraySet<E> implements SortedSet<E
/**
* Warning: O(n**2)
*/
@SuppressWarnings("unchecked")
public UnmodifiableSortedSet(Collection<? extends E> c, Comparator<? super E> comparator) {
super(c, c.size());
comp = comparator;
@@ -69,12 +71,14 @@ public class UnmodifiableSortedSet<E> extends ArraySet<E> implements SortedSet<E
public Comparator<? super E> comparator() { return comp; }
@SuppressWarnings("unchecked")
public E first() {
if (isEmpty())
throw new NoSuchElementException();
return (E) _entries[0];
}
@SuppressWarnings("unchecked")
public E last() {
int sz = size();
if (sz <= 0)
@@ -145,6 +149,7 @@ public class UnmodifiableSortedSet<E> extends ArraySet<E> implements SortedSet<E
* Overridden to do binary search
*/
@Override
@SuppressWarnings("unchecked")
protected int indexOf(Object o) {
// don't do this if comp is not initialized and array is not sorted
if (! initialized)

View File

@@ -2,29 +2,36 @@
# Copyright (C) 2009 The I2P Project
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# foo <foo@bar>, 2009.
#
# Translators:
# Robert Dafis <robertdafis@gmail.com>, 2017-2018
# Robert Dafis <robertdafis@gmail.com>, 2019
# zzzi2p, 2019
# Yukik4ze, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Project-Id-Version: I2P routerconsole\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-12-17 17:32+0000\n"
"PO-Revision-Date: 2019-11-24 13:40+0000\n"
"Last-Translator: Khairul Agasta <khairuldroids@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/otf/I2P/language/id/)\n"
"Language: id\n"
"POT-Creation-Date: 2019-12-17 18:42+0000\n"
"PO-Revision-Date: 2019-12-17 17:16+0000\n"
"Last-Translator: Yukik4ze, 2022\n"
"Language-Team: Indonesian (https://www.transifex.com/otf/teams/12694/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there
#. are several options...
#. spaces or not, '.' or not, plural or not. Try not to make it too long, it
#. is used in
#. a lot of tables.
#. milliseconds
#. Note to translators, may be negative or zero, 2999 maximum.
#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
#. {0,number,####} prevents 1234 from being output as 1,234 in the English
#. locale.
#. If you want the digit separator in your locale, translate as {0}.
#. alternates: msec, msecs
#: ../java/src/net/i2p/data/DataHelper.java:1383
@@ -94,33 +101,28 @@ msgid "{0,number,####} μs"
msgid_plural "{0,number,###} μs"
msgstr[0] "{0,number,###} mikro detik"
#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
msgid "CRIT"
msgstr "CRIT"
#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
msgid "DEBUG"
msgstr "DEBUG"
#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
msgid "ERROR"
msgstr "ERROR"
#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
msgid "INFO"
msgstr "INFO"
#: ../java/src/net/i2p/util/LogRecordFormatter.java:106
msgid "WARN"
msgstr "WARN"
#: ../java/src/net/i2p/util/LogWriter.java:161
#, java-format
msgid "{0} similar message omitted"
msgid_plural "{0} similar messages omitted"
msgstr[0] ""
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:70
#: ../java/src/net/i2p/router/web/helpers/LogsHelper.java:153
msgid "CRIT"
msgstr "CRIT"
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:70
msgid "DEBUG"
msgstr "DEBUG"
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:70
#: ../java/src/net/i2p/router/web/helpers/LogsHelper.java:155
msgid "ERROR"
msgstr "ERROR"
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:70
#: ../java/src/net/i2p/router/web/helpers/LogsHelper.java:160
msgid "INFO"
msgstr "INFO"
#: ../java/src/net/i2p/router/web/helpers/ConfigLoggingHelper.java:70
#: ../java/src/net/i2p/router/web/helpers/LogsHelper.java:157
msgid "WARN"
msgstr "WARN"
msgstr[0] "{0} pesan serupa dihilangkan"

View File

@@ -1,3 +1,9 @@
i2p (1.9.0-1~bionic+1) bionic; urgency=medium
* New upstream version 1.9.0
-- zzz on i2p (key signing) <zzz@i2pmail.org> Tue, 23 Aug 2022 12:12:12 +0000
i2p (1.8.0-1~bionic+1) bionic; urgency=medium
* New upstream version 1.8.0

View File

@@ -1,3 +1,9 @@
i2p (1.9.0-1ubuntu1) focal; urgency=medium
* New upstream version 1.9.0
-- zzz on i2p (key signing) <zzz@i2pmail.org> Tue, 23 Aug 2022 12:12:12 +0000
i2p (1.8.0-1ubuntu1) focal; urgency=medium
* New upstream version 1.8.0

View File

@@ -37,7 +37,7 @@ Index: b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
============================================================
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -1093,8 +1093,8 @@ public class RouterConsoleRunner impleme
@@ -1094,8 +1094,8 @@ public class RouterConsoleRunner impleme
}
@Override

6
debian/changelog vendored
View File

@@ -1,3 +1,9 @@
i2p (1.9.0-1ubuntu1) focal; urgency=medium
* New upstream version 1.9.0
-- zzz on i2p (key signing) <zzz@i2pmail.org> Tue, 23 Aug 2022 12:12:12 +0000
i2p (1.8.0-1ubuntu1) focal; urgency=medium
* New upstream version 1.8.0

2
debian/control vendored
View File

@@ -79,7 +79,7 @@ Architecture: all
Section: net
Priority: optional
Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends},
openjdk-18-jre-headless | openjdk-17-jre-headless | openjdk-16-jre-headless | openjdk-15-jre-headless | openjdk-11-jre-headless | default-jre-headless | java18-runtime-headless | java17-runtime-headless | java16-runtime-headless | java15-runtime-headless | java11-runtime-headless,
openjdk-18-jre-headless | openjdk-17-jre-headless | openjdk-11-jre-headless | default-jre-headless | java18-runtime-headless | java17-runtime-headless | java11-runtime-headless,
geoip-database,
gettext-base,
libgetopt-java,

View File

@@ -3,6 +3,7 @@ installer/resources/man/eepget.ar.1
installer/resources/man/eepget.az.1
installer/resources/man/eepget.de.1
installer/resources/man/eepget.es.1
installer/resources/man/eepget.es_AR.1
installer/resources/man/eepget.fi.1
installer/resources/man/eepget.fr.1
installer/resources/man/eepget.hu.1
@@ -24,6 +25,7 @@ installer/resources/man/i2prouter-nowrapper.ar.1
installer/resources/man/i2prouter-nowrapper.az.1
installer/resources/man/i2prouter-nowrapper.de.1
installer/resources/man/i2prouter-nowrapper.es.1
installer/resources/man/i2prouter-nowrapper.es_AR.1
installer/resources/man/i2prouter-nowrapper.fi.1
installer/resources/man/i2prouter-nowrapper.fr.1
installer/resources/man/i2prouter-nowrapper.hu.1

1
debian/i2p.manpages vendored
View File

@@ -3,6 +3,7 @@ installer/resources/man/i2prouter.ar.1
installer/resources/man/i2prouter.az.1
installer/resources/man/i2prouter.de.1
installer/resources/man/i2prouter.es.1
installer/resources/man/i2prouter.es_AR.1
installer/resources/man/i2prouter.fi.1
installer/resources/man/i2prouter.fr.1
installer/resources/man/i2prouter.hu.1

View File

@@ -33,7 +33,7 @@
import org.eclipse.jetty.security.authentication.DigestAuthenticator;
import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.ConnectionFactory;
@@ -980,6 +982,8 @@
@@ -981,6 +983,8 @@
} else {
HashLoginService realm = new CustomHashLoginService(JETTY_REALM, context.getContextPath(),
ctx.logManager().getLog(RouterConsoleRunner.class));
@@ -42,7 +42,7 @@
sec.setLoginService(realm);
sec.setAuthenticator(authenticator);
String[] role = new String[] {JETTY_ROLE};
@@ -987,7 +991,7 @@
@@ -988,7 +992,7 @@
String user = e.getKey();
String pw = e.getValue();
Credential cred = Credential.getCredential(MD5_CREDENTIAL_TYPE + pw);
@@ -51,7 +51,7 @@
Constraint constraint = new Constraint(user, JETTY_ROLE);
constraint.setAuthenticate(true);
ConstraintMapping cm = new ConstraintMapping();
@@ -1007,7 +1011,7 @@
@@ -1008,7 +1012,7 @@
try {
// each char truncated to 8 bytes
String user2 = new String(b2, "ISO-8859-1");
@@ -60,7 +60,7 @@
constraint = new Constraint(user2, JETTY_ROLE);
constraint.setAuthenticate(true);
cm = new ConstraintMapping();
@@ -1018,7 +1022,7 @@
@@ -1019,7 +1023,7 @@
// each UTF-8 byte as a char
// this is what chrome does
String user3 = new String(b1, "ISO-8859-1");

90
debian/po/es_AR.po vendored Normal file
View File

@@ -0,0 +1,90 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the i2p package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: i2p@packages.debian.org\n"
"POT-Creation-Date: 2017-11-12 14:01+0000\n"
"PO-Revision-Date: 2011-10-03 21:48+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. Type: boolean
#. Description
#: ../i2p.templates:2001
msgid "Should the I2P router be started at boot?"
msgstr "¿Iniciar el router I2P al arrancar?"
#. Type: boolean
#. Description
#: ../i2p.templates:2001
msgid ""
"The I2P router can be run as a daemon that starts automatically when your "
"computer boots up. This is the recommended configuration."
msgstr "El router I2P se puede ejecutar como un demonio que se inicia automáticamente al arrancar el equipo. Esta es la opción recomendada."
#. Type: string
#. Description
#: ../i2p.templates:3001
msgid "I2P daemon user:"
msgstr "Usuario del demonio I2P:"
#. Type: string
#. Description
#: ../i2p.templates:3001
msgid ""
"By default I2P is configured to run under the account i2psvc when running as"
" a daemon. To use an **existing** I2P profile you may enter a different "
"account name here. For example, if your previous I2P installation is at "
"/home/user/i2p, you may enter 'user' here."
msgstr "Por defecto, I2P está configurado para ejecutarse bajo la cuenta i2psvc cuando se ejecuta en modo demonio. Para usar un perfil de I2P **existente**, puede especificar aquí un nombre de cuenta distinto. Por ejemplo, si su instalación anterior de I2P está en /home/usuario/i2p, aquí puede escribir 'usuario'."
#. Type: string
#. Description
#: ../i2p.templates:3001
msgid ""
"Very important: If a user other than the default of 'i2psvc' is entered "
"here, the chosen username *MUST* already exist."
msgstr "Muy importante: Si en este campo se introduce un nombre de usuario distinto de 'i2psvc', el nombre elegido *DEBE* existir de antemano."
#. Type: string
#. Description
#: ../i2p.templates:4001
msgid "Memory that can be allocated to I2P:"
msgstr "La memoria que se puede asignar a I2P:"
#. Type: string
#. Description
#: ../i2p.templates:4001
msgid "By default, I2P will only be allowed to use up to 128MB of RAM."
msgstr "Por defecto, a I2P solo se le permitirá usar hasta 128MB de RAM."
#. Type: string
#. Description
#: ../i2p.templates:4001
msgid ""
"High bandwidth routers, as well as routers with a lot of active torrents / "
"plugins, may need to have this value increased."
msgstr "Los routers I2P con alto ancho de banda, así como los routers I2P con muchos torrents/complementos activos, pueden necesitar aumentar este valor."
#. Type: boolean
#. Description
#: ../i2p.templates:5001
msgid "Should the I2P daemon be confined with AppArmor?"
msgstr "¿Confinar el demonio I2P con AppArmor?"
#. Type: boolean
#. Description
#: ../i2p.templates:5001
msgid ""
"With this option enabled I2P will be sandboxed with AppArmor, restricting "
"which files and directories may be accessed by I2P."
msgstr "Con esta opción habilitada I2P sera enjaulada con AppArmor, restringiendo qué ficheros y directorios pueden ser accedidos por I2P."

11
debian/po/ja.po vendored
View File

@@ -4,15 +4,16 @@
#
# Translators:
# kami <b52c55627324b29125cbcfb101258463_228943>, 2015
# タカハシ <indexial@outlook.jp>, 2014
# daingewuvzeevisiddfddd, 2022
# タカハシ, 2014
# Masayuki Hatta <mhatta@mhatta.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: i2p@packages.debian.org\n"
"POT-Creation-Date: 2017-11-12 14:01+0000\n"
"PO-Revision-Date: 2018-08-17 22:12+0000\n"
"Last-Translator: Masayuki Hatta <mhatta@mhatta.org>\n"
"PO-Revision-Date: 2011-10-03 21:48+0000\n"
"Last-Translator: daingewuvzeevisiddfddd, 2022\n"
"Language-Team: Japanese (http://www.transifex.com/otf/I2P/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +25,7 @@ msgstr ""
#. Description
#: ../i2p.templates:2001
msgid "Should the I2P router be started at boot?"
msgstr "I2P ルータをシステムブート時に起動しますか?"
msgstr "I2P ルータをシステムブート時に起動しますか?"
#. Type: boolean
#. Description
@@ -76,7 +77,7 @@ msgstr "デフォルトでは、 I2P は最大 128MB メモリまでしか使用
msgid ""
"High bandwidth routers, as well as routers with a lot of active torrents / "
"plugins, may need to have this value increased."
msgstr "帯域幅の多いルータ、あるいはたくさんのアクティブな torrent / プラグインがあるルータも、この値を増やす必要がある場合があります。"
msgstr "帯域幅の多いルータ、あるいはたくさんのアクティブな torrent / プラグインがあるルータも、この値を増やす必要がある場合があります。"
#. Type: boolean
#. Description

View File

@@ -32,6 +32,9 @@ if [ -f /.dockerenv ]; then
fi
# Options required for reflective access in dynamic JVM languages like Groovy and Jython
JAVA17OPTS="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.Properties=ALL-UNNAMED --add-opens java.base/java.util.Properties.defaults=ALL-UNNAMED"
# Old java options
JAVAOPTS="-Djava.net.preferIPv4Stack=false -Djava.library.path=${I2P}:${I2P}/lib -Di2p.dir.base=${I2P} -Di2p.dir.config=${HOME}/.i2p -DloggerFilenameOverride=logs/log-router-@.txt -Xmx$JVM_XMX"
java -cp "${CLASSPATH}" ${JAVA_OPTS} net.i2p.router.RouterLaunch

View File

@@ -12,7 +12,7 @@ the:
target, which will produce `jar` and `exe` files. If you are a developer
who already has I2P installed, it is convenient to build updater packages
instead of the whole installer to speed up builds and to avoid needing to
instead of the whole installer to speed up builds and avoid needing to
repeatedly re-run the installer. To simply build the updater `zip` files,
run:
@@ -53,7 +53,7 @@ or
### Peripheral/External Packages: SBT
The (Discontinued)Browser Bundle launcher, as well as the Mac OSX
launcher the `sbt` tool from the Scala project is actually used
launcher the `sbt` tool from the Scala project is used
underneath, but the `sbt` can still be executed by an `ant` target.
To build the OSX launcher, run the:
@@ -67,7 +67,7 @@ target.
## Browsing around the source code
If you're new at this, which we all was at one point, I'll have some tips.
If you're new at this, which we all were at one point, I'll have some tips.
* The [DIRECTORIES.md](DIRECTORIES.md) contains a listing of the directories
in the I2P source code and what the code inside them is used for.
@@ -92,7 +92,7 @@ a relevant reference.
## Git clone depth and Git Bundles
Since `git` is not resumable until a repository is cloned, it is helpful to obtain
the copies of of i2p.i2p anonymously in one of a couple ways to make the initial clone
the copies of i2p.i2p anonymously in one of a couple of ways to make the initial clone
process more reliable. There are two ways to obtain a git repository reliably over I2P
first, configure your git client according to the instructions on the [I2P Project Site](https://geti2p.net/en/docs/applications/git)
and clone
@@ -100,7 +100,7 @@ and clone
git clone --depth 1 git@127.0.0.1:i2p-hackers/i2p.i2p
This will clone the minimum amount of i2p.i2p to have a working checkout. You can then
resumably populate the repository with the remaining commits by running:
presumably populate the repository with the remaining commits by running:
git fetch --unshallow

View File

@@ -1,3 +1,123 @@
2022-09-06 zzz
* NetDB: Fix reseeding when clock is skewed
* SSU2: Don't publish or connect if our MTU becomes too small
2022-09-04 zzz
* SusiDNS: Fix adding to empty address book
2022-09-03 zzz
* NetDB: Query connected peers for their RI directly
* UPnP: Fix opening IPv6 ports
2022-09-01 zzz
* Router: Ensure database store message is processed before reply job (Gitlab #364)
2022-08-29 zzz
* SSU2: Implement ack-immediate flag
2022-08-28 zzz
* Console:
- Add notification and summary bar info on deadlock
- Linkify router hash even if not in netdb
* Util: Add option to gzip router logs
2022-08-25 zzz
* Router: Fix deadlock via rebuildRouterAddress() and UDPTransport
* SSU2:
- Implement path challenge and connection migration
- Fix packets exceeding MTU by up to 3 bytes
- Immediately fail session request containing zero token
2022-08-23 zzz
* Router: Add deadlocks to event log
2022-08-22 1.9.0 released
2022-08-10 zzz
* SSU2: Enable for Android, ARM, and 2% of others
2022-08-06 zzz
* GeoIP 2022-08
* Router: Hopefully fix clock/job queue deadlock after clock shift
2022-08-05 zzz
* SSU: Try to keep a mix of v1/v2 introducers
2022-08-04 zzz
* i2ptunnel: New outproxy (new installs only)
* SSU2: Block bob's IP in relay response from charlie
2022-08-02 zzz
* SSU2: More Path challenge WIP
2022-07-31 zzz
* SSU2: Add state lookup by conn ID
2022-07-29 zzz
* LogManager: Prevent hangs at shutdown on Mac after dock right-click-quit (Gitlab #363)
2022-07-27 zzz
* NetDB: Publish ff stats based on current caps, not previous
* Router: Log warning if no family keys loaded
* SSU: Decrease MTU only on retransmit of large packets
* SSU2: Stub out path challenge
2022-07-26 zzz
* SSU2: Send termination in response to termination
2022-07-25 zzz
* SSU2: Fix bitfield shifts of 256 or more
2022-07-21 zzz
* Console: Fix saving flat clients.config file
2022-07-19 zzz
* GeoIP: Don't lookup route48 addresses
* SSU:
- Reduce max establishment time
- Retransmit handshake messages faster and expire faster (SSU 1/2)
* SSU2:
- Shorten token expiration based on cache size
- Retransmit session confirmed after receiving apparent retransmitted session created
- Fix storage/checking of local firewalled IP address/port in token file
2022-07-17 zzz
* SSU2:
- More MTU fixes
- Verify static key in RI
- Don't put DateTime block after Termination block
- Fix first message fail check
2022-07-15 zzz
* SSU2:
- MTU fixes
- Send retry with termination on clock skew
2022-07-12 zzz
* SSU2: Fail session if first outbound message fails
2022-07-10 zzz
* SSU2: Fix NACK handling
2022-07-09 zzz
* Console: Only display news if a new entry is found
* SSU2: Support other reason codes in destroy message
2022-07-08 zzz
* SSU: Initialize MTUs
* SSU2: Persist SSU2 tokens
* Transports: Don't lookup RI in wasUnreachable()
2022-07-05 zzz
* SSU2: Fix peer test throttling
2022-07-04 zzz
* Console: Add cancel button to netdb search form
* NetDB: Lookup handling cleanups
2022-07-02 zzz
* SSU: Remove copy of peers in idle timeout checker
2022-06-25 zzz
* SSU: MTU fixes for IPv6 and SSU2

View File

@@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>1.8.0</appversion>
<appversion>1.9.0</appversion>
<authors>
<author name="I2P" email="https://geti2p.net/"/>
</authors>

View File

@@ -10,7 +10,7 @@
<info>
<appname>i2p</appname>
<appversion>1.8.0</appversion>
<appversion>1.9.0</appversion>
<authors>
<author name="I2P" email="https://geti2p.net/"/>
</authors>

Binary file not shown.

View File

@@ -137,3 +137,4 @@ Sybil:2400;8500;1302;824;a150;95;144;951
Sybil:2400;8500;1302;825;150;95;147;89
Sybil:2400;8500;1302;828;a150;95;153;2202
Tunnels:JbifzqZZqeTXtxK6KDqNUPWaW-phKqeS~tfJT82SIYI=
Tunnels:QPUV1bW6arN2zp3gTBMvOEvgSuKbXUqk2oqHkb~UoSw=

View File

@@ -31,10 +31,13 @@
- Trial Debian build: Run 'ant debcheckpatch' and fix any issues.
Build and test a preliminary Debian build with 'ant debian' and fix any issues
- Javadoc test: 'ant javadoc' and 'ant mavenCentral.deps'
- Javadoc test: 'ant javadoc'
with a recent Oracle JDK (12+), and fix any issues.
Oracle JDK will error on things that OpenJDK does not!
- Java 7 test: 'ant mavenCentral.deps' to ensure
that Android will build correcly; fix any issues
## A day or two before

View File

@@ -51,8 +51,9 @@
Package install, running as a service: <code dir="ltr">/var/lib/i2p/i2p-config/eepsite/docroot/</code>
</li>
<li><b>Windows</b><br>
<code dir="ltr">%LOCALAPPDATA%\I2P\eepsite\docroot\</code>
</li>
Standard install: <code dir="ltr">%LOCALAPPDATA%\I2P\eepsite\docroot\</code>
Windows Service install: <code dir="ltr">%PROGRAMDATA%\I2P\eepsite\docroot\</code>
</li>
<li><b>Mac</b><br>
<code dir="ltr">/Users/(user)/Library/Application Support/i2p</code>
</li>
@@ -95,15 +96,15 @@
<li>Enter the name and paste the destination into your <a href="http://127.0.0.1:7657/susidns/addressbook?book=router&amp;filter=none">address book</a>.
Click "Add" to save the new entry.
</li>
<li>In your browser, enter in your website name (<i>something</i>.i2p) and you should be right back here.
<li>In your browser, enter in your website name (<i>something</i>.i2p) and you should be right back here.
Hopefully it worked!
</li>
<li>Before you tell the world about your new website, you should add some content.
Go to the server's root directory <a href="#dir">listed above</a> and replace the index.html redirect page with your own content.
</li>
</ul>
</ul>
<p>Directory listings are enabled, so you may host files from a subdirectory without providing a page with links to the files.
<p>Directory listings are enabled, so you may host files from a subdirectory without providing a page with links to the files.
You may change the appearance of the directory by supplying an edited <a href="lib/jetty-dir.css">jetty-dir.css</a> file for each directory.
The <a href="lib/">lib subdirectory</a> demonstrates a custom style.
The <a href="lib/resources">resources subdirectory</a> demonstrates the default style.
@@ -120,14 +121,14 @@
<h2>Register your own I2P Domain</h2>
<p>Now it is time to add your website to an I2P address book hosted by a site such as <a href="http://stats.i2p/" target="_blank">stats.i2p</a>.
<p>Now it is time to add your website to an I2P address book hosted by a site such as <a href="http://stats.i2p/" target="_blank">stats.i2p</a>.
You must enter your website name and Destination (or Registration Authentication string) on one or more of these sites.
</p><p>Some registration sites require the Destination.
If so, highlight and copy the entire Local destination on the <a href="http://127.0.0.1:7657/i2ptunnel/edit?tunnel=3">Hidden Service Configuration page</a>.
Make sure you copy the whole thing, it is over 500 characters.
</p><p>Some registration sites, including <a href="http://stats.i2p/i2p/addkey.html" target="_blank">stats.i2p</a>, require the Registration Authentication string.
It is found on the <a href="http://127.0.0.1:7657/i2ptunnel/register?tunnel=3">Registration Authentication page</a> linked from the <a href="http://127.0.0.1:7657/i2ptunnel/edit?tunnel=3">Hidden Service configuration page</a>.
Copy the entire authentication string and paste it on the registration page.
Copy the entire authentication string and paste it on the registration page.
Make sure you copy the whole thing, it is over 500 characters.
Describe your site briefly if the site requests this information.
If your site is a HTTP service, leave the checkbox selected; if not, unselect it.
@@ -146,14 +147,14 @@
<li><code dir="ltr">http://stats.i2p/cgi-bin/newhosts.txt</code> (<a href="http://stats.i2p/cgi-bin/newhosts.txt" target="_blank">stats.i2p</a>)
</li>
</ul>
<p>If you are in a hurry and can't wait a few hours, you can tell people to use a "jump" address helper redirection service.
<p>If you are in a hurry and can't wait a few hours, you can tell people to use a "jump" address helper redirection service.
This will work within a few minutes of your registering your hostname on the same site.
Test it yourself first by entering <code dir="ltr">http://stats.i2p/cgi-bin/jump.cgi?a=<i>something</i>.i2p</code> into your browser.
Test it yourself first by entering <code dir="ltr">http://stats.i2p/cgi-bin/jump.cgi?a=<i>something</i>.i2p</code> into your browser.
Once it is working, you can tell others to use it.
</p>
<p>Some people check website lists such as <a href="http://identiguy.i2p/" target="_blank">Identiguy's eepsite status list</a> or <a href="http://no.i2p/browse/" target="_blank">no.i2p's active host list</a> for new eepsites, so your site may start getting some traffic.
<p>Some people check website lists such as <a href="http://identiguy.i2p/" target="_blank">Identiguy's eepsite status list</a> or <a href="http://no.i2p/browse/" target="_blank">no.i2p's active host list</a> for new eepsites, so your site may start getting some traffic.
There are plenty of other ways to tell people. Here are a few ideas:
</p>
@@ -171,21 +172,21 @@
<h2>Using an alternative webserver to host your site</h2>
<p>This site (and the I2P router console) is running on the <a href="https://en.wikipedia.org/wiki/Jetty_(web_server)" target="_blank">Jetty webserver</a>, but you may wish to use a different webserver to host your content.
<p>This site (and the I2P router console) is running on the <a href="https://en.wikipedia.org/wiki/Jetty_(web_server)" target="_blank">Jetty webserver</a>, but you may wish to use a different webserver to host your content.
To maintain anonymity, be sure that your webserver is configured to only allow connections from localhost (127.0.0.1), and check the documentation to ensure your webserver isn't advertising details that may compromise your anonymity.
</p>
<p>To configure your webserver for use on I2P, you may either use the existing webserver tunnel and <a href="http://127.0.0.1:7657/configclients">disable the default webserver</a> from running, or create a new HTTP Server tunnel in the <a href="http://127.0.0.1:7657/i2ptunnelmgr">Hidden Services Manager</a>.
Ensure that the listening port configured for the webserver (7658 by default) is also configured in the Hidden Services settings.
For example, if your webserver is listening by default on address 127.0.0.1 port 80, you'd need to also ensure that the Target port in the Hidden Service Manager settings page for the service is also configured to port 80.
</p>
For example, if your webserver is listening by default on address 127.0.0.1 port 80, you'd need to also ensure that the Target port in the Hidden Service Manager settings page for the service is also configured to port 80.
</p>
<p>Beware that a poorly configured webserver or web appplication can leak potentially compromising information such as
<p>Beware that a poorly configured webserver or web appplication can leak potentially compromising information such as
your real IP address or server details that may reduce your anonymity or assist a hacker.
We recommend using the default server unless you feel comfortable doing server administration.
Please ensure your web server is secure prior to placing it online.
There are plenty of guides online, for example if you search for "nginx security hardening guide" you will find a number of guides that have good recommendations.
</p>
</p>
<p>There is one important issue with the Apache web server.
The <code dir="ltr">mod_status</code> and <code dir="ltr">mod_info</code> Apache modules are enabled by default on some operating systems.

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="el">
<head>
<title>I2P Ανώνυμος Server ιστού</title>
<title>I2P Ανώνυμος Διακομιστής Ιστού</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="lib/eepsite.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
@@ -33,14 +33,14 @@
<a href="index_uk.html"><img src="lib/ua.png" title="Українська" alt="Українська"></a>
</div>
<h1>I2P Ανώνυμος Server ιστού</h1>
<h1>I2P Ανώνυμος Διακομιστής Ιστού</h1>
<h2>Οδηγός στο Ανώνυμο serving ιστού στο I2P</h2>
<p>Αυτός είναι ο δικός σου ανώνυμος I2P webserver (συνήθως αναφέρετε ως ένα <i>eepsite</i>).
Για να προβάλεις το δικό σου περιεχόμενο, άπλα επεξεργάσου τα αρχεία στη ριζική διαδρομή του webserver και το site θα γίνει δημόσιο μόλις ακολουθήσεις τις οδηγίες παρακάτω.</p>
<p id="dir"> Η ριζική διαδρομή του webserver μπορεί να βρεθεί σε μια από τις παρακάτω τοποθεσίες, αναλόγως το λειτουργικό σου σύστημα:</p>
<p id="dir">Η ριζική διαδρομή του webserver μπορεί να βρεθεί σε μια από τις παρακάτω τοποθεσίες, αναλόγως το λειτουργικό σου σύστημα:</p>
<ul>
<li>
@@ -62,7 +62,7 @@
<p>The instructions below detail how to assign a name like "mysite.i2p" to your website and enable access by others.
You may reach your site locally via <a href="http://127.0.0.1:7658/">http://127.0.0.1:7658/</a>.</p>
<h2>How to set up and announce your hidden service</h2>
<h2>Πώς να ρυθμίσετε και να ανακοινώσετε την κρυφή υπηρεσία σας</h2>
<p>Your webserver is running by default, but is not accessible by others until you start the hidden service tunnel.
After you start your I2P Webserver tunnel, it will be difficult for other people to find.
@@ -96,7 +96,7 @@
The <a href="lib/resources">resources subdirectory</a> demonstrates the default style.
If you need a template for a basic site, feel free to adapt <a href="pagetemplate.html">this page</a> and <a href="lib/">associated content</a>.</p>
<p>If you're returned to this page after editing the content, try clearing your browser's web cache:</p>
<p>Εάν επιστρέψετε σε αυτήν τη σελίδα μετά την επεξεργασία του περιεχομένου, δοκιμάστε να καταργήσετε την προσωρινή μνήμη web του προγράμματος περιήγησης:</p>
<ul>
<li>
@@ -124,7 +124,7 @@
Verify the submission was successful.
Since many routers periodically get address book updates from these sites, within several hours others will be able to find your website by simply entering your hostname in their browser.</p>
<h2>Adding Addressbook Subscriptions</h2>
<h2>Προσθήκη συνδρομών στο Βιβλίο διευθύνσεων</h2>
<p>Speaking of address book updates, this would be a good time to add some more addressbooks to your own subscription list.
Go to your <a href="http://127.0.0.1:7657/susidns/subscriptions">Subscriptions Configuration page</a> and add one or more for an automatically updated list of new hosts:</p>
@@ -150,7 +150,7 @@
<p>Note that some sites recommend pasting in that really long destination.
You can if you want, but if you have successfully registered your hostname on a registration service, tested it using a jump service, and waited 24 hours for the address book update to propagate to others, that shouldn't be necessary.</p>
<h2>Using an alternative webserver to host your site</h2>
<h2>Χρήση εναλλακτικού διακομιστή ιστού για τη φιλοξενία της σελίδας σας</h2>
<p>This site (and the I2P router console) is running on the <a href="https://en.wikipedia.org/wiki/Jetty_(web_server)" target="_blank">Jetty webserver</a>, but you may wish to use a different webserver to host your content.
To maintain anonymity, be sure that your webserver is configured to only allow connections from localhost (127.0.0.1), and check the documentation to ensure your webserver isn't advertising details that may compromise your anonymity.</p>
@@ -170,12 +170,12 @@
These modules expose internal data which can lead to serious compromise of anonymity when used on an anonymous network.
Removing the lines in the configuration file where these modules are loaded is the easiest way to prevent these issues.</p>
<h2>Further Assistance</h2>
<h2>Περαιτέρω Βοήθεια</h2>
<p>If you have any questions, the following places are available for support:</p>
<p>Εάν έχετε οποιεσδήποτε ερωτήσεις, τα παρακάτω μέρη είναι διαθέσιμα για υποστήριξη:</p>
<ul>
<li>Our IRC support channel:<ul>
<li>Το IRC κανάλι υποστήριξης μας:<ul>
<li><a href="irc://irc.freenode.net/i2p">#i2p on Freenode</a></li>
<li>Anonymously using your local <a href="irc://127.0.0.1:6668/i2p">I2P IRC tunnel</a>.</li>
</ul>

View File

@@ -21,7 +21,7 @@ tunnel.0.type=httpclient
tunnel.0.sharedClient=true
tunnel.0.interface=127.0.0.1
tunnel.0.listenPort=4444
tunnel.0.proxyList=false.i2p
tunnel.0.proxyList=exit.stormycloud.i2p
tunnel.0.i2cpHost=127.0.0.1
tunnel.0.i2cpPort=7654
tunnel.0.option.inbound.nickname=shared clients
@@ -31,7 +31,7 @@ tunnel.0.option.i2cp.reduceIdleTime=900000
tunnel.0.option.i2cp.reduceOnIdle=true
tunnel.0.option.i2cp.reduceQuantity=1
tunnel.0.option.i2p.streaming.connectDelay=1000
tunnel.0.option.i2ptunnel.httpclient.SSLOutproxies=false.i2p
tunnel.0.option.i2ptunnel.httpclient.SSLOutproxies=exit.storymcloud.i2p
tunnel.0.option.inbound.length=3
tunnel.0.option.inbound.lengthVariance=0
tunnel.0.option.outbound.length=3

View File

@@ -6,19 +6,20 @@
#
# Translators:
# strel, 2017
# Juan Jaramillo <juanda097@protonmail.ch>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: I2P man pages\n"
"POT-Creation-Date: 2021-11-27 13:31-0000\n"
"Last-Translator: strel, 2017\n"
"Last-Translator: Juan Jaramillo <juanda097@protonmail.ch>, 2022\n"
"Language-Team: Spanish (https://www.transifex.com/otf/teams/12694/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"POT-Revision-Date: 2021-11-27 13:31-0000\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. type: TH
#: man/eepget.1:1
@@ -275,9 +276,13 @@ msgstr "INFORMAR DE FALLOS"
#. type: Plain text
#: man/eepget.1:98 man/i2prouter.1:59 man/i2prouter-nowrapper.1:29
msgid ""
"Please enter an issue on E<.UR https://i2pgit.org/i2p-"
"hackers/i2p.i2p/-/issues> the I2P GitLab server E<.UE .>"
"Please enter an issue on E<.UR "
"https://i2pgit.org/i2p-hackers/i2p.i2p/-/issues> the I2P GitLab server E<.UE"
" .>"
msgstr ""
"Por favor, introduzca una incidencia en E<.UR "
"https://i2pgit.org/i2p-hackers/i2p.i2p/-/issues> el servidor GitLab de I2P "
"E<.UE .>"
#. type: SH
#: man/eepget.1:99 man/i2prouter.1:60 man/i2prouter-nowrapper.1:30

View File

@@ -0,0 +1,482 @@
# I2P
# Copyright (C) 2017 The I2P Project
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see https://www.transifex.com/otf/I2P/dashboard/
# zzz <zzz@mail.i2p>, 2017.
#
# Translators:
# strel, 2022
# Juan Jaramillo <juanda097@protonmail.ch>, 2022
#
msgid ""
msgstr ""
"Project-Id-Version: I2P man pages\n"
"POT-Creation-Date: 2021-11-27 13:31-0000\n"
"Last-Translator: Juan Jaramillo <juanda097@protonmail.ch>, 2022\n"
"Language-Team: Spanish (Argentina) (https://www.transifex.com/otf/teams/12694/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"POT-Revision-Date: 2021-11-27 13:31-0000\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. type: TH
#: man/eepget.1:1
#, no-wrap
msgid "EEPGET"
msgstr "EEPGET"
#. type: TH
#: man/eepget.1:1 man/i2prouter.1:1 man/i2prouter-nowrapper.1:1
#, no-wrap
msgid "January 26, 2017"
msgstr "26 de enero, 2017"
#. type: TH
#: man/eepget.1:1 man/i2prouter.1:1 man/i2prouter-nowrapper.1:1
#, no-wrap
msgid "I2P"
msgstr "I2P"
#. type: SH
#: man/eepget.1:3 man/i2prouter.1:3 man/i2prouter-nowrapper.1:3
#, no-wrap
msgid "NAME"
msgstr "NOMBRE"
#. type: Plain text
#: man/eepget.1:5
msgid "Eepget - I2P downloader"
msgstr "Eepget - Gestor de descarga de I2P"
#. type: SH
#: man/eepget.1:6 man/i2prouter.1:6 man/i2prouter-nowrapper.1:6
#, no-wrap
msgid "SYNOPSIS"
msgstr "SINOPSIS"
#. type: Plain text
#: man/eepget.1:9
msgid "B<eepget> [I<options>]I<URL>"
msgstr "B<eepget> [I<opciones>]I<URL>"
#. type: SH
#: man/eepget.1:11 man/i2prouter.1:11 man/i2prouter-nowrapper.1:10
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPCIÓN"
#. type: Plain text
#: man/eepget.1:15
msgid ""
"Download a file non-interactively via HTTP. Transfers through both I2P and "
"the regular Internet are supported."
msgstr ""
"Descarga un fichero de forma no interactiva vía HTTP. Están soportadas las "
"transferencias tanto a través de I2P como de la Internet regular."
#. type: Plain text
#: man/eepget.1:21
msgid ""
"Eepget is able to cope with slow or unstable network connections; if a "
"download is not successful because of a network problem, it will keep "
"retrying until the whole file has been retrieved (if the -n option is set)."
" If supported by the remote server, eepget will instruct the server to "
"continue the download from the point of interruption."
msgstr ""
"Eepget puede enfrentarse a conexiones de red lentas o inestables; si una "
"descarga no se completa a causa de un problema de red, seguirá intentándolo "
"hasta que el fichero se haya descargado del todo (si la opción -n está "
"establecida). Si el servidor remoto lo soporta, eepget le dará instrucciones"
" para que reanude la descarga desde el punto en que se interrumpió."
#. type: SH
#: man/eepget.1:22
#, no-wrap
msgid "OPTIONS"
msgstr "OPCIONES"
#. type: Plain text
#: man/eepget.1:25
msgid "B<-c>"
msgstr "B<-c>"
#. type: TP
#: man/eepget.1:25
#, no-wrap
msgid "Clearnet. Do not use a proxy. Same as B<-p> :0 ."
msgstr "Clearnet (red abierta). No utiliza un proxy. Lo mismo que B<-p> :0 ."
#. type: Plain text
#: man/eepget.1:31
msgid "B<-e> etag"
msgstr "B<-e> etag"
#. type: TP
#: man/eepget.1:31
#, no-wrap
msgid "Sets the etag value in the request headers."
msgstr ""
"Establece el valor de la etag en las cabeceras HTTP de las peticiones."
#. type: Plain text
#: man/eepget.1:37
msgid "B<-h> name=value"
msgstr "B<-h> nombre=valor"
#. type: TP
#: man/eepget.1:37
#, no-wrap
msgid "Adds an arbitrary request header with the given name and value."
msgstr ""
"Añade una cabecera arbitraria de petición HTTP con el nombre y valor dados."
#. type: Plain text
#: man/eepget.1:43
msgid "B<-l> lineLen"
msgstr "B<-l> tamañoLínea"
#. type: TP
#: man/eepget.1:43
#, no-wrap
msgid ""
"Controls the progress display. B<\\ lineLen > is the length of one progress "
"line in characters. The default is 40."
msgstr ""
"Controla el indicador de progreso. B<\\ tamañoLínea > es el tamaño de una "
"línea de progreso en caracteres. El valor predeterminado es 40."
#. type: Plain text
#: man/eepget.1:49
msgid "B<-m> markSize"
msgstr "B<-m> volumenMarca"
#. type: TP
#: man/eepget.1:49
#, no-wrap
msgid ""
"Controls the progress display. B<\\ markSize > is the number of bytes one "
"'#' character represents. The default is 1024."
msgstr ""
"Controla el indicador de progreso. B<\\ volumenMarca > es el número de bytes"
" que cada caracter '#' representa en la línea de progreso. El valor "
"predeterminado es 1024."
#. type: Plain text
#: man/eepget.1:55
msgid "B<-n> retries"
msgstr "B<-n> reintentos"
#. type: TP
#: man/eepget.1:55
#, no-wrap
msgid ""
"Specify the number of times to retry downloading if the download isn't "
"successful. If this option is not specified, eepget will not retry."
msgstr ""
"Especifica el número de veces a reintentar la descarga si no se completa. Si"
" no se especifica esta opción, eepget no efectuará reintentos."
#. type: Plain text
#: man/eepget.1:61
msgid "B<-o> file"
msgstr "B<-o> fichero"
#. type: TP
#: man/eepget.1:61
#, no-wrap
msgid ""
"Sets the output file to write to. If this option is not given, the output "
"filename will be determined by the URL."
msgstr ""
"Establece el fichero de salida al que escribir. Si no se proporciona esta "
"opción, el nombre del fichero de salida se determinará por la URL."
#. type: Plain text
#: man/eepget.1:67
msgid "B<-p> proxy_host[:port]"
msgstr "B<-p> servidor_proxy[:puerto]"
#. type: TP
#: man/eepget.1:67
#, no-wrap
msgid ""
"Specify an I2P proxy server (eeproxy) to use. If the port is not specified, "
"eepget will use 4444. If this option is not specified, eepget will use "
"127.0.0.1:4444. Specify B<-c> or B<-p> :0 to disable the eeproxy."
msgstr ""
"Especifica un servidor proxy I2P (eeproxy) a usar. Si no se especifica el "
"puerto, eepget usará 4444. Si no se especifica esta opción, eepget usará "
"127.0.0.1:4444. Especifique B<-c> o B<-p> :0 para deshabilitar el eeproxy."
#. type: Plain text
#: man/eepget.1:73
msgid "B<-t> seconds"
msgstr "B<-t> segundos"
#. type: TP
#: man/eepget.1:73
#, no-wrap
msgid "Sets the inactivity timeout. The default is 60 seconds."
msgstr ""
"Establece el tiempo de espera por inactividad. El valor predeterminado es 60"
" segundos."
#. type: Plain text
#: man/eepget.1:79
msgid "B<-u> username"
msgstr "B<-u> nombreUsuario"
#. type: TP
#: man/eepget.1:79
#, no-wrap
msgid "Sets the username for proxy authorization, if required."
msgstr ""
"Establece el nombre de usuario para la autorización del proxy, si se "
"requiere."
#. type: Plain text
#: man/eepget.1:85
msgid "B<-x> password"
msgstr "B<-x> contraseña"
#. type: TP
#: man/eepget.1:85
#, no-wrap
msgid ""
"Sets the password for proxy authorization, if required. If a username is "
"specified but not a password, EepGet will prompt for the password."
msgstr ""
"Establece la contraseña para la autorización del proxy, si se requiere. Si "
"se especifica un nombre de usuario pero no una contraseña, EepGet solicitará"
" la contraseña."
#. type: SH
#: man/eepget.1:88
#, no-wrap
msgid "EXIT STATUS"
msgstr "ESTADO DE LA SALIDA"
#. type: Plain text
#: man/eepget.1:92
msgid ""
"B<eepget> exits with status zero upon successful transfer and non-zero if "
"there were problems with the download."
msgstr ""
"B<eepget> produce una salida con estado cero cuando la transferencia se ha "
"completado, y no-cero si hubo problemas con la descarga."
#. type: SH
#: man/eepget.1:93 man/i2prouter.1:54 man/i2prouter-nowrapper.1:24
#, no-wrap
msgid "REPORTING BUGS"
msgstr "INFORMAR DE FALLOS"
#. type: Plain text
#: man/eepget.1:98 man/i2prouter.1:59 man/i2prouter-nowrapper.1:29
msgid ""
"Please enter an issue on E<.UR "
"https://i2pgit.org/i2p-hackers/i2p.i2p/-/issues> the I2P GitLab server E<.UE"
" .>"
msgstr ""
"Por favor, introduzca una incidencia en E<.UR "
"https://i2pgit.org/i2p-hackers/i2p.i2p/-/issues> el servidor GitLab de I2P "
"E<.UE .>"
#. type: SH
#: man/eepget.1:99 man/i2prouter.1:60 man/i2prouter-nowrapper.1:30
#, no-wrap
msgid "SEE ALSO"
msgstr "VEA TAMBIÉN"
#. type: Plain text
#: man/eepget.1:103
msgid "B<i2prouter>(1) B<curl>(1) B<wget>(1)"
msgstr "B<i2prouter>(1) B<curl>(1) B<wget>(1)"
#. type: TH
#: man/i2prouter.1:1
#, no-wrap
msgid "I2PROUTER"
msgstr "I2PROUTER"
#. type: Plain text
#: man/i2prouter.1:5
msgid "i2prouter - start and stop the I2P router"
msgstr "i2prouter - inicia y detiene el router I2P"
#. type: Plain text
#: man/i2prouter.1:9
msgid ""
"B<i2prouter> "
"{I<console>|I<start>|I<stop>|I<graceful>|I<restart>|I<condrestart>|I<status>|I<dump>|I<install>|I<remove>}"
msgstr ""
"B<i2prouter> "
"{I<console>|I<start>|I<stop>|I<graceful>|I<restart>|I<condrestart>|I<status>|I<dump>|I<install>|I<remove>}"
#. type: Plain text
#: man/i2prouter.1:13
msgid "Control the I2P service."
msgstr "Controla el servicio I2P."
#. type: IP
#: man/i2prouter.1:15
#, no-wrap
msgid "B<console>"
msgstr "B<console>"
#. type: Plain text
#: man/i2prouter.1:17
msgid "Runs I2P as a console application under the current user."
msgstr "Ejecuta I2P como una aplicación de consola bajo el usuario actual."
#. type: IP
#: man/i2prouter.1:19
#, no-wrap
msgid "B<start>"
msgstr "B<start>"
#. type: Plain text
#: man/i2prouter.1:21
msgid "Starts the I2P service."
msgstr "Inicia el servicio I2P."
#. type: IP
#: man/i2prouter.1:23
#, no-wrap
msgid "B<stop>"
msgstr "B<stop>"
#. type: Plain text
#: man/i2prouter.1:25
msgid "Stops the I2P service."
msgstr "Detiene el servicio I2P."
#. type: IP
#: man/i2prouter.1:27
#, no-wrap
msgid "B<restart>"
msgstr "B<restart>"
#. type: Plain text
#: man/i2prouter.1:29
msgid "Stops the I2P service and then starts it."
msgstr "Detiene el servicio I2P y luego lo inicia."
#. type: IP
#: man/i2prouter.1:31
#, no-wrap
msgid "B<condrestart>"
msgstr "B<condrestart>"
#. type: Plain text
#: man/i2prouter.1:33
msgid "Restart the I2P service only if it is already running."
msgstr "Reinicia el servicio I2P sólo si ya está en marcha."
#. type: IP
#: man/i2prouter.1:35
#, no-wrap
msgid "B<graceful>"
msgstr "B<graceful>"
#. type: Plain text
#: man/i2prouter.1:37
msgid "Stop I2P gracefully (may take up to 11 minutes)"
msgstr "Detiene I2P ordenadamente (puede llevar hasta 11 minutos)"
#. type: IP
#: man/i2prouter.1:39
#, no-wrap
msgid "B<install>"
msgstr "B<install>"
#. type: Plain text
#: man/i2prouter.1:41
msgid "Install initscript to start I2P automatically when the system boots."
msgstr ""
"Instala initscript para iniciar I2P automáticamente cuando arranque el "
"sistema."
#. type: IP
#: man/i2prouter.1:43
#, no-wrap
msgid "B<remove>"
msgstr "B<remove>"
#. type: Plain text
#: man/i2prouter.1:45
msgid "Uninstall initscript that was installed with B<install>"
msgstr "Desinstala el initscript que fue instalado con B<install>"
#. type: IP
#: man/i2prouter.1:47
#, no-wrap
msgid "B<status>"
msgstr "B<status>"
#. type: Plain text
#: man/i2prouter.1:49
msgid "Prints whether the I2P service is running."
msgstr "Imprime en pantalla si el servicio I2P está en marcha."
#. type: IP
#: man/i2prouter.1:51
#, no-wrap
msgid "B<dump>"
msgstr "B<dump>"
#. type: Plain text
#: man/i2prouter.1:53
msgid "Dumps the current threads into B<wrapper.log>."
msgstr "Vuelca los hilos de proceso actuales en B<wrapper.log>."
#. type: Plain text
#: man/i2prouter.1:61
msgid "B<i2prouter-nowrapper>(1)"
msgstr "B<i2prouter-nowrapper>(1)"
#. type: TH
#: man/i2prouter-nowrapper.1:1
#, no-wrap
msgid "I2PROUTER-NOWRAPPER"
msgstr "I2PROUTER-NOWRAPPER"
#. type: Plain text
#: man/i2prouter-nowrapper.1:5
msgid "i2prouter-nowrapper - start the I2P router"
msgstr "i2prouter-nowrapper - inicia el router I2P"
#. type: Plain text
#: man/i2prouter-nowrapper.1:8
msgid "B<i2prouter-nowrapper>"
msgstr "B<i2prouter-nowrapper>"
#. type: Plain text
#: man/i2prouter-nowrapper.1:14
msgid ""
"Start the I2P router, without the service wrapper. This means the router "
"will not restart if it crashes. Also, it will use the default memory size, "
"which may not be enough for I2P."
msgstr ""
"Inicia el router I2P, sin el servicio wrapper (encapsulamiento como "
"servicio). Esto significa que el router I2P no se reiniciará si se cae. "
"Además, usará el tamaño de memoria predeterminado, que puede no ser "
"suficiente para I2P."
#. type: Plain text
#: man/i2prouter-nowrapper.1:23
msgid ""
"You should really use the B<i2prouter>(1) script instead. There are no "
"options. To stop the router, use your browser to access E<.UR "
"http://localhost:7657/> the router console E<.UE .>"
msgstr ""
"En realidad debe usar el script B<i2prouter>(1) en su lugar. No tiene "
"opciones. Para detener el router I2P, utilice su navegador para acceder "
"E<.UR http://localhost:7657/> a la consola del router I2P E<.UE .>"
#. type: Plain text
#: man/i2prouter-nowrapper.1:31
msgid "B<i2prouter>(1)"
msgstr "B<i2prouter>(1)"

View File

@@ -194,7 +194,7 @@ msgid ""
"eepget will use 4444. If this option is not specified, eepget will use "
"127.0.0.1:4444. Specify B<-c> or B<-p> :0 to disable the eeproxy."
msgstr ""
"使用するI2Pプロキシサーバ(eeproxy)を明示する。ポートは明示されてないとき、eepgetは4444を使用する。このオプションが明示されてないとき、eepgetは"
"使用するI2Pプロキシサーバ(eeproxy)を明示する。ポートは明示されてないとき、eepgetは4444を使用する。このオプションが明示されてないとき、eepgetは"
" 127.0.0.1:4444 を使用する。eeproxyを無効化するには B<-c> または B<-p> :0を明示する。"
#. type: Plain text
@@ -282,7 +282,7 @@ msgstr "I2PROUTER"
#. type: Plain text
#: man/i2prouter.1:5
msgid "i2prouter - start and stop the I2P router"
msgstr "i2prouter - I2Pルータの起動と停止"
msgstr "i2prouter - I2Pルータの起動と停止"
#. type: Plain text
#: man/i2prouter.1:9

View File

@@ -0,0 +1,197 @@
# I2P
# Copyright (C) 2012 The I2P Project
# This file is distributed under the same license as the routerconsole package.
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-06 13:42+0000\n"
"PO-Revision-Date: 2012-12-22 15:05+0000\n"
"Last-Translator: kytv <killyourtv@mail.i2p>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/otf/I2P/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_AR\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: ../i2prouter:223
msgid "Failed to load the wrapper"
msgstr "Falló al cargar el "
#: ../i2prouter:988 ../i2prouter:1016 ../i2prouter:1090 ../i2prouter:1118
#: ../i2prouter:1139
#, sh-format
msgid "$APP_LONG_NAME is already running."
msgstr "$APP_LONG_NAME está aún ejecutándose"
#: ../i2prouter:999
#, sh-format
msgid "Running $APP_LONG_NAME"
msgstr "Ejecutando $APP_LONG_NAME"
#: ../i2prouter:1023
#, sh-format
msgid "Waiting for $APP_LONG_NAME"
msgstr "Esperando a $APP_LONG_NAME"
#: ../i2prouter:1070
#, sh-format
msgid "WARNING: $APP_LONG_NAME may have failed to start."
msgstr "CUIDADO: puede que $APP_LONG_NAME haya fallado al iniciarse."
#: ../i2prouter:1084 ../i2prouter:1112 ../i2prouter:1318 ../i2prouter:1607
msgid "Must be root to perform this action."
msgstr "Debe ser root para realizar esta acción"
#: ../i2prouter:1128
#, sh-format
msgid "Starting $APP_LONG_NAME"
msgstr "Iniciando $APP_LONG_NAME"
#: ../i2prouter:1150
#, sh-format
msgid "Stopping $APP_LONG_NAME"
msgstr "Deteniendo $APP_LONG_NAME"
#: ../i2prouter:1154 ../i2prouter:1222 ../i2prouter:1775
#, sh-format
msgid "$APP_LONG_NAME was not running."
msgstr "$APP_LONG_NAME no estaba en ejecución."
#: ../i2prouter:1167 ../i2prouter:1175 ../i2prouter:1237 ../i2prouter:1245
#, sh-format
msgid "Unable to stop $APP_LONG_NAME."
msgstr "No se pudo detener $APP_LONG_NAME."
#: ../i2prouter:1193
#, sh-format
msgid "Waiting for $APP_LONG_NAME to exit"
msgstr "Esperando a que salga de $APP_LONG_NAME"
#: ../i2prouter:1207
#, sh-format
msgid "Failed to stop $APP_LONG_NAME."
msgstr "No se pudo detener $APP_LONG_NAME."
#: ../i2prouter:1210
#, sh-format
msgid "Stopped $APP_LONG_NAME."
msgstr "Se detuvo $APP_LONG_NAME."
#: ../i2prouter:1218
#, sh-format
msgid "Stopping $APP_LONG_NAME gracefully"
msgstr "Deteniendo $APP_LONG_NAME elegantemente"
#: ../i2prouter:1264
#, sh-format
msgid "$APP_LONG_NAME is not running."
msgstr "$APP_LONG_NAME no está en ejecución."
#: ../i2prouter:1269
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid"
msgstr "$APP_LONG_NAME está en ejecución: PID:$pid"
#: ../i2prouter:1272
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS"
msgstr "$APP_LONG_NAME ejecutándose: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS"
#: ../i2prouter:1325 ../i2prouter:1337 ../i2prouter:1356 ../i2prouter:1373
#: ../i2prouter:1440 ../i2prouter:1460 ../i2prouter:1474 ../i2prouter:1488
#: ../i2prouter:1516 ../i2prouter:1554 ../i2prouter:1589
#, sh-format
msgid "The $APP_LONG_NAME daemon is already installed."
msgstr "$APP_LONG_NAME está aún instalado"
#: ../i2prouter:1328 ../i2prouter:1343 ../i2prouter:1445 ../i2prouter:1477
#: ../i2prouter:1491 ../i2prouter:1505 ../i2prouter:1519 ../i2prouter:1557
#: ../i2prouter:1592
#, sh-format
msgid "Installing the $APP_LONG_NAME daemon"
msgstr "Instalando el demonio $APP_LONG_NAME"
#: ../i2prouter:1599
#, sh-format
msgid "Install not currently supported for $DIST_OS"
msgstr "La instalación no está aún soportada por $DIST_OS"
#: ../i2prouter:1615 ../i2prouter:1628 ../i2prouter:1642 ../i2prouter:1651
#: ../i2prouter:1661 ../i2prouter:1685 ../i2prouter:1698 ../i2prouter:1710
#: ../i2prouter:1728 ../i2prouter:1741 ../i2prouter:1755
#, sh-format
msgid "Removing $APP_LONG_NAME daemon"
msgstr "Eliminando el demonio $APP_LONG_NAME"
#: ../i2prouter:1621 ../i2prouter:1636 ../i2prouter:1645 ../i2prouter:1655
#: ../i2prouter:1666 ../i2prouter:1679 ../i2prouter:1691 ../i2prouter:1704
#: ../i2prouter:1722 ../i2prouter:1735 ../i2prouter:1749 ../i2prouter:1760
#, sh-format
msgid "The $APP_LONG_NAME daemon is not currently installed."
msgstr "El demonio $APP_LONG_NAME no está instalado actualmente."
#: ../i2prouter:1764
#, sh-format
msgid "Remove not currently supported for $DIST_OS"
msgstr "Eliminar no está actualmente soportado por $DIST_OS"
#: ../i2prouter:1851
msgid "Commands:"
msgstr "Comandos:"
#: ../i2prouter:1852
msgid "Launch in the current console."
msgstr "Ejecutar en la consola actual."
#: ../i2prouter:1853
msgid "Start in the background as a daemon process."
msgstr "Iniciar en segundo plano como un proceso de demonio."
#: ../i2prouter:1854
msgid "Stop if running as a daemon or in another console."
msgstr "Parar en caso de que esté ejecutándose como un demonio o en otra consola."
#: ../i2prouter:1855
msgid "Stop gracefully, may take up to 11 minutes."
msgstr "Parada segura, puede tardar hasta 11 minutos."
#: ../i2prouter:1856
msgid "Stop if running and then start."
msgstr "Parar si está ejecutándose y entonces iniciar."
#: ../i2prouter:1857
msgid "Restart only if already running."
msgstr "Reiniciar sólo si ya se está ejecutando."
#: ../i2prouter:1858
msgid "Query the current status."
msgstr "Consultar el estado actual."
#: ../i2prouter:1859
msgid "Install to start automatically when system boots."
msgstr "Instalar para que se inicie automáticamente con el sistema."
#: ../i2prouter:1860
msgid "Uninstall."
msgstr "Desinstalar."
#: ../i2prouter:1861
msgid "Request a Java thread dump if running."
msgstr "Solicitar un volcado del hilo JAVA si se está ejecutando."
#: ../i2prouter:1874
msgid "Please edit i2prouter and set the variable RUN_AS_USER"
msgstr "Por favor edite i2prouter e introduzca la variable RUN_AS_USER"
#: ../i2prouter:1879
msgid "Running I2P as the root user is *not* recommended."
msgstr "\"No\" se recomienda ejecutar I2P como root."
#: ../i2prouter:1882
msgid "To run as root anyway, edit i2prouter and set ALLOW_ROOT=true."
msgstr "Para ejecutar como root de todos modos, edite i2prouter y ponga la variable ALLOW_ROOT=true."

View File

@@ -84,9 +84,9 @@ Establece la contraseña para la autorización del proxy, si se requiere. Si se
completado, y no\-cero si hubo problemas con la descarga.
.SH "INFORMAR DE FALLOS"
Please enter an issue on
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
the I2P GitLab server
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"

View File

@@ -0,0 +1,94 @@
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH EEPGET 1 "November 27, 2021" "" I2P
.SH NOMBRE
Eepget \- Gestor de descarga de I2P
.SH SINOPSIS
\fBeepget\fP [\fIopciones\fP]\fIURL\fP
.br
.SH DESCRIPCIÓN
.P
Descarga un fichero de forma no interactiva vía HTTP. Están soportadas las
transferencias tanto a través de I2P como de la Internet regular.
.P
Eepget puede enfrentarse a conexiones de red lentas o inestables; si una
descarga no se completa a causa de un problema de red, seguirá intentándolo
hasta que el fichero se haya descargado del todo (si la opción \-n está
establecida). Si el servidor remoto lo soporta, eepget le dará instrucciones
para que reanude la descarga desde el punto en que se interrumpió.
.SH OPCIONES
\fB\-c\fP
.TP
Clearnet (red abierta). No utiliza un proxy. Lo mismo que \fB\-p\fP :0 .
.TP
\fB\-e\fP etag
.TP
Establece el valor de la etag en las cabeceras HTTP de las peticiones.
.TP
\fB\-h\fP nombre=valor
.TP
Añade una cabecera arbitraria de petición HTTP con el nombre y valor dados.
.TP
\fB\-l\fP tamañoLínea
.TP
Controla el indicador de progreso. \fB\ tamañoLínea \fP es el tamaño de una línea de progreso en caracteres. El valor predeterminado es 40.
.TP
\fB\-m\fP volumenMarca
.TP
Controla el indicador de progreso. \fB\ volumenMarca \fP es el número de bytes que cada caracter '#' representa en la línea de progreso. El valor predeterminado es 1024.
.TP
\fB\-n\fP reintentos
.TP
Especifica el número de veces a reintentar la descarga si no se completa. Si no se especifica esta opción, eepget no efectuará reintentos.
.TP
\fB\-o\fP fichero
.TP
Establece el fichero de salida al que escribir. Si no se proporciona esta opción, el nombre del fichero de salida se determinará por la URL.
.TP
\fB\-p\fP servidor_proxy[:puerto]
.TP
Especifica un servidor proxy I2P (eeproxy) a usar. Si no se especifica el puerto, eepget usará 4444. Si no se especifica esta opción, eepget usará 127.0.0.1:4444. Especifique \fB\-c\fP o \fB\-p\fP :0 para deshabilitar el eeproxy.
.TP
\fB\-t\fP segundos
.TP
Establece el tiempo de espera por inactividad. El valor predeterminado es 60 segundos.
.TP
\fB\-u\fP nombreUsuario
.TP
Establece el nombre de usuario para la autorización del proxy, si se requiere.
.TP
\fB\-x\fP contraseña
.TP
Establece la contraseña para la autorización del proxy, si se requiere. Si se especifica un nombre de usuario pero no una contraseña, EepGet solicitará la contraseña.
.SH "ESTADO DE LA SALIDA"
\fBeepget\fP produce una salida con estado cero cuando la transferencia se ha
completado, y no\-cero si hubo problemas con la descarga.
.SH "INFORMAR DE FALLOS"
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"
\fBi2prouter\fP(1) \fBcurl\fP(1) \fBwget\fP(1)

View File

@@ -57,7 +57,7 @@ Eepgetは、低速または不安定なネットワーク接続に対処する
\fB\-p\fP proxy_host[:port]
.TP
使用するI2Pプロキシサーバ(eeproxy)を明示する。ポートは明示されてないとき、eepgetは4444を使用する。このオプションが明示されてないとき、eepgetは 127.0.0.1:4444 を使用する。eeproxyを無効化するには \fB\-c\fP または \fB\-p\fP :0を明示する。
使用するI2Pプロキシサーバ(eeproxy)を明示する。ポートは明示されてないとき、eepgetは4444を使用する。このオプションが明示されてないとき、eepgetは 127.0.0.1:4444 を使用する。eeproxyを無効化するには \fB\-c\fP または \fB\-p\fP :0を明示する。
.TP
\fB\-t\fP

View File

@@ -25,9 +25,9 @@ a la consola del router I2P
.UE .
.SH "INFORMAR DE FALLOS"
Please enter an issue on
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
the I2P GitLab server
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"

View File

@@ -0,0 +1,34 @@
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH I2PROUTER\-NOWRAPPER 1 "November 27, 2021" "" I2P
.SH NOMBRE
i2prouter\-nowrapper \- inicia el router I2P
.SH SINOPSIS
\fBi2prouter\-nowrapper\fP
.br
.SH DESCRIPCIÓN
Inicia el router I2P, sin el servicio wrapper (encapsulamiento como
servicio). Esto significa que el router I2P no se reiniciará si se
cae. Además, usará el tamaño de memoria predeterminado, que puede no ser
suficiente para I2P.
.P
En realidad debe usar el script \fBi2prouter\fP(1) en su lugar. No tiene
opciones. Para detener el router I2P, utilice su navegador para acceder
.UR http://localhost:7657/
a la consola del router I2P
.UE .
.SH "INFORMAR DE FALLOS"
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"
\fBi2prouter\fP(1)

View File

@@ -48,9 +48,9 @@ Imprime en pantalla si el servicio I2P está en marcha.
Vuelca los hilos de proceso actuales en \fBwrapper.log\fP.
.SH "INFORMAR DE FALLOS"
Please enter an issue on
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
the I2P GitLab server
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"

View File

@@ -0,0 +1,57 @@
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH I2PROUTER 1 "November 27, 2021" "" I2P
.SH NOMBRE
i2prouter \- inicia y detiene el router I2P
.SH SINOPSIS
\fBi2prouter\fP
{\fIconsole\fP|\fIstart\fP|\fIstop\fP|\fIgraceful\fP|\fIrestart\fP|\fIcondrestart\fP|\fIstatus\fP|\fIdump\fP|\fIinstall\fP|\fIremove\fP}
.br
.SH DESCRIPCIÓN
Controla el servicio I2P.
.IP \fBconsole\fP
Ejecuta I2P como una aplicación de consola bajo el usuario actual.
.IP \fBstart\fP
Inicia el servicio I2P.
.IP \fBstop\fP
Detiene el servicio I2P.
.IP \fBrestart\fP
Detiene el servicio I2P y luego lo inicia.
.IP \fBcondrestart\fP
Reinicia el servicio I2P sólo si ya está en marcha.
.IP \fBgraceful\fP
Detiene I2P ordenadamente (puede llevar hasta 11 minutos)
.IP \fBinstall\fP
Instala initscript para iniciar I2P automáticamente cuando arranque el
sistema.
.IP \fBremove\fP
Desinstala el initscript que fue instalado con \fBinstall\fP
.IP \fBstatus\fP
Imprime en pantalla si el servicio I2P está en marcha.
.IP \fBdump\fP
Vuelca los hilos de proceso actuales en \fBwrapper.log\fP.
.SH "INFORMAR DE FALLOS"
Por favor, introduzca una incidencia en
.UR https://i2pgit.org/i2p\-hackers/i2p.i2p/\-/issues
el servidor GitLab de I2P
.UE .
.SH "VEA TAMBIÉN"
\fBi2prouter\-nowrapper\fP(1)

View File

@@ -6,7 +6,7 @@
.TH I2PROUTER 1 "November 27, 2021" "" I2P
.SH 名前
i2prouter \- I2Pルータの起動と停止
i2prouter \- I2Pルータの起動と停止
.SH SYNOPSIS
\fBi2prouter\fP

View File

@@ -11,7 +11,7 @@ if "%1"=="uninstall" (
) else (
FINDSTR /I "^wrapper.java.additional.5=-Di2p.dir.config=" %_WRAPPER_CONF%
if not errorlevel 1 goto end
echo wrapper.java.additional.5=-Di2p.dir.config="%ALLUSERSPROFILE%\Application Data\i2p" >> %_WRAPPER_CONF%
echo wrapper.java.additional.5=-Di2p.dir.config="%PROGRAMDATA%\i2p" >> %_WRAPPER_CONF%
goto end
)

View File

@@ -3,7 +3,7 @@
<programGroup defaultName="I2P" location="startMenu" />
<shortcut name="Open I2P Profile Folder (service)"
target="explorer"
commandLine="&quot;%allusersprofile%\Application Data\i2p&quot;"
commandLine="&quot;%programdata%\i2p&quot;"
iconFile="%systemroot%\system32\shell32.dll"
iconIndex="3"
initialState="normal"

View File

@@ -286,10 +286,12 @@ public class RouterAddress extends DataStructureImpl {
// reduce Object proliferation
if (_transportStyle.equals("SSU"))
_transportStyle = "SSU";
else if (_transportStyle.equals("NTCP"))
_transportStyle = "NTCP";
else if (_transportStyle.equals("NTCP2"))
_transportStyle = "NTCP2";
else if (_transportStyle.equals("NTCP"))
_transportStyle = "NTCP";
else if (_transportStyle.equals("SSU2"))
_transportStyle = "SSU2";
DataHelper.readProperties(in, _options);
}

View File

@@ -17,6 +17,7 @@ import net.i2p.data.Hash;
import net.i2p.data.router.RouterIdentity;
import net.i2p.data.i2np.DatabaseLookupMessage;
import net.i2p.data.i2np.DatabaseSearchReplyMessage;
import net.i2p.data.i2np.DatabaseStoreMessage;
import net.i2p.data.i2np.DeliveryStatusMessage;
import net.i2p.data.i2np.I2NPMessage;
import net.i2p.data.i2np.TunnelDataMessage;
@@ -206,6 +207,34 @@ public class InNetMessagePool implements Service {
allowMatches = false;
break;
// If a DSM has a reply job, run the DSM inline
// so the entry is stored in the netdb before the reply job runs.
// FloodOnlyLookupMatchJob no longer stores the entry
case DatabaseStoreMessage.MESSAGE_TYPE:
List<OutNetMessage> origMessages = _context.messageRegistry().getOriginalMessages(messageBody);
HandlerJobBuilder dsmbuilder = _handlerJobBuilders[DatabaseStoreMessage.MESSAGE_TYPE];
Job dsmjob = dsmbuilder.createJob(messageBody, fromRouter, fromRouterHash);
int sz = origMessages.size();
if (sz > 0) {
// DSM inline, reply jobs on queue
if (dsmjob != null)
dsmjob.runJob();
for (int i = 0; i < sz; i++) {
OutNetMessage omsg = origMessages.get(i);
ReplyJob job = omsg.getOnReplyJob();
if (job != null) {
job.setMessage(messageBody);
_context.jobQueue().addJob(job);
}
}
} else {
// DSM on queue, no reply jobs
if (dsmjob != null)
_context.jobQueue().addJob(dsmjob);
}
allowMatches = false;
break;
default:
// why don't we allow type 0? There used to be a message of type 0 long ago...
if ( (type > 0) && (type < _handlerJobBuilders.length) ) {

View File

@@ -50,7 +50,21 @@ public abstract class JobImpl implements Job {
public Exception getAddedBy() { return null; }
public long getMadeReadyOn() { return _madeReadyOn; }
/**
* Deprecated to avoid JobQueue deadlocks
* @deprecated use madeReady(long)
*/
@Deprecated
public void madeReady() { _madeReadyOn = _context.clock().now(); }
/**
* For JobQueue only, not for external use
* @since 0.9.55
*/
public void madeReady(long now) { _madeReadyOn = now; }
public void dropped() {}
/**

View File

@@ -206,7 +206,7 @@ public class JobQueue {
// don't skew us - its 'start after' its been queued, or later
job.getTiming().setStartAfter(now);
if (job instanceof JobImpl)
((JobImpl)job).madeReady();
((JobImpl)job).madeReady(now);
_readyJobs.offer(job);
} else {
_timedJobs.add(job);
@@ -559,7 +559,7 @@ public class JobQueue {
lastTime = lastJob.getTiming().getStartAfter();
if (timeLeft <= 0) {
if (j instanceof JobImpl)
((JobImpl)j).madeReady();
((JobImpl)j).madeReady(now);
_readyJobs.offer(j);
iter.remove();

View File

@@ -41,6 +41,7 @@ import net.i2p.data.PublicKey;
import net.i2p.data.SigningPrivateKey;
import net.i2p.data.SigningPublicKey;
import net.i2p.data.i2np.GarlicMessage;
import net.i2p.data.router.RouterAddress;
import net.i2p.data.router.RouterInfo;
import net.i2p.router.CommSystemFacade.Status;
import net.i2p.router.crypto.FamilyKeyCrypto;
@@ -1003,9 +1004,11 @@ public class Router implements RouterClock.ClockShiftListener {
public void rebuildRouterInfo(boolean blockingRebuild) {
if (_log.shouldLog(Log.INFO))
_log.info("Rebuilding new routerInfo, publish inline? " + blockingRebuild, new Exception("I did it"));
// deadlock thru createAddresses() thru SSU REA... moved outside lock
List<RouterAddress> addresses = _context.commSystem().createAddresses();
_routerInfoLock.writeLock().lock();
try {
locked_rebuildRouterInfo(blockingRebuild);
locked_rebuildRouterInfo(addresses);
} finally {
_routerInfoLock.writeLock().unlock();
}
@@ -1016,9 +1019,8 @@ public class Router implements RouterClock.ClockShiftListener {
* Rebuild and republish our routerInfo since something significant
* has changed.
*
* @param blockingRebuild ignored, always nonblocking
*/
private void locked_rebuildRouterInfo(boolean blockingRebuild) {
private void locked_rebuildRouterInfo(List<RouterAddress> addresses) {
RouterInfo ri;
if (_routerInfo != null)
ri = new RouterInfo(_routerInfo);
@@ -1030,8 +1032,7 @@ public class Router implements RouterClock.ClockShiftListener {
Properties stats = _context.statPublisher().publishStatistics();
ri.setOptions(stats);
// deadlock thru createAddresses() thru SSU REA... move outside lock?
ri.setAddresses(_context.commSystem().createAddresses());
ri.setAddresses(addresses);
SigningPrivateKey key = _context.keyManager().getSigningPrivateKey();
if (key == null) {
@@ -1282,6 +1283,8 @@ public class Router implements RouterClock.ClockShiftListener {
removeConfigSetting(UDPTransport.PROP_INTERNAL_PORT);
removeConfigSetting(UDPTransport.PROP_EXTERNAL_PORT);
removeConfigSetting(UDPTransport.PROP_INTRO_KEY);
removeConfigSetting(UDPTransport.PROP_SSU2_SP);
removeConfigSetting(UDPTransport.PROP_SSU2_IKEY);
removeConfigSetting(NTCPTransport.PROP_I2NP_NTCP_PORT);
removeConfigSetting(NTCPTransport.PROP_NTCP2_SP);
removeConfigSetting(NTCPTransport.PROP_NTCP2_IV);

View File

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

View File

@@ -74,7 +74,8 @@ public class StatisticsManager {
Properties stats = new Properties();
stats.setProperty("router.version", CoreVersion.PUBLISHED_VERSION);
stats.setProperty(RouterInfo.PROP_NETWORK_ID, _networkID);
stats.setProperty(RouterInfo.PROP_CAPABILITIES, _context.router().getCapabilities());
String caps = _context.router().getCapabilities();
stats.setProperty(RouterInfo.PROP_CAPABILITIES, caps);
if (_context.getBooleanPropertyDefaultTrue(PROP_PUBLISH_RANKINGS) &&
_context.random().nextInt(RANDOM_INCLUDE_STATS) == 0 &&
@@ -142,7 +143,7 @@ public class StatisticsManager {
// So that we will still get build requests - not required since 0.7.9 2010-01-12
//stats.setProperty("stat_uptime", "90m");
if (FloodfillNetworkDatabaseFacade.isFloodfill(_context.router().getRouterInfo())) {
if (caps.indexOf(FloodfillNetworkDatabaseFacade.CAPABILITY_FLOODFILL) >= 0) {
int ri = _context.router().getUptime() > 30*60*1000 ?
_context.netDb().getKnownRouters() :
3000 + _context.random().nextInt(1000); // so it isn't obvious we restarted
@@ -153,9 +154,11 @@ public class StatisticsManager {
stats.setProperty("netdb.knownLeaseSets", String.valueOf(ls));
}
/*
String contact = _context.getProperty(PROP_CONTACT_NAME);
if (contact != null)
stats.setProperty("contact", contact);
*/
String family = _context.getProperty(FamilyKeyCrypto.PROP_FAMILY_NAME);
if (family != null) {

View File

@@ -486,8 +486,10 @@ public class FamilyKeyCrypto {
private void loadCerts() {
File dir = new File(_context.getBaseDir(), CERT_DIR);
File[] files = dir.listFiles(new FileSuffixFilter(CERT_SUFFIX));
if (files == null)
if (files == null) {
_log.logAlways(Log.WARN, "No family keys loaded, contact packager");
return;
}
for (File file : files) {
String name = file.getName();
name = name.substring(0, name.length() - CERT_SUFFIX.length());
@@ -495,8 +497,12 @@ public class FamilyKeyCrypto {
if (spk != null)
_knownKeys.put(name, spk);
}
if (_log.shouldInfo())
_log.info("Loaded " + _knownKeys.size() + " keys");
if (!_knownKeys.isEmpty()) {
if (_log.shouldInfo())
_log.info("Loaded " + _knownKeys.size() + " keys");
} else {
_log.logAlways(Log.WARN, "No family keys loaded, contact packager");
}
}
/**

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