From a6686cbed425991304dbb94194afe7b7af74aba9 Mon Sep 17 00:00:00 2001 From: mathiasdm Date: Mon, 14 Feb 2011 17:12:12 +0000 Subject: [PATCH 01/11] Fix headless issue without reboot. --- .../src/net/i2p/desktopgui/Main.java | 3 +- .../i2p/router/web/RouterConsoleRunner.java | 57 ++++--------------- history.txt | 3 + .../src/net/i2p/router/RouterVersion.java | 2 +- 4 files changed, 18 insertions(+), 47 deletions(-) diff --git a/apps/desktopgui/src/net/i2p/desktopgui/Main.java b/apps/desktopgui/src/net/i2p/desktopgui/Main.java index 8cd1ea707d..993970e30c 100644 --- a/apps/desktopgui/src/net/i2p/desktopgui/Main.java +++ b/apps/desktopgui/src/net/i2p/desktopgui/Main.java @@ -56,9 +56,10 @@ public class Main { */ public static void beginStartup(String[] args) { try { - String headless = RouterManager.getRouterContext().getProperty("router.isHeadless"); + String headless = System.getProperty("java.awt.headless"); boolean isHeadless = Boolean.parseBoolean(headless); if(isHeadless) { + log.warn("Headless environment: not starting desktopgui!"); return; } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java index 9f280ef2af..fe53abdb11 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -55,50 +55,17 @@ public class RouterConsoleRunner { private static final String DEFAULT_WEBAPPS_DIR = "./webapps/"; private static final String USAGE = "Bad RouterConsoleRunner arguments, check clientApp.0.args in your clients.config file! " + "Usage: [[port host[,host]] [-s sslPort [host[,host]]] [webAppsDir]]"; - private static final String PROP_HEADLESS = "router.isHeadless"; static { System.setProperty("org.mortbay.http.Version.paranoid", "true"); //Check if we are in a headless environment, set properties accordingly - List contexts = RouterContext.listContexts(); - if(contexts != null && contexts.size() > 0) { - RouterContext context = contexts.get(0); - String headless = context.getProperty(PROP_HEADLESS); - if(headless == null) { - /* - * Let's check if we are in a headless environment. - * We do this by setting headless to false - * and trying to get the graphics environment. - * If this fails, we should be headless. - */ - System.setProperty("java.awt.headless", "false"); - try { - GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); - ge.isHeadlessInstance(); - context.setProperty(PROP_HEADLESS, "false"); - } - catch(InternalError e) { - context.setProperty(PROP_HEADLESS, "true"); - } - context.router().setConfigSetting(PROP_HEADLESS, context.getProperty(PROP_HEADLESS)); - context.router().saveConfig(); - context.router().shutdown(0); - } - boolean isHeadless = true; - try { - isHeadless = Boolean.parseBoolean(headless); - } - catch(Exception e) { - //Incorrect setting, let's choose headless for safety - isHeadless = true; - } - if(isHeadless) { - System.setProperty("java.awt.headless", "true"); - } - else { - System.setProperty("java.awt.headless", "false"); - } + String headless = "java.awt.headless"; + if(GraphicsEnvironment.isHeadless()) { + System.setProperty(headless, "true"); + } + else { + System.setProperty(headless, "false"); } } @@ -359,13 +326,13 @@ public class RouterConsoleRunner { } try { - //TODO: move away from routerconsole into a separate application. - //ApplicationManager? - VersionComparator v = new VersionComparator(); - if(v.compare(System.getProperty("java.runtime.version"), "1.6") >= 0) { + //TODO: move away from routerconsole into a separate application. + //ApplicationManager? + VersionComparator v = new VersionComparator(); + if(v.compare(System.getProperty("java.runtime.version"), "1.6") >= 0) { String[] args = new String[0]; - net.i2p.desktopgui.Main.beginStartup(args); - } + net.i2p.desktopgui.Main.beginStartup(args); + } } catch (Throwable t) { t.printStackTrace(); } diff --git a/history.txt b/history.txt index 550bf53041..967b5b7632 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2011-02-14 Mathiasdm + * Fix headless issue without reboot + 2011-02-13 zzz * Connect Client: Minor NPE fix cleanup * JobQueue: Prevet NPE at shutdown (thanks liberty) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 7ca1a3ec2c..5a58b19bc2 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 = 10; + public final static long BUILD = 11; /** for example "-test" */ public final static String EXTRA = ""; From c1d7182b088ae4c0b068c013bcf522dbbe9906d0 Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 15 Feb 2011 15:19:54 +0000 Subject: [PATCH 02/11] swap constructor param order --- core/java/src/net/i2p/data/DateAndFlags.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/src/net/i2p/data/DateAndFlags.java b/core/java/src/net/i2p/data/DateAndFlags.java index 70f88ce655..0810cddca6 100644 --- a/core/java/src/net/i2p/data/DateAndFlags.java +++ b/core/java/src/net/i2p/data/DateAndFlags.java @@ -36,7 +36,7 @@ public class DateAndFlags extends DataStructureImpl { /** * @param flags 0 - 65535 */ - public DateAndFlags(int flags, long date) { + public DateAndFlags(long date, int flags) { _flags = flags; _date = date; } @@ -44,7 +44,7 @@ public class DateAndFlags extends DataStructureImpl { /** * @param flags 0 - 65535 */ - public DateAndFlags(int flags, Date date) { + public DateAndFlags(Date date, int flags) { _flags = flags; _date = date.getTime(); } From eb7e1d24cd356fa55323aaef52810479e467f658 Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 15 Feb 2011 15:21:32 +0000 Subject: [PATCH 03/11] * Profiles: Punish rejections more, in an attempt to spread the load more through the network --- .../peermanager/CapacityCalculator.java | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java index 9d23ceddf5..96570260c5 100644 --- a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java +++ b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java @@ -11,7 +11,7 @@ class CapacityCalculator { private static final I2PAppContext _context = I2PAppContext.getGlobalContext(); /** used to adjust each period so that we keep trying to expand the peer's capacity */ - static long GROWTH_FACTOR = 5; + static final long GROWTH_FACTOR = 5; /** the calculator estimates over a 1 hour period */ private static long ESTIMATE_PERIOD = 60*60*1000; @@ -83,37 +83,42 @@ class CapacityCalculator { * * Let A = accects, R = rejects, F = fails * @return estimated and adjusted accepts per hour, for the given period - * which is, more or less, max(0, 5 + (A * (A / (A + R))) - (4 * F)) + * which is, more or less, max(0, 5 + (A * (A / (A + 2R))) - (4 * F)) */ private static double estimateCapacity(RateStat acceptStat, RateStat rejectStat, RateStat failedStat, int period) { Rate curAccepted = acceptStat.getRate(period); Rate curRejected = rejectStat.getRate(period); Rate curFailed = failedStat.getRate(period); - long eventCount = 0; - if (curAccepted != null) + double eventCount = 0; + if (curAccepted != null) { eventCount = curAccepted.getCurrentEventCount() + curAccepted.getLastEventCount(); - // Punish for rejections. - // We don't want to simply do eventCount -= rejected or we get to zero with 50% rejection, - // and we don't want everybody to be at zero during times of congestion. - if (eventCount > 0) { - long rejected = curRejected.getCurrentEventCount() + curRejected.getLastEventCount(); - eventCount = eventCount * eventCount / (eventCount + rejected); + // Punish for rejections. + // We don't want to simply do eventCount -= rejected or we get to zero with 50% rejection, + // and we don't want everybody to be at zero during times of congestion. + if (eventCount > 0 && curRejected != null) { + long rejected = curRejected.getCurrentEventCount() + curRejected.getLastEventCount(); + if (rejected > 0) + eventCount *= eventCount / (eventCount + (2 * rejected)); + } } + double stretch = ((double)ESTIMATE_PERIOD) / period; double val = eventCount * stretch; - long failed = 0; + // Let's say a failure is 4 times worse than a rejection. // It's actually much worse than that, but with 2-hop tunnels and a 8-peer // fast pool, for example, you have a 1/7 chance of being falsely blamed. // We also don't want to drive everybody's capacity to zero, that isn't helpful. - if (curFailed != null) - failed = (long) (0.5 + (4.0 * (curFailed.getCurrentTotalValue() + curFailed.getLastTotalValue()) / 100.0)); - if (failed > 0) { - //if ( (period <= 10*60*1000) && (curFailed.getCurrentEventCount() > 0) ) - // return 0.0d; // their tunnels have failed in the last 0-10 minutes - //else - val -= failed * stretch; + if (curFailed != null) { + double failed = curFailed.getCurrentTotalValue() + curFailed.getLastTotalValue(); + if (failed > 0) { + //if ( (period <= 10*60*1000) && (curFailed.getCurrentEventCount() > 0) ) + // return 0.0d; // their tunnels have failed in the last 0-10 minutes + //else + // .04 = 4.0 / 100.0 adjustment to failed + val -= 0.04 * failed * stretch; + } } val += GROWTH_FACTOR; From 8fa49968ed60282a5acda89a5e622f28ae08ece8 Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 15 Feb 2011 15:22:57 +0000 Subject: [PATCH 04/11] * i2psnark: Details link shuffle, mostly restore 0.8.3 behavior --- .../org/klomp/snark/web/I2PSnarkServlet.java | 63 ++++++++++++------- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index a3d77a814a..77207ec08a 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -857,20 +857,53 @@ public class I2PSnarkServlet extends Default { out.write(""); out.write(statusString + "\n\t"); + // (i) icon column out.write(""); + if (isValid && meta.getAnnounce() != null) { + // Link to local details page - note that trailing slash on a single-file torrent + // gets us to the details page instead of the file. + //StringBuilder buf = new StringBuilder(128); + //buf.append("\"").append(_("Info")).append("\""); + //out.write(buf.toString()); + + // Link to tracker details page + String trackerLink = getTrackerLink(meta.getAnnounce(), snark.getInfoHash()); + if (trackerLink != null) + out.write(trackerLink); + } + + // File type icon column + out.write("\n"); if (isValid) { + // Link to local details page - note that trailing slash on a single-file torrent + // gets us to the details page instead of the file. StringBuilder buf = new StringBuilder(128); buf.append("\"").append(_("Info")).append("\""); - out.write(buf.toString()); + .append("\">"); + out.write(buf.toString()); + } + String icon; + if (isMultiFile) + icon = "folder"; + else if (isValid) + icon = toIcon(meta.getName()); + else + icon = "magnet"; + if (isValid) { + out.write(toImg(icon, _("Info"))); + out.write(""); + } else { + out.write(toImg(icon)); } - out.write("\n"); - StringBuilder buf = null; + // Torrent name column + out.write(""); if (remaining == 0 || isMultiFile) { - buf = new StringBuilder(128); + StringBuilder buf = new StringBuilder(128); buf.append(""); out.write(buf.toString()); } - String icon; - if (isMultiFile) - icon = "folder"; - else if (isValid) - icon = toIcon(meta.getName()); - else - icon = "magnet"; - if (remaining == 0 || isMultiFile) { - out.write(toImg(icon, _("Open"))); - out.write(""); - } else { - out.write(toImg(icon)); - } - out.write(""); - if (remaining == 0 || isMultiFile) - out.write(buf.toString()); out.write(filename); if (remaining == 0 || isMultiFile) out.write(""); @@ -1169,7 +1186,7 @@ public class I2PSnarkServlet extends Default { out.write(_("From URL")); out.write(": \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) //out.write("From file:
"); From 4d59570df25818a95d24359c6d09cdcece863f45 Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 15 Feb 2011 15:25:16 +0000 Subject: [PATCH 05/11] * Timers: Log cleanup --- core/java/src/net/i2p/util/Executor.java | 7 ++++--- core/java/src/net/i2p/util/SimpleScheduler.java | 11 +++++------ core/java/src/net/i2p/util/SimpleTimer.java | 2 ++ core/java/src/net/i2p/util/SimpleTimer2.java | 8 ++++---- history.txt | 9 ++++++++- router/java/src/net/i2p/router/RouterVersion.java | 2 +- 6 files changed, 24 insertions(+), 15 deletions(-) diff --git a/core/java/src/net/i2p/util/Executor.java b/core/java/src/net/i2p/util/Executor.java index 8092d7ac44..3c81d46f15 100644 --- a/core/java/src/net/i2p/util/Executor.java +++ b/core/java/src/net/i2p/util/Executor.java @@ -5,10 +5,10 @@ import java.util.List; import net.i2p.I2PAppContext; class Executor implements Runnable { - private I2PAppContext _context; + private final I2PAppContext _context; private Log _log; private final List _readyEvents; - private SimpleStore runn; + private final SimpleStore runn; public Executor(I2PAppContext ctx, Log log, List events, SimpleStore x) { _context = ctx; @@ -31,9 +31,10 @@ class Executor implements Runnable { try { evt.timeReached(); } catch (Throwable t) { - log("wtf, event borked: " + evt, t); + log("Executing task " + evt + " exited unexpectedly, please report", t); } long time = _context.clock().now() - before; + // FIXME _log won't be non-null unless we already had a CRIT if ( (time > 1000) && (_log != null) && (_log.shouldLog(Log.WARN)) ) _log.warn("wtf, event execution took " + time + ": " + evt); } diff --git a/core/java/src/net/i2p/util/SimpleScheduler.java b/core/java/src/net/i2p/util/SimpleScheduler.java index f764debe99..951f5929eb 100644 --- a/core/java/src/net/i2p/util/SimpleScheduler.java +++ b/core/java/src/net/i2p/util/SimpleScheduler.java @@ -30,10 +30,10 @@ public class SimpleScheduler { public static SimpleScheduler getInstance() { return _instance; } private static final int MIN_THREADS = 2; private static final int MAX_THREADS = 4; - private I2PAppContext _context; - private Log _log; - private ScheduledThreadPoolExecutor _executor; - private String _name; + private final I2PAppContext _context; + private final Log _log; + private final ScheduledThreadPoolExecutor _executor; + private final String _name; private int _count; private final int _threads; @@ -42,7 +42,6 @@ public class SimpleScheduler { _context = I2PAppContext.getGlobalContext(); _log = _context.logManager().getLog(SimpleScheduler.class); _name = name; - _count = 0; long maxMemory = Runtime.getRuntime().maxMemory(); _threads = (int) Math.max(MIN_THREADS, Math.min(MAX_THREADS, 1 + (maxMemory / (32*1024*1024)))); _executor = new ScheduledThreadPoolExecutor(_threads, new CustomThreadFactory()); @@ -139,7 +138,7 @@ public class SimpleScheduler { try { _timedEvent.timeReached(); } catch (Throwable t) { - _log.log(Log.CRIT, _name + " wtf, event borked: " + _timedEvent, t); + _log.log(Log.CRIT, _name + ": Scheduled task " + _timedEvent + " exited unexpectedly, please report", t); } long time = System.currentTimeMillis() - before; if (time > 1000 && _log.shouldLog(Log.WARN)) diff --git a/core/java/src/net/i2p/util/SimpleTimer.java b/core/java/src/net/i2p/util/SimpleTimer.java index f428afceb9..ee3f35120f 100644 --- a/core/java/src/net/i2p/util/SimpleTimer.java +++ b/core/java/src/net/i2p/util/SimpleTimer.java @@ -14,6 +14,8 @@ import net.i2p.I2PAppContext; * appropriate time. The method that is fired however should NOT block (otherwise * they b0rk the timer). * + * WARNING - Deprecated. + * This is an inefficient mess. Use SimpleScheduler or SimpleTimer2 if possible. */ public class SimpleTimer { private static final SimpleTimer _instance = new SimpleTimer(); diff --git a/core/java/src/net/i2p/util/SimpleTimer2.java b/core/java/src/net/i2p/util/SimpleTimer2.java index 44e405b248..a497915e23 100644 --- a/core/java/src/net/i2p/util/SimpleTimer2.java +++ b/core/java/src/net/i2p/util/SimpleTimer2.java @@ -29,10 +29,10 @@ public class SimpleTimer2 { public static SimpleTimer2 getInstance() { return _instance; } private static final int MIN_THREADS = 2; private static final int MAX_THREADS = 4; - private I2PAppContext _context; + private final I2PAppContext _context; private static Log _log; // static so TimedEvent can use it - private ScheduledThreadPoolExecutor _executor; - private String _name; + private final ScheduledThreadPoolExecutor _executor; + private final String _name; private int _count; private final int _threads; @@ -223,7 +223,7 @@ public class SimpleTimer2 { try { timeReached(); } catch (Throwable t) { - _log.log(Log.CRIT, _pool + " wtf, event borked: " + this, t); + _log.log(Log.CRIT, _pool + ": Timed task " + this + " exited unexpectedly, please report", t); } long time = System.currentTimeMillis() - before; if (time > 500 && _log.shouldLog(Log.WARN)) diff --git a/history.txt b/history.txt index 967b5b7632..4aa6626fac 100644 --- a/history.txt +++ b/history.txt @@ -1,9 +1,15 @@ +2011-02-15 zzz + * i2psnark: Details link shuffle, mostly restore 0.8.3 behavior + * Profiles: Punish rejections more, in an attempt to spread the + load more through the network + * Timers: Log cleanup + 2011-02-14 Mathiasdm * Fix headless issue without reboot 2011-02-13 zzz * Connect Client: Minor NPE fix cleanup - * JobQueue: Prevet NPE at shutdown (thanks liberty) + * JobQueue: Prevent NPE at shutdown (thanks liberty) * GeoIP: Prevent startup NPE (ticket #413, thanks RN) * NetDB: Prevent ExpireLeaseJob NPE (thanks sponge) @@ -21,6 +27,7 @@ * I2CP: Correctly close internal connections on the router side when closed by the client, was causing massive memory leak for internal clients using lots of sessions (thanks sponge) + (ticket #397) * i2psnark: - Improved magnet link parsing, use tr parameter if present * i2ptunnel: Change shared clients default for new clients to false diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 5a58b19bc2..e36cd3b143 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 = 11; + public final static long BUILD = 12; /** for example "-test" */ public final static String EXTRA = ""; From e75d0b765461b5abc2ea58814a7524cd3225bc30 Mon Sep 17 00:00:00 2001 From: hiddenz Date: Tue, 15 Feb 2011 17:17:59 +0000 Subject: [PATCH 06/11] routerconsole: update russian translation --- apps/routerconsole/locale/messages_ru.po | 323 ++++++++++++----------- 1 file changed, 164 insertions(+), 159 deletions(-) diff --git a/apps/routerconsole/locale/messages_ru.po b/apps/routerconsole/locale/messages_ru.po index f9f42f85ef..4f54c4fa49 100644 --- a/apps/routerconsole/locale/messages_ru.po +++ b/apps/routerconsole/locale/messages_ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P routerconsole\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-17 18:53+0000\n" -"PO-Revision-Date: 2011-01-18 01:19+0500\n" +"POT-Creation-Date: 2011-02-14 18:14+0000\n" +"PO-Revision-Date: 2011-02-14 23:21+0500\n" "Last-Translator: Hidden Z \n" "Language-Team: \n" "Language: \n" @@ -84,21 +84,21 @@ msgstr[0] "{0} день" msgstr[1] "{0} дней" msgstr[2] "{0} дней" -#: ../../../router/java/src/net/i2p/router/Blocklist.java:126 +#: ../../../router/java/src/net/i2p/router/Blocklist.java:122 #, java-format msgid "Banned by router hash: {0}" msgstr "Забанен по хэшу маршрутизатора: {0}" -#: ../../../router/java/src/net/i2p/router/Blocklist.java:128 +#: ../../../router/java/src/net/i2p/router/Blocklist.java:124 msgid "Banned by router hash" msgstr "Забанен по хэшу маршрутизатора" #. Temporary reason, until the job finishes -#: ../../../router/java/src/net/i2p/router/Blocklist.java:673 +#: ../../../router/java/src/net/i2p/router/Blocklist.java:669 msgid "IP banned" msgstr "IP заблокирован" -#: ../../../router/java/src/net/i2p/router/Blocklist.java:743 +#: ../../../router/java/src/net/i2p/router/Blocklist.java:739 #, java-format msgid "IP banned by blocklist.txt entry {0}" msgstr "IP заблокирован по записи в blocklist.txt: {0}" @@ -152,12 +152,12 @@ msgstr "Принимаем туннели" msgid "Rejecting tunnels" msgstr "Не принимаем туннели" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:98 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:105 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20 msgid "Reseeding" msgstr "Начальная загрузка" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:121 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128 #, java-format msgid "Reseed fetched only 1 router." msgid_plural "Reseed fetched only {0} routers." @@ -165,29 +165,29 @@ msgstr[0] "При начальной загрузке получены данн msgstr[1] "При начальной загрузке получены данные только о {0} роутерах." msgstr[2] "При начальной загрузке получены данные только о {0} роутерах." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:128 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:135 msgid "Reseed failed." msgstr "Попытка начальной загрузки провалилась." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:129 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:136 #, java-format msgid "See {0} for help." msgstr "Смотрите {0} для помощи." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:137 msgid "reseed configuration page" msgstr "страница настройки начальной загрузки" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:239 msgid "Reseeding: fetching seed URL." msgstr "Производится начальная загрузка: загружается URL каталога маршрутизаторов." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:281 #, java-format msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)." msgstr "Производится начальная загрузка: получение информации о маршрутизаторах ({0} удачно, {1} ошибок)." -#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:513 +#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:512 msgid "NetDb entry" msgstr "показать описание в NetDb" @@ -196,38 +196,38 @@ msgstr "показать описание в NetDb" msgid "No transports (hidden or starting up?)" msgstr "Нет транспортных протоколов (в скрытом режиме или запущен недавно?)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:452 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:450 msgid "Unreachable on any transport" msgstr "Недоступен по всем транспортным протоколам" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:501 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:499 msgid "Router Transport Addresses" msgstr "Адреса транспортов маршрутизатора" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:506 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:504 #, java-format msgid "{0} is used for outbound connections only" msgstr "{0} используется только для исходящих соединений" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:518 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:123 msgid "Help" msgstr "Справка" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519 msgid "Your transport connection limits are automatically set based on your configured bandwidth." msgstr "Лимиты транспортных соединений назначены автоматически на основе заданной вами пропускной способности." -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521 msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page." msgstr "Для переопределения этих лимитов добавьте параметры i2np.ntcp.maxConnections=nnn и i2np.udp.maxConnections=nnn на странице расширенных настроек." -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257 msgid "Definitions" msgstr "Условные обозначения" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:735 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24 @@ -239,149 +239,149 @@ msgstr "Условные обозначения" msgid "Peer" msgstr "Пир" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524 msgid "The remote peer, identified by router hash" msgstr "Уникальный идентификатор пира (несколько начальных символов из хеша его маршрутизатора)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:736 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894 msgid "Dir" msgstr "Направление" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526 msgid "Inbound connection" msgstr "Входящее соединение" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528 msgid "Outbound connection" msgstr "Исходящее соединение" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530 msgid "They offered to introduce us (help other peers traverse our firewall)" msgstr "Этот пир предлагает себя в качестве нашего посредника (для того, чтобы другие пиры могли соединяться с нами в обход нашего брандмауэра)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532 msgid "We offered to introduce them (help other peers traverse their firewall)" msgstr "Мы предлагаем себя в качестве посредника для этого пира (для того, чтобы другие пиры могли соединяться с ним в обход его брандмауэра)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533 msgid "How long since a packet has been received / sent" msgstr "Сколько прошло времени после приёма/передачи последнего пакета" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:737 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 msgid "Idle" msgstr "Неактивен" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156 msgid "In/Out" msgstr "Приём/Передача" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)" msgstr "Усреднённые скорости приёма / передачи (КБайт/сек) " -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 msgid "How long ago this connection was established" msgstr "Время жизни соединения" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:739 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905 msgid "Up" msgstr "Подключен" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1907 msgid "Skew" msgstr "Сдвиг" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536 msgid "The difference between the peer's clock and your own" msgstr "Разница хода часов между пиром и нами" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 msgid "The congestion window, which is how many bytes can be sent without an acknowledgement" msgstr "Congestion Window. Окно насыщения — количество байт, которое мы можем послать до ожидания подтверждения" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 msgid "The number of sent messages awaiting acknowledgement" msgstr "Количество отправленных сообщений ожидающих подтверждения" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 msgid "The maximum number of concurrent messages to send" msgstr "Максимальное количество параллельно отправляемых сообщений" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 msgid "The number of pending sends which exceed congestion window" msgstr "Количество ожидающих посылок превосходящих размер окна насыщения" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 msgid "The slow start threshold" msgstr "Slow Start Threshold. Величина порога медленного старта" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 msgid "The round trip time in milliseconds" msgstr "Round-Trip Time. Время между отправкой запроса и получением ответа (миллисекунды)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 msgid "Dev" msgstr "Отклонение" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 msgid "The standard deviation of the round trip time in milliseconds" msgstr "Среднеквадратическое отклонение RTT (миллисекунды)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 msgid "The retransmit timeout in milliseconds" msgstr "Retransmit Time-Out. Время ожидания подтверждения перед повторной посылкой пакета (миллисекунды)" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)" msgstr "Maximum Transfer Unit. Текущий максимальный размер исходящего пакета / максимальный размер принятого пакета (байт) " -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:741 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 msgid "TX" msgstr "Передано" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 msgid "The total number of packets sent to the peer" msgstr "Общее количество посланных пиру пакетов" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:742 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 msgid "RX" msgstr "Принято" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 msgid "The total number of packets received from the peer" msgstr "Общее количество принятых от пира пакетов" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929 msgid "Dup TX" msgstr "Повт. принято" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 msgid "The total number of packets retransmitted to the peer" msgstr "Общее количество повторно посланных пиру пакетов" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1931 msgid "Dup RX" msgstr "Повт. передано" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 msgid "The total number of duplicate packets received from the peer" msgstr "Общее количество повторно принятых от пира пакетов" @@ -2184,79 +2184,51 @@ msgid "Rekeying after graceful shutdown" msgstr "Смена ключа после плавного выключения" #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323 msgid "Run I2P on startup" msgstr "Запускать I2P при старте" #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325 msgid "Don't run I2P on startup" msgstr "Не запускать I2P при старте" #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:355 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:343 msgid "Dump threads" msgstr "Вывести список потоков" #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323 -msgid "Show systray icon" -msgstr "Показать значок статуса" - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96 -msgid "System tray icon enabled." -msgstr "Включен значок-индикатор статуса в области уведомлений." - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:98 -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:110 -msgid "System tray icon feature not supported on this platform. Sorry!" -msgstr "Вывод индикаторов в области уведомлений на этой платформе не поддерживается. Извините!" - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:101 -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113 -msgid "Warning: unable to contact the systray manager" -msgstr "Предупреждение: Не удалось соединиться с менеджером области уведомлений" - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325 -msgid "Hide systray icon" -msgstr "Спрятать значок статуса" - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:108 -msgid "System tray icon disabled." -msgstr "Выключен значок-индикатор статуса в области уведомлений." - -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:363 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:351 msgid "View console on startup" msgstr "Открывать веб-консоль при запуске I2P" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:117 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:93 msgid "Console is to be shown on startup" msgstr "Веб-консоль будет открываться при запуске I2P" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:94 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353 msgid "Do not view console on startup" msgstr "Не открывать веб-консоль при запуске I2P" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:120 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96 msgid "Console is not to be shown on startup" msgstr "Веб-консоль не будет открываться при запуске I2P" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:129 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:105 msgid "Service installed" msgstr "Служба установлена" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:131 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:107 msgid "Warning: unable to install the service" msgstr "Предупреждение: не удалось установить службу" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:137 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113 msgid "Service removed" msgstr "Служба удалена" -#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:139 +#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115 msgid "Warning: unable to remove the service" msgstr "Предупреждение: не удалось удалить службу" @@ -2500,7 +2472,7 @@ msgstr "Строить график средних значений" #: ../java/src/net/i2p/router/web/GraphHelper.java:152 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321 msgid "or" msgstr "или" @@ -2768,127 +2740,127 @@ msgstr "Загружается плагин" msgid "{0}B transferred" msgstr "{0} байт скачано" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:152 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:153 msgid "Plugin downloaded" msgstr "Плагин загружен" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:157 -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:344 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:345 #, java-format msgid "Cannot create plugin directory {0}" msgstr "Не удалось создать директорию плагина {0}" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:167 #: ../java/src/net/i2p/router/web/UpdateHandler.java:298 #, java-format msgid "from {0}" msgstr "из {0}" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:176 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:177 #, java-format msgid "Plugin from {0} is corrupt" msgstr "Загруженный из {0} плагин поврежден" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:187 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:188 #, java-format msgid "Plugin from {0} does not contain the required configuration file" msgstr "Загруженный из {0} плагин не содержит необходимого файла настроек" #. updateStatus("" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + ""); -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:200 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:201 #, java-format msgid "Plugin from {0} contains an invalid key" msgstr "Загруженный из {0} плагин содержит некорректный ключ" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:219 -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:228 -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:237 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:220 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:229 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:238 #, java-format msgid "Plugin signature verification of {0} failed" msgstr "Плагин {0} содержит недействительную подпись" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:252 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:253 #, java-format msgid "Plugin from {0} has invalid name or version" msgstr "Загруженный из {0} плагин имеет некорректное название или версию" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:257 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:258 #, java-format msgid "Plugin {0} has mismatched versions" msgstr "Плагин {0} содержит несовпадающие версии" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:265 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:266 #, java-format msgid "This plugin requires I2P version {0} or higher" msgstr "Для этого плагина требуется версия I2P {0} и выше" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:273 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:274 #, java-format msgid "This plugin requires Java version {0} or higher" msgstr "Для этого плагина требуется версия Java {0} и выше" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:281 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:282 msgid "Downloaded plugin is for new installs only, but the plugin is already installed" msgstr "Загруженный инсталлятор плагина предназначен только для первоначальной установки, но такой плагин уже установлен" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:294 msgid "Installed plugin does not contain the required configuration file" msgstr "Установленный плагин не содержит необходимого файла настроек" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:301 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:302 msgid "Signature of downloaded plugin does not match installed plugin" msgstr "Подпись загруженного плагина не совпадает с установленным плагином" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:308 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:309 #, java-format msgid "Downloaded plugin version {0} is not newer than installed plugin" msgstr "Версия скачанного плагина {0} не новее версии уже установленного плагина" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:315 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:316 #, java-format msgid "Plugin update requires installed plugin version {0} or higher" msgstr "Для обновления плагина требуется установленная версия плагина {0} и выше" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:322 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:323 #, java-format msgid "Plugin update requires installed plugin version {0} or lower" msgstr "Для обновления плагина требуется установленная версия плагина {0} и ниже" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:339 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:340 msgid "Plugin is for upgrades only, but the plugin is not installed" msgstr "Загруженный инсталлятор плагина предназначен только для обновления, но такой плагин ещё не был установлен" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:352 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:353 #, java-format msgid "Failed to install plugin in {0}" msgstr "Не удалось установить плагин в {0}" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:359 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360 #, java-format msgid "Plugin {0} installed, router restart required" msgstr "Плагин {0} установлен, требуется перезапуск маршрутизатора" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:361 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:362 #, java-format msgid "Plugin {0} installed" msgstr "Плагин {0} установлен" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:379 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:380 #, java-format msgid "Plugin {0} installed and started" msgstr "Плагин {0} установлен и запущен" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:382 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383 #, java-format msgid "Plugin {0} installed but failed to start, check logs" msgstr "Плагин {0} установлен, но при его запуске произошел сбой, загляните в логи" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:385 #, java-format msgid "Plugin {0} installed but failed to start" msgstr "Плагин {0} установлен, но при его запуске произошел сбой" -#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394 +#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:395 #, java-format msgid "Failed to download plugin from {0}" msgstr "Не удалось скачать плагин из {0}" @@ -3214,37 +3186,44 @@ msgstr "Среднее" msgid "Highest average" msgstr "Максимальное среднее" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:202 +#. breaking the sentence like before makes translation in my language impossible. +#: ../java/src/net/i2p/router/web/StatsGenerator.java:201 #, java-format -msgid "in this period which ended {0} ago." -msgstr "в этом периоде который закончился {0} назад." +msgid "There were {0} event(s) in this period" +msgstr "Было {0} событий в этом периоде" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:204 +#. buf.append(' '); +#: ../java/src/net/i2p/router/web/StatsGenerator.java:203 +#, java-format +msgid " which ended {0} ago." +msgstr "который закончился {0} назад." + +#: ../java/src/net/i2p/router/web/StatsGenerator.java:205 msgid "No events" msgstr "Нет событий" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:210 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:211 msgid "Average event count" msgstr "Среднее число событий" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:212 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:213 msgid "Events in peak period" msgstr "Событий за период пика" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:220 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:221 msgid "Graph Data" msgstr "График данных" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:222 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:223 msgid "Graph Event Count" msgstr "График количества событий" -#: ../java/src/net/i2p/router/web/StatsGenerator.java:225 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:226 msgid "Export Data as XML" msgstr "Экспорт данных в XML" #. Display the strict average -#: ../java/src/net/i2p/router/web/StatsGenerator.java:230 +#: ../java/src/net/i2p/router/web/StatsGenerator.java:231 msgid "Lifetime average value" msgstr "Среднее значение за время работы" @@ -4363,7 +4342,7 @@ msgid "Specify Port" msgstr "Задать порт вручную" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330 msgid "Note" msgstr "ВНИМАНИЕ" @@ -5020,58 +4999,42 @@ msgid "After tearing down the router, it will wait 1 minute before starting back msgstr " " #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315 -msgid "Systray integration" -msgstr "Интеграция в область уведомлений" - -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317 -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:319 -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:321 -msgid "If you are on windows, you can either enable or disable that icon here." -msgstr "Если Вы пользуетесь I2P под Windows, то здесь Вы можете настроить отображение этого значка." - -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327 msgid "Run on startup" msgstr "Автоматический запуск I2P" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317 msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly." msgstr "Вы можете настроить автоматическую загрузку маршрутизатора при каждом запуске Windows. В зависимости от выбранной кнопки I2P немедленно установит или удалит свою службу из списка служб Windows." -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319 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:341 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329 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:343 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331 msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat." msgstr "Возможно лучше плавно остановить маршрутизатор и после этого запустить файл C:\\Program Files\\I2P\\uninstall_i2p_service_winnt.bat." -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335 msgid "Debugging" msgstr "Отладка" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337 msgid "View the job queue" msgstr "Просмотр очереди заданий" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341 msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to wrapper.log." msgstr "В некоторых случаях для отладки может пригодиться список состояний потоков I2P-маршутизатора. Для получения такого списка нажмите эту кнопку. Список будет сохранен в файле wrapper.log." -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:347 msgid "Launch browser on router startup?" msgstr "Запускать браузер при старте I2P?" -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349 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 "Основной интерфейс настройки I2P это веб-консоль. Здесь можно выбрать автоматическое открытие при запуске маршрутизатора страницы" @@ -5434,6 +5397,48 @@ msgstr "обзор туннелей" msgid "I2P Tunnel Summary" msgstr "Обзор туннелей I2P" +#~ msgid "Show systray icon" +#~ msgstr "Показать значок статуса" + +#~ msgid "System tray icon enabled." +#~ msgstr "Включен значок-индикатор статуса в области уведомлений." + +#~ msgid "System tray icon feature not supported on this platform. Sorry!" +#~ msgstr "" +#~ "Вывод индикаторов в области уведомлений на этой платформе не " +#~ "поддерживается. Извините!" + +#~ msgid "Warning: unable to contact the systray manager" +#~ msgstr "" +#~ "Предупреждение: Не удалось соединиться с менеджером области уведомлений" + +#~ msgid "Hide systray icon" +#~ msgstr "Спрятать значок статуса" + +#~ msgid "System tray icon disabled." +#~ msgstr "Выключен значок-индикатор статуса в области уведомлений." + +#~ msgid "Systray integration" +#~ msgstr "Интеграция в область уведомлений" + +#~ 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, у Вас есть возможность отслеживать статус " +#~ "маршрутизатора через значок в области уведомлений" + +#~ msgid "" +#~ "(later on, I2P client applications will be able to integrate their own " +#~ "functionality into the system tray as well)." +#~ msgstr "(когда-нибудь и клиентские приложения для I2P будут там доступны)." + +#~ msgid "" +#~ "If you are on windows, you can either enable or disable that icon here." +#~ msgstr "" +#~ "Если Вы пользуетесь I2P под Windows, то здесь Вы можете настроить " +#~ "отображение этого значка." + #~ msgid "" #~ "Ensure that nothing blocks outbound HTTP, check logs and if nothing helps, read the Date: Tue, 15 Feb 2011 17:18:20 +0000 Subject: [PATCH 07/11] i2ptunnel: update russian translation --- apps/i2ptunnel/locale/messages_ru.po | 59 ++++++++++++++++------------ 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/apps/i2ptunnel/locale/messages_ru.po b/apps/i2ptunnel/locale/messages_ru.po index 2b9790b67c..d9075fa847 100644 --- a/apps/i2ptunnel/locale/messages_ru.po +++ b/apps/i2ptunnel/locale/messages_ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P i2ptunnel\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-17 18:54+0000\n" -"PO-Revision-Date: 2011-01-18 00:34+0500\n" +"POT-Creation-Date: 2011-02-14 18:14+0000\n" +"PO-Revision-Date: 2011-02-14 23:24+0500\n" "Last-Translator: Hidden Z \n" "Language-Team: foo \n" "Language: \n" @@ -32,81 +32,90 @@ msgstr "Jump-сервисы, которые, возможно, знают нуж msgid "internal" msgstr "внутренний" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:170 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:171 msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit." msgstr "Неправильно переданная форма, возможно вы использовали действие браузера \"назад\" или \"обновить\". Пожалуйста повторите попытку." -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:217 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:218 msgid "Configuration reloaded for all tunnels" msgstr "Конфигурация для всех туннелей перечитана" #. and give them something to look at in any case -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:229 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:230 msgid "Starting tunnel" msgstr "Запуск туннеля" #. and give them something to look at in any case -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:243 msgid "Stopping tunnel" msgstr "Остановка туннеля" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:311 +msgid "Configuration changes saved" +msgstr "Настройки сохранены" + +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:314 +msgid "Failed to save configuration" +msgstr "Не удалось сохранить настройки" + +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398 msgid "New Tunnel" msgstr "Новый туннель" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:409 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418 msgid "Standard client" msgstr "Обычный клиент" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:410 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419 msgid "HTTP client" msgstr "HTTP-клиент" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:411 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420 msgid "IRC client" msgstr "IRC-клиент" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:412 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:421 msgid "Standard server" msgstr "Обычный сервер" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:413 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:422 msgid "HTTP server" msgstr "HTTP-сервер" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:414 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:423 msgid "SOCKS 4/4a/5 proxy" msgstr "SOCKS 4/4a/5 прокси" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:415 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:424 msgid "SOCKS IRC proxy" msgstr "SOCKS IRC прокси" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:416 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:425 msgid "CONNECT/SSL/HTTPS proxy" msgstr "CONNECT/SSL/HTTPS прокси" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:417 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:426 msgid "IRC server" msgstr "IRC-сервер" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:427 msgid "Streamr client" msgstr "Streamr-клиент" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:428 msgid "Streamr server" msgstr "Streamr-сервер" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:429 msgid "HTTP bidir" msgstr "HTTP bidir (экспериментальный двунаправленный режим, инструкцию спрашивайте у sponge)" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:508 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:517 +#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290 msgid "Host not set" msgstr "Хост не задан" -#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:512 +#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:521 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:272 msgid "Port not set" msgstr "Порт не задан" @@ -560,8 +569,8 @@ msgid "Access List" msgstr "Список доступа" #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451 -msgid "Inbound connection limits (0 to disable)" -msgstr "Ограничение входящих соединений (0 для отключения)" +msgid "Inbound connection limits (0=unlimited)" +msgstr "Ограничение входящих соединений (0=неограниченно)" #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453 msgid "Per client" @@ -584,8 +593,8 @@ msgid "Total" msgstr "Всего" #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475 -msgid "Max concurrent connections (0 to disable)" -msgstr "Максимум одновременных соединений (0 для отключения)" +msgid "Max concurrent connections (0=unlimited)" +msgstr "Максимум одновременных соединений (0=неограниченно)" #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493 msgid "New Certificate type" From ce634d4f449a679d1df60cc31f6091f206ccf220 Mon Sep 17 00:00:00 2001 From: hiddenz Date: Tue, 15 Feb 2011 17:18:44 +0000 Subject: [PATCH 08/11] i2psnark: update russian translation --- apps/i2psnark/locale/messages_ru.po | 549 ++++++++++++++++------------ 1 file changed, 318 insertions(+), 231 deletions(-) diff --git a/apps/i2psnark/locale/messages_ru.po b/apps/i2psnark/locale/messages_ru.po index ed82ff35c9..3bb9030329 100644 --- a/apps/i2psnark/locale/messages_ru.po +++ b/apps/i2psnark/locale/messages_ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P i2psnark\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-13 19:43+0000\n" -"PO-Revision-Date: 2010-12-16 00:10+0500\n" +"POT-Creation-Date: 2011-02-14 18:14+0000\n" +"PO-Revision-Date: 2011-02-15 22:16+0500\n" "Last-Translator: Hidden Z \n" "Language-Team: foo \n" "Language: \n" @@ -19,318 +19,371 @@ msgstr "" "X-Poedit-Language: Russian\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" -#: ../java/src/org/klomp/snark/SnarkManager.java:94 -#, java-format -msgid "Adding torrents in {0} minutes" -msgstr "Торренты будут подгружены через {0} минут(ы)" - -#: ../java/src/org/klomp/snark/SnarkManager.java:296 +#: ../java/src/org/klomp/snark/SnarkManager.java:307 #, java-format msgid "Total uploaders limit changed to {0}" msgstr "Новое значение лимита количества слотов отдачи: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:298 +#: ../java/src/org/klomp/snark/SnarkManager.java:309 #, java-format msgid "Minimum total uploaders limit is {0}" msgstr "Минимально допустимое значение для количества слотов: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:310 +#: ../java/src/org/klomp/snark/SnarkManager.java:321 #, java-format msgid "Up BW limit changed to {0}KBps" msgstr "Новое значение лимита скорости отдачи: {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:312 +#: ../java/src/org/klomp/snark/SnarkManager.java:323 #, java-format msgid "Minimum up bandwidth limit is {0}KBps" msgstr "Минимально допустимое значение для лимита скорости отдачи: {0} KBps" -#: ../java/src/org/klomp/snark/SnarkManager.java:324 +#: ../java/src/org/klomp/snark/SnarkManager.java:335 #, java-format -msgid "Startup delay limit changed to {0} minutes" -msgstr "Новое значение задержки запуска: {0} минут(ы)" +msgid "Startup delay changed to {0}" +msgstr "Задержка запуска изменена на {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:371 +#: ../java/src/org/klomp/snark/SnarkManager.java:386 msgid "I2CP and tunnel changes will take effect after stopping all torrents" msgstr "Изменения настроек I2CP и туннелей вступят в силу после остановки всех торрентов." -#: ../java/src/org/klomp/snark/SnarkManager.java:378 +#: ../java/src/org/klomp/snark/SnarkManager.java:393 msgid "Disconnecting old I2CP destination" msgstr "Рассоединяемся по старому адресу I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:382 +#: ../java/src/org/klomp/snark/SnarkManager.java:397 #, java-format msgid "I2CP settings changed to {0}" msgstr "Новые параметры I2CP: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:386 +#: ../java/src/org/klomp/snark/SnarkManager.java:402 msgid "Unable to connect with the new settings, reverting to the old I2CP settings" msgstr "Не удалось соединиться с использованием новых настроек I2CP, возвращаемся к старым настройкам" -#: ../java/src/org/klomp/snark/SnarkManager.java:390 +#: ../java/src/org/klomp/snark/SnarkManager.java:406 msgid "Unable to reconnect with the old settings!" msgstr "Не удалось пересоединиться с использованием старых настроек I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:392 +#: ../java/src/org/klomp/snark/SnarkManager.java:408 msgid "Reconnected on the new I2CP destination" msgstr "Пересоединились по новому адресу I2CP" -#: ../java/src/org/klomp/snark/SnarkManager.java:403 +#: ../java/src/org/klomp/snark/SnarkManager.java:418 #, java-format msgid "I2CP listener restarted for \"{0}\"" msgstr "I2CP-приёмник перезапущен для \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:414 +#: ../java/src/org/klomp/snark/SnarkManager.java:429 msgid "Enabled autostart" msgstr "Автостарт включен" -#: ../java/src/org/klomp/snark/SnarkManager.java:416 +#: ../java/src/org/klomp/snark/SnarkManager.java:431 msgid "Disabled autostart" msgstr "Автостарт выключен" -#: ../java/src/org/klomp/snark/SnarkManager.java:422 +#: ../java/src/org/klomp/snark/SnarkManager.java:437 msgid "Enabled open trackers - torrent restart required to take effect." msgstr "Включено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:424 +#: ../java/src/org/klomp/snark/SnarkManager.java:439 msgid "Disabled open trackers - torrent restart required to take effect." msgstr "Отключено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:431 +#: ../java/src/org/klomp/snark/SnarkManager.java:447 msgid "Open Tracker list changed - torrent restart required to take effect." msgstr "Изменен список открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу." -#: ../java/src/org/klomp/snark/SnarkManager.java:438 +#: ../java/src/org/klomp/snark/SnarkManager.java:454 #, java-format msgid "{0} theme loaded, return to main i2psnark page to view." msgstr "{0} тема загружена, вернитесь на основную страницу i2psnark для просмотра." -#: ../java/src/org/klomp/snark/SnarkManager.java:445 +#: ../java/src/org/klomp/snark/SnarkManager.java:461 msgid "Configuration unchanged." msgstr "Настройки не изменились." -#: ../java/src/org/klomp/snark/SnarkManager.java:455 +#: ../java/src/org/klomp/snark/SnarkManager.java:471 #, java-format msgid "Unable to save the config to {0}" msgstr "Не удалось сохранить настройки в {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:494 +#: ../java/src/org/klomp/snark/SnarkManager.java:536 msgid "Connecting to I2P" msgstr "Устанавливается соединение с I2P" -#: ../java/src/org/klomp/snark/SnarkManager.java:497 +#: ../java/src/org/klomp/snark/SnarkManager.java:539 msgid "Error connecting to I2P - check your I2CP settings!" msgstr "Ошибка соединения с I2P, проверьте настройки I2CP!" -#: ../java/src/org/klomp/snark/SnarkManager.java:506 +#: ../java/src/org/klomp/snark/SnarkManager.java:548 #, java-format msgid "Error: Could not add the torrent {0}" msgstr "Ошибка: Не удалось добавить торрент {0}" #. catch this here so we don't try do delete it below -#: ../java/src/org/klomp/snark/SnarkManager.java:528 +#: ../java/src/org/klomp/snark/SnarkManager.java:570 #, java-format msgid "Cannot open \"{0}\"" msgstr "Не удалось открыть \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:541 +#. TODO - if the existing one is a magnet, delete it and add the metainfo instead? +#: ../java/src/org/klomp/snark/SnarkManager.java:586 +#: ../java/src/org/klomp/snark/SnarkManager.java:661 +#: ../java/src/org/klomp/snark/SnarkManager.java:716 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 #, java-format -msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only" -msgstr "Внимание: указанные в \"{0}\" не-i2p трекеры будут проигнорированы, будут использоваться только открытые i2p трекеры" +msgid "Torrent with this info hash is already running: {0}" +msgstr "Торрент с таким info hash уже запущен: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:543 +#. addMessage(_("Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers and DHT only.", info.getName())); +#: ../java/src/org/klomp/snark/SnarkManager.java:593 #, java-format -msgid "Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are disabled, you must enable open trackers before starting the torrent!" -msgstr "Внимание: указанные в \"{0}\" не-i2p трекеры будут проигнорированы, однако использование открытых i2p трекеров отключено, Вы должны включить поддержку открытых i2p трекеров перед запуском этого торрента!" +msgid "Warning - No I2P trackers in \"{0}\", will announce to I2P open trackers only." +msgstr "Внимание - в \"{0}\" не найдено I2P трекеров, анонсирование будет производиться только на открытых трекерах I2P." -#: ../java/src/org/klomp/snark/SnarkManager.java:563 +#. addMessage(_("Warning - No I2P trackers in \"{0}\", and DHT and open trackers are disabled, you should enable open trackers or DHT before starting the torrent.", info.getName())); +#: ../java/src/org/klomp/snark/SnarkManager.java:598 +#, java-format +msgid "Warning - No I2P Trackers found in \"{0}\". Make sure Open Tracker is enabled before starting this torrent." +msgstr "Внимание - в \"{0}\" не найдено I2P трекеров. Перед запуском торрента убедитесь, что использование открытых трекеров включено." + +#: ../java/src/org/klomp/snark/SnarkManager.java:619 #, java-format msgid "Torrent in \"{0}\" is invalid" msgstr "Торрент в \"{0}\" некорректен" -#: ../java/src/org/klomp/snark/SnarkManager.java:578 +#: ../java/src/org/klomp/snark/SnarkManager.java:624 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1977 +#, java-format +msgid "ERROR - Out of memory, cannot create torrent from {0}" +msgstr "ОШИБКА - нехватка памяти, невозможно создать торрент из {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:635 #, java-format msgid "Torrent added and started: \"{0}\"" msgstr "Торрент добавлен и запущен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:580 +#: ../java/src/org/klomp/snark/SnarkManager.java:637 #, java-format msgid "Torrent added: \"{0}\"" msgstr "Торрент добавлен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:734 +#: ../java/src/org/klomp/snark/SnarkManager.java:672 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489 +#, java-format +msgid "Fetching {0}" +msgstr "Получение торрента: {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:675 +#, java-format +msgid "We have no saved peers and no other torrents are running. Fetch of {0} will not succeed until you start another torrent." +msgstr "Мы не имеем сохранённых пиров и нет других запущенных торрентов. Загрузка {0} не будет успешна пока вы не запустите другой торрент." + +#: ../java/src/org/klomp/snark/SnarkManager.java:679 +#, java-format +msgid "Adding {0}" +msgstr "Добавление {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:726 +#: ../java/src/org/klomp/snark/SnarkManager.java:749 +#: ../java/src/org/klomp/snark/SnarkManager.java:1174 +#, java-format +msgid "Failed to copy torrent file to {0}" +msgstr "Не удалось скопировать торрент в: {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:972 #, java-format msgid "Too many files in \"{0}\" ({1}), deleting it!" msgstr "Слишком много файлов в торренте \"{0}\" ({1}), удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:736 +#: ../java/src/org/klomp/snark/SnarkManager.java:974 #, java-format msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!" msgstr "Торрент \"{0}\" содержит единственный файл заканчивающийся на \".torrent\", удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:738 +#: ../java/src/org/klomp/snark/SnarkManager.java:976 #, java-format msgid "No pieces in \"{0}\", deleting it!" msgstr "В торренте \"{0}\" не оказалось ни одной части, удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:740 +#: ../java/src/org/klomp/snark/SnarkManager.java:978 #, java-format msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!" msgstr "Слишком много частей в торренте \"{0}\" (наш предел {1}), удаляем его!" -#: ../java/src/org/klomp/snark/SnarkManager.java:742 +#: ../java/src/org/klomp/snark/SnarkManager.java:980 #, java-format msgid "Pieces are too large in \"{0}\" ({1}B), deleting it." msgstr "Слишком крупные части в торренте \"{0}\" ({1}B), удаляем его." -#: ../java/src/org/klomp/snark/SnarkManager.java:743 +#: ../java/src/org/klomp/snark/SnarkManager.java:981 #, java-format msgid "Limit is {0}B" msgstr "Наш предел {0}B" -#: ../java/src/org/klomp/snark/SnarkManager.java:751 +#: ../java/src/org/klomp/snark/SnarkManager.java:989 #, java-format msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\"" msgstr "Торренты крупнее чем {0}B пока не поддерживается, удаляем \"{1}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:767 +#: ../java/src/org/klomp/snark/SnarkManager.java:1005 #, java-format msgid "Error: Could not remove the torrent {0}" msgstr "Ошибка: Невозможно удалить торрент {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:794 +#: ../java/src/org/klomp/snark/SnarkManager.java:1026 +#: ../java/src/org/klomp/snark/SnarkManager.java:1044 #, java-format msgid "Torrent stopped: \"{0}\"" msgstr "Торрент остановлен: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:814 +#: ../java/src/org/klomp/snark/SnarkManager.java:1065 #, java-format msgid "Torrent removed: \"{0}\"" msgstr "Торрент удален: \"{0}\"" -#: ../java/src/org/klomp/snark/SnarkManager.java:852 +#: ../java/src/org/klomp/snark/SnarkManager.java:1073 +#, java-format +msgid "Adding torrents in {0}" +msgstr "Добавление торрентов через {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:1122 #, java-format msgid "Download finished: {0}" msgstr "Закачка завершена: {0}" -#: ../java/src/org/klomp/snark/SnarkManager.java:880 +#: ../java/src/org/klomp/snark/SnarkManager.java:1170 +#, java-format +msgid "Metainfo received for {0}" +msgstr "Метаданные получены для {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:1171 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524 +#, java-format +msgid "Starting up torrent {0}" +msgstr "Запускаем торрент: {0}" + +#: ../java/src/org/klomp/snark/SnarkManager.java:1225 msgid "Unable to connect to I2P!" msgstr "Не удалось установить соединение с I2P!" -#: ../java/src/org/klomp/snark/SnarkManager.java:886 +#: ../java/src/org/klomp/snark/SnarkManager.java:1231 #, java-format msgid "Unable to add {0}" msgstr "Не удаётся добавить {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205 msgid "I2PSnark - Anonymous BitTorrent Client" msgstr "I2PSnark — Анонимный BitTorrent Клиент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:198 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:218 msgid "Torrents" msgstr "Торренты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:201 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007 msgid "I2PSnark" msgstr "I2PSnark" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:225 msgid "Refresh page" msgstr "Обновить страницу" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:210 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:230 msgid "Forum" msgstr "Форум" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1698 msgid "Status" msgstr "Статус" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:292 msgid "Hide Peers" msgstr "спрятать список пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:277 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:279 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:299 msgid "Show Peers" msgstr "показать список пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1638 msgid "Torrent" msgstr "Торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310 msgid "Estimated time remaining" msgstr "Примерное оставшееся время" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:313 msgid "ETA" msgstr "Осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317 msgid "Downloaded" msgstr "Получено" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:300 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:314 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:334 msgid "RX" msgstr "Принято" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324 msgid "Uploaded" msgstr "Отдано" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:327 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:344 msgid "TX" msgstr "Отдано" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:312 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:332 msgid "Down Rate" msgstr "Скорость загрузки" #. Translators: Please keep short or translate as " " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:337 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346 msgid "Rate" msgstr "Скорость" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342 msgid "Up Rate" msgstr "Скорость отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:364 msgid "Stop all torrents and the I2P tunnel" msgstr "Остановить все торренты и закрыть соединение с I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:366 msgid "Stop All" msgstr "Остановить все" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:351 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375 msgid "Start all torrents and the I2P tunnel" msgstr "Запустить все торренты и открыть соединение с I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377 msgid "Start All" msgstr "Запустить все" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:372 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:396 msgid "No torrents loaded." msgstr "Нет загруженных торрентов." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:401 msgid "Totals" msgstr "Всего" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:403 #, java-format msgid "1 torrent" msgid_plural "{0} torrents" @@ -338,7 +391,7 @@ msgstr[0] "{0} торрент" msgstr[1] "{0} торрента" msgstr[2] "{0} торрентов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:382 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406 #, java-format msgid "1 connected peer" msgid_plural "{0} connected peers" @@ -346,98 +399,95 @@ msgstr[0] "{0} подсоединенный пир" msgstr[1] "{0} подсоединенных пиров" msgstr[2] "{0} подсоединенных пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:454 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:495 #, java-format -msgid "Fetching {0}" -msgstr "Получение торрента: {0}" +msgid "Invalid URL: Must start with \"http://\", \"{0}\", or \"{1}\"" +msgstr "Некорректный URL: должен начинаться с \"http://\", \"{0}\", или \"{1}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:458 -msgid "Invalid URL - must start with http://" -msgstr "Некорректный URL, должен начинаться с http://" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:570 #, java-format -msgid "Starting up torrent {0}" -msgstr "Запускаем торрент: {0}" +msgid "Magnet deleted: {0}" +msgstr "Magnet удален: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:527 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576 #, java-format msgid "Torrent file deleted: {0}" msgstr "Удален торрент: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:592 #, java-format msgid "Data file deleted: {0}" msgstr "Файл удален: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:584 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:594 #, java-format msgid "Data file could not be deleted: {0}" msgstr "Не удалось удалить файл: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:554 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:603 #, java-format msgid "Data dir deleted: {0}" msgstr "Директория удалена: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636 msgid "Error creating torrent - you must select a tracker" msgstr "Торрент не создан — вы должны указать трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652 #, java-format msgid "Torrent created for \"{0}\"" msgstr "Создан торрент для \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654 #, java-format msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\"" msgstr "Многие I2P трекеры требуют зарегистрировать на них торрент перед началом раздачи — пожалуйста проверьте требуется ли это перед запуском \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656 #, java-format msgid "Error creating a torrent for \"{0}\"" msgstr "Ошибка при создании торрента для: \"{0}\"" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:610 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659 #, java-format msgid "Cannot create a torrent for the nonexistent data: {0}" msgstr "Невозможно создать торрент для несуществующего файла или директории: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662 msgid "Error creating torrent - you must enter a file or directory" msgstr "Торрент не создан — вы должны указать файл или директорию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665 msgid "Stopping all torrents and closing the I2P tunnel." msgstr "Останавливаем все торренты и закрываем соединение с I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:676 msgid "I2P tunnel closed." msgstr "Соединение с I2P закрыто." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679 msgid "Opening the I2P tunnel and starting all torrents." msgstr "Соединяемся с I2P и запускаем все торренты." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:770 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:802 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:813 msgid "Tracker Error" msgstr "Ошибка Трекера" # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:799 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:803 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:809 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:825 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:842 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:846 #, java-format msgid "1 peer" msgid_plural "{0} peers" @@ -445,279 +495,301 @@ msgstr[0] "{0} пир" msgstr[1] "{0} пира" msgstr[2] "{0} пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:823 msgid "Seeding" msgstr "Раздается" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:784 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1644 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749 msgid "Complete" msgstr "Завершен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:830 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:835 msgid "OK" msgstr "Загружается" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:839 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:844 msgid "Stalled" msgstr "Простаивает" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851 msgid "No Peers" msgstr "Нет Пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853 msgid "Stopped" msgstr "Остановлен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837 -#, java-format -msgid "Details at {0} tracker" -msgstr "Детали на трекере {0}" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864 +msgid "Torrent details" +msgstr "Подробная информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139 msgid "Info" msgstr "Информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879 msgid "View files" msgstr "Открыть директорию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:855 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881 msgid "Open file" msgstr "Открыть файл" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785 msgid "Open" msgstr "Открыть" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:909 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939 msgid "Stop the torrent" msgstr "Остановить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:911 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941 msgid "Stop" msgstr "Остановить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950 msgid "Start the torrent" msgstr "Запустить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:952 msgid "Start" msgstr "Запустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:962 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Удалить торрент из списка и с диска" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quite must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:938 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967 #, java-format msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?" msgstr "Вы действительно хотите удалить \\''{0}.torrent\\''? (загруженные файлы удаляться НЕ будут)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 msgid "Remove" msgstr "Удалить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Удалить торрент и стереть загруженные файлы" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quite must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 #, java-format msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?" msgstr "Вы действительно хотите удалить торрент \\''{0}\\'' и все загруженные файлы?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988 msgid "Delete" msgstr "Стереть" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:991 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021 msgid "Unknown" msgstr "Неизвестный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033 msgid "Seed" msgstr "Сид" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uninteresting (У пира нет нужных нам частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Choked (Этот пир не позволяет нам запрашивать части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uninterested (У нас нужных этому пиру частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Choking (Мы не позволяем этому пиру запрашивать у нас части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138 +#, java-format +msgid "Details at {0} tracker" +msgstr "Детали на трекере {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1167 msgid "Add Torrent" msgstr "Добавить Торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169 msgid "From URL" msgstr "Из URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1172 msgid "Torrent file must originate from an I2P-based tracker" msgstr "Торрент-файл должен быть с I2P-трекера" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1177 msgid "Add torrent" msgstr "Добавить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Либо вы можете просто скопировать .torrent-файлы в директорию {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1182 msgid "Removing a .torrent will cause it to stop." msgstr "Удаление .torrent-файла приведёт к остановке торрента." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205 msgid "Create Torrent" msgstr "Создать Торрент" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208 msgid "Data to seed" msgstr "Файлы для раздачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212 msgid "File or directory to seed (must be within the specified path)" msgstr "Файл или директория для раздачи (вводите только название файла или директории, указание абсолютных путей не поддерживается)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1140 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1214 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663 msgid "Tracker" msgstr "Трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216 msgid "Select a tracker" msgstr "Выбрать трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 +#. out.write(_("Open trackers and DHT only")); +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221 +msgid "Open trackers only" +msgstr "Только открытые трекеры" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1236 msgid "or" msgstr "или" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1158 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239 msgid "Specify custom tracker announce URL" msgstr "Задать URL анонсера вручную" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 msgid "Create torrent" msgstr "Создать торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399 msgid "Configuration" msgstr "Настройки" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1264 msgid "Data directory" msgstr "Директория для файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266 msgid "Edit i2psnark.config and restart to change" msgstr "Для изменения отредактируйте файл i2psnark.config и перезагрузите I2PSnark" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270 msgid "Auto start" msgstr "Автозапуск" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274 msgid "If checked, automatically start torrents that are added" msgstr "Автоматически запускать торренты после добавления" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278 msgid "Theme" msgstr "Тема" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1211 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291 msgid "Startup delay" msgstr "Задержка запуска" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293 msgid "minutes" msgstr "минут" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317 msgid "Total uploader limit" msgstr "Ограничение количества слотов отдачи" # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 msgid "peers" msgstr "пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324 msgid "Up bandwidth limit" msgstr "Ограничение скорости отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1247 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327 msgid "Half available bandwidth recommended." msgstr "Рекомендуется использовать половину от доступной пропускной способности." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329 msgid "View or change router bandwidth" msgstr "Посмотреть/настроить ограничения скорости в маршрутизаторе I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 msgid "Use open trackers also" msgstr "Дополнительно использовать открытые трекеры" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337 msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file" msgstr "Анонсировать торренты на открытых трекерах, дополнительно к тем, что указаны внутри торрента" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1261 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341 msgid "Open tracker announce URLs" msgstr "URL открытых трекеров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1353 msgid "Inbound Settings" msgstr "Входящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 msgid "Outbound Settings" msgstr "Исходящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367 msgid "I2CP host" msgstr "Адрес I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1372 msgid "I2CP port" msgstr "Порт I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1385 msgid "I2CP options" msgstr "Параметры I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390 msgid "Save configuration" msgstr "Сохранить настройки" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1415 +#, java-format +msgid "Invalid magnet URL {0}" +msgstr "Неправильный magnet URL {0}" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1449 +#, java-format +msgid "Invalid info hash in magnet URL {0}" +msgstr "Неправильный info hash в magnet URL {0}" + #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -725,7 +797,7 @@ msgstr[0] "{0} хоп" msgstr[1] "{0} хопа" msgstr[2] "{0} хопов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -733,82 +805,100 @@ msgstr[0] "{0} туннель" msgstr[1] "{0} туннеля" msgstr[2] "{0} туннелей" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642 +msgid "Completion" +msgstr "Загружено" + +#. else unknown +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1646 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1695 msgid "Size" msgstr "Размер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487 -msgid "Priority" -msgstr "Приоритет" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1651 +msgid "Files" +msgstr "Файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492 -msgid "Up to higher level directory" -msgstr "Перейти в директорию уровнем выше" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1653 +msgid "Pieces" +msgstr "Части" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1654 +msgid "Piece size" +msgstr "Размер части" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676 +msgid "Magnet link" +msgstr "Magnet ссылка" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1732 msgid "Directory" msgstr "Директория" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702 +msgid "Priority" +msgstr "Приоритет" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1707 +msgid "Up to higher level directory" +msgstr "Перейти в директорию уровнем выше" + # This debug error message intentionally left in English -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1737 msgid "Torrent not found?" msgstr "Torrent not found?" # This debug error message intentionally left in English -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746 msgid "File not found in torrent?" msgstr "File not found in torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759 msgid "complete" msgstr "скачано" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760 msgid "bytes remaining" msgstr "байт осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1811 msgid "High" msgstr "Высокий" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1600 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 msgid "Normal" msgstr "Нормальный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1605 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821 msgid "Skip" msgstr "Пропустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1614 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830 msgid "Save priorities" msgstr "Сохранить приоритеты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945 #, java-format msgid "Torrent fetched from {0}" msgstr "Получен торрент из: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967 #, java-format msgid "Torrent already running: {0}" msgstr "Торрент уже запущен: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1748 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969 #, java-format msgid "Torrent already in the queue: {0}" msgstr "Торрент уже в очереди: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755 -#, java-format -msgid "Failed to copy torrent file to {0}" -msgstr "Не удалось скопировать торрент в: {0}" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975 #, java-format msgid "Torrent at {0} was not valid" msgstr "Торрент полученный из {0} некорректен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982 #, java-format msgid "Torrent was not retrieved from {0}" msgstr "Не удалось получить торрент из: {0}" @@ -831,9 +921,6 @@ msgstr "Не удалось получить торрент из: {0}" #~ msgid "Downloading" #~ msgstr "Идёт загрузка" -#~ msgid "File" -#~ msgstr "Файл" - #~ msgid "FileSize" #~ msgstr "Размер Файла" From 6c61b39f609f8d515e257dc0c8dfc79968dcbe8d Mon Sep 17 00:00:00 2001 From: hiddenz Date: Tue, 15 Feb 2011 17:20:14 +0000 Subject: [PATCH 09/11] desktopgui: add russian translation --- apps/desktopgui/locale/messages_ru.po | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 apps/desktopgui/locale/messages_ru.po diff --git a/apps/desktopgui/locale/messages_ru.po b/apps/desktopgui/locale/messages_ru.po new file mode 100644 index 0000000000..a5d936a669 --- /dev/null +++ b/apps/desktopgui/locale/messages_ru.po @@ -0,0 +1,45 @@ +# I2P +# Copyright (C) 2009 The I2P Project +# This file is distributed under the same license as the desktopgui package. +# To contribute translations, see http://www.i2p2.de/newdevelopers +# foo , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: I2P desktopgui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-02-14 18:14+0000\n" +"PO-Revision-Date: 2011-02-15 00:18+0500\n" +"Last-Translator: Hidden Z \n" +"Language-Team: duck \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: src/net/i2p/desktopgui/ExternalTrayManager.java:23 +msgid "Start I2P" +msgstr "Запустить I2P" + +#: src/net/i2p/desktopgui/ExternalTrayManager.java:38 +msgid "I2P is starting!" +msgstr "I2P запускается!" + +#: src/net/i2p/desktopgui/ExternalTrayManager.java:38 +#, fuzzy +msgid "Starting" +msgstr "Запускается" + +#: src/net/i2p/desktopgui/InternalTrayManager.java:25 +msgid "Launch I2P Browser" +msgstr "Запустить I2P браузер" + +#: src/net/i2p/desktopgui/InternalTrayManager.java:49 +msgid "Restart I2P" +msgstr "Перезапустить I2P" + +#: src/net/i2p/desktopgui/InternalTrayManager.java:67 +msgid "Stop I2P" +msgstr "Остановить I2P" + From d468a3a8e68ad6b6ed40be37ad196eb54673ceee Mon Sep 17 00:00:00 2001 From: hiddenz Date: Tue, 15 Feb 2011 17:28:51 +0000 Subject: [PATCH 10/11] i2psnark: update russian translation --- apps/i2psnark/locale/messages_ru.po | 214 ++++++++++++++-------------- 1 file changed, 108 insertions(+), 106 deletions(-) diff --git a/apps/i2psnark/locale/messages_ru.po b/apps/i2psnark/locale/messages_ru.po index 3bb9030329..f1e0f7be29 100644 --- a/apps/i2psnark/locale/messages_ru.po +++ b/apps/i2psnark/locale/messages_ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P i2psnark\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-14 18:14+0000\n" -"PO-Revision-Date: 2011-02-15 22:16+0500\n" +"POT-Creation-Date: 2011-02-15 17:24+0000\n" +"PO-Revision-Date: 2011-02-15 22:27+0500\n" "Last-Translator: Hidden Z \n" "Language-Team: foo \n" "Language: \n" @@ -131,7 +131,7 @@ msgstr "Не удалось открыть \"{0}\"" #: ../java/src/org/klomp/snark/SnarkManager.java:586 #: ../java/src/org/klomp/snark/SnarkManager.java:661 #: ../java/src/org/klomp/snark/SnarkManager.java:716 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1954 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1971 #, java-format msgid "Torrent with this info hash is already running: {0}" msgstr "Торрент с таким info hash уже запущен: {0}" @@ -154,7 +154,7 @@ msgid "Torrent in \"{0}\" is invalid" msgstr "Торрент в \"{0}\" некорректен" #: ../java/src/org/klomp/snark/SnarkManager.java:624 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1977 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1994 #, java-format msgid "ERROR - Out of memory, cannot create torrent from {0}" msgstr "ОШИБКА - нехватка памяти, невозможно создать торрент из {0}" @@ -283,7 +283,7 @@ msgstr "Торренты" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:221 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1024 msgid "I2PSnark" msgstr "I2PSnark" @@ -296,7 +296,7 @@ msgid "Forum" msgstr "Форум" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:284 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1698 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1715 msgid "Status" msgstr "Статус" @@ -311,8 +311,8 @@ msgid "Show Peers" msgstr "показать список пиров" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:306 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1622 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1638 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1639 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1655 msgid "Torrent" msgstr "Торрент" @@ -501,8 +501,8 @@ msgid "Seeding" msgstr "Раздается" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:827 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1644 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1661 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1766 msgid "Complete" msgstr "Завершен" @@ -525,271 +525,266 @@ msgstr "Нет Пиров" msgid "Stopped" msgstr "Остановлен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:885 msgid "Torrent details" msgstr "Подробная информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:897 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1156 msgid "Info" msgstr "Информация" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:912 msgid "View files" msgstr "Открыть директорию" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:914 msgid "Open file" msgstr "Открыть файл" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1785 -msgid "Open" -msgstr "Открыть" - -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:956 msgid "Stop the torrent" msgstr "Остановить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 msgid "Stop" msgstr "Остановить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967 msgid "Start the torrent" msgstr "Запустить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:952 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:969 msgid "Start" msgstr "Запустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:962 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:979 msgid "Remove the torrent from the active list, deleting the .torrent file" msgstr "Удалить торрент из списка и с диска" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quite must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:984 #, java-format msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?" msgstr "Вы действительно хотите удалить \\''{0}.torrent\\''? (загруженные файлы удаляться НЕ будут)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:987 msgid "Remove" msgstr "Удалить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:997 msgid "Delete the .torrent file and the associated data file(s)" msgstr "Удалить торрент и стереть загруженные файлы" #. Can't figure out how to escape double quotes inside the onclick string. #. Single quotes in translate strings with parameters must be doubled. #. Then the remaining single quite must be escaped -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1002 #, java-format msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?" msgstr "Вы действительно хотите удалить торрент \\''{0}\\'' и все загруженные файлы?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1005 msgid "Delete" msgstr "Стереть" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1038 msgid "Unknown" msgstr "Неизвестный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1050 msgid "Seed" msgstr "Сид" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1056 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1073 msgid "Uninteresting (The peer has no pieces we need)" msgstr "Uninteresting (У пира нет нужных нам частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1058 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1075 msgid "Choked (The peer is not allowing us to request pieces)" msgstr "Choked (Этот пир не позволяет нам запрашивать части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1095 msgid "Uninterested (We have no pieces the peer needs)" msgstr "Uninterested (У нас нужных этому пиру частей торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1080 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097 msgid "Choking (We are not allowing the peer to request pieces)" msgstr "Choking (Мы не позволяем этому пиру запрашивать у нас части торрента)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155 #, java-format msgid "Details at {0} tracker" msgstr "Детали на трекере {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1167 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184 msgid "Add Torrent" msgstr "Добавить Торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1169 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186 msgid "From URL" msgstr "Из URL" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1172 -msgid "Torrent file must originate from an I2P-based tracker" -msgstr "Торрент-файл должен быть с I2P-трекера" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1189 +msgid "Enter the torrent file download URL (I2P only), magnet link, or maggot link" +msgstr "Введите URL (только I2P) для загрузки торрент-файла, magnet-ссылку, или maggot-ссылку" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1177 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194 msgid "Add torrent" msgstr "Добавить торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1197 #, java-format msgid "You can also copy .torrent files to: {0}." msgstr "Либо вы можете просто скопировать .torrent-файлы в директорию {0}." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1182 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1199 msgid "Removing a .torrent will cause it to stop." msgstr "Удаление .torrent-файла приведёт к остановке торрента." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1205 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1222 msgid "Create Torrent" msgstr "Создать Торрент" #. out.write("From file:
\n"); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1208 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1225 msgid "Data to seed" msgstr "Файлы для раздачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1212 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1229 msgid "File or directory to seed (must be within the specified path)" msgstr "Файл или директория для раздачи (вводите только название файла или директории, указание абсолютных путей не поддерживается)" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1214 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1231 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1680 msgid "Tracker" msgstr "Трекер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1216 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1233 msgid "Select a tracker" msgstr "Выбрать трекер" #. out.write(_("Open trackers and DHT only")); -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1238 msgid "Open trackers only" msgstr "Только открытые трекеры" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1236 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253 msgid "or" msgstr "или" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1239 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1256 msgid "Specify custom tracker announce URL" msgstr "Задать URL анонсера вручную" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1259 msgid "Create torrent" msgstr "Создать торрент" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1260 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1277 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1416 msgid "Configuration" msgstr "Настройки" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1264 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1281 msgid "Data directory" msgstr "Директория для файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283 msgid "Edit i2psnark.config and restart to change" msgstr "Для изменения отредактируйте файл i2psnark.config и перезагрузите I2PSnark" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1287 msgid "Auto start" msgstr "Автозапуск" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291 msgid "If checked, automatically start torrents that are added" msgstr "Автоматически запускать торренты после добавления" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1295 msgid "Theme" msgstr "Тема" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308 msgid "Startup delay" msgstr "Задержка запуска" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1293 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1310 msgid "minutes" msgstr "минут" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1334 msgid "Total uploader limit" msgstr "Ограничение количества слотов отдачи" # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337 msgid "peers" msgstr "пиров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341 msgid "Up bandwidth limit" msgstr "Ограничение скорости отдачи" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1344 msgid "Half available bandwidth recommended." msgstr "Рекомендуется использовать половину от доступной пропускной способности." -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1329 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1346 msgid "View or change router bandwidth" msgstr "Посмотреть/настроить ограничения скорости в маршрутизаторе I2P" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1333 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1350 msgid "Use open trackers also" msgstr "Дополнительно использовать открытые трекеры" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1337 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1354 msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file" msgstr "Анонсировать торренты на открытых трекерах, дополнительно к тем, что указаны внутри торрента" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1341 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358 msgid "Open tracker announce URLs" msgstr "URL открытых трекеров" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1353 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1370 msgid "Inbound Settings" msgstr "Входящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1359 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1376 msgid "Outbound Settings" msgstr "Исходящие туннели" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1367 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1384 msgid "I2CP host" msgstr "Адрес I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1372 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1389 msgid "I2CP port" msgstr "Порт I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1385 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1402 msgid "I2CP options" msgstr "Параметры I2CP" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1390 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1407 msgid "Save configuration" msgstr "Сохранить настройки" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1415 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1432 #, java-format msgid "Invalid magnet URL {0}" msgstr "Неправильный magnet URL {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1449 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1466 #, java-format msgid "Invalid info hash in magnet URL {0}" msgstr "Неправильный info hash в magnet URL {0}" #. * dummies for translation -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1479 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1496 #, java-format msgid "1 hop" msgid_plural "{0} hops" @@ -797,7 +792,7 @@ msgstr[0] "{0} хоп" msgstr[1] "{0} хопа" msgstr[2] "{0} хопов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1497 #, java-format msgid "1 tunnel" msgid_plural "{0} tunnels" @@ -805,104 +800,111 @@ msgstr[0] "{0} туннель" msgstr[1] "{0} туннеля" msgstr[2] "{0} туннелей" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1659 msgid "Completion" msgstr "Загружено" #. else unknown -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1646 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1695 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1663 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1712 msgid "Size" msgstr "Размер" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1651 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1668 msgid "Files" msgstr "Файлов" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1653 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1670 msgid "Pieces" msgstr "Части" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1654 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1671 msgid "Piece size" msgstr "Размер части" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1676 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693 msgid "Magnet link" msgstr "Magnet ссылка" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1693 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1732 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1710 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1749 msgid "Directory" msgstr "Директория" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1702 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1719 msgid "Priority" msgstr "Приоритет" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1707 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1724 msgid "Up to higher level directory" msgstr "Перейти в директорию уровнем выше" # This debug error message intentionally left in English -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1737 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1754 msgid "Torrent not found?" msgstr "Torrent not found?" # This debug error message intentionally left in English -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1763 msgid "File not found in torrent?" msgstr "File not found in torrent?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1776 msgid "complete" msgstr "скачано" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1760 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1777 msgid "bytes remaining" msgstr "байт осталось" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1811 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1802 +msgid "Open" +msgstr "Открыть" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1828 msgid "High" msgstr "Высокий" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1816 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1833 msgid "Normal" msgstr "Нормальный" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1821 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1838 msgid "Skip" msgstr "Пропустить" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1830 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1847 msgid "Save priorities" msgstr "Сохранить приоритеты" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1945 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1962 #, java-format msgid "Torrent fetched from {0}" msgstr "Получен торрент из: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1967 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1984 #, java-format msgid "Torrent already running: {0}" msgstr "Торрент уже запущен: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1969 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1986 #, java-format msgid "Torrent already in the queue: {0}" msgstr "Торрент уже в очереди: {0}" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1975 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1992 #, java-format msgid "Torrent at {0} was not valid" msgstr "Торрент полученный из {0} некорректен" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1982 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1999 #, java-format msgid "Torrent was not retrieved from {0}" msgstr "Не удалось получить торрент из: {0}" +#~ msgid "Torrent file must originate from an I2P-based tracker" +#~ msgstr "Торрент-файл должен быть с I2P-трекера" + #~ msgid "size: {0}B" #~ msgstr "размер: {0}B" From ecadbba98ece79ca31c386268dcfa80ce6b1d5b1 Mon Sep 17 00:00:00 2001 From: duck Date: Tue, 15 Feb 2011 20:36:38 +0000 Subject: [PATCH 11/11] Add russian desktopgui to Transifex config --- .tx/config | 1 + 1 file changed, 1 insertion(+) diff --git a/.tx/config b/.tx/config index b8009fb43a..e0c7bde277 100644 --- a/.tx/config +++ b/.tx/config @@ -39,6 +39,7 @@ trans.zh_CN = apps/i2psnark/locale/messages_zh.po source_file = apps/desktopgui/locale/messages_en.po source_lang = en trans.nl = apps/desktopgui/locale/messages_nl.po +trans.ru = apps/desktopgui/locale/messages_ru.po trans.zh_CN = apps/desktopgui/locale/messages_zh.po [main]