diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh index 629fc95f0..607b4b00a 100755 --- a/apps/routerconsole/java/bundle-messages.sh +++ b/apps/routerconsole/java/bundle-messages.sh @@ -26,8 +26,9 @@ do # extract strings from java and jsp files, and update messages.po files # translate calls must be one of the forms: # _("foo") - # cssHelper._("foo") - # cssHelper.title("foo") + # _x("foo") + # intl._("foo") + # intl.title("foo") # handler._("foo") # formhandler._("foo") # In a jsp, you must use a helper or handler that has the context set. @@ -35,7 +36,8 @@ do # then ant distclean updater. find src ../jsp/WEB-INF -name *.java > $TMPFILE xgettext -f $TMPFILE -F -L java \ - --keyword=_ --keyword=cssHelper._ --keyword=cssHelper.title --keyword=handler._ --keyword=formhandler._ \ + --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \ + --keyword=handler._ --keyword=formhandler._ \ -o ${i}t if [ $? -ne 0 ] then diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java index 715c80093..d4f825a9a 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java @@ -29,6 +29,11 @@ public class CSSHelper extends HelperBase { _context.router().setConfigSetting(Messages.PROP_LANG, lang); } + /** needed for conditional css loads for zh */ + public String getLang() { + return Messages.getLanguage(_context); + } + /** translate the title and display consistently */ public String title(String s) { StringBuilder buf = new StringBuilder(128); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java index 7815f5cba..96556b418 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java @@ -3,7 +3,7 @@ package net.i2p.router.web; public class ConfigUIHelper extends HelperBase { public ConfigUIHelper() {} - private static final String themes[] = {"classic", "dark", "light"}; + private static final String themes[] = {_x("classic"), _x("dark"), _x("light")}; public String getSettings() { StringBuilder buf = new StringBuilder(512); @@ -12,7 +12,24 @@ public class ConfigUIHelper extends HelperBase { buf.append("").append(theme).append("
\n"); + buf.append("value=\"").append(theme).append("\">").append(_(theme)).append("
\n"); + } + return buf.toString(); + } + + private static final String langs[] = {"de", "en", "fr", "nl", "se", "zh"}; + private static final String xlangs[] = {_x("German"), _x("English"), _x("French"), + _x("Dutch"), _x("Swedish"), _x("Chinese")}; + + public String getLangSettings() { + StringBuilder buf = new StringBuilder(512); + String current = Messages.getLanguage(_context); + for (int i = 0; i < langs.length; i++) { + // we use "lang" so it is set automagically in CSSHelper + buf.append("").append(_(xlangs[i])).append("
\n"); } return buf.toString(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java index 63762ec14..e5e640957 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java @@ -34,4 +34,14 @@ public abstract class HelperBase { public String _(String s) { return Messages.getString(s, _context); } + + /** + * Mark a string for extraction by xgettext and translation. + * Use this only in static initializers. + * It does not translate! + * @return s + */ + public static String _x(String s) { + return s; + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java index df7c5319f..a251f7e12 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java @@ -54,7 +54,7 @@ public class Messages { } } - private static String getLanguage(I2PAppContext ctx) { + public static String getLanguage(I2PAppContext ctx) { String lang = ctx.getProperty(PROP_LANG); if (lang == null || lang.length() <= 0) lang = _localeLang; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java index e7d6ee412..7a9d91d5b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java @@ -202,9 +202,9 @@ public class SummaryBarRenderer { buf.append("\n"); } buf.append("\n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 20b7b77cd..cffca854d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -357,7 +357,7 @@ public class SummaryHelper extends HelperBase { Collections.sort(clients, new AlphaComparator()); StringBuilder buf = new StringBuilder(512); - buf.append("

Local destinations


"); + buf.append("

Local Destinations


"); for (Iterator iter = clients.iterator(); iter.hasNext(); ) { Destination client = (Destination)iter.next(); @@ -389,7 +389,7 @@ public class SummaryHelper extends HelperBase { } } else { // yellow light - buf.append("\n"); + buf.append("\n"); } } buf.append("
\"Building…\"
\"Building…\"

\n"); diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index d33bf38c9..069818e1b 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -1,16 +1,17 @@ <%@page contentType="text/html" %> +<%@page pageEncoding="UTF-8"%> -I2P Router Console - config networking <%@include file="css.jsp" %> +<%=intl.title("config networking")%> <%@include file="summary.jsp" %> " /> -

I2P Network Configuration

+

<%=intl._("I2P Network Configuration")%>

<%@include file="confignav.jsp" %> @@ -25,10 +26,11 @@ System.setProperty("net.i2p.router.web.ConfigNetHandler.nonce", new java.util.Random().nextLong()+""); %> " /> -

Bandwidth limiter

- I2P will work best if you configure your rates to match the speed of your internet connection. +

<%=intl._("Bandwidth limiter")%>

+ <%=intl._("I2P will work best if you configure your rates to match the speed of your internet connection.")%>

-
" /> KBps In +

- - +
" /> + <%=intl._("KBps In")%> ()
" /> KBps Out + " /> + <%=intl._("KBps Out")%> ()
Share <%=intl._("Share")%> () -

+

<% int share = nethelper.getShareBandwidth(); if (share < 12) { - out.print("NOTE: You have configured I2P to share only " + share + "KBps. "); - out.print("I2P requires at least 12KBps to enable sharing. "); - out.print("Please enable sharing (participating in tunnels) by configuring more bandwidth. "); - out.print("It improves your anonymity by creating cover traffic, and helps the network.
"); + out.print("

"+intl._("NOTE")+": You have configured I2P to share only " + share + "KBps. "); + out.print(intl._("I2P requires at least 12KBps to enable sharing. ")); + out.print(intl._("Please enable sharing (participating in tunnels) by configuring more bandwidth. ")); + out.print(intl._("It improves your anonymity by creating cover traffic, and helps the network.")+"

"); } else { - out.print("You have configured I2P to share " + share + "KBps. "); - out.print("The higher the share bandwidth the more you improve your anonymity and help the network.
"); + out.print("

" + intl._("You have configured I2P to share") + " " + share + "KBps. "); + out.print(intl._("The higher the share bandwidth the more you improve your anonymity and help the network.")+"


"); } %>
@@ -72,27 +75,27 @@ test.rtt and related stats.


--> -

IP and Transport Configuration

- The default settings will work for most people. There is help below. -

UPnP Configuration:
+

<%=intl._("IP and Transport Configuration")%>

+ <%=intl._("The default settings will work for most people.")%> There is help below. +

<%=intl._("UPnP Configuration")%>:
/> - Enable UPnP to open firewall ports - UPnP status -

IP Configuration:
- Externally reachable hostname or IP address:
+ <%=intl._("Enable UPnP to open firewall ports")%> - <%=intl._("UPnP status")%> +

<%=intl._("IP Configuration")%>:
+ <%=intl._("Externally reachable hostname or IP address")%>:
/> - Use all auto-detect methods
+ <%=intl._("Use all auto-detect methods")%>
/> - Disable UPnP IP address detection
+ <%=intl._("Disable UPnP IP address detection")%>
/> - Ignore local interface IP address
+ <%=intl._("Ignore local interface IP address")%>
/> - Use SSU IP address detection only
+ <%=intl._("Use SSU IP address detection only")%>
/> - Specify hostname or IP: + <%=intl._("Specify hostname or IP")%>: " /> <% String[] ips = nethelper.getAddresses(); if (ips.length > 0) { - out.print(" or \n"); for (int i = 0; i < ips.length; i++) { out.print("

UDP Configuration:
- UDP port: + <%=intl._("Hidden mode - do not publish IP")%> <%=intl._("(prevents participating traffic)")%>
+

<%=intl._("UDP Configuration:")%>
+ <%=intl._("UDP port:")%> " />

- TCP Configuration:
- Externally reachable hostname or IP address:
+ <%=intl._("TCP Configuration")%>:
+ <%=intl._("Externally reachable hostname or IP address")%>:
/> - Use auto-detected IP address - (currently ) - if we are not firewalled
+ <%=intl._("Use auto-detected IP address")%> + (<%=intl._("currently")%> ) + <%=intl._("if we are not firewalled")%>
/> - Always use auto-detected IP address (Not firewalled)
+ <%=intl._("Always use auto-detected IP address (Not firewalled)")%>
/> - Specify hostname or IP: + <%=intl._("Specify hostname or IP")%>: " />
/> - Disable inbound (Firewalled)
+ <%=intl._("Disable inbound (Firewalled)")%>
/> - Completely disable (select only if behind a firewall that throttles or blocks outbound TCP)
+ <%=intl._("Completely disable")%> <%=intl._("(select only if behind a firewall that throttles or blocks outbound TCP)")%>

- Externally reachable TCP port:
+ <%=intl._("Externally reachable TCP port")%>:
/> - Use the same port configured for UDP - (currently )
+ <%=intl._("Use the same port configured for UDP")%> + (<%=intl._("currently")%> )
/> - Specify Port: + <%=intl._("Specify Port")%>: " />
-

Note: Changing these settings will restart your router.

+

<%=intl._("Note")%>: <%=intl._("Changing these settings will restart your router.")%>


-

Configuration Help:

- While I2P will work fine behind most firewalls, your speeds and network integration will generally improve - if the I2P port (generally 8887) is forwarded for both UDP and TCP. +

<%=intl._("Configuration Help")%>:

+ <%=intl._("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port (generally 8887) is forwarded for both UDP and TCP.")%>

- If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach - you. If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching - with "SSU introductions" to relay traffic. Most of the options above are for special situations, - for example where UPnP does not work correctly, or a firewall not under your control is doing - harm. Certain firewalls such as symmetric NATs may not work well with I2P. + <%=intl._("If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you.")%> + <%=intl._("If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic.")%> + <%=intl._("Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm.")%> + <%=intl._("Certain firewalls such as symmetric NATs may not work well with I2P.")%>

- UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address - and forward ports. - UPnP support is beta, and may not work for any number of reasons: + <%=intl._("UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports.")%> + <%=intl._("UPnP support is beta, and may not work for any number of reasons")%>:

    -
  • No UPnP-compatible device present -
  • UPnP disabled on the device -
  • Software firewall interference with UPnP -
  • Bugs in the device's UPnP implementation -
  • Multiple firewall/routers in the internet connection path -
  • UPnP device change, reset, or address change -

+
  • <%=intl._("No UPnP-compatible device present")%> +
  • <%=intl._("UPnP disabled on the device")%> +
  • <%=intl._("Software firewall interference with UPnP")%> +
  • <%=intl._("Bugs in the device's UPnP implementation")%> +
  • <%=intl._("Multiple firewall/routers in the internet connection path")%> +
  • <%=intl._("UPnP device change, reset, or address change")%> +

    Reviewing the UPnP status may help. - UPnP may be enabled or disabled above, but a change requires a router restart to take effect. -

    Hostnames entered above will be published in the network database. +<%=intl._("UPnP may be enabled or disabled above, but a change requires a router restart to take effect.")%>

    +

    <%=intl._("Hostnames entered above will be published in the network database.")%> They are not private. Also, do not enter a private IP address like 127.0.0.1 or 192.168.1.1. - If you specify the wrong IP address or - hostname, or do not properly configure your NAT or firewall, your network performance will degrade - substantially. When in doubt, leave the settings at the defaults. + <%=intl._("If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially.")%> + <%=intl._("When in doubt, leave the settings at the defaults.")%>

    -

    Reachability Help:

    - While I2P will work fine behind most firewalls, your speeds and network integration will generally improve - if the I2P port (generally 8887) to both UDP and TCP. - If you think you have opened up your firewall and I2P still thinks you are firewalled, remember - that you may have multiple firewalls, for example both software packages and external hardware routers. +

    <%=intl._("Reachability Help")%>:

    + <%=intl._("While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port (generally 8887) is forwarded for both UDP and TCP.")%> + <%=intl._("If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers.")%> If there is an error, the logs may also help diagnose the problem.

      -
    • OK - Your UDP port does not appear to be firewalled. -
    • Firewalled - Your UDP port appears to be firewalled. - As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error. - However, if it appears consistently, you should check whether both your external and internal - firewalls are open on port 8887. I2P will work fine when firewalled, there is no reason for concern. - When firewalled, the router uses "introducers" to relay inbound connections. - However, you will get more participating traffic and help the network more if you can open your - firewall(s). If you think you have already done so, remember that you may have both a hardware - and a software firewall, or be behind an additional, institutional firewall you cannot control. - Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other - limitations or bugs that prevent them from passing traffic through to I2P. -
    • Testing - The router is currently testing whether your UDP port is firewalled. -
    • Hidden - The router is not configured to publish its address, - therefore it does not expect incoming connections. -
    • WARN - Firewalled and Fast - You have configured I2P to share more than 128KBps of bandwidth, - but you are firewalled. While I2P will work fine in this configuration, if you really have - over 128KBps of bandwidth to share, it will be much more helpful to the network if - you open your firewall. -
    • WARN - Firewalled and Floodfill - You have configured I2P to be a floodfill router, but - you are firewalled. For best participation as a floodfill router, you should open your firewall. -
    • WARN - Firewalled with Inbound TCP Enabled - You have configured inbound TCP, however - your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well. - If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact - you via TCP, which will hurt the network. Please open your firewall or disable inbound TCP above. -
    • WARN - Firewalled with UDP Disabled - - You have configured inbound TCP, however - you have disabled UDP. You appear to be firewalled on TCP, therefore your router cannot - accept inbound connections. - Please open your firewall or enable UDP. -
    • ERR - Clock Skew - Your system's clock is skewed, which will make it difficult - to participate in the network. Correct your clock setting if this error persists. -
    • ERR - Private TCP Address - You must never advertise an unroutable IP address such as - 127.0.0.1 or 192.168.1.1 as your external address. Correct the address or disable inbound TCP above. -
    • ERR - SymmetricNAT - I2P detected that you are firewalled by a Symmetric NAT. - I2P does not work well behind this type of firewall. You will probably not be able to - accept inbound connections, which will limit your participation in the network. -
    • ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart - - I2P was unable to bind to port 8887 or other configured port. - Check to see if another program is using port 8887. If so, stop that program or configure - I2P to use a different port. This may be a transient error, if the other program is no longer - using the port. However, a restart is always required after this error. -
    • ERR - UDP Disabled and Inbound TCP host/port not set - - You have not configured inbound TCP with a hostname and port above, however - you have disabled UDP. Therefore your router cannot accept inbound connections. - Please configure a TCP host and port above or enable UDP. -
    • ERR - Client Manager I2CP Error - check logs - - This is usually due to a port 7654 conflict. Check the logs to verify. Do you have another I2P instance running? - Stop the conflicting program and restart I2P. -

    +
  • <%=intl._("OK")%> - + <%=intl._("Your UDP port does not appear to be firewalled.")%> +
  • <%=intl._("Firewalled")%> - + <%=intl._("Your UDP port appears to be firewalled.")%> + <%=intl._("As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error.")%> + <%=intl._("However, if it appears consistently, you should check whether both your external and internal firewalls are open on port 8887.")%> + <%=intl._("I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections.")%> + <%=intl._("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%> + <%=intl._("If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control.")%> + <%=intl._("Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.")%> +
  • <%=intl._("Testing")%> - + <%=intl._("The router is currently testing whether your UDP port is firewalled.")%> +
  • <%=intl._("Hidden")%> - + <%=intl._("The router is not configured to publish its address, therefore it does not expect incoming connections.")%> +
  • <%=intl._("WARN - Firewalled and Fast")%> - + <%=intl._("You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled.")%> + <%=intl._("While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.")%> +
  • <%=intl._("WARN - Firewalled and Floodfill")%> - + <%=intl._("You have configured I2P to be a floodfill router, but you are firewalled.")%> + <%=intl._("For best participation as a floodfill router, you should open your firewall.")%> +
  • <%=intl._("WARN - Firewalled with Inbound TCP Enabled")%> - + <%=intl._("You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well.")%> + <%=intl._("If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network.")%> + <%=intl._("Please open your firewall or disable inbound TCP above.")%> +
  • <%=intl._("WARN - Firewalled with UDP Disabled")%> - + <%=intl._("You have configured inbound TCP, however you have disabled UDP.")%> + <%=intl._("You appear to be firewalled on TCP, therefore your router cannot accept inbound connections.")%> + <%=intl._("Please open your firewall or enable UDP.")%> +
  • <%=intl._("ERR - Clock Skew")%> - + <%=intl._("Your system's clock is skewed, which will make it difficult to participate in the network.")%> + <%=intl._("Correct your clock setting if this error persists.")%> +
  • <%=intl._("ERR - Private TCP Address")%> - + <%=intl._("You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address.")%> + <%=intl._("Correct the address or disable inbound TCP above.")%> +
  • <%=intl._("ERR - SymmetricNAT")%> - + <%=intl._("I2P detected that you are firewalled by a Symmetric NAT.")%> + <%=intl._("I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.")%> +
  • <%=intl._("ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart")%> - + <%=intl._("I2P was unable to bind to port 8887 or other configured port.")%> + <%=intl._("Check to see if another program is using port 8887. If so, stop that program or configure I2P to use a different port.")%> + <%=intl._("This may be a transient error, if the other program is no longer using the port.")%> + <%=intl._("However, a restart is always required after this error.")%> +
  • <%=intl._("ERR - UDP Disabled and Inbound TCP host/port not set")%> - + <%=intl._("You have not configured inbound TCP with a hostname and port above, however you have disabled UDP.")%> + <%=intl._("Therefore your router cannot accept inbound connections.")%> + <%=intl._("Please configure a TCP host and port above or enable UDP.")%> +
  • <%=intl._("ERR - Client Manager I2CP Error - check logs")%> - + <%=intl._("This is usually due to a port 7654 conflict. Check the logs to verify.")%> + <%=intl._("Do you have another I2P instance running? Stop the conflicting program and restart I2P.")%> +


    diff --git a/apps/routerconsole/jsp/error.jsp b/apps/routerconsole/jsp/error.jsp index f865e85d8..c29543164 100644 --- a/apps/routerconsole/jsp/error.jsp +++ b/apps/routerconsole/jsp/error.jsp @@ -12,8 +12,9 @@ } // If it can't find the iframe or viewtheme.jsp I wonder if the whole thing blows up... %> -I2P Router Console - Page Not Found + <%@include file="css.jsp" %> +<%=intl.title("Page Not Found")%> <% if (System.getProperty("router.consoleNonce") == null) { @@ -23,6 +24,6 @@ if (System.getProperty("router.consoleNonce") == null) { <%@include file="summary.jsp" %>

    <%=ERROR_CODE%> <%=ERROR_MESSAGE%>

    -Sorry! You appear to be requesting a non-existent Router Console page or resource.
    -Error 404: <%=ERROR_URI%> not found. +<%=intl._("Sorry! You appear to be requesting a non-existent Router Console page or resource.")%>
    +<%=intl._("Error 404")%>: <%=ERROR_URI%> <%=intl._("not found")%>.
    diff --git a/apps/routerconsole/jsp/graphs.jsp b/apps/routerconsole/jsp/graphs.jsp index 2a30675d9..1ad873041 100644 --- a/apps/routerconsole/jsp/graphs.jsp +++ b/apps/routerconsole/jsp/graphs.jsp @@ -2,12 +2,13 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - graphs + <%@include file="css.jsp" %> +<%=intl.title("graphs")%> <%@include file="summary.jsp" %> -

    I2P Performance Graphs

    +

    <%=intl._("I2P Performance Graphs")%>

    diff --git a/apps/routerconsole/jsp/index.jsp b/apps/routerconsole/jsp/index.jsp index d2ce8ffc2..2fbfb6dc1 100644 --- a/apps/routerconsole/jsp/index.jsp +++ b/apps/routerconsole/jsp/index.jsp @@ -4,7 +4,7 @@ <%@include file="css.jsp" %> -I2P Router Console - home +<%=intl.title("home")%> <% if (System.getProperty("router.consoleNonce") == null) { @@ -12,7 +12,7 @@ if (System.getProperty("router.consoleNonce") == null) { } %> -<%@include file="summary.jsp" %>

    I2P Router Console

    +<%@include file="summary.jsp" %>

    <%=intl._("I2P Router Console")%>

    <% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getRouterDir(), "docs/news.xml"); %> diff --git a/apps/routerconsole/jsp/jobs.jsp b/apps/routerconsole/jsp/jobs.jsp index 0b51d7165..c53ea0a44 100644 --- a/apps/routerconsole/jsp/jobs.jsp +++ b/apps/routerconsole/jsp/jobs.jsp @@ -2,13 +2,14 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - job queue + <%@include file="css.jsp" %> +<%=intl.title("job queue")%> -<%@include file="summary.jsp" %>

    I2P Router Job Queue

    +<%@include file="summary.jsp" %>

    <%=intl._("I2P Router Job Queue")%>

    " /> -
    + -
    +
    diff --git a/apps/routerconsole/jsp/logs.jsp b/apps/routerconsole/jsp/logs.jsp index 26f7d2ea7..859aba705 100644 --- a/apps/routerconsole/jsp/logs.jsp +++ b/apps/routerconsole/jsp/logs.jsp @@ -2,14 +2,15 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - logs + <%@include file="css.jsp" %> +<%=intl.title("logs")%> <%@include file="summary.jsp" %> -

    I2P Router Logs

    +

    <%=intl._("I2P Router Logs")%>

    -

    I2P Version & Running Environment

    - Please include this information in bug reports: +

    <%=intl._("I2P Version & Running Environment")%>

    + <%=intl._("Please include this information in bug reports")%>:

    I2P version:
    Java version: <%=System.getProperty("java.vendor")%> <%=System.getProperty("java.version")%>
    @@ -20,9 +21,9 @@ " />

    Critical Logs

    -
    +

    Router Logs [configure]

    -
    +

    Service (Wrapper) Logs

    -
    +

    diff --git a/apps/routerconsole/jsp/netdb.jsp b/apps/routerconsole/jsp/netdb.jsp index 83136b113..bc954d2bf 100644 --- a/apps/routerconsole/jsp/netdb.jsp +++ b/apps/routerconsole/jsp/netdb.jsp @@ -3,11 +3,11 @@ -I2P Router Console - network database summary <%@include file="css.jsp" %> +<%=intl.title("network database summary")%> <%@include file="summary.jsp" %> -

    I2P Network Database Summary

    +

    <%=intl._("I2P Network Database Summary")%>

    diff --git a/apps/routerconsole/jsp/oldstats.jsp b/apps/routerconsole/jsp/oldstats.jsp index 7ac5c7cfe..7617ec565 100644 --- a/apps/routerconsole/jsp/oldstats.jsp +++ b/apps/routerconsole/jsp/oldstats.jsp @@ -2,14 +2,15 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - statistics + <%@include file="css.jsp" %> +<%=intl.title("statistics")%> <%@include file="summary.jsp" %> " /> -

    I2P Router Statistics

    +

    <%=intl._("I2P Router Statistics")%>


    diff --git a/apps/routerconsole/jsp/peers.jsp b/apps/routerconsole/jsp/peers.jsp index 19b1d6767..351ad10b6 100644 --- a/apps/routerconsole/jsp/peers.jsp +++ b/apps/routerconsole/jsp/peers.jsp @@ -2,11 +2,12 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - peer connections + <%@include file="css.jsp" %> +<%=intl.title("peer connections")%> <%@include file="summary.jsp" %> -

    I2P Network Peers

    +

    <%=intl._("I2P Network Peers")%>

    " /> diff --git a/apps/routerconsole/jsp/profiles.jsp b/apps/routerconsole/jsp/profiles.jsp index fb61048f3..6064067ff 100644 --- a/apps/routerconsole/jsp/profiles.jsp +++ b/apps/routerconsole/jsp/profiles.jsp @@ -2,10 +2,11 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - peer profiles + <%@include file="css.jsp" %> +<%=intl.title("peer profiles")%> <%@include file="summary.jsp" %> -

    I2P Network Peer Profiles

    +

    <%=intl._("I2P Network Peer Profiles")%>

    " /> diff --git a/apps/routerconsole/jsp/tunnels.jsp b/apps/routerconsole/jsp/tunnels.jsp index e58ac07af..9c126be70 100644 --- a/apps/routerconsole/jsp/tunnels.jsp +++ b/apps/routerconsole/jsp/tunnels.jsp @@ -2,10 +2,11 @@ <%@page pageEncoding="UTF-8"%> -I2P Router Console - tunnel summary + <%@include file="css.jsp" %> +<%=intl.title("tunnel summary")%> -<%@include file="summary.jsp" %>

    I2P Tunnel Summary

    +<%@include file="summary.jsp" %>

    <%=intl._("I2P Tunnel Summary")%>

    " /> diff --git a/apps/routerconsole/locale/messages_de.po b/apps/routerconsole/locale/messages_de.po index 905828c4d..e6cb005fa 100644 --- a/apps/routerconsole/locale/messages_de.po +++ b/apps/routerconsole/locale/messages_de.po @@ -1,281 +1,1444 @@ -# 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 -# foo , 2009. -# -msgid "" -msgstr "" -"Project-Id-Version: I2P routerconsole\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-20 11:55+0000\n" -"PO-Revision-Date: 2009-10-19 12:50+0000\n" -"Last-Translator: foo \n" -"Language-Team: foo \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: German\n" - -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:95 -msgid "config update" -msgstr "config update in german test test test" - -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334 -msgid "Update policy" -msgstr "Update policy in german foobarbaz" - -#: src/net/i2p/router/web/CSSHelper.java:36 -#: src/net/i2p/router/web/SummaryBarRenderer.java:26 -#: src/net/i2p/router/web/SummaryBarRenderer.java:28 -msgid "I2P Router Console" -msgstr "" - -#: src/net/i2p/router/web/ConfigUpdateHelper.java:90 -msgid "Notify only" -msgstr "Notify only in german" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:42 -msgid "I2P Services" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:48 -msgid "Manage your I2P hosts file here (I2P domain name resolution)" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:50 -msgid "Addressbook" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:54 -msgid "Built-in anonymous BitTorrent Client" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:56 -msgid "Torrents" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:60 -msgid "Anonymous webmail client" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:62 -msgid "Webmail" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:66 -msgid "Anonymous resident webserver" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:68 -msgid "Webserver" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:72 -msgid "Configure I2P Router" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:74 -msgid "I2P Internals" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:80 -#: src/net/i2p/router/web/SummaryBarRenderer.java:344 -msgid "View existing tunnels and tunnel build status" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:82 -msgid "Tunnels" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:86 -#: src/net/i2p/router/web/SummaryBarRenderer.java:221 -msgid "Show all current peer connections" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:88 -#: src/net/i2p/router/web/SummaryBarRenderer.java:223 -msgid "Peers" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:92 -msgid "Show recent peer performance profiles" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:94 -msgid "Profiles" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:98 -msgid "Show list of all known I2P routers" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:100 -msgid "NetDB" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:104 -msgid "Health Report" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:106 -msgid "Logs" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:110 -msgid "Show the router's workload, and how it's performing" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:112 -msgid "Jobs" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:116 -msgid "Graph router performance" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:118 -msgid "Graphs" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:122 -msgid "Textual router performance statistics" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:124 -msgid "Stats" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:134 -msgid "I2P Router Help" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:136 -msgid "General" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:139 -msgid "Your unique I2P router identity is" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:143 -msgid "never reveal it to anyone" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:145 -msgid "Local Identity" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:150 -msgid "Version" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:157 -msgid "How long we've been running for this session" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:160 -msgid "Uptime" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:167 -msgid "" -"Help with configuring your firewall and router for optimal I2P performance" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:194 -msgid "Download" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:198 -#: src/net/i2p/router/web/SummaryBarRenderer.java:207 -msgid "Update" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:203 -msgid "Download Unsigned" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:229 -msgid "Active" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:237 -msgid "Fast" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:243 -msgid "High capacity" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:249 -msgid "Integrated" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:255 -msgid "Known" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:270 -msgid "Help with firewall configuration" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:272 -msgid "Check NAT/firewall" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:309 -msgid "Configure router bandwidth allocation" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:311 -msgid "Bandwidth in/out" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:328 -msgid "Total" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:336 -msgid "Used" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:346 -msgid "Tunnels in/out" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:351 -msgid "Exploratory" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:359 -msgid "Client" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:367 -msgid "Participating" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:373 -msgid "What's in the router's job queue?" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:375 -msgid "Congestion" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:380 -msgid "Job lag" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:386 -msgid "Message delay" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:392 -msgid "Tunnel lag" -msgstr "" - -#: src/net/i2p/router/web/SummaryBarRenderer.java:398 -msgid "Backlog" -msgstr "" +# 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 +# foo , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: I2P routerconsole\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-24 10:45+0000\n" +"PO-Revision-Date: 2009-10-19 12:50+0000\n" +"Last-Translator: foo \n" +"Language-Team: foo \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: German\n" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106 +msgid "config networking" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:233 +msgid "I2P Network Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:331 +msgid "Bandwidth limiter" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:333 +msgid "" +"I2P will work best if you configure your rates to match the speed of your " +"internet connection." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:337 +msgid "KBps In" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347 +msgid "KBps Out" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:357 +msgid "Share" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:363 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337 +msgid "NOTE" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:364 +msgid "I2P requires at least 12KBps to enable sharing. " +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:365 +msgid "" +"Please enable sharing (participating in tunnels) by configuring more " +"bandwidth. " +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:366 +msgid "" +"It improves your anonymity by creating cover traffic, and helps the network." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:368 +msgid "You have configured I2P to share" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369 +msgid "" +"The higher the share bandwidth the more you improve your anonymity and help " +"the network." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375 +msgid "IP and Transport Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377 +msgid "The default settings will work for most people." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379 +msgid "UPnP Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:383 +msgid "Enable UPnP to open firewall ports" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385 +msgid "UPnP status" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387 +msgid "IP Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445 +msgid "Externally reachable hostname or IP address" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393 +msgid "Use all auto-detect methods" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397 +msgid "Disable UPnP IP address detection" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:401 +msgid "Ignore local interface IP address" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405 +msgid "Use SSU IP address detection only" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463 +msgid "Specify hostname or IP" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:415 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356 +msgid "or" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429 +msgid "Hidden mode - do not publish IP" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431 +msgid "(prevents participating traffic)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433 +msgid "UDP Configuration:" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435 +msgid "UDP port:" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443 +msgid "TCP Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449 +msgid "Use auto-detected IP address" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483 +msgid "currently" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:455 +msgid "if we are not firewalled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459 +msgid "Always use auto-detected IP address (Not firewalled)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:469 +msgid "Disable inbound (Firewalled)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:473 +msgid "Completely disable" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475 +msgid "" +"(select only if behind a firewall that throttles or blocks outbound TCP)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477 +msgid "Externally reachable TCP port" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:481 +msgid "Use the same port configured for UDP" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489 +msgid "Specify Port" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:363 +msgid "Note" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496 +msgid "Changing these settings will restart your router." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:498 +msgid "Configuration Help" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:500 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536 +msgid "" +"While I2P will work fine behind most firewalls, your speeds and network " +"integration will generally improve if the I2P port (generally 8887) is " +"forwarded for both UDP and TCP." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:502 +msgid "" +"If you can, please poke a hole in your firewall to allow unsolicited UDP and " +"TCP packets to reach you." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504 +msgid "" +"If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole " +"punching with \"SSU introductions\" to relay traffic." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:506 +msgid "" +"Most of the options above are for special situations, for example where UPnP " +"does not work correctly, or a firewall not under your control is doing harm." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508 +msgid "Certain firewalls such as symmetric NATs may not work well with I2P." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:510 +msgid "" +"UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect " +"the external IP address and forward ports." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512 +msgid "UPnP support is beta, and may not work for any number of reasons" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514 +msgid "No UPnP-compatible device present" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516 +msgid "UPnP disabled on the device" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518 +msgid "Software firewall interference with UPnP" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520 +msgid "Bugs in the device's UPnP implementation" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522 +msgid "Multiple firewall/routers in the internet connection path" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524 +msgid "UPnP device change, reset, or address change" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526 +msgid "" +"UPnP may be enabled or disabled above, but a change requires a router " +"restart to take effect." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528 +msgid "Hostnames entered above will be published in the network database." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530 +msgid "" +"If you specify the wrong IP address or hostname, or do not properly " +"configure your NAT or firewall, your network performance will degrade " +"substantially." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:532 +msgid "When in doubt, leave the settings at the defaults." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:534 +msgid "Reachability Help" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539 +msgid "" +"If you think you have opened up your firewall and I2P still thinks you are " +"firewalled, remember that you may have multiple firewalls, for example both " +"software packages and external hardware routers." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541 +msgid "OK" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543 +msgid "Your UDP port does not appear to be firewalled." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545 +msgid "Firewalled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547 +msgid "Your UDP port appears to be firewalled." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549 +msgid "" +"As the firewall detection methods are not 100% reliable, this may " +"occasionally be displayed in error." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551 +msgid "" +"However, if it appears consistently, you should check whether both your " +"external and internal firewalls are open on port 8887." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553 +msgid "" +"I2P will work fine when firewalled, there is no reason for concern. When " +"firewalled, the router uses \"introducers\" to relay inbound connections." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555 +msgid "" +"However, you will get more participating traffic and help the network more " +"if you can open your firewall(s)." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557 +msgid "" +"If you think you have already done so, remember that you may have both a " +"hardware and a software firewall, or be behind an additional, institutional " +"firewall you cannot control." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559 +msgid "" +"Also, some routers cannot correctly forward both TCP and UDP on a single " +"port, or may have other limitations or bugs that prevent them from passing " +"traffic through to I2P." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561 +msgid "Testing" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563 +msgid "The router is currently testing whether your UDP port is firewalled." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565 +msgid "Hidden" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567 +msgid "" +"The router is not configured to publish its address, therefore it does not " +"expect incoming connections." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569 +msgid "WARN - Firewalled and Fast" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571 +msgid "" +"You have configured I2P to share more than 128KBps of bandwidth, but you are " +"firewalled." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573 +msgid "" +"While I2P will work fine in this configuration, if you really have over " +"128KBps of bandwidth to share, it will be much more helpful to the network " +"if you open your firewall." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575 +msgid "WARN - Firewalled and Floodfill" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577 +msgid "" +"You have configured I2P to be a floodfill router, but you are firewalled." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579 +msgid "" +"For best participation as a floodfill router, you should open your firewall." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581 +msgid "WARN - Firewalled with Inbound TCP Enabled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583 +msgid "" +"You have configured inbound TCP, however your UDP port is firewalled, and " +"therefore it is likely that your TCP port is firewalled as well." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585 +msgid "" +"If your TCP port is firewalled with inbound TCP enabled, routers will not be " +"able to contact you via TCP, which will hurt the network." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587 +msgid "Please open your firewall or disable inbound TCP above." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589 +msgid "WARN - Firewalled with UDP Disabled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591 +msgid "You have configured inbound TCP, however you have disabled UDP." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593 +msgid "" +"You appear to be firewalled on TCP, therefore your router cannot accept " +"inbound connections." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595 +msgid "Please open your firewall or enable UDP." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597 +msgid "ERR - Clock Skew" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599 +msgid "" +"Your system's clock is skewed, which will make it difficult to participate " +"in the network." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601 +msgid "Correct your clock setting if this error persists." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603 +msgid "ERR - Private TCP Address" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605 +msgid "" +"You must never advertise an unroutable IP address such as 127.0.0.1 or " +"192.168.1.1 as your external address." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607 +msgid "Correct the address or disable inbound TCP above." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609 +msgid "ERR - SymmetricNAT" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611 +msgid "I2P detected that you are firewalled by a Symmetric NAT." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613 +msgid "" +"I2P does not work well behind this type of firewall. You will probably not " +"be able to accept inbound connections, which will limit your participation " +"in the network." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615 +msgid "" +"ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config " +"and restart" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617 +msgid "I2P was unable to bind to port 8887 or other configured port." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619 +msgid "" +"Check to see if another program is using port 8887. If so, stop that program " +"or configure I2P to use a different port." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621 +msgid "" +"This may be a transient error, if the other program is no longer using the " +"port." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623 +msgid "However, a restart is always required after this error." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625 +msgid "ERR - UDP Disabled and Inbound TCP host/port not set" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627 +msgid "" +"You have not configured inbound TCP with a hostname and port above, however " +"you have disabled UDP." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629 +msgid "Therefore your router cannot accept inbound connections." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631 +msgid "Please configure a TCP host and port above or enable UDP." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633 +msgid "ERR - Client Manager I2CP Error - check logs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635 +msgid "This is usually due to a port 7654 conflict. Check the logs to verify." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637 +msgid "" +"Do you have another I2P instance running? Stop the conflicting program and " +"restart I2P." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107 +msgid "config advanced" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:234 +msgid "I2P Advanced Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:333 +msgid "Advanced I2P Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339 +msgid "Some changes may require a restart to take effect." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106 +msgid "config clients" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:233 +msgid "I2P Client Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:340 +msgid "Client Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:342 +msgid "" +"The Java clients listed below are started by the router and run in the same " +"JVM." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346 +msgid "To change other client options, edit the file" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +msgid "All changes require restart to take effect." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355 +msgid "WebApp Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +msgid "" +"The Java web applications listed below are started by the webConsole client " +"and run in the same JVM as the router. They are usually web applications " +"accessible through the router console. They may be complete applications (e." +"g. i2psnark),front-ends to another client or application which must be " +"separately enabled (e.g. susidns, i2ptunnel), or have no web interface at " +"all (e.g. addressbook)." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359 +msgid "" +"A web app may also be disabled by removing the .war file from the webapps " +"directory; however the .war file and web app will reappear when you update " +"your router to a newer version, so disabling the web app here is the " +"preferred method." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106 +msgid "config keyring" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220 +msgid "I2P Keyring Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326 +msgid "Keyring" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328 +msgid "The router keyring is used to decrypt encrypted leaseSets." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331 +msgid "" +"The keyring may contain keys for local or remote encrypted destinations." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341 +msgid "Manual Keyring Addition" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343 +msgid "Enter keys for encrypted remote destinations here." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:345 +msgid "Dest. name, hash, or full key" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:347 +msgid "Encryption Key" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107 +msgid "config logging" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234 +msgid "I2P Logging Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333 +msgid "Configure I2P Logging Options" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335 +msgid "Logging filename" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339 +msgid "(the symbol '@' will be replaced during log rotation)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341 +msgid "Log record format" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:345 +msgid "" +"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:347 +msgid "Log date format" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:351 +msgid "" +"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' " +"= millisecond)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353 +msgid "Max log file size" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357 +msgid "Default log level" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:361 +msgid "" +"(DEBUG and INFO are not recommended defaults, as they will drastically slow " +"down your router)" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:363 +msgid "Log level overrides" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106 +msgid "config peers" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220 +msgid "I2P Peer Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:338 +msgid "Manual Peer Controls" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:340 +msgid "Router Hash" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:344 +msgid "Manually Ban / Unban a Peer" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:346 +msgid "" +"Banning will prevent the participation of this peer in tunnels you create." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:352 +msgid "Adjust Profile Bonuses" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:354 +msgid "" +"Bonuses may be positive or negative, and affect the peer's inclusion in Fast " +"and High Capacity tiers. Fast peers are used for client tunnels, and High " +"Capacity peers are used for some exploratory tunnels. Current bonuses are " +"displayed on the" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:356 +msgid "profiles page" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:364 +msgid "Speed" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368 +msgid "Capacity" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106 +msgid "config service" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220 +msgid "I2P Service Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:318 +msgid "Shutdown the router" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:320 +msgid "" +"Graceful shutdown lets the router satisfy the agreements it has already made " +"before shutting down, but may take a few minutes." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322 +msgid "" +"If you need to kill the router immediately, that option is available as well." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326 +msgid "" +"If you want the router to restart itself after shutting down, you can choose " +"one of the following." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:328 +msgid "This is useful in some situations" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330 +msgid "" +"for example, if you changed some settings that client applications only read " +"at startup, such as the routerconsole password or the interface it listens " +"on." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332 +msgid "" +"A graceful restart will take a few minutes (but your peers will appreciate " +"your patience), while a hard restart does so immediately." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:334 +msgid "" +"After tearing down the router, it will wait 1 minute before starting back up " +"again." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340 +msgid "Systray integration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342 +msgid "" +"On the windows platform, there is a small application to sit in the system " +"tray, allowing you to view the router's status" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344 +msgid "" +"(later on, I2P client applications will be able to integrate their own " +"functionality into the system tray as well)." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:346 +msgid "If you are on windows, you can either enable or disable that icon here." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:348 +msgid "Run on startup" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350 +msgid "" +"You can control whether I2P is run on startup or not by selecting one of the " +"following options" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352 +msgid "I2P will install (or remove) a service accordingly." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354 +msgid "If you prefer the command line, you can also run the " +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:360 +msgid "" +"If you are running I2P as service right now, removing it will shut down your " +"router immediately." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362 +msgid "" +"You may want to consider shutting down gracefully, as above, then running " +"uninstall_i2p_service_winnt.bat." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:370 +msgid "Debugging" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374 +msgid "Launch browser on router startup?" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376 +msgid "" +"I2P's main configuration interface is this web console, so for your " +"convenience I2P can launch a web browser on startup pointing at" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107 +msgid "config stats" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221 +msgid "I2P Stats Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:334 +msgid "Configure I2P Stat Collection" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:336 +msgid "Enable full stats?" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:343 +msgid "change requires restart to take effect" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:345 +msgid "Stat file" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:349 +msgid "Filter" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:351 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:360 +msgid "toggle all" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:362 +msgid "Log" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:364 +msgid "Graph" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:403 +msgid "Advanced filter" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106 +msgid "config tunnels" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:233 +msgid "I2P Tunnel Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:339 +msgid "The default settings work for most people." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:343 +msgid "There is a fundamental tradeoff between anonymity and performance." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:346 +msgid "" +"Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 " +"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely " +"reduce performance or reliability." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:349 +msgid "High CPU and/or high outbound bandwidth usage may result." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:352 +msgid "Change these settings with care, and adjust them if you have problems." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:366 +msgid "" +"Exploratory tunnel setting changes are stored in the router.config file." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:369 +msgid "Client tunnel changes are temporary and are not saved." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:371 +msgid "To make permanent client tunnel changes see the" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:373 +msgid "i2ptunnel page" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106 +msgid "config UI" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:233 +msgid "I2P UI Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:325 +msgid "Router Console Theme" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:343 +msgid "Theme selection disabled for Internet Explorer, sorry." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345 +msgid "" +"If you're not using IE, it's likely that your browser is pretending to be " +"IE; please configure your browser (or proxy) to use a different User Agent " +"string if you'd like to access the console themes." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:349 +msgid "Router Console Language" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353 +msgid "" +"Please contribute to the router console translation project! Contact the " +"developers on IRC #i2p to help." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106 +msgid "config update" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220 +msgid "I2P Update Configuration" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334 +msgid "Check for I2P and news updates" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:336 +msgid "News & I2P Updates" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:340 +msgid "Update In Progress" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346 +msgid "News URL" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350 +msgid "Refresh frequency" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354 +msgid "Update policy" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:358 +msgid "Update through the eepProxy?" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:362 +msgid "eepProxy host" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366 +msgid "eepProxy port" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:370 +msgid "Update URLs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:374 +msgid "Trusted keys" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:378 +msgid "Update with unsigned development builds?" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:382 +msgid "Unsigned Build URL" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117 +msgid "Page Not Found" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:241 +msgid "" +"Sorry! You appear to be requesting a non-existent Router Console page or " +"resource." +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243 +msgid "Error 404" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:248 +msgid "not found" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106 +msgid "graphs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220 +msgid "I2P Performance Graphs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105 +msgid "home" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226 +#: src/net/i2p/router/web/CSSHelper.java:41 +#: src/net/i2p/router/web/SummaryBarRenderer.java:26 +#: src/net/i2p/router/web/SummaryBarRenderer.java:28 +msgid "I2P Router Console" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105 +msgid "job queue" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219 +msgid "I2P Router Job Queue" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105 +msgid "logs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219 +msgid "I2P Router Logs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:221 +msgid "I2P Version & Running Environment" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:223 +msgid "Please include this information in bug reports" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105 +msgid "network database summary" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219 +msgid "I2P Network Database Summary" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldstats_jsp.java:105 +msgid "statistics" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldstats_jsp.java:234 +msgid "I2P Router Statistics" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105 +msgid "peer connections" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219 +msgid "I2P Network Peers" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105 +msgid "peer profiles" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219 +msgid "I2P Network Peer Profiles" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105 +msgid "tunnel summary" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219 +msgid "I2P Tunnel Summary" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "classic" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "dark" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "light" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "English" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "French" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "German" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Chinese" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Dutch" +msgstr "" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Swedish" +msgstr "" + +#: src/net/i2p/router/web/ConfigUpdateHelper.java:90 +msgid "Notify only" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:42 +msgid "I2P Services" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:48 +msgid "Manage your I2P hosts file here (I2P domain name resolution)" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:50 +msgid "Addressbook" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:54 +msgid "Built-in anonymous BitTorrent Client" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:56 +msgid "Torrents" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:60 +msgid "Anonymous webmail client" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:62 +msgid "Webmail" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:66 +msgid "Anonymous resident webserver" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:68 +msgid "Webserver" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:72 +msgid "Configure I2P Router" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:74 +msgid "I2P Internals" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:80 +#: src/net/i2p/router/web/SummaryBarRenderer.java:344 +msgid "View existing tunnels and tunnel build status" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:82 +msgid "Tunnels" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:86 +#: src/net/i2p/router/web/SummaryBarRenderer.java:221 +msgid "Show all current peer connections" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:88 +#: src/net/i2p/router/web/SummaryBarRenderer.java:223 +msgid "Peers" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:92 +msgid "Show recent peer performance profiles" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:94 +msgid "Profiles" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:98 +msgid "Show list of all known I2P routers" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:100 +msgid "NetDB" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:104 +msgid "Health Report" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:106 +msgid "Logs" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:110 +msgid "Show the router's workload, and how it's performing" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:112 +msgid "Jobs" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:116 +msgid "Graph router performance" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:118 +msgid "Graphs" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:122 +msgid "Textual router performance statistics" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:124 +msgid "Stats" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:134 +msgid "I2P Router Help" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:136 +msgid "General" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:139 +msgid "Your unique I2P router identity is" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:143 +msgid "never reveal it to anyone" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:145 +msgid "Local Identity" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:150 +msgid "Version" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:157 +msgid "How long we've been running for this session" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:160 +msgid "Uptime" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:167 +msgid "" +"Help with configuring your firewall and router for optimal I2P performance" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:194 +msgid "Download" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:198 +#: src/net/i2p/router/web/SummaryBarRenderer.java:205 +msgid "Update" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:203 +msgid "Download Unsigned" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:229 +msgid "Active" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:237 +msgid "Fast" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:243 +msgid "High capacity" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:249 +msgid "Integrated" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:255 +msgid "Known" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:270 +msgid "Help with firewall configuration" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:272 +msgid "Check NAT/firewall" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:309 +msgid "Configure router bandwidth allocation" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:311 +msgid "Bandwidth in/out" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:328 +msgid "Total" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:336 +msgid "Used" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:346 +msgid "Tunnels in/out" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:351 +msgid "Exploratory" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:359 +msgid "Client" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:367 +msgid "Participating" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:373 +msgid "What's in the router's job queue?" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:375 +msgid "Congestion" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:380 +msgid "Job lag" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:386 +msgid "Message delay" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:392 +msgid "Tunnel lag" +msgstr "" + +#: src/net/i2p/router/web/SummaryBarRenderer.java:398 +msgid "Backlog" +msgstr "" diff --git a/apps/routerconsole/locale/messages_zh.po b/apps/routerconsole/locale/messages_zh.po index cb5f52aa5..8041a7cf5 100644 --- a/apps/routerconsole/locale/messages_zh.po +++ b/apps/routerconsole/locale/messages_zh.po @@ -8,28 +8,1070 @@ msgid "" msgstr "" "Project-Id-Version: I2P routerconsole\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-20 11:55+0000\n" -"PO-Revision-Date: 2009-10-22 01:00+0800\n" +"POT-Creation-Date: 2009-10-24 10:45+0000\n" +"PO-Revision-Date: \n" "Last-Translator: walking \n" -"Language-Team: foo \n" +"Language-Team: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese\n" +"X-Poedit-Country: CHINA\n" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:95 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106 +msgid "config networking" +msgstr "连网设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:233 +msgid "I2P Network Configuration" +msgstr "I2P 连网设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:331 +msgid "Bandwidth limiter" +msgstr "带宽é™åˆ¶" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:333 +msgid "I2P will work best if you configure your rates to match the speed of your internet connection." +msgstr "与è”网环境相符的速度能使I2P以最佳的状æ€å·¥ä½œã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:337 +msgid "KBps In" +msgstr "KBps 入站" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347 +msgid "KBps Out" +msgstr "KBps 出站" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:357 +msgid "Share" +msgstr "共享" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:363 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337 +msgid "NOTE" +msgstr "注æ„" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:364 +msgid "I2P requires at least 12KBps to enable sharing. " +msgstr "I2P 需è¦è‡³å°‘ 12KBps æ‰èƒ½è¿›è¡Œå…±äº«ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:365 +msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. " +msgstr "请设置更多的带宽以便å¯ç”¨å…±äº«åŠŸèƒ½(加入到其他节点的隧é“创建中)。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:366 +msgid "It improves your anonymity by creating cover traffic, and helps the network." +msgstr "通过制造混淆æµé‡å…±äº«èƒ½å¢žå¼ºæ‚¨çš„åŒ¿åæ€§ï¼Œå¸®åŠ©ç½‘ç»œæˆé•¿ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:368 +msgid "You have configured I2P to share" +msgstr "您设置I2P共享" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369 +msgid "The higher the share bandwidth the more you improve your anonymity and help the network." +msgstr "å…±äº«çš„å¸¦å®½è¶Šå¤šï¼Œæ‚¨çš„åŒ¿åæ€§è¶Šå¼ºåŒæ—¶èƒ½å¸®åŠ©ç½‘ç»œæˆé•¿ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375 +msgid "IP and Transport Configuration" +msgstr "IP 与传输设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377 +msgid "The default settings will work for most people." +msgstr "默认设置适于大多数人。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379 +msgid "UPnP Configuration" +msgstr "UPnP 设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:383 +msgid "Enable UPnP to open firewall ports" +msgstr "å¯ç”¨UPnP以打开防ç«å¢™ç«¯å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385 +msgid "UPnP status" +msgstr "UPnP 统计" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387 +msgid "IP Configuration" +msgstr "IP 设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445 +msgid "Externally reachable hostname or IP address" +msgstr "公网å¯è®¿é—®çš„æœ¬æœºåŸŸå或IP" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:393 +msgid "Use all auto-detect methods" +msgstr "使用全部自动探测方法" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:397 +msgid "Disable UPnP IP address detection" +msgstr "ç¦ç”¨UPnP IP åœ°å€æŽ¢æµ‹" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:401 +msgid "Ignore local interface IP address" +msgstr "忽略本地接å£çš„ IP 地å€" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405 +msgid "Use SSU IP address detection only" +msgstr "仅使用SSU IP åœ°å€æŽ¢æµ‹" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:409 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463 +msgid "Specify hostname or IP" +msgstr "æŒ‡å®šä¸»æœºåæˆ–IP" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:415 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356 +msgid "or" +msgstr "或" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429 +msgid "Hidden mode - do not publish IP" +msgstr "éšèº«æ¨¡å¼ - ä¸å‘布IP" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431 +msgid "(prevents participating traffic)" +msgstr "(阻止共享æµé‡)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433 +msgid "UDP Configuration:" +msgstr "UPnP 设置:" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435 +msgid "UDP port:" +msgstr "UDP端å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443 +msgid "TCP Configuration" +msgstr "TCP 连接设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449 +msgid "Use auto-detected IP address" +msgstr "使用自动检测得到的 IP 地å€" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:451 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:483 +msgid "currently" +msgstr "ç›®å‰" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:455 +msgid "if we are not firewalled" +msgstr "如果没有å—到防ç«å¢™é˜»æŒ¡" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459 +msgid "Always use auto-detected IP address (Not firewalled)" +msgstr "总是使用自动探测到的IP地å€(没有防ç«å¢™é™åˆ¶)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:469 +msgid "Disable inbound (Firewalled)" +msgstr "ç¦æ­¢å…¥ç«™è¿žæŽ¥(å—防ç«å¢™é™åˆ¶)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:473 +msgid "Completely disable" +msgstr "完全ç¦ç”¨" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475 +msgid "(select only if behind a firewall that throttles or blocks outbound TCP)" +msgstr "仅在å—到防ç«å¢™çš„æµé‡é™åˆ¶æˆ–入站连接é™åˆ¶æ—¶ä½¿ç”¨" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477 +msgid "Externally reachable TCP port" +msgstr "公网å¯è®¿é—®çš„TCP端å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:481 +msgid "Use the same port configured for UDP" +msgstr "使用与UDP相åŒçš„端å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489 +msgid "Specify Port" +msgstr "指定端å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:363 +msgid "Note" +msgstr "注æ„" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496 +msgid "Changing these settings will restart your router." +msgstr "修改这些设置将必须é‡å¯è·¯ç”±å™¨ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:498 +msgid "Configuration Help" +msgstr "设置帮助" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:500 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536 +msgid "While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port (generally 8887) is forwarded for both UDP and TCP." +msgstr "I2På¯ä»¥ä¸Žå¤§å¤šæ•°é˜²ç«å¢™å…±å­˜ï¼Œå¦‚æžœI2P端å£(通常为8887)进行了UDP/TCP映射,您的速度和网络整åˆåº¦ä¼šé€æ¸æå‡ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:502 +msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you." +msgstr "如果å¯èƒ½ï¼Œè¯·åœ¨é˜²ç«å¢™ä¸­æ·»åŠ ç«¯å£å¹¶å…许入站UDP/TCPæ•°æ®åŒ…通过。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504 +msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic." +msgstr "如果ä¸èƒ½ï¼ŒI2P支æŒUPnP(Universal Plug and Play)或借助“SSU中介â€è¿›è¡ŒUDP端å£ç©¿é€ï¼Œé€šè¿‡å®ƒä»¬ä¹Ÿå¯ä»¥ä¸­ç»§æ•°æ®ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:506 +msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm." +msgstr "上述大部分设置仅为特殊情况准备,例如UPnPä¸èƒ½æ­£å¸¸å·¥ä½œï¼Œæˆ–外部防ç«å¢™å°é”网络。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508 +msgid "Certain firewalls such as symmetric NATs may not work well with I2P." +msgstr "在æŸäº›é˜²ç«å¢™ä¸‹ä¾‹å¦‚Symmetric,I2På¯èƒ½æ— æ³•有效利用NAT工作。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:510 +msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports." +msgstr "UPnP与公网网关设备(IGD)通讯å¯ä»¥æ£€æµ‹å¤–部IP和映射端å£ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512 +msgid "UPnP support is beta, and may not work for any number of reasons" +msgstr "UPnP支æŒä»åœ¨æµ‹è¯•阶段,å¯èƒ½ç”±äºŽä¸€äº›åŽŸå› æ— æ³•æ­£å¸¸å·¥ä½œã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514 +msgid "No UPnP-compatible device present" +msgstr "没有å‘现UPnP兼容设备" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516 +msgid "UPnP disabled on the device" +msgstr "设备上的UPnP支æŒå·²ç¦ç”¨" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518 +msgid "Software firewall interference with UPnP" +msgstr "软件防ç«å¢™é˜»æ­¢UPnP" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520 +msgid "Bugs in the device's UPnP implementation" +msgstr "设备的UPnPæ”¯æŒæœ‰Bug" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522 +msgid "Multiple firewall/routers in the internet connection path" +msgstr "公网连接中存在多个防ç«å¢™/路由器" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524 +msgid "UPnP device change, reset, or address change" +msgstr "UPnP设备改å˜ã€é‡ç½®æˆ–地å€è¿ç§»" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526 +msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect." +msgstr "UPnP 的关闭或开å¯å‡éœ€è¦ç¨‹åºé‡å¯åŽç”Ÿæ•ˆã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528 +msgid "Hostnames entered above will be published in the network database." +msgstr "上é¢è¾“入的主机å称将在网络数æ®åº“(NetDB)中å‘布。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:530 +msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially." +msgstr "如果您设置了错误的IPåœ°å€æˆ–主机å称,或NAT/防ç«å¢™é…ç½®ä¸å½“,您的网络性能将å—到明显影å“。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:532 +msgid "When in doubt, leave the settings at the defaults." +msgstr "如果对设置有疑问,请ä¿ç•™é»˜è®¤è®¾ç½®ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:534 +msgid "Reachability Help" +msgstr "连通性帮助" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539 +msgid "If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers." +msgstr "å¦‚æžœæ‚¨è®¤ä¸ºå·²ç»æ‰“开了防ç«å¢™ï¼Œä½†I2Pä»ç„¶æŠ¥å‘Šæ‚¨å—到防ç«å¢™é˜»éš”,请想想您是å¦å¯èƒ½æœ‰å¤šå±‚防ç«å¢™ï¼Œä¾‹å¦‚软件防护墙和外部的硬件路由器。" + +# æš‚ä¸ç¿»è¯‘,确定/良好 å¯èƒ½å½±å“按钮的翻译 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541 +msgid "OK" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543 +msgid "Your UDP port does not appear to be firewalled." +msgstr "您的UDP端å£ä¼¼ä¹Žä¸€åˆ‡æ­£å¸¸ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545 +msgid "Firewalled" +msgstr "防ç«å¢™é˜»æŒ¡(Firewalled)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547 +msgid "Your UDP port appears to be firewalled." +msgstr "您的UDP端å£ä¼¼ä¹Žå› é˜²ç«å¢™è€Œè¿žæŽ¥å—阻。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549 +msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error." +msgstr "由于防ç«å¢™æ£€æµ‹æ–¹æ³•å¹¶éž100%å¯é ï¼Œæœ‰æ—¶ä¹Ÿå¯èƒ½é”™è¯¯åœ°æ˜¾ç¤ºæ­¤æ­¤æç¤ºã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551 +msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open on port 8887." +msgstr "然而,如果总是出现此æç¤ºï¼Œæ‚¨åº”检查外部或内部防ç«å¢™æ˜¯å¦æ‰“开了8887(或用户指定的)端å£ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553 +msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections." +msgstr "å³ä½¿å—到防ç«å¢™é˜»æ‹¦ï¼ŒI2P也能够正常工作,无需担心。å—到防ç«å¢™é˜»é𔿗¶ï¼Œè·¯ç”±å™¨å°†é€šè¿‡â€œä¸­ä»‹(Introducers)â€ä¸­ç»§å…¥ç«™è¿žæŽ¥ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555 +msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)." +msgstr "然而,如果您能打开防ç«å¢™ç«¯å£ï¼Œæ‚¨æ‰èƒ½å¾—到的共享æµé‡ï¼Œæ›´å¥½çš„帮助I2P网络。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557 +msgid "If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control." +msgstr "å¦‚æžœæ‚¨ç¡®ä¿¡å·²ç»æ‰“开了防ç«å¢™ï¼Œè¯·æƒ³æƒ³æ˜¯ä¸æ˜¯åŒæ—¶å­˜åœ¨ç¡¬ä»¶å’Œè½¯ä»¶é˜²ç«å¢™ï¼Œæˆ–存在您无法控制的é¢å¤–的机构性的防ç«å¢™ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559 +msgid "Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P." +msgstr "当然,æŸäº›è·¯ç”±å™¨å¯èƒ½æ— æ³•æ­£ç¡®æ˜ å°„åŒæ—¶ä½¿ç”¨TCPå’ŒUDPå议的端å£ï¼Œæˆ–存在其他é™åˆ¶æˆ–缺陷,障ç¢äº†æ•°æ®è¿›å…¥I2P网络。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561 +msgid "Testing" +msgstr "测试中(Testing)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563 +msgid "The router is currently testing whether your UDP port is firewalled." +msgstr "路由器正在测试您的UDPç«¯å£æ˜¯å¦è¢«é˜²ç«å¢™é˜»æŒ¡ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565 +msgid "Hidden" +msgstr "éšè—(Hidden)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567 +msgid "The router is not configured to publish its address, therefore it does not expect incoming connections." +msgstr "è·¯ç”±å™¨è¢«è®¾ç½®ä¸ºç¦æ­¢å‘布IP地å€ï¼Œå› æ­¤å¹¶ä¸éœ€è¦å…¥ç«™è¿žæŽ¥ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569 +msgid "WARN - Firewalled and Fast" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571 +msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled." +msgstr "您设置I2P共享超过128KBps的带宽,但您的连接因防ç«å¢™å—阻。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573 +msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall." +msgstr "尽管在此ç§é…置情况下I2På¯ä»¥æ­£å¸¸å·¥ä½œï¼Œä½†å¦‚果您的确能够分享超过128kps的带宽,打开防ç«å¢™ç«¯å£å®ƒèƒ½å·¥ä½œçš„æ›´å¥½å¸®åŠ©ç½‘ç»œä¸­å…¶ä»–çš„äººã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575 +msgid "WARN - Firewalled and Floodfill" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577 +msgid "You have configured I2P to be a floodfill router, but you are firewalled." +msgstr "您已将I2P设置为ç§å­è·¯ç”±ï¼Œä½†æ‚¨çš„连接已因防ç«å¢™å—阻。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579 +msgid "For best participation as a floodfill router, you should open your firewall." +msgstr "为了ç§å­è·¯ç”±èƒ½å¤Ÿæ›´å¥½çš„å‚与到I2P网络中,请您的防ç«å¢™ä¸­æ‰“开端å£ã€‚" + +# æš‚ä¸ç¿»è¯‘方便å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581 +msgid "WARN - Firewalled with Inbound TCP Enabled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583 +msgid "You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well." +msgstr "您设置了使用入站TCPè¿žæŽ¥ï¼ŒåŒæ—¶æ‚¨çš„UDP端å£å› é˜²ç«å¢™å—é˜»ï¼Œç”±æ­¤çœ‹æ¥æ‚¨çš„TCP端å£ä¹Ÿè¢«é˜²ç«å¢™é˜»æŒ¡ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585 +msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network." +msgstr "如果您在TCP端å£å› é˜²ç«å¢™å—阻的情况下å¯ç”¨å…¥ç«™TCP连接,其他路由器节点将无法与您建立连接,造æˆç½‘络å—阻。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587 +msgid "Please open your firewall or disable inbound TCP above." +msgstr "请打开您的防ç«å¢™ç«¯å£æˆ–ç¦ç”¨ä¸Šé¢çš„入站TCP连接。" + +# æš‚ä¸ç¿»è¯‘ +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589 +msgid "WARN - Firewalled with UDP Disabled" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591 +msgid "You have configured inbound TCP, however you have disabled UDP." +msgstr "您设置了使用TCP连接,然而ç¦ç”¨äº†UDP连接。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593 +msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections." +msgstr "您的TCP连接似乎因防ç«å¢™å—阻,导致您的路由器无法接收入站连接。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595 +msgid "Please open your firewall or enable UDP." +msgstr "请打开防ç«å¢™ç«¯å£æˆ–å¯ç”¨UDP。" + +# æš‚ä¸ç¿»è¯‘,方便错误å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597 +msgid "ERR - Clock Skew" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599 +msgid "Your system's clock is skewed, which will make it difficult to participate in the network." +msgstr "如果您的系统时钟太快或太慢,将影å“计算机接入网络。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601 +msgid "Correct your clock setting if this error persists." +msgstr "如果错误æŒç»­ï¼Œè¯·æ ¡å¯¹æ‚¨çš„系统时间。" + +# æš‚ä¸ç¿»è¯‘,方便错误å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603 +msgid "ERR - Private TCP Address" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605 +msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address." +msgstr "您ä¸èƒ½å‘布一个公网无法访问的 IP 地å€ï¼Œä¾‹å¦‚127.0.0.1或192.168.1.1一类的内网地å€ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607 +msgid "Correct the address or disable inbound TCP above." +msgstr "正确设置IPåœ°å€æˆ–ç¦ç”¨ä¸Šé¢çš„入站TCP连接。" + +# æš‚ä¸ç¿»è¯‘,方便错误å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609 +msgid "ERR - SymmetricNAT" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611 +msgid "I2P detected that you are firewalled by a Symmetric NAT." +msgstr "I2P检测到您å—到Symmetic NAT的阻挡。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613 +msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network." +msgstr "I2P无法与此类防ç«å¢™å¾ˆå¥½çš„并存。您å¯èƒ½æ— æ³•æŽ¥æ”¶å…¥ç«™è¿žæŽ¥ï¼Œè¿™ä¼šéšœç¢æ‚¨è¿žå…¥I2P网络。" + +# æš‚ä¸ç¿»è¯‘,方便问题å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615 +msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617 +msgid "I2P was unable to bind to port 8887 or other configured port." +msgstr "I2P无法绑定到端å£8887或其他指定的端å£ä¸Šã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619 +msgid "Check to see if another program is using port 8887. If so, stop that program or configure I2P to use a different port." +msgstr "æ£€æŸ¥æ˜¯å¦æœ‰å…¶ä»–ç¨‹åºæ­£åœ¨ä½¿ç”¨8887端å£ï¼Œå¦‚æžœæ˜¯ï¼Œå…³é—­æ­¤ç¨‹åºæˆ–设置I2P使用ä¸åŒçš„端å£ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621 +msgid "This may be a transient error, if the other program is no longer using the port." +msgstr "如果其他程åºä¸å†ä½¿ç”¨æ­¤ç«¯å£ï¼Œè¿™å¯èƒ½æ˜¯ä¸´æ—¶æ€§çš„错误。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623 +msgid "However, a restart is always required after this error." +msgstr "然而,å‘生此错误åŽä¸€èˆ¬éœ€è¦é‡å¯ç¨‹åºæ‰èƒ½è§£å†³ã€‚" + +# æš‚ä¸ç¿»è¯‘,方便错误å馈 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625 +msgid "ERR - UDP Disabled and Inbound TCP host/port not set" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627 +msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP." +msgstr "您没有设置入站TCP的主机å称和端å£ï¼ŒåŒæ—¶åˆå…³é—­äº†UDP。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629 +msgid "Therefore your router cannot accept inbound connections." +msgstr "因此您的路由器无法接收入站连接。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631 +msgid "Please configure a TCP host and port above or enable UDP." +msgstr "请在å‰é¢è®¾ç½®TCPä¸»æœºå’Œç«¯å£æˆ–å¯ç”¨UDP" + +# 错误æç¤ºæš‚ä¸ç¿»è¯‘,以便错误å馈。 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633 +msgid "ERR - Client Manager I2CP Error - check logs" +msgstr "" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635 +msgid "This is usually due to a port 7654 conflict. Check the logs to verify." +msgstr "这通常为7654端å£å†²çªæ‰€è‡´ï¼Œè¯·æŸ¥çœ‹æ—¥å¿—确认原因。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637 +msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P." +msgstr "您是å¦å·²ç»è¿è¡Œäº†å¦ä¸€ä¸ªI2P实例?请关掉冲çªçš„程åºå¹¶é‡å¯I2P。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107 +msgid "config advanced" +msgstr "高级设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:234 +msgid "I2P Advanced Configuration" +msgstr "I2P 高级设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:333 +msgid "Advanced I2P Configuration" +msgstr "I2P 高级设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339 +msgid "Some changes may require a restart to take effect." +msgstr "æŸäº›è®¾ç½®éœ€è¦ç¨‹åºé‡å¯åŽç”Ÿæ•ˆã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106 +msgid "config clients" +msgstr "å‡çº§è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:233 +msgid "I2P Client Configuration" +msgstr "I2P 客户程åºè®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:340 +msgid "Client Configuration" +msgstr "客户程åºè®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:342 +msgid "The Java clients listed below are started by the router and run in the same JVM." +msgstr "下é¢åˆ—出的Java客户端éšè·¯ç”±å™¨å¯åЍ并è¿è¡ŒäºŽåŒä¸€JVM中。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346 +msgid "To change other client options, edit the file" +msgstr "修改其他客户端设置请编辑文件" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363 +msgid "All changes require restart to take effect." +msgstr "所有更改å‡éœ€è¦ç¨‹åºé‡å¯æ‰èƒ½ç”Ÿæ•ˆã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355 +msgid "WebApp Configuration" +msgstr "WebApp 设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357 +msgid "The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark),front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook)." +msgstr "下é¢åˆ—出的Java Web 程åºéšå®¢æˆ·ç«¯â€œweb控制å°â€ä¸€åŒå¯åŠ¨ï¼Œå¹¶ä¸Žè·¯ç”±è¿è¡ŒäºŽåŒä¸€JVM中。这些Web程åºé€šå¸¸å¯ä»¥é€šè¿‡è·¯ç”±å™¨ç•Œé¢ç›´æŽ¥è®¿é—®ã€‚他们å¯èƒ½æ˜¯å®Œæ•´çš„ç¨‹åº (例如 i2psnark/BT客户端),其他客户端程åºçš„å‰ç«¯æˆ–å¿…é¡»å•独å¯åŠ¨çš„ç¨‹åº(例如. susidns, i2ptunnel),甚至根本没有Web界é¢(例如 addressbook)。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359 +msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method." +msgstr "从webapps目录中删除相应的.waræ–‡ä»¶åŒæ ·å¯ä»¥ç¦ç”¨Web程åº;然而这些 .war 文件和Web程åºåœ¨æ›´æ–°I2PåŽè¿˜ä¼šå†æ¬¡å‡ºçް,所以推è在这里通过设置的方法ç¦ç”¨ä¸ç”¨çš„Web程åºã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106 +msgid "config keyring" +msgstr "钥匙环设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220 +msgid "I2P Keyring Configuration" +msgstr "I2P 钥匙环设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:326 +msgid "Keyring" +msgstr "钥匙环" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:328 +msgid "The router keyring is used to decrypt encrypted leaseSets." +msgstr "路由的钥匙环被用æ¥è§£å¯†å’ŒåР坆 leaseSets." + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:331 +msgid "The keyring may contain keys for local or remote encrypted destinations." +msgstr "钥匙环å¯ä»¥åŒ…嫿œ¬åœ°å’Œè¿œç¨‹çš„加密目标(Destination)." + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:341 +msgid "Manual Keyring Addition" +msgstr "手动添加钥匙环" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:343 +msgid "Enter keys for encrypted remote destinations here." +msgstr "在此处添加远程加密目标的密钥。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:345 +msgid "Dest. name, hash, or full key" +msgstr "目标(Dest.)åç§°, HASH, 或完整公钥" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:347 +msgid "Encryption Key" +msgstr "加密密钥" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107 +msgid "config logging" +msgstr "日志设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234 +msgid "I2P Logging Configuration" +msgstr "I2P 记录设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333 +msgid "Configure I2P Logging Options" +msgstr "设置 I2P 记录选项" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335 +msgid "Logging filename" +msgstr "日志文件åç§°" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339 +msgid "(the symbol '@' will be replaced during log rotation)" +msgstr "(日志轮转时符å·'@'将被替æ¢)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341 +msgid "Log record format" +msgstr "日志记录格å¼" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:345 +msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)" +msgstr "( 'd' = 日期, 'c' = ç±», 't' = 线程, 'p' = 优先级, 'm' = 消æ¯)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:347 +msgid "Log date format" +msgstr "日志日期格å¼" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:351 +msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)" +msgstr "('MM' = 月, 'dd' = 天, 'HH' = å°æ—¶, 'mm' = 分钟, 'ss' = ç§’, 'SSS' = 毫秒)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:353 +msgid "Max log file size" +msgstr "日志最大体积" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:357 +msgid "Default log level" +msgstr "默认日志等级" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:361 +msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)" +msgstr "(建议ä¸è¦ä½¿ç”¨ DEBUG 或 INFO 作为默认等级,他们会明显é™ä½Žç¨‹åºæ€§èƒ½)" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:363 +msgid "Log level overrides" +msgstr "等级外日志项目" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106 +msgid "config peers" +msgstr "节点设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220 +msgid "I2P Peer Configuration" +msgstr "I2P 节点设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:338 +msgid "Manual Peer Controls" +msgstr "手动节点控制" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:340 +msgid "Router Hash" +msgstr "路由器 HASH" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:344 +msgid "Manually Ban / Unban a Peer" +msgstr "手动å°é”/è§£å°æŸä¸ªèŠ‚ç‚¹" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:346 +msgid "Banning will prevent the participation of this peer in tunnels you create." +msgstr "å°é”将阻止节点å‚与您的隧é“创建" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:352 +msgid "Adjust Profile Bonuses" +msgstr "调整节点评分" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:354 +msgid "Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the" +msgstr "评分(Bonuse)å¯èƒ½ä¸ºæ­£æˆ–为负并影å“节点是å¦è¯„为快速和高容é‡èŠ‚ç‚¹ã€‚å¿«é€ŸèŠ‚ç‚¹ç”¨äºŽå®¢æˆ·ç¨‹åºé€šé“,高容é‡èŠ‚ç‚¹ç”¨äºŽæŽ¢ç´¢éš§é“。当å‰è¯„分显示于" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:356 +msgid "profiles page" +msgstr "节点信æ¯é¡µé¢" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:364 +msgid "Speed" +msgstr "速度" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368 +msgid "Capacity" +msgstr "容é‡" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106 +msgid "config service" +msgstr "æœåŠ¡è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220 +msgid "I2P Service Configuration" +msgstr "I2P æœåŠ¡è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:318 +msgid "Shutdown the router" +msgstr "关闭路由器" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:320 +msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes." +msgstr "平滑关闭(Graceful Shutdown)让路由器在关闭å‰å®Œæˆå·²è¾¾æˆçš„任务,但这å¯èƒ½éœ€è¦èŠ±è´¹å‡ åˆ†é’Ÿçš„æ—¶é—´ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322 +msgid "If you need to kill the router immediately, that option is available as well." +msgstr "当然你也å¯ä»¥é€‰æ‹©ç«‹å³å…³é—­è·¯ç”±ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326 +msgid "If you want the router to restart itself after shutting down, you can choose one of the following." +msgstr "如果你想è¦è·¯ç”±å™¨å…³é—­åŽè‡ªåЍ釿–°å¯åŠ¨ï¼Œå¯ä»¥é€‰æ‹©ä¸‹é¢çš„选项。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:328 +msgid "This is useful in some situations" +msgstr "é‡å¯åœ¨æŸäº›æƒ…况下有用" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330 +msgid "for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on." +msgstr "例如当修改了客户程åºä»…在å¯åŠ¨æ—¶è¯»å–的设置,比如路由器控制界é¢çš„密ç ï¼Œç›‘å¬çš„æŽ¥å£ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332 +msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately." +msgstr "平滑é‡å¯å¯èƒ½ä¼šç­‰å¾…几分钟的时间(但你的节点一定会感激你的è€å¿ƒ),硬é‡å¯å¯ä»¥ç«‹å³å®Œæˆã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:334 +msgid "After tearing down the router, it will wait 1 minute before starting back up again." +msgstr "路由关闭åŽå°†ç­‰å¾…1分钟å†é‡æ–°å¯åŠ¨ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340 +msgid "Systray integration" +msgstr "使用系统托盘" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342 +msgid "On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status" +msgstr "Windows å¹³å°å…许å°ç¨‹åºè¿›é©»ç³»ç»Ÿæ‰˜ç›˜ï¼Œè®©ä½ å¯ä»¥æŸ¥çœ‹è·¯ç”±çжæ€" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344 +msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)." +msgstr "(以åŽçš„ I2P 客户端程åºä¹Ÿä¼šå°†å®ƒä»¬çš„功能集æˆåˆ°ç³»ç»Ÿæ‰˜ç›˜é‡Œ)。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:346 +msgid "If you are on windows, you can either enable or disable that icon here." +msgstr "如果你使用Windows, å¯ä»¥åœ¨è¿™é‡Œå¼€å¯æˆ–关闭这个托盘图标。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:348 +msgid "Run on startup" +msgstr "系统å¯åŠ¨æ—¶è¿è¡Œ" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350 +msgid "You can control whether I2P is run on startup or not by selecting one of the following options" +msgstr "这里你å¯ä»¥é€šè¿‡ä¸‹é¢çš„选项æ¥è®¾ç½®å¼€æœºåŽ I2P 是å¦å¯åЍ" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352 +msgid "I2P will install (or remove) a service accordingly." +msgstr "I2P将相应的将自身安装为æœåŠ¡(或å¸è½½æœåŠ¡)。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354 +msgid "If you prefer the command line, you can also run the " +msgstr "如果你å好使用命令行,å¯ä»¥è¿è¡Œ" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:360 +msgid "If you are running I2P as service right now, removing it will shut down your router immediately." +msgstr "如果您目å‰å·²ç»ä»¥æœåС形å¼è¿è¡Œ I2P ,删除 I2P æœåŠ¡å°†ç«‹åˆ»å…³é—­è·¯ç”±å™¨ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362 +msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat." +msgstr "您å¯ä»¥è€ƒè™‘先平滑关闭路由,待退出åŽè¿è¡Œ uninstall_i2p_service_winnt.bat。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:370 +msgid "Debugging" +msgstr "调试" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374 +msgid "Launch browser on router startup?" +msgstr "路由器å¯åŠ¨æ—¶è¿è¡Œæµè§ˆå™¨?" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376 +msgid "I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at" +msgstr "æ­¤WebæŽ§åˆ¶å°æ˜¯I2P的主è¦è®¾ç½®ç•Œé¢ï¼Œæ‰€ä»¥å¦‚果您您觉得有必è¦I2På¯ä»¥åœ¨è·¯ç”±å¯åŠ¨æ—¶è°ƒç”¨æµè§ˆå™¨æ‰“å¼€" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107 +msgid "config stats" +msgstr "统计设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221 +msgid "I2P Stats Configuration" +msgstr "I2P 统计设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:334 +msgid "Configure I2P Stat Collection" +msgstr "设置 I2P 统计项" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:336 +msgid "Enable full stats?" +msgstr "å¯ç”¨å®Œæ•´ç»Ÿè®¡?" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:343 +msgid "change requires restart to take effect" +msgstr "设置需è¦ç¨‹åºé‡å¯åŽæ‰èƒ½ç”Ÿæ•ˆã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:345 +msgid "Stat file" +msgstr "统计文件" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:349 +msgid "Filter" +msgstr "过滤器" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:351 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:360 +msgid "toggle all" +msgstr "全部切æ¢" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:362 +msgid "Log" +msgstr "日志" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:364 +msgid "Graph" +msgstr "统计图" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:403 +msgid "Advanced filter" +msgstr "高级过滤器" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106 +msgid "config tunnels" +msgstr "éš§é“设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:233 +msgid "I2P Tunnel Configuration" +msgstr "I2P éš§é“设置" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:339 +msgid "The default settings work for most people." +msgstr "默认设置适于大多数人。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:343 +msgid "There is a fundamental tradeoff between anonymity and performance." +msgstr "åŒ¿åæ€§éœ€è¦ä»¥æ€§èƒ½ä¸ºä»£ä»·ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:346 +msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability." +msgstr "长于3个跳点(hops)的隧é“(例如 2hops + 0-2hops,3 hops + 0-1 hops, 3 hops + 0-2 hops),或高质é‡+备用质é‡(higg + backup),å¯èƒ½é™ä½Žæ€§èƒ½å’Œç¨³å®šæ€§ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:349 +msgid "High CPU and/or high outbound bandwidth usage may result." +msgstr "导致高CPUå ç”¨å’Œ/或高上行æµé‡ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:352 +msgid "Change these settings with care, and adjust them if you have problems." +msgstr "å°å¿ƒæ›´æ”¹è¿™äº›è®¾ç½®ã€‚如果é‡åˆ°é—®é¢˜å¯ä»¥åœ¨è¿™é‡Œè°ƒæ•´ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:366 +msgid "Exploratory tunnel setting changes are stored in the router.config file." +msgstr "对探测隧é“设置的更改将ä¿å­˜å…¥router.config文件中。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:369 +msgid "Client tunnel changes are temporary and are not saved." +msgstr "对客户程åºéš§é“的修改是临时的,将ä¸äºˆä¿å­˜ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:371 +msgid "To make permanent client tunnel changes see the" +msgstr "è¦æ°¸ä¹…性更改客户通é“的设置å‚è§" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:373 +msgid "i2ptunnel page" +msgstr "I2P éš§é“页é¢" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106 +msgid "config UI" +msgstr "界é¢è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:233 +msgid "I2P UI Configuration" +msgstr "I2P 界é¢è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:325 +msgid "Router Console Theme" +msgstr "路由控制å°ä¸»é¢˜" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:343 +msgid "Theme selection disabled for Internet Explorer, sorry." +msgstr "抱歉,主题功能在InternetExplorer中已ç¦ç”¨ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:345 +msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes." +msgstr "如果您没使用IE,您的æµè§ˆå™¨å¯èƒ½æ­£åœ¨ä¼ªè£…IEçš„UserAgent;您需è¦è®¾ç½®æµè§ˆå™¨(或过滤å¼ä»£ç†)使用ä¸åŒçš„UserAgent,æ‰èƒ½è®¿é—®è·¯ç”±æŽ§åˆ¶å°çš„主题功能。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:349 +msgid "Router Console Language" +msgstr "路由控制å°è¯­è¨€" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:353 +msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help." +msgstr "欢迎加入路由控制å°ç¿»è¯‘é¡¹ç›®ï¼æä¾›å¸®åŠ©è¯·é€šè¿‡IRC到#i2p房间与开å‘人员è”系。" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106 msgid "config update" -msgstr "更新设置" +msgstr "å‡çº§è®¾ç½®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220 +msgid "I2P Update Configuration" +msgstr "I2P 更新设置" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334 -msgid "Update policy" -msgstr "æ›´æ–°ç­–ç•¥" +msgid "Check for I2P and news updates" +msgstr "检查I2Pè½¯ä»¶åŠæ–°é—»æ›´æ–°" -#: src/net/i2p/router/web/CSSHelper.java:36 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:336 +msgid "News & I2P Updates" +msgstr "è½¯ä»¶åŠæ–°é—»æ›´æ–°" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:340 +msgid "Update In Progress" +msgstr "更新中" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346 +msgid "News URL" +msgstr "新闻链接" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350 +msgid "Refresh frequency" +msgstr "更新频率" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354 +msgid "Update policy" +msgstr "å‡çº§ç­–ç•¥" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:358 +msgid "Update through the eepProxy?" +msgstr "通过eepProxyæ›´æ–°?" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:362 +msgid "eepProxy host" +msgstr "eepProxy主机" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366 +msgid "eepProxy port" +msgstr "eepProxy端å£" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:370 +msgid "Update URLs" +msgstr "更新链接" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:374 +msgid "Trusted keys" +msgstr "å¯ä¿¡å…¬é’¥" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:378 +msgid "Update with unsigned development builds?" +msgstr "更新包括未签å的开å‘版?" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:382 +msgid "Unsigned Build URL" +msgstr "未签å软件链接" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117 +msgid "Page Not Found" +msgstr "页颿œªæ‰¾åˆ°" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:241 +msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource." +msgstr "抱歉!æ‚¨è¯·æ±‚çš„é¡µé¢æˆ–资æºä¸å­˜åœ¨ã€‚" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243 +msgid "Error 404" +msgstr "错误 404" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:248 +msgid "not found" +msgstr "未找到" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106 +msgid "graphs" +msgstr "统计图" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220 +msgid "I2P Performance Graphs" +msgstr "I2P 性能图表" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105 +msgid "home" +msgstr "主页" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226 +#: src/net/i2p/router/web/CSSHelper.java:41 #: src/net/i2p/router/web/SummaryBarRenderer.java:26 #: src/net/i2p/router/web/SummaryBarRenderer.java:28 msgid "I2P Router Console" -msgstr "I2P路由控制å°" +msgstr "I2P 路由控制å°" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105 +msgid "job queue" +msgstr "作业队列" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219 +msgid "I2P Router Job Queue" +msgstr "I2P 路由器作业队列" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105 +msgid "logs" +msgstr "日志" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219 +msgid "I2P Router Logs" +msgstr "I2P 路由器日志" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:221 +msgid "I2P Version & Running Environment" +msgstr "I2P 版本åŠè¿è¡ŒçŽ¯å¢ƒ" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:223 +msgid "Please include this information in bug reports" +msgstr "报告问题时请包括以下信æ¯" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105 +msgid "network database summary" +msgstr "I2P 网络数æ®åº“概况" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219 +msgid "I2P Network Database Summary" +msgstr "I2P 网络数æ®åº“概况" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldstats_jsp.java:105 +msgid "statistics" +msgstr "统计数æ®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldstats_jsp.java:234 +msgid "I2P Router Statistics" +msgstr "I2P 路由器统计数æ®" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105 +msgid "peer connections" +msgstr "节点连接" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219 +msgid "I2P Network Peers" +msgstr "I2P 网络节点" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105 +msgid "peer profiles" +msgstr "节点信æ¯" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219 +msgid "I2P Network Peer Profiles" +msgstr "I2P 网络节点信æ¯" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105 +msgid "tunnel summary" +msgstr "éš§é“æ¦‚况" + +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219 +msgid "I2P Tunnel Summary" +msgstr "I2P éš§é“æ¦‚况" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "classic" +msgstr "ç»å…¸" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "dark" +msgstr "暗色调" + +#: src/net/i2p/router/web/ConfigUIHelper.java:6 +msgid "light" +msgstr "亮色调" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "English" +msgstr "英语" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "French" +msgstr "法语" + +#: src/net/i2p/router/web/ConfigUIHelper.java:21 +msgid "German" +msgstr "德语" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Chinese" +msgstr "中文" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Dutch" +msgstr "è·å…°è¯­" + +#: src/net/i2p/router/web/ConfigUIHelper.java:22 +msgid "Swedish" +msgstr "瑞士语" #: src/net/i2p/router/web/ConfigUpdateHelper.java:90 msgid "Notify only" @@ -112,7 +1154,7 @@ msgstr "åŒ…å«æ‰€æœ‰å·²çŸ¥I2P路由器的列表" #: src/net/i2p/router/web/SummaryBarRenderer.java:100 msgid "NetDB" -msgstr "网络数æ®åº“" +msgstr "NetDB" #: src/net/i2p/router/web/SummaryBarRenderer.java:104 msgid "Health Report" @@ -187,9 +1229,9 @@ msgid "Download" msgstr "下载" #: src/net/i2p/router/web/SummaryBarRenderer.java:198 -#: src/net/i2p/router/web/SummaryBarRenderer.java:207 +#: src/net/i2p/router/web/SummaryBarRenderer.java:205 msgid "Update" -msgstr "æ›´æ–°" +msgstr "å‡çº§" #: src/net/i2p/router/web/SummaryBarRenderer.java:203 msgid "Download Unsigned" @@ -197,7 +1239,7 @@ msgstr "ä¸‹è½½æœªç­¾åæ›´æ–°" #: src/net/i2p/router/web/SummaryBarRenderer.java:229 msgid "Active" -msgstr "活跃节点" +msgstr "活动节点" #: src/net/i2p/router/web/SummaryBarRenderer.java:237 msgid "Fast" @@ -279,3 +1321,28 @@ msgstr "éš§é“延迟" msgid "Backlog" msgstr "积压" +#~ msgid "" +#~ "If you want the router to restart itself after shutting down, you can " +#~ "choose one of the following. This is useful in some situations - for " +#~ "example, if you changed some settings that client applications only read " +#~ "at startup, such as the routerconsole password or the interface it " +#~ "listens on. A graceful restart will take a few minutes (but your peers " +#~ "will appreciate your patience), while a hard restart does so " +#~ "immediately. After tearing down the router, it will wait 1 minute before " +#~ "starting back up again." +#~ msgstr "" +#~ "如果你想è¦è·¯ç”±å™¨å…³é—­åŽé‡æ–°å¯åŠ¨ï¼Œå¯ä»¥é€‰æ‹©ä¸‹é¢çš„选项。é‡å¯åœ¨æŸäº›æƒ…况下有用 " +#~ "- 例如当修改了客户程åºä»…在å¯åŠ¨æ—¶è¯»å–的设置比如路由器控制界é¢çš„密ç ï¼Œç›‘å¬çš„" +#~ "接å£ã€‚平滑é‡å¯å¯èƒ½ä¼šç­‰å¾…几分钟的时间 (但其他节点一定会感激你的è€å¿ƒ),硬é‡" +#~ "å¯å¯ä»¥ç«‹å³å®Œæˆã€‚ 路由关闭åŽå°†ç­‰å¾…1分钟å†é‡æ–°å¯åŠ¨ã€‚" +#~ msgid "" +#~ "On the windows platform, there is a small application to sit in the " +#~ "system tray, allowing you to view the router's status (later on, I2P " +#~ "client applications will be able to integrate their own functionality " +#~ "into the system tray as well). If you are on windows, you can either " +#~ "enable or disable that icon here." +#~ msgstr "" +#~ "windows å¹³å°å…许å°ç¨‹åºè¿›é©»ç³»ç»Ÿæ‰˜ç›˜ï¼Œè®©ä½ å¯ä»¥æŸ¥çœ‹è·¯ç”±çжæ€ï¼Œ(以åŽçš„ I2P 客户" +#~ "端程åºä¹Ÿä¼šå°†å®ƒä»¬çš„功能集æˆåˆ°ç³»ç»Ÿæ‰˜ç›˜é‡Œ)。如果你使用Windows, å¯ä»¥åœ¨è¿™é‡Œå¼€å¯" +#~ "或关闭这个托盘图标。" + diff --git a/core/java/src/net/i2p/crypto/TrustedUpdate.java b/core/java/src/net/i2p/crypto/TrustedUpdate.java index 22f7609d9..d0f25aec5 100644 --- a/core/java/src/net/i2p/crypto/TrustedUpdate.java +++ b/core/java/src/net/i2p/crypto/TrustedUpdate.java @@ -414,8 +414,14 @@ D8usM7Dxp5yrDrCYZ5AIijc= * data was moved, and an error String otherwise. */ public String migrateVerified(String currentVersion, File signedFile, File outputFile) { - if (!isUpdatedVersion(currentVersion, signedFile)) - return "Downloaded version is not greater than current version"; + if (!signedFile.exists()) + return "File not found: " + signedFile.getAbsolutePath(); + if (!isUpdatedVersion(currentVersion, signedFile)) { + if ("".equals(_newVersion)) + return "Truncated or corrupt file: " + signedFile.getAbsolutePath(); + else + return "Downloaded version is not greater than current version"; + } if (!verify(signedFile)) return "Unknown signing key or corrupt file"; diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java index 9dcc431e5..0fe61e5c0 100644 --- a/core/java/src/net/i2p/data/Certificate.java +++ b/core/java/src/net/i2p/data/Certificate.java @@ -113,7 +113,7 @@ public class Certificate extends DataStructureImpl { public int readBytes(byte source[], int offset) throws DataFormatException { if (source == null) throw new DataFormatException("Cert is null"); - if (source.length <= offset + 3) + if (source.length < offset + 3) throw new DataFormatException("Cert is too small [" + source.length + " off=" + offset + "]"); int cur = offset; diff --git a/core/java/src/net/i2p/util/FileUtil.java b/core/java/src/net/i2p/util/FileUtil.java index ab0341f41..f35898139 100644 --- a/core/java/src/net/i2p/util/FileUtil.java +++ b/core/java/src/net/i2p/util/FileUtil.java @@ -143,6 +143,11 @@ public class FileUtil { * so we basically go through all the motions of extractZip() above, * unzipping everything but throwing away the data. * + * Todo: verify zip header? Although this would break the undocumented + * practice of renaming the i2pupdate.sud file to i2pupdate.zip and + * letting the unzip method skip over the leading 56 bytes of + * "junk" (sig and version) + * * @return true if ok */ public static boolean verifyZip(File zipfile) { diff --git a/history.txt b/history.txt index b141d9994..30fa01e8f 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,18 @@ +2009-10-23 zzz + * Certificate: Fix the (apparently unused) readBytes(byte[], int) method + for a null certificate - http://zzz.i2p/topics/388 - thanks HungryHobo + * Console: + - Don't hide link to configui.jsp for IE any more + - Add lang selection on configui.jsp + - Tag strings in configui.jsp + - Load console_big.css if lang == zh + - Add _x() tag for static iniitializers + - HTML transitional input tags + - Rename cssHelper to intl for ease of tagging + * Update: Better error message when .sud file not found or truncated + http://forum.i2p/viewtopic.php?t=3979 + The bug with the file going to the wrong place was fixed a couple months ago. + 2009-10-21 dr|z3d * Enhance index.jsp with "paperclips" for the main links * Tighten sidepanel layout to gain us some vertical screen real estate diff --git a/installer/resources/themes/console/classic/console.css b/installer/resources/themes/console/classic/console.css index 8d09caa40..b09b508ad 100644 --- a/installer/resources/themes/console/classic/console.css +++ b/installer/resources/themes/console/classic/console.css @@ -172,7 +172,7 @@ div.routersummary h3 { font-size: 9.5pt; letter-spacing: 0.05em; margin: -7px 1px -7px 1px; - padding: 3px 0; + padding: 1px 0; background: #c5d5fb; text-transform: uppercase; } @@ -183,7 +183,7 @@ div.routersummary h4 { font-size: 8.5pt; letter-spacing: 0.05em; margin: -7px 1px -7px 1px !important; - padding: 2px 3px; + padding: 1px 3px; background: #c1d1f7; text-transform: capitalize; text-decoration: none !important; @@ -193,11 +193,11 @@ div.routersummary h4 { div.routersummary table { border: 0; text-align: center !important; - margin: -5px 5px -5px 2px; + margin: -5px 4px -5px 3px; width: 180px !important; overflow: hidden; font-size: 8pt; - padding: 0px -10px; + padding: 0 -10px; background-image: none !important; background-color: transparent !important; } @@ -208,12 +208,12 @@ div.routersummary tr { border: 0 !important; } -.tunnels { - margin-top: 3px; +div.tunnels table{ + margin: 0 !important; } .tunnels tr { - padding: 4px 0 !important; + padding: 2px 0 !important; margin-left: -7px !important; } @@ -242,21 +242,11 @@ div.routersummary a:hover { } div.routersummary td { - padding: 2px 4px; + padding: 0 4px; background-image: none !important; border: 0 !important; } -div.routersummary tr:nth-child(even) { - background-color: #f60; - background-image: none !important; -} - -div.routersummarytr:nth-child(odd) { - background-color: #f00; - background-image: none !important; -} - div.warning h3 { border-bottom: 5px solid #fb7; padding-bottom: 10px; @@ -614,7 +604,7 @@ div.joblog p { } div.joblog h3 { - margin: 10px 0 10px 0; + margin: 10px 0 20px 0; } div.joblog h3:first-child { diff --git a/installer/resources/themes/console/classic/console_big.css b/installer/resources/themes/console/classic/console_big.css new file mode 100644 index 000000000..c35c6f100 --- /dev/null +++ b/installer/resources/themes/console/classic/console_big.css @@ -0,0 +1,780 @@ +/* Optimised for less capable browsers and system specifications */ + +body { + margin: 2px 0 0 2px; + padding: 0; + text-align: left; + background: #bbf; + color: #000; + font: 9pt/140% Verdana, Tahoma, Helvetica, sans-serif; +} + +.hide { + display: none; +} + +img { + border: none; +} + +pre { + overflow: auto; + font-size: 8pt !important; + width: 95%; + padding-top: 10px; +} + +div.logo { + float: left; + position-relative: top 20px ; + width: 200px; + margin: 0 0 0 20px; + padding: 10px 5px; + text-align: center; + border: 5px solid #ddf; + background-color: #eef; + -moz-border-radius: 15px; + -moz-box-shadow: inset 0px 0px 0px 2px #99f; + -khtml-border-radius: 15px; + -khtml-box-shadow: inset 0px 0px 0px 2px #99f; +} + +div.logo hr { + color: #ddf; + background: #ddf; + height: 5px; + border: 0px solid #ddf; + margin: 8px -3px; +} + +div.logo a:link, div.logo a:visited { + text-shadow: 1px 1px 1px rgba(0, 0, 32, 0.5); +} + +div.logo a:active { + text-shadow: 1px 1px 1px rgba(255, 96, 0, 0.7); + color: #f60; +} + +div.logo a:hover { + text-shadow: 1px 1px 1px rgba(128, 0, 0, 0.7); + color: #900; +} + +div.warning { + margin: 20px 20px 10px 260px; + padding: 0px 20px 20px 75px; + background: #ffd; + border: 5px solid #fb7; + text-align: left; + color: inherit; + background-image:url("../images/itoopie_sm.png"); + background-position: 12px center; + background-repeat:no-repeat; + -moz-border-radius: 15px; + -moz-box-shadow: inset 0px 0px 0px 2px #f60; + -kthml-border-radius: 15px; + -khtml-box-shadow: inset 0px 0px 0px 2px #f60; +} + +div.warning a:link { + color: #f60; + text-shadow: 1px 1px 1px rgba(255, 96, 0, 0.5); +} + +div.warning a:visited{ + color: #f90; +} + +div.warning a:hover{ + color: #d30; + text-shadow: 1px 1px 1px rgba(255, 96, 0, 0.7); +} + +div.warning a:active{ + color: #900; +} + +div.warning hr { + color: #fb7; + background: #fb7; + height: 5px; + border: 0px solid #fb7; + margin: 5px 0; +} + +/* console error messages */ + +div.sorry { + padding: 20px; + background: #ddf; + margin: -2px 1px 0 195px; + border: 5px solid #bbf; + text-align: justify; + -moz-box-shadow: inset 0px 0px 0px 1px #d00; + word-wrap: break-word; + font-weight: bold; + color: #001; +} + +div.sorry hr { + color: #001; + background: #001; + height: 1px; + border: 1px solid #001; + margin: 10px 0; +} + +div.toolbar { + margin: 0em 0em 2em 0em; + font-weight: bold; + display: none !important; +} + +div.routersummaryouter { + float: left; + width: 200px; + margin: 0; + padding: 0; + border: 0; + clear: left; /* fixes a bug in Opera */ +} + +div.routersummary { + background: #ddf; + width: 185px; + color: inherit; + margin: 0; + padding: 10px 1px 7px 1px; + text-align: center !important; + border: 5px solid #bbf; + font-size: 9pt; + word-wrap: break-word; + font: 9pt/125%; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; +} + +div.routersummary input[type=text] { + text-align: right !important; +} + +div.routersummary hr { + color: #eef; + background: #eef; + height: 2px; + border-bottom: 1px solid #eef; + margin: 8px 1px 7px 1px; + -moz-box-shadow: inset 0px 1px 1px 1px #99f; +} + +div.routersummary h3 { + border: 0px solid #f00; + font-size: 12pt; + letter-spacing: 0.05em; + margin: -7px 1px -7px 1px; + padding: 1px 0; + background: #c5d5fb; + text-transform: uppercase; +} + +div.routersummary h4 { + border: 0px solid #f00; + border-bottom: 0 !important; + font-size: 10pt; + letter-spacing: 0.05em; + margin: -7px 1px -7px 1px !important; + padding: 1px 3px; + background: #c1d1f7; + text-transform: capitalize; + text-decoration: none !important; + color: #2b2; +} + +div.routersummary table { + border: 0; + text-align: center !important; + margin: -5px 4px -5px 3px; + width: 180px !important; + overflow: hidden; + font-size: 9pt; + padding: 0 -10px; + background-image: none !important; + background-color: transparent !important; +} + +div.routersummary tr { + background-image: none !important; + background-color: transparent !important; + border: 0 !important; +} + +div.tunnels table{ + margin: 0 !important; +} + +.tunnels tr { + padding: 2px 0 !important; + margin-left: -7px !important; +} + +div.routersummary form { + margin-top: -6px !important; + margin-bottom: -4px !important; +} + +div.refresh { + margin-top: 10px !important; + margin-bottom: 10px !important; + padding: 2px 0 !important; +} + +div.routersummary p { + padding: 0; +} + +div.routersummary a:link, div.routersummary a:visited { + text-shadow: 1px 1px 1px rgba(0, 0, 32, 0.3); +} + +div.routersummary a:hover { + text-shadow: 1px 1px 1px rgba(255, 96, 0, 0.7); + color: #f60; +} + +div.routersummary td { + padding: 0 4px; + background-image: none !important; + border: 0 !important; +} + +div.warning h3 { + border-bottom: 5px solid #fb7; + padding-bottom: 10px; +} + +div.main { + margin: 0px 0px 0px 195px; + padding: 15px 15px 10px 15px; + background: #eef; + border: 5px solid #bbf; + border-top: 0; + text-align: left; + color: #001; + min-width: 570px; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; +} + +div.main ul { + margin: -10px 0 -10px -10px; +} + +div.main li { + padding: 0 0 5px 0; + list-style: square; + word-wrap: break-word; + margin-right: 20px; +} + +div.main li:first-child { + padding-top: 15px; +} + +div.main hr:last-child { + margin: 15px 0 10px 0; +} + +div.main textarea { + width: 98% !important; + margin: 2px 0 2px 5px; + min-height: 96px; +} + +div.main h2 { + margin-top: 20px; + margin-bottom: -5px; +} + +div.welcome { + margin-top: 5px; +} + +div.main h2:first-child, div.main h3:first-child { + margin-top: 0px; + margin-bottom: -5px; +} + +div.wideload h2 { + margin-bottom: 0px !important; +} + +div.wideload h3:first-child { + margin-top: 0 !important; +} + +div.wideload h3 { + margin-top: 15px !important; + margin-bottom: 0px !important; +} + +div.wideload p !important { + margin-top: 5px; +} + +div.news { + margin: -5px 0px 0 195px; + padding: -10px 0px 8px 0px; + background: #ffffc0; + border: 5px solid #bbf; + text-align: right; + color: #770; + min-width: 600px; + padding-bottom: 8px; + padding-left: 10px; + padding-right: 10px; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; + font-size: 7pt; +} + +/* convert the list entry to our title */ + +div.news li { + text-align: justify; + list-style: none; + margin: 15px 15px -10px -20px; + padding: 0px 0 15px 0; + border-bottom: 2px dotted #cc7; + border-top: 0px solid #cc7; + padding: 3px 5px 5px 0; + font-size: 10pt; + color: #540; +} + +div.news p { + color: #330; + font-size: 9pt; + margin-bottom: -10px; +} +/* +div.news p:first-child { + padding-top: 15px !important; +} + + +div.news p:nth-child(2n) { + padding-top: 15px !important; +} +*/ +div.news p:last-child { + margin-bottom: 10px; +} + +div.news a:link { + color: #663; + text-shadow: 1px 1px 1px rgba(128, 128, 48, 0.3); +} + +div.news a:visited { + color: #773 !important; + text-shadow: 1px 1px 1px rgba(128, 128, 48, 0.3); +} + +div.news hr { + color: #cc7; + background: #cc7; + height: 1px; + border: 0px solid #cccc77; + margin: 2px 0 0 0; +} + +div.confignav { + padding: 12px 0 15px 0; + background: #cfc; + margin: -20px -20px 0 -20px; + border: 5px solid #bbf; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; +} + +div.configure { + margin: 1px -20px 0 -20px; + padding: 0px 20px 0px 20px; +} + +div.configure hr { + margin: 15px 0; +} + +div.configure table { + font-size: 9pt; + font-weight: bold; + border: 1px solid #bbf; +} + +div.configure tr, div.configure td { + padding: 10px 2px; +} + +div.configure tr { + -moz-box-shadow: inset 0px 0px 1px 0px #bbf; +} + +div.configure li:first-child, div.main li:first-child { + margin-top: -10px; +} + +div.configure li:last-child { + margin-bottom: -5px; +} + +div.configure h2:first-child { + margin-top: 15px; +} + +.topshimten { + margin-top: 15px; + margin-bottom: 15px; +} + +div.messages { + padding: 0px 10px; + background: #fff; + border: 5px solid #bbf; + border-right: 0; + margin: -5px -15px 10px -20px; + text-align: center; + font-size: 9pt; + font-weight: bold; + color: #474; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; +} + +div.messages li, div.messages ul { + padding: 10px 0 0 5px; + margin: -10px 0 0 0; +} + +div.messages span.error { + color: #d00000; +} + +div.messages span.notice { + font-style: italic; +} + +h1 { + font-size: 18pt; + text-shadow: 1px 1px 1px rgba(0, 0, 32, 0.7); + text-align: center; + border: 5px solid #bbf; + padding: 13px 10px 12px 10px; + margin: 0 0px 0 195px; + line-height: 93%; + text-transform: uppercase; + letter-spacing: 0.3em; + background: #fff; + min-width: 600px; + -moz-box-shadow: inset 0px 0px 0px 1px #99f; +} + +h2 { + font-size: 14pt; + padding: 0px 10px 10px 10px; + border-bottom: 3px solid #aaf; + border-top: 0px solid #aaf; + letter-spacing: 0.04em; +} + +h3 { + font-size: 12pt; + font-family:ºÚÌå; + padding: 0 10px 10px 10px; + border-bottom: 3px solid #aaf; + border-top: 0px solid #aaf; + letter-spacing: 0.04em; + margin-bottom: 10px; +} + +.proxyfooter{ + font-size: 7pt; + display: none !important; +} + +table { + border-collapse: collapse; + border: 1px solid #bbf; + margin: 0 0 5px 0; + cell-padding: 1px; + font-size: 7.5pt; + background: #fff; + width: 100%; +} + +table hr { + padding: 0px 0; + color: #bbf; + background: #bbf; + border: 0px solid #bbf; + margin: 0px -5px; + height: 1px; +} + +table tt { + font-size: 7.5pt; +} + +th { + background-color: #fff; + padding: 8px 2px; + text-align: center; + border-bottom: 1px solid #bbf; +} + +tt { + font-size: 8pt; +} + +tt, pre { + font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono; +} + +td { + padding: 4px; +} + +tr:nth-child(even) { + background-color: #eef; +} + +tr:nth-child(odd) { + background-color: #ddf; +} + +hr { + color: #aaf; + background: #aaf; + height: 3px; + border: 0px solid #aaf; + margin: 3px 0; +} + +.statusnotes { + font-style: italic; + font-size: 8pt; + color: #001; + text-align: center; + margin: -7px 0 7px 0; + background: #bbf; + border: 5px solid #bbf; + border-top: 0; + padding: 4px 0 2px 0; +} + +div.joblog { + margin: 10px 0; + line-height: 130% !important; +} + +div.joblog:li { + word-wrap: break-word !important; + text-align: justify !important; + line-height: 80% !important; +} + +div.joblog:ul { + word-wrap: break-word !important; + text-align: justify; +} + +div.joblog li:first-child { + margin-top: -10px; +} + +div.joblog li:last-child { + margin-bottom: -10px; +} + +div.joblog form:first-child { + margin-top: 10px; +} + +div.joblog table { + margin-top: 15px; +} + +div.joblog p { + line-height: 130%; +} + +div.joblog h3 { + margin: 10px 0 10px 0; +} + +div.joblog h3:first-child { + margin: 5px 0 15px 0; +} + +div.joblog hr { + margin: 15px 0 15px; +} + +div.joblog ol { + margin-bottom: 0px; +} + +input { + margin: 3px 5px 3px 0; + vertical-align: middle; +} + +input[type=text] { + margin: 3px 5px 3px 5px; + vertical-align: middle; +} +select { + margin: 3px 5px 3px 5px; + vertical-align: middle; +} + +submit { + margin: 3px 5px 3px 5px; + padding: 2px 0; + font: 8pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; +} + +table td b{ + font-weight:normal; +} + +p { + padding: 5px 20px 0px 20px; + text-align: justify; +} + +.formaction { + text-align: right; + margin: -10px -5px; +} + +.langbox { + margin: 10px -20px 0px 5px; + color: #001; + font-size: 7pt; + width: 220px; + text-align: center; + float: right; + valign: middle; +} + +.langbox img { + padding: 0 2px; /* Ignored by IE8 */ +} + +.links { + padding-bottom: -2px; + text-align: justify; + margin-top: 5px !important; +} + +.links li { + list-style-image: url("../images/link.png") !important; +} + +a{ + white-space:nowrap; +} + +a:link{ + color: #006; + text-decoration: none; +} + +a:visited{ + color: #448; + text-decoration: none; +} + +a:hover{ + color: #f60; + text-decoration: underline; +} + +a:active{ + color: #f93; + text-decoration: underline; + font-weight: bold; +} + +pre { + font-size: 9pt; + margin: 0px 20px; +} + +tt { + font-size: 9pt; + font-weight: bold; + color: darkgreen; +} + +.tablefooter { + border: 1px solid #bbf; +} + +.tablefooter tr, .tablefooter td { + background: #bbf; + font-size: 8pt; + font-weight: bold; + line-height: 150%; + word-wrap: nowrap; + padding: 8px 1px; + border-top: 2px solid #bbf; +} + +.tidylist { + text-align: justify; + padding-right: 30px; + margin-right: 20px; +} + +div.graphspanel { + padding: 15px 5px 20px 5px; + margin: -20px; + background: #ddf url('images/lightbluetile.png'); + -moz-border-radius: 4px; + -khtml-border-radius: 4px; + border-radius: 4px; + border: 5px solid #bbf; + -moz-box-shadow: inset 0px 0px 1px 0px #002; + text-align: center !important; +} + +div.graphspanel img { + border: 1px solid #77f; + padding: 2px; + margin: 6px; + background: #ccf; + -moz-box-shadow: inset 0px 0px 0px 0px #002; + opacity: 0.9; +} + +div.graphspanel img:hover { + border: 1px solid #003; + padding: 2px; + margin: 6px; + text-align: center !important; + background: #001; + -moz-box-shadow: inset 0px 0px 2px 1px #f60; + opacity: 1; +} + +div.graphspanel hr { + margin: 10px 0; +} + +div.graphspanel form:last-child { + text-align: left; + margin: 0 20px; +} + +div.graphspanel h3 { + text-align: left; + margin: 10px 20px 10px 20px; +} \ No newline at end of file diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css index eff38321b..7ea556b58 100644 --- a/installer/resources/themes/console/dark/console.css +++ b/installer/resources/themes/console/dark/console.css @@ -126,8 +126,8 @@ div.routersummary h3 { border: 0; font-size: 9.5pt; letter-spacing: 0.04em; - margin: -7px -9px -10px -9px; - padding: 3px 0 4px 0; + margin: -7px -9px -8px -9px; + padding: 2px 0 3px 0 !important; background: #007; text-transform: uppercase; -moz-border-radius: 0; @@ -143,7 +143,7 @@ div.routersummary h4 { font-size: 8.5pt; letter-spacing: 0.03em; margin: -7px -9px -10px -9px !important; - padding: 2px 3px 5px 3px; + padding: 1px 3px 4px 3px; background: #005; text-transform: capitalize; text-decoration: none !important; @@ -154,11 +154,11 @@ div.routersummary h4 { div.routersummary table { border: 0; text-align: center !important; - margin: -4px -4px -4px -5px !important; + margin: -5px -4px -5px -5px !important; width: 185px !important; overflow: hidden; font-size: 8pt; - padding: 0px -10px; + padding: 0 -10px; background-image: none !important; background-color: transparent !important; } @@ -169,12 +169,6 @@ div.routersummary tr { border: 0 !important; } -/* -div.routersummary form { - margin-top: 8px; -} -*/ - div.routersummary form { margin: -6px 0 -7px; } @@ -203,21 +197,29 @@ div.routersummary a:hover { } div.routersummary td { - padding: 2px 2px 1px 2px; + padding: 0px 2px 0px 2px; background-image: none !important; border: 0 !important; } div routersummary hr:last-child { margin-top: 5px; - margin-bottom: 0px !important; + margin-bottom: -5px !important; } div.tunnels { - padding-top: 2px !important; + padding-top: 3px !important; margin-left: -2px; } +div.tunnels table { + margin: -3px 0 !important; +} + +div.tunnels td { + padding: 1px 2px 1px 2px; +} + div.warning { margin: 5px 20px 10px 240px; padding: 5px 25px 20px 75px; @@ -727,7 +729,7 @@ hr { hr:last-child { margin-top: 20px; - margin-bottom: 20px !important; + margin-bottom: 20px; } sidebarlogo { @@ -886,8 +888,9 @@ div.joblog:ul { div.joblog li:first-child { margin-top: 10px; } + div.joblog li:last-child { - margin-bottom: -15px; + margin-bottom: 0; } div.joblog form:first-child { diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css index a2112c044..cd413faf4 100644 --- a/installer/resources/themes/console/light/console.css +++ b/installer/resources/themes/console/light/console.css @@ -119,12 +119,17 @@ div.routersummary hr { -moz-box-shadow: inset 0px 1px 1px 1px #001; } +div routersummary hr:last-child { + margin-top: 5px; + margin-bottom: -5px !important; +} + div.routersummary h3 { border: 0; font-size: 9.5pt; letter-spacing: 0.04em; margin: -7px -9px -7px -9px; - padding: 3px 0; + padding: 1px 0; background: #c5d5fb; text-transform: uppercase; background-image: -moz-linear-gradient(top, bottom, from(#ddf), to(#c5d5fb), color-stop(25%, #c5d5fb), color-stop(100%, #ddf)); @@ -136,7 +141,7 @@ div.routersummary h4 { font-size: 8.5pt; letter-spacing: 0.02em; margin: -7px -9px -7px -9px !important; - padding: 2px 3px 3px 3px; + padding: 0px 3px 1px 3px; background: #c1d1f7; text-transform: capitalize; text-decoration: none !important; @@ -146,7 +151,7 @@ div.routersummary h4 { div.routersummary table { border: 0; text-align: center !important; - margin: -5px -5px; + margin: -7px -5px -6px -5px; width: 185px !important; overflow: hidden; font-size: 8pt; @@ -162,10 +167,10 @@ div.routersummary tr { } div.tunnels { - margin-top: 5px !important; + margin-top: 6px !important; margin-left: -2px !important; margin-bottom: 3px !important; - padding-top: 1px; + padding-top: 3px !important; } .tunnels tr { @@ -177,8 +182,8 @@ div.routersummary form { } div.routersummary form:last-child { - margin: 4px 0 -12px 0 !important; - padding: 4px; + margin: 0 !important; + padding: 0; } div.routersummary p { @@ -206,16 +211,6 @@ div.routersummary td { border: 0 !important; } -div.routersummary tr:nth-child(even) { - background-color: #f60; - background-image: none !important; -} - -div.routersummarytr:nth-child(odd) { - background-color: #f00; - background-image: none !important; -} - /* proxy error messages */ div.warning { @@ -904,22 +899,25 @@ div.joblog { overflow: auto; } + div.joblog:ul { + word-wrap: break-word !important; + text-align: justify; + line-height: 100% !important; +} + div.joblog:li { word-wrap: break-word !important; text-align: justify !important; line-height: 80% !important; -} - -div.joblog:ul { - word-wrap: break-word !important; - text-align: justify; + padding: 0; } div.joblog li:first-child { margin-top: 10px; + } div.joblog li:last-child { - margin-bottom: -15px; + margin-bottom: 5px; } div.joblog form:first-child { diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index b54d1de4b..5a4225cae 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 5; + public final static long BUILD = 6; /** for example "-test" */ public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;