diff --git a/i2p2www/pages/site/docs/spec/configuration.html b/i2p2www/pages/site/docs/spec/configuration.html
index bc350281008c4e3fcccad2c5d6e23eed38891c59..4e5590a0228268a1b518405ec0e53c2345d4504c 100644
--- a/i2p2www/pages/site/docs/spec/configuration.html
+++ b/i2p2www/pages/site/docs/spec/configuration.html
@@ -138,7 +138,9 @@ and stopped with main() with the arguments specified.
 Configured via /configlogging in the router console.
 {%- endtrans %}</p>
 <p>
+{% trans -%}
 Properties are as follows:
+{%- endtrans %}
 <pre>
     logger.format={dctpm}*
         where d = date, c = class, t = thread name, p = priority, m = message
@@ -165,7 +167,26 @@ See <a href="{{ pluginspec }}">the plugin specification</a>.
 <h3>{% trans %}Plugins{% endtrans %} (plugins.config)</h3>
 <p>{% trans -%}
 Enable/disable for each installed plugin.
-{%- endtrans %}</p>
+{%- endtrans %}
+{% trans -%}
+Properties are as follows:
+{%- endtrans %}
+<pre>
+    plugin.{name}.startOnLoad=true|false
+</pre>
+</p>
+
+<h3>{% trans %}Webapps{% endtrans %} (webapps.config)</h3>
+<p>{% trans -%}
+Enable/disable for each installed webapp.
+{%- endtrans %}
+{% trans -%}
+Properties are as follows:
+{%- endtrans %}
+<pre>
+    webapps.{name}.startOnLoad=true|false
+</pre>
+</p>
 
 <h3>{% trans %}Router{% endtrans %} (router.config)</h3>
 <p>{% trans -%}
diff --git a/i2p2www/pages/site/get-involved/develop/developers-keys.html b/i2p2www/pages/site/get-involved/develop/developers-keys.html
index c9ed80347b9e32ff38940e8990576874e83371d0..c86b7b959d12a43c38f94ac51d374a046f1c8971 100644
--- a/i2p2www/pages/site/get-involved/develop/developers-keys.html
+++ b/i2p2www/pages/site/get-involved/develop/developers-keys.html
@@ -250,6 +250,21 @@ ymQ2BgNzDenRz9xuSsrhVNqAjKVHs47J/qm7693NhnGlLxofeiF3py
 pLYjMbWl/TAdlxkWm+HgRCzhQe5vkLcx1R8nXCxmPjC0Ep3QIDAQAB
 [end]
 
+[pubkey echelon2@mail.i2p]
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8JaZQ7KxawKeM83
+jxq4GtoPU3sjZnf+X9SKS5mhoBcmO7KdqWBTwTMs/p9xqKBiMWyr9T
+sUFq0XkUTW4bv2ac8u90CF7rbhhgUDDOF2HhaZrAOhVySnXBaIdmKM
+Y607XvCcarNPTCbd1RsD9AmkYUr4l/rgRdji16bWPaxVjFxQIDAQAB
+[end]
+
+[pubkey bokstafur@mail.i2p]
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6vH3eZvZfwNPQPo
+9TRhMwCidF6hDQWHwpY1taLwYs5me7RYsmW5F5mXc9IRHgz3yvy2v8
+DxN1mVRDDwcRaOdguxcPqLtM/vukOXX0dno8CQWa4VmQQlUB7fFaZB
+aWepQldKvqFIdpxLTaEUzAqGjz/4FR1lRBKXldHCLcoMVhkwIDAQAB
+[end]
+
+
 </pre>
 <h3 id="transport">{{ _('Developer Transport Keys') }}</h3>
 <p>{% trans monotone=site_url('get-involved/guides/monotone') -%}
@@ -426,6 +441,13 @@ PzTJpv6C0kKDavKddKxc4HIuNKnTsB1qd5zOpKBNlxm6TT4N3Pdhb5
 CEXZ1lvlv4PloKFIti7ptAa4HpTs6Gd3a6nMQyHwgP0Ke44wIDAQAB
 [end]
 
+[pubkey bokstafur-transport@mail.i2p]
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7VaVBtNi3uWzGtn
+xfPE7hncgbH20rZeL9QvG3D+FNwfIHQsvwwMJpHSZZJnMVQf6k1/8q
+WY19eyYhqJYC3nOByyuLPtxqZ6fn4d1odXq+HhYohezHqwZ50nAoai
+1/mtC1Sd4GSashQhP0jr0vMNjZoikXfcX9yeHb/18F0NO1XwIDAQAB
+[end]
+
 </pre>
 
 {% endblock %}
diff --git a/i2p2www/translations/he/LC_MESSAGES/about.po b/i2p2www/translations/he/LC_MESSAGES/about.po
new file mode 100644
index 0000000000000000000000000000000000000000..30f1a784b8052441aa1536eb336d6496991c7778
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/about.po
@@ -0,0 +1,2831 @@
+# Russian translations for I2P.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# IOException <opexob@yandex.ru>, 2013
+# Millennium <u235xc@gmail.com>, 2013
+# keedley <zhopa@mita.pp.ru>, 2013
+# sassy <sassy.but.classic@gmail.com>, 2013
+# Maxym Mykhalchuk, 2014
+# Narengoyn <narengoyn@gmail.com>, 2013
+# TrackIt <Terexnik@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2014-01-09 19:32+0000\n"
+"PO-Revision-Date: 2014-01-11 15:34+0000\n"
+"Last-Translator: Maxym Mykhalchuk\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/pages/site/about/browser-config.html:2
+msgid "Web Browser Configuration"
+msgstr "Конфигурация веб-браузера"
+
+#: i2p2www/pages/site/about/browser-config.html:5
+msgid ""
+"Your web browser will need to be configured in order to browse eepsites "
+"and to\n"
+"utilize the outproxies available within I2P. Below are walkthroughs for "
+"some of\n"
+"the most popular browsers."
+msgstr ""
+"Ваш браузер нужно настроить, чтобы вы могли пользоваться eep-сайтами и\n"
+"другими I2P-сервисами. Ниже описаны шаги для\n"
+"наиболее популярных браузеров."
+
+#: i2p2www/pages/site/about/browser-config.html:11
+msgid "How to configure your browser"
+msgstr "Как настроить ваш браузер"
+
+#: i2p2www/pages/site/about/browser-config.html:17
+#: i2p2www/pages/site/about/browser-config.html:73
+msgid "Outproxy Terms Of Service"
+msgstr "Правила пользования Outproxy"
+
+#: i2p2www/pages/site/about/browser-config.html:22
+msgid "Internet Explorer 8 or Chrome"
+msgstr "Internet Explorer 8 или Chrome"
+
+#: i2p2www/pages/site/about/browser-config.html:23
+msgid ""
+"In the tools menu select the \"Internet Options\" line to open the "
+"settings. In the\n"
+"settings window choose the connections tab and click on LAN settings for "
+"the\n"
+"proxy port configuration."
+msgstr ""
+"Чтобы открыть настройки, в меню Инструменты выберите \"Настройки "
+"Интернет\". В\n"
+"окне настроек перейдите к вкладке параметров соединения и щелкните по "
+"настройкам сети(LAN) для\n"
+"конфигурации порта прокси-сервера."
+
+#: i2p2www/pages/site/about/browser-config.html:28
+msgid "IE Internet Options"
+msgstr "Настройки Интернет в IE"
+
+#: i2p2www/pages/site/about/browser-config.html:29
+msgid ""
+"Now set the checkmark at \"use a proxy server for your LAN\" and at the "
+"\"Bypass\n"
+"proxy server for local addresses\". With a click on Advanced-button you "
+"open the\n"
+"window to open the ports. Enter the values like on the picture, IP "
+"127.0.0.1\n"
+"and port 4444 for HTTP, port 4445 for HTTPS. With clicks on OK you save "
+"the\n"
+"settings and your browser is set to use the I2P proxy."
+msgstr ""
+"Теперь установите флажок \"Использовать прокси-сервер для локальных "
+"подключений\" а так же флажок \"Не использовать прокси-сервер для "
+"локальных адресов\". По нажатии кнопки Дополнительно открывается окно "
+"настроек прокси-сервера. Заполните поля как показано на картинке, адрес "
+"прокси-сервера 127.0.0.1 и порт 4444 для HTTP, порт 4445 для HTTPS. Нажав"
+" кнопку OK вы сохраните настройки тем самым подготовив браузер для "
+"использования I2P прокси-сервера."
+
+#: i2p2www/pages/site/about/browser-config.html:36
+msgid "IE Proxy Settings"
+msgstr "Настройки прокси-сервера в IE"
+
+#: i2p2www/pages/site/about/browser-config.html:40
+msgid ""
+"From the Tools menu, select Options to bring up the Firefox settings "
+"panel.\n"
+"Click the icon labelled <em>Advanced</em>, then click on the "
+"<em>Network</em>\n"
+"tab. In the <em>Connections</em> section, click on the Settings button. "
+"You'll\n"
+"see a Window like the following:"
+msgstr ""
+"В меню Настройки, выберите пункт Опции, что бы открыть панель настроек "
+"Firefox. Нажмите на иконку с названием <em>Дополнительно</em>, затем "
+"нажмите на закладку <em>Сеть</em>. В секции <em>Соединение</em>, нажмите "
+"кнопку Настройки. Вы увидите окно как показано ниже:"
+
+#: i2p2www/pages/site/about/browser-config.html:46
+msgid "Firefox Network Options"
+msgstr "Firefox сетевые опции"
+
+#: i2p2www/pages/site/about/browser-config.html:47
+msgid ""
+"In the <em>Connection Settings</em> window, click the circle next to "
+"<em>Manual\n"
+"    proxy configuration</em>, then enter 127.0.0.1, port 4444 in the HTTP"
+" Proxy\n"
+"field.  Enter 127.0.0.1, port 4445 in the SSL Proxy field.\n"
+"Be sure to enter localhost and 127.0.0.1 into the \"No Proxy for\" box."
+msgstr ""
+"В  окне <em>Параметры соединения</em> кликните кружок рядом с <em>Ручная\n"
+"настройка сервиса прокси</em>, затем введите 127.0.0.1, порт 4444 в поле "
+"HTTP\n"
+"прокси. Введите 127.0.0.1, порт 4445 в поле SSL прокси.\n"
+"Убедитесь, что ввели localhost и 127.0.0.1 в поле \"Не использовать "
+"прокси для\"."
+
+#: i2p2www/pages/site/about/browser-config.html:53
+msgid "Firefox Proxy Settings"
+msgstr "Настройки прокси для Firefox"
+
+#: i2p2www/pages/site/about/browser-config.html:57
+msgid ""
+"From the <em>Settings</em> menu, select <em>Configure Konqueror</em>. In "
+"the\n"
+"Web Browsing group on the left side, select Proxy Services.\n"
+"In this new window, select the option \"Manually specify the proxy "
+"settings\" and\n"
+"click the <em>Setup</em> box."
+msgstr ""
+"В меню <em>Settings</em>, выберите <em>Configure Konqueror</em>. В группе"
+"\n"
+"Web Browsing левой части окна, выберите Proxy Services.\n"
+"В появившемся окне, выберите опцию \"Manually specify the proxy "
+"settings\" и\n"
+"нажмите кнопку <em>Setup</em>."
+
+#: i2p2www/pages/site/about/browser-config.html:63
+msgid "Konqueror Proxy Options"
+msgstr "Настройки прокси для Konqueror"
+
+#: i2p2www/pages/site/about/browser-config.html:64
+msgid ""
+"Enter 127.0.0.1 and port 4444 into the HTTP box. Enter 127.0.0.1 and port"
+" 4445 into\n"
+"HTTPS box. Click the <em>New</em> button in the Exceptions section. Enter"
+"\n"
+"localhost and click OK. Click the <em>New</em> button once more and enter"
+"\n"
+"127.0.0.1 and OK. Hit OK once more to close the configuration window."
+msgstr ""
+"Введите 127.0.0.1 и порт 4444 в соответствующих полях HTTP. Введите "
+"127.0.0.1 и порт 4445 в соответствующих полях HTTPS.\n"
+"Нажмите кнопку <em>New</em> в секции Exceptions. Введите\n"
+"localhost и нажмите OK. Нажмите кнопку <em>New</em> ещё раз и введите\n"
+"127.0.0.1 и нажмите OK. Нажмите OK ещё раз, что бы закрыть окно настроек."
+
+#: i2p2www/pages/site/about/browser-config.html:70
+msgid "Konqueror Proxy Ports"
+msgstr "Konqueror порты прокси"
+
+#: i2p2www/pages/site/about/browser-config.html:74
+msgid ""
+"Remember: I2P was not designed for creating proxies to the outer "
+"Internet.\n"
+"Instead, it is meant to be used as an internal network."
+msgstr ""
+"Помните: I2P не был спроектирован для создания прокси во внешний "
+"интернет.\n"
+"Вместо этого I2P предназначена для использования в качестве внутренней "
+"сети."
+
+#: i2p2www/pages/site/about/browser-config.html:78
+msgid ""
+"<b>The I2P project itself does not run any proxies to the Internet. Any "
+"such proxy\n"
+"services are run by by private volunteers and could be shut down or\n"
+"unreachable at anytime.</b>"
+msgstr ""
+"<b>Проект I2P сам по себе не запускает никаких прокси в интернет. Любые\n"
+"такие прокси-сервисы управляются добровольцами и могут отключиться или\n"
+"стать недоступными в любой момент.</b>"
+
+#: i2p2www/pages/site/about/browser-config.html:83
+#, python-format
+msgid ""
+"By default, I2P comes with two outproxies configured: "
+"<code>%(http)s</code>\n"
+"(an HTTP-only proxy) and <code>%(https)s</code> (an HTTPS proxy\n"
+"routed through Tor."
+msgstr ""
+"По умолчанию I2P поставляется с двумя сконфигурированными внешними "
+"прокси: <code>%(http)s</code>\n"
+"(только HTTP прокси) и <code>%(https)s</code> (HTTPS прокси \n"
+"с маршрутизацией через Tor."
+
+#: i2p2www/pages/site/about/browser-config.html:88
+msgid ""
+"Both of these outproxies are configured with connection limits. This "
+"means\n"
+"that only set amount of accesses are allowed per client. Once the limit "
+"is\n"
+"reached, the client is blocked out for a timeframe of 1min/1h/1 day. Be\n"
+"respectful and do not overload these services with too many requests!"
+msgstr ""
+"Оба эти аутпрокси настроены с ограничениями соединения. Это значит,\n"
+"что только определённое количество доступов разрешено для каждого "
+"клиента. \n"
+"Как только лимит исчерпан, клиент блокируется на срок в 1 минуту/1час/1 "
+"день.\n"
+"Будьте вежливы и не перегружайте эти сервисы слишком многими запросами!"
+
+#: i2p2www/pages/site/about/browser-config.html:94
+msgid ""
+"Filtering is active on these outproxies (for example, mibbit and torrent\n"
+"tracker access is blocked). Eepsites\n"
+"that are accessible via .i2p addresses are also not allowed via the "
+"outproxies.\n"
+"As a convenience, <code>false.i2p</code> blocks ad servers."
+msgstr ""
+"На этих внешних прокси включена фильтрация (например, доступ к \n"
+"mibbit и torrent трэкерам запрещен). Eepsites, \n"
+"которые доступны через адреса .i2p также также не доступны через эти "
+"внешние прокси.\n"
+"По договоренности, <code>false.i2p</code> блокирует сервера рекламы."
+
+#: i2p2www/pages/site/about/browser-config.html:100
+msgid ""
+"<a href=\"https://www.torproject.org\">Tor</a> is good application to use"
+" as an\n"
+"outproxy to the Internet."
+msgstr ""
+"<a href=\"https://www.torproject.org\">Tor</a> - это хорошее приложение "
+"для\n"
+"использования его как аутпрокси в интернет. "
+
+#: i2p2www/pages/site/about/glossary.html:2
+msgid "Glossary"
+msgstr "Словарь."
+
+#: i2p2www/pages/site/about/glossary.html:4
+msgid ""
+"This page lists often-used terminology when discussing I2P and "
+"cryptography."
+msgstr ""
+"На этой странице перечислены термины, часто используемые при обсуждении "
+"I2P и криптографии."
+
+#: i2p2www/pages/site/about/hall-of-fame.html:2
+msgid "Hall Of Fame"
+msgstr "Зал Славы"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:5
+#, python-format
+msgid "Current balance: as of %(date)s"
+msgstr "Текущий баланс: по состоянию на %(date)s"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:8
+#: i2p2www/pages/site/about/hall-of-fame.html:46
+#: i2p2www/pages/site/about/hall-of-fame.html:172
+#: i2p2www/pages/site/about/hall-of-fame.html:173
+#: i2p2www/pages/site/about/hall-of-fame.html:174
+#: i2p2www/pages/site/about/hall-of-fame.html:175
+#: i2p2www/pages/site/about/hall-of-fame.html:177
+#: i2p2www/pages/site/about/hall-of-fame.html:178
+#: i2p2www/pages/site/about/hall-of-fame.html:179
+#: i2p2www/pages/site/about/hall-of-fame.html:182
+#: i2p2www/pages/site/about/hall-of-fame.html:183
+#: i2p2www/pages/site/about/hall-of-fame.html:184
+#: i2p2www/pages/site/about/hall-of-fame.html:187
+#: i2p2www/pages/site/about/hall-of-fame.html:188
+#: i2p2www/pages/site/about/hall-of-fame.html:189
+#: i2p2www/pages/site/about/hall-of-fame.html:190
+#: i2p2www/pages/site/about/hall-of-fame.html:191
+#: i2p2www/pages/site/about/hall-of-fame.html:192
+#: i2p2www/pages/site/about/hall-of-fame.html:193
+#: i2p2www/pages/site/about/hall-of-fame.html:194
+#: i2p2www/pages/site/about/hall-of-fame.html:195
+#: i2p2www/pages/site/about/hall-of-fame.html:196
+#: i2p2www/pages/site/about/hall-of-fame.html:197
+#: i2p2www/pages/site/about/hall-of-fame.html:198
+#: i2p2www/pages/site/about/hall-of-fame.html:199
+#: i2p2www/pages/site/about/hall-of-fame.html:202
+#: i2p2www/pages/site/about/hall-of-fame.html:203
+#: i2p2www/pages/site/about/hall-of-fame.html:204
+#: i2p2www/pages/site/about/hall-of-fame.html:205
+#: i2p2www/pages/site/about/hall-of-fame.html:206
+#: i2p2www/pages/site/about/hall-of-fame.html:207
+#: i2p2www/pages/site/about/hall-of-fame.html:209
+#: i2p2www/pages/site/about/hall-of-fame.html:210
+#: i2p2www/pages/site/about/hall-of-fame.html:213
+#: i2p2www/pages/site/about/hall-of-fame.html:214
+#: i2p2www/pages/site/about/hall-of-fame.html:215
+#: i2p2www/pages/site/about/hall-of-fame.html:216
+#: i2p2www/pages/site/about/hall-of-fame.html:217
+#: i2p2www/pages/site/about/hall-of-fame.html:219
+#: i2p2www/pages/site/about/hall-of-fame.html:220
+#: i2p2www/pages/site/about/hall-of-fame.html:221
+#: i2p2www/pages/site/about/hall-of-fame.html:222
+#: i2p2www/pages/site/about/hall-of-fame.html:223
+#: i2p2www/pages/site/about/hall-of-fame.html:224
+#: i2p2www/pages/site/about/hall-of-fame.html:226
+#: i2p2www/pages/site/about/hall-of-fame.html:227
+#: i2p2www/pages/site/about/hall-of-fame.html:228
+#: i2p2www/pages/site/about/hall-of-fame.html:229
+#: i2p2www/pages/site/about/hall-of-fame.html:231
+#: i2p2www/pages/site/about/hall-of-fame.html:232
+#: i2p2www/pages/site/about/hall-of-fame.html:233
+#: i2p2www/pages/site/about/hall-of-fame.html:234
+#: i2p2www/pages/site/about/hall-of-fame.html:235
+#: i2p2www/pages/site/about/hall-of-fame.html:238
+#: i2p2www/pages/site/about/hall-of-fame.html:239
+#: i2p2www/pages/site/about/hall-of-fame.html:240
+#: i2p2www/pages/site/about/hall-of-fame.html:241
+#: i2p2www/pages/site/about/hall-of-fame.html:243
+#: i2p2www/pages/site/about/hall-of-fame.html:244
+#: i2p2www/pages/site/about/hall-of-fame.html:245
+#: i2p2www/pages/site/about/hall-of-fame.html:247
+#: i2p2www/pages/site/about/hall-of-fame.html:248
+#: i2p2www/pages/site/about/hall-of-fame.html:249
+#: i2p2www/pages/site/about/hall-of-fame.html:250
+#: i2p2www/pages/site/about/hall-of-fame.html:252
+#: i2p2www/pages/site/about/hall-of-fame.html:253
+#: i2p2www/pages/site/about/hall-of-fame.html:254
+#: i2p2www/pages/site/about/hall-of-fame.html:255
+#: i2p2www/pages/site/about/hall-of-fame.html:256
+#: i2p2www/pages/site/about/hall-of-fame.html:262
+#: i2p2www/pages/site/about/hall-of-fame.html:265
+#: i2p2www/pages/site/about/hall-of-fame.html:266
+#: i2p2www/pages/site/about/hall-of-fame.html:267
+#: i2p2www/pages/site/about/hall-of-fame.html:268
+#: i2p2www/pages/site/about/hall-of-fame.html:269
+#: i2p2www/pages/site/about/hall-of-fame.html:271
+#: i2p2www/pages/site/about/hall-of-fame.html:272
+#: i2p2www/pages/site/about/hall-of-fame.html:273
+#: i2p2www/pages/site/about/hall-of-fame.html:278
+#: i2p2www/pages/site/about/hall-of-fame.html:279
+#: i2p2www/pages/site/about/hall-of-fame.html:280
+#: i2p2www/pages/site/about/hall-of-fame.html:281
+#: i2p2www/pages/site/about/hall-of-fame.html:282
+#: i2p2www/pages/site/about/hall-of-fame.html:283
+#: i2p2www/pages/site/about/hall-of-fame.html:284
+#: i2p2www/pages/site/about/hall-of-fame.html:285
+#: i2p2www/pages/site/about/hall-of-fame.html:286
+#: i2p2www/pages/site/about/hall-of-fame.html:287
+#: i2p2www/pages/site/about/hall-of-fame.html:289
+#: i2p2www/pages/site/about/hall-of-fame.html:290
+#: i2p2www/pages/site/about/hall-of-fame.html:300
+#: i2p2www/pages/site/about/hall-of-fame.html:301
+#: i2p2www/pages/site/about/hall-of-fame.html:302
+#: i2p2www/pages/site/about/hall-of-fame.html:303
+#: i2p2www/pages/site/about/hall-of-fame.html:304
+#: i2p2www/pages/site/about/hall-of-fame.html:305
+#: i2p2www/pages/site/about/hall-of-fame.html:306
+#: i2p2www/pages/site/about/hall-of-fame.html:307
+#: i2p2www/pages/site/about/hall-of-fame.html:308
+#: i2p2www/pages/site/about/hall-of-fame.html:309
+#: i2p2www/pages/site/about/hall-of-fame.html:310
+#: i2p2www/pages/site/about/hall-of-fame.html:311
+#: i2p2www/pages/site/about/hall-of-fame.html:312
+#: i2p2www/pages/site/about/hall-of-fame.html:313
+#: i2p2www/pages/site/about/hall-of-fame.html:314
+#: i2p2www/pages/site/about/hall-of-fame.html:315
+#: i2p2www/pages/site/about/hall-of-fame.html:316
+#: i2p2www/pages/site/about/hall-of-fame.html:317
+#: i2p2www/pages/site/about/hall-of-fame.html:318
+#: i2p2www/pages/site/about/hall-of-fame.html:319
+#: i2p2www/pages/site/about/hall-of-fame.html:320
+#: i2p2www/pages/site/about/hall-of-fame.html:324
+#: i2p2www/pages/site/about/hall-of-fame.html:325
+#: i2p2www/pages/site/about/hall-of-fame.html:326
+#: i2p2www/pages/site/about/hall-of-fame.html:327
+#: i2p2www/pages/site/about/hall-of-fame.html:328
+#: i2p2www/pages/site/about/hall-of-fame.html:329
+#: i2p2www/pages/site/about/hall-of-fame.html:330
+#: i2p2www/pages/site/about/hall-of-fame.html:332
+#: i2p2www/pages/site/about/hall-of-fame.html:333
+#: i2p2www/pages/site/about/hall-of-fame.html:334
+#: i2p2www/pages/site/about/hall-of-fame.html:335
+#: i2p2www/pages/site/about/hall-of-fame.html:336
+#: i2p2www/pages/site/about/hall-of-fame.html:337
+#: i2p2www/pages/site/about/hall-of-fame.html:338
+#: i2p2www/pages/site/about/hall-of-fame.html:339
+#: i2p2www/pages/site/about/hall-of-fame.html:340
+#: i2p2www/pages/site/about/hall-of-fame.html:343
+#: i2p2www/pages/site/about/hall-of-fame.html:344
+#: i2p2www/pages/site/about/hall-of-fame.html:345
+#: i2p2www/pages/site/about/hall-of-fame.html:346
+#: i2p2www/pages/site/about/hall-of-fame.html:347
+#: i2p2www/pages/site/about/hall-of-fame.html:349
+#: i2p2www/pages/site/about/hall-of-fame.html:351
+#: i2p2www/pages/site/about/hall-of-fame.html:352
+#: i2p2www/pages/site/about/hall-of-fame.html:353
+#: i2p2www/pages/site/about/hall-of-fame.html:354
+#: i2p2www/pages/site/about/hall-of-fame.html:355
+#: i2p2www/pages/site/about/hall-of-fame.html:356
+#: i2p2www/pages/site/about/hall-of-fame.html:357
+#: i2p2www/pages/site/about/hall-of-fame.html:359
+#: i2p2www/pages/site/about/hall-of-fame.html:360
+#: i2p2www/pages/site/about/hall-of-fame.html:361
+#: i2p2www/pages/site/about/hall-of-fame.html:362
+#: i2p2www/pages/site/about/hall-of-fame.html:363
+#: i2p2www/pages/site/about/hall-of-fame.html:364
+#: i2p2www/pages/site/about/hall-of-fame.html:365
+#: i2p2www/pages/site/about/hall-of-fame.html:366
+#: i2p2www/pages/site/about/hall-of-fame.html:367
+#: i2p2www/pages/site/about/hall-of-fame.html:368
+#: i2p2www/pages/site/about/hall-of-fame.html:369
+#: i2p2www/pages/site/about/hall-of-fame.html:370
+#: i2p2www/pages/site/about/hall-of-fame.html:371
+#: i2p2www/pages/site/about/hall-of-fame.html:372
+#: i2p2www/pages/site/about/hall-of-fame.html:374
+#: i2p2www/pages/site/about/hall-of-fame.html:375
+#: i2p2www/pages/site/about/hall-of-fame.html:376
+#: i2p2www/pages/site/about/hall-of-fame.html:379
+#: i2p2www/pages/site/about/hall-of-fame.html:380
+#: i2p2www/pages/site/about/hall-of-fame.html:383
+#: i2p2www/pages/site/about/hall-of-fame.html:384
+#: i2p2www/pages/site/about/hall-of-fame.html:386
+#: i2p2www/pages/site/about/hall-of-fame.html:387
+#: i2p2www/pages/site/about/hall-of-fame.html:400
+#: i2p2www/pages/site/about/hall-of-fame.html:401
+#: i2p2www/pages/site/about/hall-of-fame.html:402
+#: i2p2www/pages/site/about/hall-of-fame.html:403
+#: i2p2www/pages/site/about/hall-of-fame.html:404
+#: i2p2www/pages/site/about/hall-of-fame.html:405
+#: i2p2www/pages/site/about/hall-of-fame.html:406
+#: i2p2www/pages/site/about/hall-of-fame.html:407
+#: i2p2www/pages/site/about/hall-of-fame.html:408
+#: i2p2www/pages/site/about/hall-of-fame.html:409
+#: i2p2www/pages/site/about/hall-of-fame.html:410
+#: i2p2www/pages/site/about/hall-of-fame.html:411
+#: i2p2www/pages/site/about/hall-of-fame.html:412
+#: i2p2www/pages/site/about/hall-of-fame.html:413
+#: i2p2www/pages/site/about/hall-of-fame.html:414
+#: i2p2www/pages/site/about/hall-of-fame.html:415
+#: i2p2www/pages/site/about/hall-of-fame.html:416
+#: i2p2www/pages/site/about/hall-of-fame.html:417
+#: i2p2www/pages/site/about/hall-of-fame.html:418
+#: i2p2www/pages/site/about/hall-of-fame.html:419
+#: i2p2www/pages/site/about/hall-of-fame.html:420
+#: i2p2www/pages/site/about/hall-of-fame.html:421
+#: i2p2www/pages/site/about/hall-of-fame.html:422
+#: i2p2www/pages/site/about/hall-of-fame.html:423
+#: i2p2www/pages/site/about/hall-of-fame.html:424
+#: i2p2www/pages/site/about/hall-of-fame.html:425
+#: i2p2www/pages/site/about/hall-of-fame.html:426
+#: i2p2www/pages/site/about/hall-of-fame.html:427
+#: i2p2www/pages/site/about/hall-of-fame.html:428
+#: i2p2www/pages/site/about/hall-of-fame.html:429
+#: i2p2www/pages/site/about/hall-of-fame.html:430
+#: i2p2www/pages/site/about/hall-of-fame.html:431
+#: i2p2www/pages/site/about/hall-of-fame.html:432
+#: i2p2www/pages/site/about/hall-of-fame.html:433
+#: i2p2www/pages/site/about/hall-of-fame.html:434
+#: i2p2www/pages/site/about/hall-of-fame.html:436
+#: i2p2www/pages/site/about/hall-of-fame.html:437
+#: i2p2www/pages/site/about/hall-of-fame.html:438
+#: i2p2www/pages/site/about/hall-of-fame.html:439
+#: i2p2www/pages/site/about/hall-of-fame.html:440
+#: i2p2www/pages/site/about/hall-of-fame.html:441
+#: i2p2www/pages/site/about/hall-of-fame.html:442
+#: i2p2www/pages/site/about/hall-of-fame.html:443
+#: i2p2www/pages/site/about/hall-of-fame.html:445
+#: i2p2www/pages/site/about/hall-of-fame.html:446
+#: i2p2www/pages/site/about/hall-of-fame.html:447
+#: i2p2www/pages/site/about/hall-of-fame.html:449
+#: i2p2www/pages/site/about/hall-of-fame.html:450
+#: i2p2www/pages/site/about/hall-of-fame.html:451
+#: i2p2www/pages/site/about/hall-of-fame.html:452
+#: i2p2www/pages/site/about/hall-of-fame.html:453
+#: i2p2www/pages/site/about/hall-of-fame.html:455
+#: i2p2www/pages/site/about/hall-of-fame.html:458
+#: i2p2www/pages/site/about/hall-of-fame.html:459
+#: i2p2www/pages/site/about/hall-of-fame.html:460
+#: i2p2www/pages/site/about/hall-of-fame.html:461
+#: i2p2www/pages/site/about/hall-of-fame.html:462
+#: i2p2www/pages/site/about/hall-of-fame.html:463
+#: i2p2www/pages/site/about/hall-of-fame.html:464
+#: i2p2www/pages/site/about/hall-of-fame.html:465
+#: i2p2www/pages/site/about/hall-of-fame.html:466
+#: i2p2www/pages/site/about/hall-of-fame.html:467
+#: i2p2www/pages/site/about/hall-of-fame.html:468
+#: i2p2www/pages/site/about/hall-of-fame.html:469
+#: i2p2www/pages/site/about/hall-of-fame.html:470
+#: i2p2www/pages/site/about/hall-of-fame.html:471
+#: i2p2www/pages/site/about/hall-of-fame.html:473
+#: i2p2www/pages/site/about/hall-of-fame.html:474
+#: i2p2www/pages/site/about/hall-of-fame.html:475
+#: i2p2www/pages/site/about/hall-of-fame.html:477
+#: i2p2www/pages/site/about/hall-of-fame.html:480
+#: i2p2www/pages/site/about/hall-of-fame.html:481
+#: i2p2www/pages/site/about/hall-of-fame.html:482
+#: i2p2www/pages/site/about/hall-of-fame.html:483
+#: i2p2www/pages/site/about/hall-of-fame.html:484
+#: i2p2www/pages/site/about/hall-of-fame.html:485
+#: i2p2www/pages/site/about/hall-of-fame.html:486
+#: i2p2www/pages/site/about/hall-of-fame.html:487
+#: i2p2www/pages/site/about/hall-of-fame.html:488
+#: i2p2www/pages/site/about/hall-of-fame.html:489
+#: i2p2www/pages/site/about/hall-of-fame.html:490
+#: i2p2www/pages/site/about/hall-of-fame.html:491
+#: i2p2www/pages/site/about/hall-of-fame.html:492
+#: i2p2www/pages/site/about/hall-of-fame.html:493
+#: i2p2www/pages/site/about/hall-of-fame.html:494
+#: i2p2www/pages/site/about/hall-of-fame.html:495
+#: i2p2www/pages/site/about/hall-of-fame.html:496
+#: i2p2www/pages/site/about/hall-of-fame.html:497
+#: i2p2www/pages/site/about/hall-of-fame.html:498
+#: i2p2www/pages/site/about/hall-of-fame.html:500
+#: i2p2www/pages/site/about/hall-of-fame.html:501
+#: i2p2www/pages/site/about/hall-of-fame.html:502
+msgid "General fund"
+msgstr "Общий фонд"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:9
+#: i2p2www/pages/site/about/hall-of-fame.html:11
+#: i2p2www/pages/site/about/hall-of-fame.html:13
+#: i2p2www/pages/site/about/hall-of-fame.html:19
+#, python-format
+msgid "%(euroval)s &euro; and %(btcval)s BTC"
+msgstr "%(euroval)s &евро; и %(btcval)s BTC"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:10
+msgid "Datastorage bounty"
+msgstr "Премия за Хранилище данных"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:12
+msgid "Native IPv6 I2P"
+msgstr "Нативный IPv6 I2P"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:14
+msgid "I2PHex bounty"
+msgstr "Премия за I2PHex"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:15
+#: i2p2www/pages/site/about/hall-of-fame.html:17
+#: i2p2www/pages/site/about/hall-of-fame.html:21
+#, python-format
+msgid "%(euroval)s &euro;"
+msgstr "%(euroval)s &евро;"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:16
+msgid "I2P in debian mirrors"
+msgstr "I2P на зеркалах debian"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:18
+msgid "Bitcoin client for I2P"
+msgstr "Биткоин-клиент для I2P"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:20
+msgid "Unit Tests for I2P router"
+msgstr "Модульные тесты для маршрутизатора I2P"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:22
+msgid "Bounty Robert"
+msgstr "Вознаграждение за Robert"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:23
+msgid "Bounty Syndie"
+msgstr "Вознаграждение за Syndie"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:24
+msgid "Bounty I2P for CCR Microtic Board"
+msgstr "Вознаграждение за I2P для CCR Microtic Board"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:27
+msgid "Current monthly running costs:"
+msgstr "Текущие ежемесячные эксплуатационные расходы:"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:38
+msgid "Big thanks go to the following people who have donated to I2P!"
+msgstr "Большая благодарность следующим людям, сделавшим пожертвование для I2P!"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:39
+#, python-format
+msgid ""
+"If you have made a donation, please send an email to <a "
+"href=\"mailto:%(echelon)s\">echelon</a>\n"
+"with your name or nick (and optionally homepage) so we can list you here."
+msgstr ""
+"Если вы сделали пожертвование, пожалуйста, пошлите email на <a "
+"href=\"mailto:%(echelon)s\">echelon</a>\n"
+"с вашим именем или ником (и, по желанию, домашней страницей), чтобы мы "
+"смогли указать вас здесь."
+
+#: i2p2www/pages/site/about/hall-of-fame.html:44
+msgid "Current monthly subscriptions:"
+msgstr "Текущие подписки на месяц:"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:50
+msgid "2013 donations and costs:"
+msgstr "Пожертвования и расходы 2013 года:"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:169
+msgid "2012 donations and costs:"
+msgstr "Пожертвования и расходы в 2012 году:"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:297
+msgid "2011 donations and costs:"
+msgstr "Пожертвования и расходы в 2011 году:"
+
+#: i2p2www/pages/site/about/hall-of-fame.html:398
+msgid "Previous to 2011 donations:"
+msgstr "Пожертвования до 2011 года:"
+
+#: i2p2www/pages/site/about/intro.html:2
+msgid "Intro"
+msgstr "Введение"
+
+#: i2p2www/pages/site/about/intro.html:4
+msgid "The Invisible Internet Project"
+msgstr "Проект Невидимый Интернет"
+
+#: i2p2www/pages/site/about/intro.html:5
+#, python-format
+msgid ""
+"I2P is an anonymous network, exposing a simple layer that applications "
+"can \n"
+"use to anonymously and securely send messages to each other. The network "
+"itself is \n"
+"strictly message based (a la <a href=\"%(ip)s\">IP</a>), but there is a \n"
+"library available to allow reliable streaming communication on top of it "
+"(a la \n"
+"<a href=\"%(tcp)s\">TCP</a>).  \n"
+"All communication is end to end encrypted (in total there are four layers"
+" of \n"
+"encryption used when sending a message), and even the end points "
+"(\"destinations\") \n"
+"are cryptographic identifiers (essentially a pair of <a "
+"href=\"%(pke)s\">public keys</a>)."
+msgstr ""
+"I2P -- это анонимная сеть, которая предоставляет простой слой, который \n"
+"может использоваться приложениями для анонимного и безопасного обмена\n"
+"сообщениями. Сама сеть основана на сообщениях (как <a "
+"href=\"%(ip)s\">IP</a>),\n"
+"но есть и библиотека для организации гарантированной потоковой связи \n"
+"поверх сети (как <a href=\"%(tcp)s\">TCP</a>).\n"
+"Все коммуникации используют сквозное шифрование (всего используется "
+"четыре слоя\n"
+"шифрования при отправке сообщения), и даже сами абоненты "
+"(\"направления\") являются\n"
+"криптографическими идентификаторами (в сущности парой <a "
+"href=\"%(pke)s\">публичных ключей</a>)."
+
+#: i2p2www/pages/site/about/intro.html:18
+msgid "How does it work?"
+msgstr "Как это работает?"
+
+#: i2p2www/pages/site/about/intro.html:20
+#, python-format
+msgid ""
+"To anonymize the messages sent, each client application has their I2P "
+"\"router\"\n"
+"build a few inbound and outbound \"<a "
+"href=\"%(tunnelrouting)s\">tunnels</a>\" - a \n"
+"sequence of peers that pass messages in one direction (to and from the "
+"client, \n"
+"respectively).  In turn, when a client wants to send a message to another"
+" client, \n"
+"the client passes that message out one of their outbound tunnels "
+"targeting one of the \n"
+"other client's inbound tunnels, eventually reaching the destination.  "
+"Every \n"
+"participant in the network chooses the length of these tunnels, and in "
+"doing so, \n"
+"makes a tradeoff between anonymity, latency, and throughput according to "
+"their \n"
+"own needs.  The result is that the number of peers relaying each end to "
+"end \n"
+"message is the absolute minimum necessary to meet both the sender's and "
+"the \n"
+"receiver's threat model."
+msgstr ""
+"Чтобы анонимизировать отправляемое сообщение, каждое приложение-клиент\n"
+"имеет свой I2P \"маршрутизатор\", строящий несколько входящих и исходящих"
+"\n"
+"\"<a href=\"%(tunnelrouting)s\">туннелей</a>\" - последовательность "
+"пиров,\n"
+"передающих сообщения в одном направлении (к и от клиента соответственно)."
+"\n"
+"В свою очередь, когда один клиент хочет послать сообщение другому, он\n"
+"передаёт это сообщение через один из своих исходящих туннелей, "
+"нацеливаясь\n"
+"на один из входящих туннелей другого клиента, в конечном итоге достигая \n"
+"пункта назначения. Каждый участник сети выбирает длину этих туннелей, и\n"
+"таким образом идёт на компромисс между анонимностью, временем ожидания\n"
+"и пропускной способностью в соответствии со своими нуждами. В результате,"
+"\n"
+"количество пиров, ретранслирующих каждое сообщение из конца в конец,\n"
+"сведено к абсолютному минимуму, необходимому, чтобы удовлетворить\n"
+"\"модель угрозы\" (уровень желаемой безопасности) как отправителя, так и "
+"получателя. "
+
+#: i2p2www/pages/site/about/intro.html:34
+#, python-format
+msgid ""
+"The first time a client wants to contact another client, they make a "
+"query \n"
+"against the fully distributed \"<a href=\"%(netdb)s\">network \n"
+"database</a>\" - a custom structured <a href=\"%(dht)s\">\n"
+"distributed hash table (DHT)</a> based off the \n"
+"<a href=\"%(kad)s\">Kademlia algorithm</a>. This is done \n"
+"to find the other client's inbound tunnels efficiently, but subsequent "
+"messages \n"
+"between them usually includes that data so no further network database "
+"lookups \n"
+"are required."
+msgstr ""
+"Когда клиент обращается к другому клиенту в первый раз, он обращается\n"
+"к полностью распределенной  \"<a href=\"%(netdb)s\">сетевой базе "
+"данных</a>\" - \n"
+"<a href=\"%(dht)s\">распределённой хэш-таблице (DHT)</a> особой "
+"структуры,\n"
+"основанной на <a href=\"%(kad)s\">алгоритме Kademlia</a>, чтобы быстро "
+"найти\n"
+"входящие туннели другого клиента. Следующие сообщения между двумя "
+"клиентами \n"
+"обычно содержат эти данные, поэтому запросы к сети более не нужны."
+
+#: i2p2www/pages/site/about/intro.html:47
+#, python-format
+msgid "More details about how I2P works are <a href=\"%(docs)s\">available</a>."
+msgstr "Более <a href=\"%(docs)s\">подробно</a> о том, как работает I2P."
+
+#: i2p2www/pages/site/about/intro.html:51
+msgid "What can you do with it?"
+msgstr "Как вы можете это использовать?"
+
+#: i2p2www/pages/site/about/intro.html:53
+#, python-format
+msgid ""
+"Within the I2P network, applications are not restricted in how they can \n"
+"communicate - those that typically use UDP can make use of the base I2P \n"
+"functionality, and those that typically use TCP can use the TCP-like "
+"streaming\n"
+"library.  We have a generic TCP/I2P bridge application \n"
+"(\"<a href=\"%(i2ptunnel)s\">I2PTunnel</a>\") that enables people to "
+"forward TCP streams\n"
+"into the I2P network as well as to receive streams out of the network and"
+" \n"
+"forward them towards a specific TCP/IP address."
+msgstr ""
+"Внутри сети I2P приложения не ограничены в способах коммуникации - \n"
+"те, что обычно используют UDP, могут использовать базовый функционал\n"
+"I2P, а те, что обычно используют TCP, могут использовать TCP-подобную \n"
+"потоковую библиотеку. У нас есть приложение общего TCP/IP моста\n"
+"(\"<a href=\"%(i2ptunnel)s\">I2PTunnel</a>\"), которое позволяет людям \n"
+"пересылать TCP потоки в I2P сеть также как получать потоки извне сети и \n"
+"пересылать их на определённый TCP/IP адрес."
+
+#: i2p2www/pages/site/about/intro.html:63
+#, python-format
+msgid ""
+"I2PTunnel is currently used to let people run their own anonymous website"
+" \n"
+"(\"eepsite\") by running a normal webserver and pointing an I2PTunnel "
+"'server' \n"
+"at it, which people can access anonymously over I2P with a normal web "
+"browser \n"
+"by running an I2PTunnel HTTP proxy (\"eepproxy\").  In addition, we use "
+"the same \n"
+"technique to run an anonymous IRC network (where the IRC server is hosted"
+" \n"
+"anonymously, and standard IRC clients use an I2PTunnel to contact it).  "
+"There \n"
+"are other application development efforts going on as well, such as one "
+"to \n"
+"build an optimized swarming file transfer application (a la \n"
+"<a href=\"%(bittorrent)s\">BitTorrent</a>), a \n"
+"distributed data store (a la <a href=\"%(freenet)s\">Freenet</a> / \n"
+"<a href=\"%(mnet)s\">MNet</a>), and a blogging system (a fully \n"
+"distributed <a href=\"%(livejournal)s\">LiveJournal</a>), but those are \n"
+"not ready for use yet."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:82
+#, python-format
+msgid ""
+"I2P is not inherently an \"outproxy\" network - the client you send a "
+"message \n"
+"to is the cryptographic identifier, not some IP address, so the message "
+"must \n"
+"be addressed to someone running I2P.  However, it is possible for that "
+"client\n"
+"to be an outproxy, allowing you to anonymously make use of their Internet"
+" \n"
+"connection.  To demonstrate this, the \"eepproxy\" will accept normal "
+"non-I2P \n"
+"URLs (e.g. \"http://www.i2p.net\") and forward them to a specific "
+"destination\n"
+"that runs a <a href=\"%(squid)s\">squid</a> HTTP proxy, allowing \n"
+"simple anonymous browsing of the normal web.  Simple outproxies like that"
+" are \n"
+"not viable in the long run for several reasons (including the cost of "
+"running \n"
+"one as well as the anonymity and security issues they introduce), but in"
+" \n"
+"certain circumstances the technique could be appropriate."
+msgstr ""
+
+#: i2p2www/pages/site/about/intro.html:96
+#, python-format
+msgid ""
+"The I2P development <a href=\"%(team)s\">team</a> is an open group, "
+"welcome to all \n"
+"who are interested in <a href=\"%(volunteer)s\">getting involved</a>, and"
+" all of \n"
+"the code is <a href=\"%(licenses)s\">open source</a>.  The core I2P SDK "
+"and the \n"
+"current router implementation is done in Java (currently working with "
+"both \n"
+"sun and kaffe, gcj support planned for later), and there is a \n"
+"<a href=\"%(sam)s\">simple socket based API</a> for accessing the network"
+" from \n"
+"other languages (with a C library available, and both Python and Perl in"
+" \n"
+"development).  The network is actively being developed and has not yet "
+"reached \n"
+"the 1.0 release, but the current <a href=\"%(roadmap)s\">roadmap</a> "
+"describes \n"
+"our schedule."
+msgstr ""
+"<a href=\"%(team)s\">Команда</a> разработчиков I2P - это группа открытая "
+"для всех кто заинтересован <a href=\"%(volunteer)s\">принять участие</a>,"
+" и весь код проэкта - это <a href=\"%(licenses)s\">открытый код</a>.  "
+"Ядро I2P SDK и текущая реализация роутера выполнены на языке Java (в "
+"настоящий момент поддерживаются реализации от \n"
+"sun и kaffe, реализация поддержки gcj запланирована на будущее), также "
+"существует\n"
+"<a href=\"%(sam)s\">простое основанное на сокетах API</a> для доступа к "
+"сети из других языков (библиотека для C уже доступна, а для Python и Perl"
+" в \n"
+"процессе разработки). Проект активно разрабатывается хоть ещё и не достиг"
+" стадии релиза 1.0, но текущий <a href=\"%(roadmap)s\">план развития "
+"проекта</a> описывает дальнейший путь нашей команды."
+
+#: i2p2www/pages/site/about/media.html:2
+msgid "Presentations on I2P"
+msgstr "Презентации в I2P"
+
+#: i2p2www/pages/site/about/media.html:4
+#, python-format
+msgid ""
+"Following are links to presentations, videos, and tutorials about I2P. "
+"Links to research papers on I2P are available <a "
+"href=\"%(papers)s\">here</a>."
+msgstr ""
+"Ниже приведены ссылки на презентации, видео и руководства по I2P. Ссылки "
+"на исследовательские работы по I2P доступны <a "
+"href=\"%(papers)s\">здесь</a>."
+
+#: i2p2www/pages/site/about/media.html:7
+#, python-format
+msgid "To request an addition to this page, please send to %(email)s."
+msgstr "Материалы для добавления на эту страницу отсылайте на %(email)s."
+
+#: i2p2www/pages/site/about/media.html:10
+msgid ""
+"\n"
+"Newest links are at the bottom of each section."
+msgstr ""
+"\n"
+"Свежие ссылки в начале каждого раздела."
+
+#: i2p2www/pages/site/about/media.html:15
+msgid "Presentations"
+msgstr "Презентации"
+
+#: i2p2www/pages/site/about/media.html:18
+#, python-format
+msgid ""
+"IIP Presentation at CodeCon\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>\n"
+"<a href=\"%(transcript)s\">transcript</a>\n"
+"Lance James (0x90), February 2002."
+msgstr ""
+"Презентация IIP на конференции CodeCon\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>\n"
+"<a href=\"%(transcript)s\">стенограмма</a>\n"
+"Lance James (0x90), Февраль 2002."
+
+#: i2p2www/pages/site/about/media.html:26
+#, python-format
+msgid ""
+"IIP Presentation at ToorCon\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>\n"
+"<a href=\"%(slides)s\">slides</a>\n"
+"Lance James (0x90), September 2002."
+msgstr ""
+"Презентация IIP на конференции ToorCon\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>\n"
+"<a href=\"%(slides)s\">слайды</a>\n"
+"Lance James (0x90), Сентябрь 2002."
+
+#: i2p2www/pages/site/about/media.html:34
+#, python-format
+msgid ""
+"<a href=\"%(video)s\">To Be or I2P</a>\n"
+"(Youtube Video)\n"
+"An introduction into anonymous communication with I2P.\n"
+"<a href=\"%(pdf)s\">To Be or I2P (PDF presentation)</a>,\n"
+"Jens Kubieziel, 24C3 Berlin, December 28, 2007."
+msgstr ""
+"<a href=\"%(video)s\">Быть или I2P</a>\n"
+"(Youtube Video)\n"
+"Введение в анонимную связь с I2P.\n"
+"<a href=\"%(pdf)s\">Быть или I2P (презентация PDF)</a>,\n"
+"Jens Kubieziel, 24C3 Berlin, Декабрь 28, 2007."
+
+#: i2p2www/pages/site/about/media.html:43
+#, python-format
+msgid ""
+"<a href=\"%(video)s\">Video of I2P talk at Chemnitz Linux Tag</a>,\n"
+"Lars Schimmer,\n"
+"March 14-15, 2009"
+msgstr ""
+"<a href=\"%(video)s\">Видеозапись обсуждения I2P на Chemnitz Linux "
+"Tag</a>,\n"
+"Lars Schimmer,\n"
+"Март 14-15, 2009"
+
+#: i2p2www/pages/site/about/media.html:49
+#, python-format
+msgid ""
+"HOPE New York July 17, 2010 - Brief overview of I2P by zzz, at the end of"
+" Adrian Hong's talk\n"
+"\"Hackers for Human Rights\".\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>"
+msgstr ""
+"НАВЕРНОЕ New York Июль 17, 2010 - Краткий обзор I2P от zzz, в конце "
+"выступления Adrian Hong's\n"
+"\"Хакеры за Права Человека\".\n"
+"<a href=\"%(mp3)s\">MP3 audio</a>"
+
+#: i2p2www/pages/site/about/media.html:55
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Into the I2P Darknet: Welcome to Cipherspace</a>\n"
+"Adrian Crenshaw. Schmoocon Firetalk, January 2011"
+msgstr ""
+"<a href=\"%(link)s\">В I2P Darknet: Добро пожаловать в Cipherspace</a>\n"
+"Adrian Crenshaw. Schmoocon Firetalk, Январь 2011"
+
+#: i2p2www/pages/site/about/media.html:60
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Using techhnology to advance liberty</a>\n"
+"(Youtube Video)\n"
+"Eric Johnson.\n"
+"<a href=\"http://agora.io/etienne\">Agora I/O Unconference</a>, March 27,"
+" 2011.\n"
+"I2P covered from 10:00 to 20:00 in the video."
+msgstr ""
+"<a href=\"%(link)s\">Использование технологий для распространения "
+"свободы</a>\n"
+"(Youtube Video)\n"
+"Eric Johnson.\n"
+"<a href=\"http://agora.io/etienne\">Agora I/O Unconference</a>, Март 27, "
+"2011.\n"
+"Информация об I2P с 10:00 до 20:00."
+
+#: i2p2www/pages/site/about/media.html:68
+#, python-format
+msgid ""
+"<a href=\"%(pdf)s\">The Bright side of darknets</a>, FOSSCOMM Patras May "
+"2011"
+msgstr "<a href=\"%(pdf)s\">Светлая сторона darknet</a>, FOSSCOMM Patras Май 2011"
+
+#: i2p2www/pages/site/about/media.html:72
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Common Darknet Weaknesses</a>\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw, <a href=\"http://aide.marshall.edu/\">AIDE</a>, July "
+"11-15, 2011."
+msgstr ""
+"<a href=\"%(link)s\">Общие уязвимости Darknet</a>\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw, <a href=\"http://aide.marshall.edu/\">AIDE</a>, Июль "
+"11-15, 2011."
+
+#: i2p2www/pages/site/about/media.html:78
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">I2P / Tor Workshop Notes</a>\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011."
+msgstr ""
+"<a href=\"%(link)s\">Заметки с семинаров по I2P / Tor</a>\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, Август 6, 2011."
+
+#: i2p2www/pages/site/about/media.html:83
+#, python-format
+msgid ""
+"<a href=\"%(live)s\">Cipherspaces/Darknets: An Overview Of Attack "
+"Strategies -\n"
+"DEF CON Live version (Youtube Video)</a>,\n"
+"<a href=\"%(studio)s\">\"Studio\" version (Youtube Video)</a>,\n"
+"<a href=\"%(slides)s\">Slides (ppt)</a>\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011."
+msgstr ""
+"<a href=\"%(live)s\">Cipherspaces/Darknets: Обзор стратегий атак -\n"
+"DEF CON Живая версия (Youtube Video)</a>,\n"
+"<a href=\"%(studio)s\">\"Студийная\" версия (Youtube Video)</a>,\n"
+"<a href=\"%(slides)s\">Слайды (ppt)</a>\n"
+"Adrian Crenshaw. DEF CON 19, Las Vegas, Август 7, 2011."
+
+#: i2p2www/pages/site/about/media.html:93
+msgid ""
+"<a href=\"http://0x375.org/\">Modern cipherspace ecosystems</a>, 0x375 "
+"0x06 4/11/2011"
+msgstr ""
+"<a href=\"http://0x375.org/\">Современные экосистемы cipherspace </a>, "
+"0x375 0x06 4/11/2011"
+
+#: i2p2www/pages/site/about/media.html:99
+msgid "Tutorials"
+msgstr "Руководства"
+
+#: i2p2www/pages/site/about/media.html:102
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">I2P Windows Tutorial</a>\n"
+"(Youtube Video)\n"
+"This guide will show you how to install I2P in Windows XP.\n"
+"By <a href=\"http://telecomix.org/\">Telecomix</a>"
+msgstr ""
+"<a href=\"%(link)s\">Руководство I2P под Windows</a>\n"
+"(Youtube Video)\n"
+"Этот гид объяснит как установить I2P в Windows XP.\n"
+"Автор <a href=\"http://telecomix.org/\">Telecomix</a>"
+
+#: i2p2www/pages/site/about/media.html:110
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">I2P Debian Tutorial</a>\n"
+"(Youtube Video)\n"
+"This will guide you through how to install I2P on a Debian Linux System.\n"
+"By <a href=\"http://telecomix.org/\">Telecomix</a>"
+msgstr ""
+"<a href=\"%(link)s\">Руководство I2P под Debian</a>\n"
+"(Youtube Video)\n"
+"Этот гид объяснит как установить I2P в Debian Linux System.\n"
+"Автор <a href=\"http://telecomix.org/\">Telecomix</a>"
+
+#: i2p2www/pages/site/about/media.html:118
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">How to set up anonymous site in I2P</a>\n"
+"(Youtube Video)\n"
+"How to set up an anonymous web site in I2P.\n"
+"By <a href=\"http://telecomix.org/\">Telecomix</a>"
+msgstr ""
+"<a href=\"%(link)s\">Как поднять анонимный веб-сайт в сети I2P</a>\n"
+"(Youtube Video)\n"
+"Как поднять анонимный веб-сайт в сети I2P.\n"
+"Автор <a href=\"http://telecomix.org/\">Telecomix</a>"
+
+#: i2p2www/pages/site/about/media.html:125
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">I2P Tutorial Mac OS X</a>\n"
+"(Youtube Video)\n"
+"A tutorial on how to run i2p on Mac OS X and how to connect to "
+"irc.telecomix.i2p.\n"
+"By <a href=\"http://telecomix.org/\">Telecomix</a>"
+msgstr ""
+"<a href=\"%(link)s\">Руководство I2P под Mac OS X</a>\n"
+"(Youtube Video)\n"
+"Руководство по запуску i2p под Mac OS X, и как подключиться к "
+"irc.telecomix.i2p.\n"
+"Автор <a href=\"http://telecomix.org/\">Telecomix</a>"
+
+#: i2p2www/pages/site/about/media.html:132
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Felix Atari explains the basic principles of I2P</a>"
+"\n"
+"(Youtube Video)\n"
+"Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n"
+"By <a href=\"http://telecomix.org/\">Telecomix</a>"
+msgstr ""
+"<a href=\"%(link)s\">Felix Atari объясняет основные принципы I2P</a>\n"
+"(Youtube Video)\n"
+"Felix Atari сотрудник Telecomix Crypto Munitions Bureau.\n"
+"Автор <a href=\"http://telecomix.org/\">Telecomix</a>"
+
+#: i2p2www/pages/site/about/media.html:139
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">How to get onto I2P, the anonymous P2P Darknet "
+"(Windows Install)</a>\n"
+"(Youtube Video)\n"
+"This tutorial shows how to install and configure software needed to "
+"access I2P."
+msgstr ""
+"<a href=\"%(link)s\">Как попасть в I2P, анонимный P2P Darknet (устновка в"
+" Windows)</a>\n"
+"(Youtube Video)\n"
+"Это руководство объяснит как установить и настроить ПО для доступа в I2P."
+
+#: i2p2www/pages/site/about/media.html:145
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">How to connect to I2P</a>\n"
+"(Youtube Video)\n"
+"How to install I2P on Ubuntu."
+msgstr ""
+"<a href=\"%(link)s\">Как подключиться к сети I2P</a>\n"
+"(Youtube Video)\n"
+"Как установить I2P в Ubuntu."
+
+#: i2p2www/pages/site/about/media.html:151
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Installing the I2P darknet software in Linux</a>\n"
+"(Video)\n"
+"Adrian Crenshaw.\n"
+"January 2011"
+msgstr ""
+"<a href=\"%(link)s\">Установка ПО I2P darknet в Linux</a>\n"
+"(Video)\n"
+"Adrian Crenshaw.\n"
+"Январь 2011"
+
+#: i2p2www/pages/site/about/media.html:158
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Short garlic routing animation</a>\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw.\n"
+msgstr ""
+"<a href=\"%(link)s\">Короткий роли о чесночной маршрутизации</a>\n"
+"(Youtube Video)\n"
+"Adrian Crenshaw.\n"
+
+#: i2p2www/pages/site/about/media.html:166
+msgid "Articles and Interviews"
+msgstr "Статьи и интервью"
+
+#: i2p2www/pages/site/about/media.html:169
+#, python-format
+msgid ""
+"0x90 Interviewed by DistributedCity\n"
+"<a href=\"%(link1)s\">Part 1</a>\n"
+"<a href=\"%(link2)s\">Part 2</a>\n"
+"July 26, 2002."
+msgstr ""
+"0x90 в интервью DistributedCity\n"
+"<a href=\"%(link1)s\">Часть 1</a>\n"
+"<a href=\"%(link2)s\">Часть 2</a>\n"
+"Июль 26, 2002."
+
+#: i2p2www/pages/site/about/media.html:177
+#, python-format
+msgid ""
+"0x90 Interviewed by El Pais\n"
+"(original in Spanish)\n"
+"<a href=\"%(link)s\">English translation</a>\n"
+"October 31, 2002."
+msgstr ""
+"0x90 в интервью El Pais\n"
+"(в оригинале на испанском)\n"
+"<a href=\"%(link)s\">английский перевод</a>\n"
+"Октябрь 31, 2002."
+
+#: i2p2www/pages/site/about/media.html:184
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">2003 Business Week article referencing "
+"invisiblenet</a>"
+msgstr "<a href=\"%(link)s\">2003 Business Week статья о невидимой сети</a>"
+
+#: i2p2www/pages/site/about/media.html:188
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">Netzwelt.de article about being anonymous in the "
+"Internet</a>\n"
+"(German)\n"
+"November 2007."
+msgstr ""
+"<a href=\"%(link)s\">Netzwelt.de статья об анонимности в Интернет</a>\n"
+"(на немецком)\n"
+"Ноябрь 2007."
+
+#: i2p2www/pages/site/about/media.html:194
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">zzz interviewed by gulli.com</a>\n"
+"March 2009\n"
+"<a href=\"%(german)s\">German translation</a>"
+msgstr ""
+"<a href=\"%(link)s\">интервью zzz для gulli.com</a>\n"
+"Март 2009\n"
+"<a href=\"%(german)s\">немецкий перевод</a>"
+
+#: i2p2www/pages/site/about/media.html:201
+#, python-format
+msgid ""
+"<a href=\"%(mp3)s\">zzz interviewed on the InfoSec Daily Podcast Ep. 454 "
+"(mp3)</a>\n"
+"August 18, 2011"
+msgstr ""
+"<a href=\"%(mp3)s\">zzz в интервью на InfoSec Daily Podcast Ep. 454 "
+"(mp3)</a>\n"
+"Август 18, 2011"
+
+#: i2p2www/pages/site/about/media.html:206
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">I2P - Anonymity for the Masses</a>,\n"
+"Jonathan Cox,\n"
+"November 11, 2011."
+msgstr ""
+"<a href=\"%(link)s\">I2P - Анонимность для Всех</a>,\n"
+"Jonathan Cox,\n"
+"Ноябрь 11, 2011."
+
+#: i2p2www/pages/site/about/media.html:212
+#, python-format
+msgid ""
+"<a href=\"%(mp3)s\">zzz and Lance James interviewed on the InfoSec Daily "
+"Podcast Ep. 596 (mp3)</a>\n"
+"February 16, 2012"
+msgstr ""
+"<a href=\"%(mp3)s\">zzz и Lance James в интервью на InfoSec Daily Podcast"
+" Ep. 596 (mp3)</a>\n"
+"Февраль 16, 2012"
+
+#: i2p2www/pages/site/about/team.html:2
+msgid "I2P Project Members"
+msgstr "Участники проекта I2P"
+
+#: i2p2www/pages/site/about/team.html:4
+#, python-format
+msgid ""
+"We are a small group of people spread around several continents, working "
+"to\n"
+"advance different aspects of the project and discussing the design of the"
+"\n"
+"network.\n"
+"<a href=\"%(volunteer)s\">Get involved!</a>"
+msgstr ""
+"Мы маленькая группа людей, распределенная по нескольким континентам, мы "
+"работаем над\n"
+"продвижением различных частей проекта и обсуждаем архитектуру \n"
+"сети.\n"
+"<a href=\"%(volunteer)s\">Присоединяйтесь!</a>"
+
+#: i2p2www/pages/site/about/team.html:13
+msgid "Admin"
+msgstr "Администрация"
+
+#: i2p2www/pages/site/about/team.html:14
+msgid "Project Manager"
+msgstr "Менеджер проектов"
+
+#: i2p2www/pages/site/about/team.html:16
+msgid "point of contact of last resort"
+msgstr "контакт для крайних случаев"
+
+#: i2p2www/pages/site/about/team.html:19
+msgid "Treasurer"
+msgstr "Казначей"
+
+#: i2p2www/pages/site/about/team.html:21
+msgid "manage donations / accounts / bounties"
+msgstr "управляет пожертвованиями / счетами / премиями"
+
+#: i2p2www/pages/site/about/team.html:24
+msgid "PR manager"
+msgstr "PR-менеджер"
+
+#: i2p2www/pages/site/about/team.html:26
+msgid "press contact, manages public relations and affairs"
+msgstr "контакты с прессой, публичные отношения и дела"
+
+#: i2p2www/pages/site/about/team.html:29
+#, python-format
+msgid "<a href=\"http://%(forum)s/\">Forum</a> admin"
+msgstr "Администратор <a href=\"http://%(forum)s/\">форума</a>"
+
+#: i2p2www/pages/site/about/team.html:31
+msgid "manage the public user forum"
+msgstr "управляет публичным форумом пользователей"
+
+#: i2p2www/pages/site/about/team.html:34
+msgid "Mirrors admin"
+msgstr "Администратор зеркал"
+
+#: i2p2www/pages/site/about/team.html:36
+msgid "manage the project mirrors"
+msgstr "управляет зеркалами проекта"
+
+#: i2p2www/pages/site/about/team.html:39
+#, python-format
+msgid "<a href=\"%(monotone)s\">Monotone</a> guru"
+msgstr "Гуру <a href=\"%(monotone)s\">Monotone</a>"
+
+#: i2p2www/pages/site/about/team.html:41
+msgid "manage the public monotone repositories"
+msgstr "управляет публичными хранилищами monotone"
+
+#: i2p2www/pages/site/about/team.html:44
+msgid "Packager; Linux"
+msgstr "Упаковщик; Linux"
+
+#: i2p2www/pages/site/about/team.html:46
+msgid "Linux (Debian/Ubuntu) distribution packager"
+msgstr "упаковщик дистрибутивов под Linux (Debian/Ubuntu) "
+
+#: i2p2www/pages/site/about/team.html:49
+msgid "Packager; Windows"
+msgstr "Упаковщик; Windows"
+
+#: i2p2www/pages/site/about/team.html:51
+msgid "Windows installer packager"
+msgstr "упаковщик дистрибутивов под Windows"
+
+#: i2p2www/pages/site/about/team.html:54
+msgid "Release Manager"
+msgstr "Менеджер по выпуску"
+
+#: i2p2www/pages/site/about/team.html:56
+msgid "Builds and signs the releases"
+msgstr "Собирает и подписывает релизы"
+
+#: i2p2www/pages/site/about/team.html:59
+msgid "Update admin"
+msgstr "Администратор обновлений"
+
+#: i2p2www/pages/site/about/team.html:61
+msgid "Monitors and recruits in-network update hosts"
+msgstr "Наблюдение за существующими и добавление новых внутри сетевых хостов"
+
+#: i2p2www/pages/site/about/team.html:64
+msgid "Reseed admin"
+msgstr "Администратор начальных загрузок"
+
+#: i2p2www/pages/site/about/team.html:66
+msgid "Monitors, advises and recruits reseed hosts"
+msgstr "Наблюдает, советует и набирает узлы для начальной загрузки"
+
+#: i2p2www/pages/site/about/team.html:69
+msgid "Security expert"
+msgstr "Эксперт по безопасности"
+
+#: i2p2www/pages/site/about/team.html:70 i2p2www/pages/site/about/team.html:85
+#: i2p2www/pages/site/about/team.html:90 i2p2www/pages/site/about/team.html:110
+#: i2p2www/pages/site/about/team.html:147
+#: i2p2www/pages/site/about/team.html:157
+#: i2p2www/pages/site/about/team.html:162
+#: i2p2www/pages/site/about/team.html:167
+#: i2p2www/pages/site/about/team.html:172
+#: i2p2www/pages/site/about/team.html:177
+#: i2p2www/pages/site/about/team.html:210
+msgid "vacant"
+msgstr "открыта вакансия"
+
+#: i2p2www/pages/site/about/team.html:71
+msgid "threat model / crypto expert"
+msgstr "эксперт по моделированию угроз / шифрованию"
+
+#: i2p2www/pages/site/about/team.html:76
+msgid "Manage the project bug tracker"
+msgstr "Управлять системой контроля ошибок проекта"
+
+#: i2p2www/pages/site/about/team.html:79
+msgid "Translation admins"
+msgstr "Администраторы переводов"
+
+#: i2p2www/pages/site/about/team.html:84
+msgid "User Advocate"
+msgstr "Пользовательский Адвокат"
+
+#: i2p2www/pages/site/about/team.html:86
+msgid "gather, prioritize, advocate for user needs"
+msgstr ""
+"сбор сведений, расстановка приоритетов, адвокатские услуги для "
+"пользователей"
+
+#: i2p2www/pages/site/about/team.html:89
+msgid "Web Designer"
+msgstr "Web-дизайнер"
+
+#: i2p2www/pages/site/about/team.html:91
+msgid "manage the public project website content design"
+msgstr "управление дизайном веб-сайта публичного проекта"
+
+#: i2p2www/pages/site/about/team.html:94
+#, python-format
+msgid "<a href=\"%(website)s\">Webserver</a> admin"
+msgstr "Администратор <a href=\"%(website)s\">веб-сервера</a>"
+
+#: i2p2www/pages/site/about/team.html:96
+msgid "manage the public project webservers"
+msgstr "управление веб-серверами публичного проекта"
+
+#: i2p2www/pages/site/about/team.html:99
+#, python-format
+msgid "<a href=\"%(website)s\">Website</a> admin"
+msgstr "Администратор <a href=\"%(website)s\">веб-сайта</a>"
+
+#: i2p2www/pages/site/about/team.html:101
+msgid "manage the public project website content"
+msgstr "управление содержимым веб-сайта публичного проекта"
+
+#: i2p2www/pages/site/about/team.html:104
+msgid "News Admin"
+msgstr "Администратор новостей"
+
+#: i2p2www/pages/site/about/team.html:106
+msgid "manage router console news feed"
+msgstr "управляет лентой новостей консоли маршрутизатора"
+
+#: i2p2www/pages/site/about/team.html:109
+msgid "Director of passion"
+msgstr "Директор страсти"
+
+#: i2p2www/pages/site/about/team.html:111
+msgid "community motivator"
+msgstr "мотиватор сообщества"
+
+#: i2p2www/pages/site/about/team.html:115
+msgid "Dev"
+msgstr "Разработка"
+
+#: i2p2www/pages/site/about/team.html:116
+msgid "Core Lead"
+msgstr "Главный разработчик Ядра"
+
+#: i2p2www/pages/site/about/team.html:118
+msgid "lead dev for the SDK and router"
+msgstr "ведет разработку SDK и роутера"
+
+#: i2p2www/pages/site/about/team.html:121
+#, python-format
+msgid "<a href=\"http://%(postman)s/\">I2P mail</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(postman)s/\">почты I2P</a>"
+
+#: i2p2www/pages/site/about/team.html:123
+msgid "organize and develop the i2p mail system"
+msgstr "организует и разрабатывает почтовую систему i2p"
+
+#: i2p2www/pages/site/about/team.html:126
+#, python-format
+msgid "<a href=\"http://%(i2host)s/\">I2Host</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(i2host)s/\">I2Host</a>"
+
+#: i2p2www/pages/site/about/team.html:128
+msgid "I2Host addressbook application"
+msgstr "адрессная книга I2Host"
+
+#: i2p2www/pages/site/about/team.html:131
+#, python-format
+msgid "<a href=\"http://%(bob)s/\">BOB</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(bob)s/\">BOB</a>"
+
+#: i2p2www/pages/site/about/team.html:133
+msgid "Basic Open Bridge"
+msgstr "Basic Open Bridge"
+
+#: i2p2www/pages/site/about/team.html:136
+#, python-format
+msgid "<a href=\"http://%(bote)s/\">I2P-Bote</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(bote)s/\">I2P-Bote</a>"
+
+#: i2p2www/pages/site/about/team.html:138
+msgid "I2PBote plugin"
+msgstr "модуль I2PBote"
+
+#: i2p2www/pages/site/about/team.html:141
+#, python-format
+msgid "<a href=\"http://%(bob)s/\">Robert</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(bob)s/\">Robert</a>"
+
+#: i2p2www/pages/site/about/team.html:143
+msgid "Robert BitTorrent client"
+msgstr "торрент клиент Robert BitTorrent"
+
+#: i2p2www/pages/site/about/team.html:146
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=25\">I2Phex</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(forum)s/viewforum?f=25\">I2Phex</a>"
+
+#: i2p2www/pages/site/about/team.html:148
+msgid "I2Phex Gnutella client"
+msgstr "клиент I2Phex Gnutella"
+
+#: i2p2www/pages/site/about/team.html:151
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=21\">I2PSnark</a> lead"
+msgstr ""
+"Главный разработчик <a "
+"href=\"http://%(forum)s/viewforum?f=21\">I2PSnark</a>"
+
+#: i2p2www/pages/site/about/team.html:153
+msgid "Maintains the integrated Bittorrent client"
+msgstr "Поддерживает интегрированный клиент Bittorrent"
+
+#: i2p2www/pages/site/about/team.html:156
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=30\">iMule</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(forum)s/viewforum?f=30\">iMule</a>"
+
+#: i2p2www/pages/site/about/team.html:158
+msgid "eMule client over I2P"
+msgstr "клиент eMule через I2P"
+
+#: i2p2www/pages/site/about/team.html:161
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=29\">Syndie</a> lead"
+msgstr "Главный разработчик <a href=\"http://%(forum)s/viewforum?f=29\">Syndie</a>"
+
+#: i2p2www/pages/site/about/team.html:163
+msgid "Syndie development"
+msgstr "разработка Syndie"
+
+#: i2p2www/pages/site/about/team.html:166
+msgid "Susimail lead"
+msgstr "Главный разработчик Susimail"
+
+#: i2p2www/pages/site/about/team.html:168
+msgid "Susimail development"
+msgstr "разработка Susimail"
+
+#: i2p2www/pages/site/about/team.html:171
+msgid "Console"
+msgstr "Консоль"
+
+#: i2p2www/pages/site/about/team.html:173
+msgid "Router console HTML/CSS design"
+msgstr "Дизайн HTML/CSS консоли маршрутизатора"
+
+#: i2p2www/pages/site/about/team.html:176
+msgid "SAM"
+msgstr "SAM"
+
+#: i2p2www/pages/site/about/team.html:178
+msgid "SAM maintainer"
+msgstr "сопровождение SAM"
+
+#: i2p2www/pages/site/about/team.html:181
+msgid "I2PCPP lead"
+msgstr "Главный разработчик I2PCPP"
+
+#: i2p2www/pages/site/about/team.html:183
+msgid "C++ Router"
+msgstr "C++ Маршрутизатор"
+
+#: i2p2www/pages/site/about/team.html:186
+msgid "Translators"
+msgstr "Переводчики"
+
+#: i2p2www/pages/site/about/team.html:187
+msgid "many many people!"
+msgstr "много много людей!"
+
+#: i2p2www/pages/site/about/team.html:192
+msgid "Contributors"
+msgstr "Помощники"
+
+#: i2p2www/pages/site/about/team.html:194
+msgid "fire2pe dev, console enhancements"
+msgstr "разработка fire2pe, улучшение консоли"
+
+#: i2p2www/pages/site/about/team.html:198
+msgid "desktopgui, dijjer port"
+msgstr "desktopgui, портирование dijjer"
+
+#: i2p2www/pages/site/about/team.html:202
+msgid "Debian/Ubuntu Packager and PPA maintainer"
+msgstr "Дистрибуция Debian/Ubuntu и поддержка PPA"
+
+#: i2p2www/pages/site/about/team.html:206
+msgid "Routerconsole backend and UI work, website revamp, unit tests work"
+msgstr ""
+"Бэкенд консоли маршрутизатора и работа на UI, исправления по веб-сайту, "
+"юнит-тестирование"
+
+#: i2p2www/pages/site/about/team.html:211
+msgid "Help needed on many fronts!"
+msgstr "Необходима помощь на многих фронтах работы!"
+
+#: i2p2www/pages/site/about/team.html:215
+msgid "Past contributors"
+msgstr "Также помогали"
+
+#: i2p2www/pages/site/about/team.html:217
+msgid "I2PTunnel development, ministreaming library"
+msgstr "Разработка I2PTunnel, библиотеки минипотоков"
+
+#: i2p2www/pages/site/about/team.html:221
+msgid "Project lead, Syndie lead"
+msgstr "Главный разработчик проекта, главный разработчик Syndie"
+
+#: i2p2www/pages/site/about/team.html:225
+msgid "Project lead, Syndie lead, I2Phex, support guru"
+msgstr ""
+"Главный разработчик проекта, главный разработчик Syndie, I2Phex, гуру "
+"поддержки"
+
+#: i2p2www/pages/site/about/team.html:229
+msgid "iMule lead"
+msgstr "Главный разработчик iMule"
+
+#: i2p2www/pages/site/about/team.html:233
+#: i2p2www/pages/site/about/team.html:237
+#: i2p2www/pages/site/about/team.html:241
+msgid "I2Phex work"
+msgstr "Разработчик I2Phex"
+
+#: i2p2www/pages/site/about/team.html:245
+msgid "Python SAM library, attack simulations"
+msgstr "Python библиотека SAM, эмуляция атак"
+
+#: i2p2www/pages/site/about/team.html:249
+msgid "i2pmail development"
+msgstr "разработка i2pmail"
+
+#: i2p2www/pages/site/about/team.html:253
+msgid "Syndie help"
+msgstr "Файл справки Syndie"
+
+#: i2p2www/pages/site/about/team.html:257
+msgid "i2p mail,susimail and susidns apps"
+msgstr "приложения почты i2p, susimail и susidns"
+
+#: i2p2www/pages/site/about/team.html:261
+msgid "I2Phex (port of Phex to I2P)"
+msgstr "I2Phex (портирование Phex на I2P)"
+
+#: i2p2www/pages/site/about/team.html:265
+msgid "addressbook,i2p-bt,syndie client"
+msgstr "адрессная книга, i2p-bt, клиент syndie"
+
+#: i2p2www/pages/site/about/team.html:269
+msgid "organize and develop the i2p-bt BitTorrent port"
+msgstr "арганизация и разработка порта i2p-bt BitTorrent"
+
+#: i2p2www/pages/site/about/team.html:273
+msgid "addressbook, i2p-bt, syndie client development"
+msgstr "адрессная книга, i2p-bt, разработка клиента syndie"
+
+#: i2p2www/pages/site/about/team.html:277
+msgid "encryption and signature routines, I2PIM"
+msgstr "задачи по шифрованию и подписанию, I2PIM"
+
+#: i2p2www/pages/site/about/team.html:281
+msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)"
+msgstr "кодирование SAM jython, работа над stasher (DHT) и v2v (VoI2P)"
+
+#: i2p2www/pages/site/about/team.html:285
+msgid "installer, systray, bogobot"
+msgstr "инсталлятор, systray, bogobot"
+
+#: i2p2www/pages/site/about/team.html:289
+msgid "jbigi development, wiki migration, doc cleanup"
+msgstr "разработка jbigi, миграция wiki, чистка doc"
+
+#: i2p2www/pages/site/about/team.html:293
+msgid "java debugging and client development on I2PTunnel and the router console"
+msgstr "отладка java и разработка клиента I2PTunnel и консоли маршрутизатора"
+
+#: i2p2www/pages/site/about/team.html:297
+msgid "SAM perl module"
+msgstr "модуль perl для SAM"
+
+#: i2p2www/pages/site/about/team.html:301
+msgid "i2psnark work"
+msgstr "разработка i2psnark"
+
+#: i2p2www/pages/site/about/team.html:305
+msgid "java cleanup"
+msgstr "чистка java"
+
+#: i2p2www/pages/site/about/team.html:309
+msgid "docs. wiki migration"
+msgstr "документация. миграция wiki"
+
+#: i2p2www/pages/site/about/team.html:313
+msgid "translations into French"
+msgstr "перевод на французкий"
+
+#: i2p2www/pages/site/about/team.html:317
+msgid "C port of jcpuid"
+msgstr "Портирование jcpuid на C "
+
+#: i2p2www/pages/site/about/team.html:321
+msgid "C# SAM library, pants, fortuna integration"
+msgstr "Библиотека C# SAM, pants, интегрирование fortuna"
+
+#: i2p2www/pages/site/about/team.html:325
+msgid "libSAM"
+msgstr "libSAM"
+
+#: i2p2www/pages/site/about/team.html:329
+#: i2p2www/pages/site/about/team.html:333
+msgid "i2p-bt tracker development"
+msgstr "разработка трэкера i2p-bt"
+
+#: i2p2www/pages/site/about/team.html:337
+msgid "Console and website themes"
+msgstr "Темы для консоли и веб-сайта"
+
+#: i2p2www/pages/site/about/team.html:367
+msgid "&hellip; and many others"
+msgstr "&hellip; и многие другие"
+
+#: i2p2www/pages/site/about/performance/future.html:2
+msgid "Future Performance Improvements"
+msgstr "Предстоящие улучшения производительности"
+
+#: i2p2www/pages/site/about/performance/future.html:3
+msgid "August 2010"
+msgstr "Август 2010"
+
+#: i2p2www/pages/site/about/performance/future.html:7
+msgid ""
+"There are a few major techniques that can be done to improve the "
+"perceived\n"
+"performance of I2P - some of the following are CPU related, others "
+"bandwidth\n"
+"related, and others still are protocol related.  However, all of those\n"
+"dimensions affect the latency, throughput, and perceived performance of "
+"the\n"
+"network, as they reduce contention for scarce resources.  This list is of"
+" course\n"
+"not comprehensive, but it does cover the major ones that are seen."
+msgstr ""
+"Существует несколько основных применимых техник для увеличения видимой\n"
+"производительности I2P - некоторые из них связаны с ЦП, другие связаны с\n"
+"шириной канала, третьи связаны с протоколом. Тем не менее все они\n"
+"оказывают влияние на задержки, пропускную способность и видимую "
+"производительность\n"
+"сети, так как снижают нагрузку на ограниченные ресурсы.  Этот список, "
+"конечно же\n"
+"не является исчерпывающим, однако он охватывает основные доступные методы."
+
+#: i2p2www/pages/site/about/performance/future.html:15
+#: i2p2www/pages/site/about/performance/index.html:106
+#, python-format
+msgid ""
+"For past performance improvements see the <a href=\"%(history)s\">\n"
+"Performance History</a>."
+msgstr ""
+"Для ознакомления с уже реализованными улучшениями производительности "
+"просмотрите <a href=\"%(history)s\">\n"
+"Историю Производительности</a>."
+
+#: i2p2www/pages/site/about/performance/future.html:20
+msgid "Better peer profiling and selection"
+msgstr "Улучшение выбора и профилирования узлов"
+
+#: i2p2www/pages/site/about/performance/future.html:21
+#, python-format
+msgid ""
+"Probably one of the most important parts of getting faster performance "
+"will\n"
+"be improving how routers choose the peers that they build their tunnels "
+"through\n"
+"- making sure they don't use peers with slow links or ones with fast "
+"links that\n"
+"are overloaded, etc.  In addition, we've got to make sure we don't expose"
+"\n"
+"ourselves to a <a href=\"%(sybilpdf)s\">Sybil</a> attack\n"
+"from a powerful adversary with lots of fast machines."
+msgstr ""
+"Вероятно самым важным шагом к повышению производительности является\n"
+"улучшение механизма выбора узлов через которые будет строиться тоннель,\n"
+"нужно удостовериться, что не будут использоваться слишком медленные узлы "
+"или быстрые но \n"
+"перегруженные узлы и т.д. В добавок к этому мы должны убедиться, что не "
+"откроемся для атак типа <a href=\"%(sybilpdf)s\">Sybil</a>\n"
+"со стороны сильных противников с множеством быстрых узлов."
+
+#: i2p2www/pages/site/about/performance/future.html:30
+msgid "Network database tuning"
+msgstr "Настройка базы данных сети"
+
+#: i2p2www/pages/site/about/performance/future.html:31
+msgid ""
+"We're going to want to be more efficient with the network database's "
+"healing\n"
+"and maintenance algorithms - rather than constantly explore the keyspace "
+"for new\n"
+"peers - causing a significant number of network messages and router load "
+"- we\n"
+"can slow down or even stop exploring until we detect that there's "
+"something new\n"
+"worth finding (e.g. decay the exploration rate based upon the last time "
+"someone\n"
+"gave us a reference to someone we had never heard of).  We can also do "
+"some\n"
+"tuning on what we actually send - how many peers we bounce back (or even "
+"if we\n"
+"bounce back a reply), as well as how many concurrent searches we perform."
+msgstr ""
+"Мы хотим улучшить процесс исправления сетевой базы данных \n"
+"и алгоритмы обслуживания, а не постоянно отслеживать пространство ключей "
+"для новых \n"
+"узлов, провоцируя огромное количество сетевых сообщений и нагрузку на "
+"маршрутизатор - мы \n"
+"можем снизить или, даже, прекратить следить до тех пор пока мы не "
+"обнаружим что-то \n"
+"более плохое (например, снизить частоту слежения, основываясь на "
+"последнем времени когда \n"
+"кто-то дал нам ссылку на кого-то, о ком мы раньше не знали). Также мы "
+"можем оптимизировать \n"
+"то, что мы на самом деле отправляем - сколько узлов участвует в отправке "
+"(или, даже, \n"
+"в получении ответа), и сколько конкурентных поисков мы выполняем."
+
+#: i2p2www/pages/site/about/performance/future.html:42
+msgid "Session Tag Tuning and Improvements"
+msgstr "Настройка и улучшение меток сессии"
+
+#: i2p2www/pages/site/about/performance/future.html:43
+#, python-format
+msgid ""
+"The way the <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> "
+"algorithm\n"
+"works is by managing a set of random one-time-use 32 byte arrays, and "
+"expiring\n"
+"them if they aren't used quickly enough.  If we expire them too soon, "
+"we're\n"
+"forced to fall back on a full (expensive) ElGamal encryption, but if we "
+"don't\n"
+"expire them quickly enough, we've got to reduce their quantity so that we"
+" don't\n"
+"run out of memory (and if the recipient somehow gets corrupted and loses "
+"some\n"
+"tags, even more encryption failures may occur prior to detection).  With "
+"some\n"
+"more active detection and feedback driven algorithms, we can safely and "
+"more\n"
+"efficiently tune the lifetime of the tags, replacing the ElGamal "
+"encryption with\n"
+"a trivial AES operation."
+msgstr ""
+"Суть алгоритма <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> \n"
+"состоит в управлении набором случайных одноразовых 32-байтных массивов, и"
+" в удалении \n"
+"их, если они не были достаточно быстро использованы. Если мы удалим их "
+"слишком рано, мы \n"
+"перейдем к полному (дорогому) шифрованию ElGamal, но если мы не \n"
+"удалим их достаточно быстро, нам придется уменьшить их количество, чтобы "
+"не \n"
+"исчерпать свободную память (и если получатель все таки поломается и "
+"потеряет несколько \n"
+"меток, то может возникнуть даже больше ошибок шифрования до обнаружения "
+"этого). С более \n"
+"активными алгоритмами обнаружения и оповещения мы можем безопаснее и \n"
+"эффективнее управлять жизненным циклом меток, заместив шифрование ElGamal"
+" \n"
+"простой операцией AES."
+
+#: i2p2www/pages/site/about/performance/future.html:55
+#, python-format
+msgid ""
+"Additional ideas for improving Session Tag delivery are described on the\n"
+"<a href=\"%(elgamalaes)s#future\">ElGamal/AES+SessionTag page</a>."
+msgstr ""
+"Дополнительные идеи улучшения доставки Метки Сессии описаны на\n"
+"<a href=\"%(elgamalaes)s#future\">странице ElGamal/AES+SessionTag</a>."
+
+#: i2p2www/pages/site/about/performance/future.html:61
+msgid "Migrate sessionTag to synchronized PRNG"
+msgstr "Переход от sessionTag к синхронизированному PRNG"
+
+#: i2p2www/pages/site/about/performance/future.html:62
+#, python-format
+msgid ""
+"Right now, our <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> \n"
+"algorithm works by tagging each encrypted message with a unique random \n"
+"32 byte nonce (a \"session tag\"), identifying that message as being "
+"encrypted \n"
+"with the associated AES session's key. This prevents peers from "
+"distinguishing \n"
+"messages that are part of the same session, since each message has a "
+"completely \n"
+"new random tag. To accomplish this, every few messages bundle a whole \n"
+"new set of session tags within the encrypted message itself, "
+"transparently \n"
+"delivering a way to identify future messages. We then have to keep track"
+" \n"
+"of what messages are successfully delivered so that we know what tags \n"
+"we may use."
+msgstr ""
+"Сейчас наш алгоритм <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>"
+" \n"
+"помечает каждое шифрованное сообщение уникальными случайными \n"
+"32 байтами (\"метка сессии - session tag\"), определяющего, что сообщение"
+" было зашифровано \n"
+"ассоциированным с сессией AES ключом. Это избавляет узлы от необходимости"
+" помечать \n"
+"сообщения, которые являются частью той же сессии, т.к. у каждого "
+"сообщения есть совершенно \n"
+"новая случайная метка. Чтобы добиться этого, каждые несколько сообщений "
+"связываются \n"
+"новым набором меток сессии вместе с шифрованным сообщением, прозрачно \n"
+"предоставляя способ идентифицировать будущие сообщения. Далее мы должны "
+"следить \n"
+"за тем, какие сообщения были успешно доставлены, чтобы знать какие метки"
+" \n"
+"мы можем использовать."
+
+#: i2p2www/pages/site/about/performance/future.html:74
+msgid ""
+"This works fine and is fairly robust, however it is inefficient in terms"
+" \n"
+"of bandwidth usage, as it requires the delivery of these tags ahead of \n"
+"time (and not all tags may be necessary, or some may be wasted, due to \n"
+"their expiration). On average though, predelivering the session tag costs"
+" \n"
+"32 bytes per message (the size of a tag). As Taral suggested though, that"
+" \n"
+"size can be avoided by replacing the delivery of the tags with a "
+"synchronized \n"
+"PRNG - when a new session is established (through an ElGamal encrypted \n"
+"block), both sides seed a PRNG for use and generate the session tags on \n"
+"demand (with the recipient precalculating the next few possible values \n"
+"to handle out of order delivery)."
+msgstr ""
+"Это хорошо и довольно надежно работает, тем не менее, это не эффективно \n"
+"с точки зрения использования пропускной способности, так как для этого "
+"требуется досрочно доставлять \n"
+"метки (и не все метки могут быть важны, некоторые могут быть бесполезны, "
+"в связи с \n"
+"их просрочкой). Хотя, в среднем, досрочная доставка метки сессии занимает"
+" \n"
+"32 байта на сообщение (размер метки). Хотя, как предложил Taral, этот \n"
+"размер можно выиграть, заменив доставку меток синхронизированным \n"
+"PRNG - когда устанавливается новая сессия (через зашифрованный блок "
+"ElGamal), \n"
+"обе стороны используют PRNG и генерируют метки сессии по запросу \n"
+"(и получатель предварительно рассчитывает следующие несколько значений, \n"
+"для обработки очереди доставки)."
+
+#: i2p2www/pages/site/about/performance/future.html:87
+msgid "Longer lasting tunnels"
+msgstr "Более долгосрочные туннели"
+
+#: i2p2www/pages/site/about/performance/future.html:88
+msgid ""
+"The current default tunnel duration of 10 minutes is fairly arbitrary, "
+"though\n"
+"it \"feels okay\".  Once we've got tunnel healing code and more effective"
+" failure\n"
+"detection, we'll be able to more safely vary those durations, reducing "
+"the\n"
+"network and CPU load (due to expensive tunnel creation messages)."
+msgstr ""
+"Текущее время жизни туннеля по умолчанию в 10 минут довольно произвольно,"
+" хотя \n"
+"\"вполне подходит\". Когда у нас будет код для лечения туннеля и более "
+"эффективное обнаружение \n"
+"ошибок, мы сможем более безопасно варьировать его длительность, снижая \n"
+"нагрузку на сеть и CPU (из-за дорогих сообщений создания туннеля)."
+
+#: i2p2www/pages/site/about/performance/future.html:95
+msgid ""
+"This appears to be an easy fix for high load on the big-bandwidth "
+"routers, but\n"
+"we should not resort to it until we've tuned the tunnel building "
+"algorithms further.\n"
+"However, the 10 minute tunnel lifetime is hardcoded in quite a few "
+"places,\n"
+"so substantial effort would be required to change the duration.\n"
+"Also, it would be difficult to maintain backward compatibility with such "
+"a change."
+msgstr ""
+"Это выглядит простым решением для высоконагруженных маршрутизаторов с "
+"большой пропускной способностью, \n"
+"но не должны на это рассчитывать до тех пор пока не оптимизируем алгоритм"
+" построения туннеля. \n"
+"Тем не менее, 10 минутное время жизни туннеля жестко прописано в коде в "
+"нескольких местах, \n"
+"и для изменения длительности понадобятся значительные усилия. \n"
+"Также, будет сложно обеспечить обратную совместимость такого изменения."
+
+#: i2p2www/pages/site/about/performance/future.html:102
+msgid ""
+"Currently, since the network average tunnel build success rate is fairly "
+"high,\n"
+"there are no current plans to extend tunnel lifetime."
+msgstr ""
+"В настоящем, т.к. средняя частота удачного создания сетевого туннеля "
+"довольно высока, \n"
+"мы не планируем увеличивать время жизни туннеля."
+
+#: i2p2www/pages/site/about/performance/future.html:108
+msgid "Adjust the timeouts"
+msgstr "Настройка тайм-аутов"
+
+#: i2p2www/pages/site/about/performance/future.html:109
+msgid ""
+"Yet another of the fairly arbitrary but \"okay feeling\" things we've got"
+" are the\n"
+"current timeouts for various activities.  Why do we have a 60 second "
+"\"peer\n"
+"unreachable\" timeout?  Why do we try sending through a different tunnel "
+"that a\n"
+"LeaseSet advertises after 10 seconds?  Why are the network database "
+"queries\n"
+"bounded by 60 or 20 second limits?  Why are destinations configured to "
+"ask for a\n"
+"new set of tunnels every 10 minutes?  Why do we allow 60 seconds for a "
+"peer to\n"
+"reply to our request that they join a tunnel?  Why do we consider a "
+"tunnel that\n"
+"doesn't pass our test within 60 seconds \"dead\"?"
+msgstr ""
+"У нас есть еще одна довольно произвольная, но \"вполне подходящая\" вещь "
+"- это \n"
+"тайм-ауты на различные действия. Почему для \"peer unreachable\" у нас \n"
+"тайм-аут 60 секунд, Почему мы пытаемся отправить извещения LeaseSet \n"
+"через другой туннель спустя 10 секунд? Почему запрос к базе данных не "
+"может \n"
+"длиться дольше 60 или 20 секунд? Почему пункт назначения настроен на "
+"запрос \n"
+"нового набора туннелей каждые 10 минут? Почему мы даем узлу 60 секунд для"
+" \n"
+"ответа на запрос о присоединении к туннелю? Почему мы считаем, что "
+"туннель \"умер\", \n"
+"если он не передал наш тест за 60 секунд?"
+
+#: i2p2www/pages/site/about/performance/future.html:119
+msgid ""
+"Each of those imponderables can be addressed with more adaptive code, as "
+"well\n"
+"as tunable parameters to allow for more appropriate tradeoffs between\n"
+"bandwidth, latency, and CPU usage."
+msgstr ""
+"Все эти костыли можно заменить более адаптивным кодом, так же как и \n"
+"параметры туннеля, чтобы достичь компромисса между \n"
+"пропускной способностью, задержками и использованием CPU."
+
+#: i2p2www/pages/site/about/performance/future.html:125
+msgid "Full streaming protocol improvements"
+msgstr "Улучшение полностью потокового протокола"
+
+#: i2p2www/pages/site/about/performance/future.html:128
+msgid ""
+"Perhaps re-enable the interactive stream profile (the \n"
+"current implementation only uses the bulk stream profile)."
+msgstr ""
+"Возможно возобновление использования профиля интерактивного потока \n"
+"(текущая реализация использует только профиль bulk потока)."
+
+#: i2p2www/pages/site/about/performance/future.html:134
+msgid ""
+"Client level bandwidth limiting (in either or both directions on a "
+"stream, \n"
+"or possibly shared across multiple streams). This would be in addition to"
+" \n"
+"the router's overall bandwidth limiting, of course."
+msgstr ""
+"Ограничение пропускной способности на стороне клиента (в любом или обоих "
+"направлениях потока, \n"
+"или, при возможности, распределение между несколькими потоками). Конечно,"
+" это \n"
+"будет дополнением к общему ограничению пропускной способности "
+"маршрутизатором."
+
+#: i2p2www/pages/site/about/performance/future.html:141
+msgid ""
+"Access control lists (only allowing streams to or from certain other "
+"known \n"
+"destinations)."
+msgstr ""
+"Списки контроля доступа (разрешать потоки только к или из известных \n"
+"пунктов назначения)."
+
+#: i2p2www/pages/site/about/performance/future.html:147
+msgid ""
+"Web controls and monitoring the health of the various streams, as well \n"
+"as the ability to explicitly close or throttle them."
+msgstr ""
+"Веб управление и наблюдение за состоянием различных потоков, наряду с \n"
+"возможностью явного их закрытия или уменьшения."
+
+#: i2p2www/pages/site/about/performance/future.html:153
+#, python-format
+msgid ""
+"Additional ideas for improving the streaming library are described on the"
+"\n"
+"<a href=\"%(streaming)s#future\">streaming library page</a>."
+msgstr ""
+"Дополнительные идеи улучшения потоковой библиотеки описаны на \n"
+"<a href=\"%(streaming)s#future\">странице потоковой библиотеки</a>."
+
+#: i2p2www/pages/site/about/performance/history.html:2
+msgid "Performance History"
+msgstr "Журнал Производительности"
+
+#: i2p2www/pages/site/about/performance/history.html:4
+#, python-format
+msgid ""
+"Notable performance improvements have been made using the techniques "
+"below.\n"
+"There is more to do, see the <a href=\"%(performance)s\">Performance</a> "
+"page\n"
+"for current issues and thoughts."
+msgstr ""
+"Заметные улучшения производительности были выполнены с использованием "
+"нижеперечисленных техник.\n"
+"Еще многое предстоит сделать, смотри на странице <a "
+"href=\"%(performance)s\">Производительность</a> \n"
+"текущие вопросы и размышления"
+
+#: i2p2www/pages/site/about/performance/history.html:10
+msgid "Native math"
+msgstr "Нативные вычисления"
+
+#: i2p2www/pages/site/about/performance/history.html:11
+#: i2p2www/pages/site/about/performance/history.html:67
+#: i2p2www/pages/site/about/performance/history.html:82
+#: i2p2www/pages/site/about/performance/history.html:105
+#: i2p2www/pages/site/about/performance/history.html:133
+msgid "implemented"
+msgstr "реализовано"
+
+#: i2p2www/pages/site/about/performance/history.html:12
+#, python-format
+msgid ""
+"When I last profiled the I2P code, the vast majority of time was spent "
+"within\n"
+"one function: java.math.BigInteger's\n"
+"<a href=\"%(modpow)s\">modPow</a>.\n"
+"Rather than try to tune this method, we'll call out to\n"
+"<a href=\"%(gmp)s\">GNU MP</a> - an insanely fast math library\n"
+"(with tuned assembler for many architectures). (<i>Editor: see\n"
+"<a href=\"%(jbigi)s\">NativeBigInteger for faster public key "
+"cryptography</a></i>)"
+msgstr ""
+"Когда я последний раз профилировал код I2P, большая часть времени "
+"тратилась на \n"
+"одну функцию: java.math.BigInteger \n"
+"<a href=\"%(modpow)s\">modPow</a>. \n"
+"Вместо того чтобы попытаться оптимизировать этот метод, мы будем вызывать"
+" \n"
+"<a href=\"%(gmp)s\">GNU MP</a> - безумно быструю математическую "
+"библиотеку \n"
+"(с отлаженным ассемблером под множество архитектур). (<i>Редактор: смотри"
+"\n"
+"<a href=\"%(jbigi)s\">NativeBigInteger для быстрого шифрования публичным "
+"ключом</a></i>)"
+
+#: i2p2www/pages/site/about/performance/history.html:23
+msgid ""
+"\n"
+"ugha and duck are working on the C/JNI glue code, and the existing java "
+"code\n"
+"is already deployed with hooks for that whenever its ready.  Preliminary "
+"results\n"
+"look fantastic - running the router with the native GMP modPow is "
+"providing over\n"
+"a 800&#37; speedup in encryption performance, and the load was cut in "
+"half.  This\n"
+"was just on one user's machine, and things are nowhere near ready for "
+"packaging\n"
+"and deployment, yet."
+msgstr ""
+"\n"
+"ugha и duck работают над связующим кодом C/JNI, и существующий код Java \n"
+"уже внедрен соответствующими ловушками, как только он был готов. "
+"Предварительные результаты \n"
+"выглядят потрясающе - запуск маршрутизатора с нативным GMP modPow дает "
+"около \n"
+"800&#37; прироста производительности шифрования и снижает нагрузку "
+"наполовину. Это \n"
+"было проверено только на одном компьютере пользователя, и оно уже готово "
+"для \n"
+"внедрения."
+
+#: i2p2www/pages/site/about/performance/history.html:32
+msgid "Garlic wrapping a \"reply\" LeaseSet"
+msgstr "Garlic упаковка \"ответа\" LeaseSet"
+
+#: i2p2www/pages/site/about/performance/history.html:33
+msgid "implemented but needs tuning"
+msgstr "реализовано, но нуждается в настройке"
+
+#: i2p2www/pages/site/about/performance/history.html:34
+msgid ""
+"This algorithm tweak will only be relevant for applications that want "
+"their\n"
+"peers to reply to them (though that includes everything that uses "
+"I2PTunnel or\n"
+"mihi's ministreaming lib):"
+msgstr ""
+"Этот алгоритмический прием может быть применим только к тем приложениям, "
+"которые хотят \n"
+"получать ответ от своих узлов (хотя он включает в себя все, что "
+"использует I2PTunnel или \n"
+"ministreaming библиотеку mihi):"
+
+#: i2p2www/pages/site/about/performance/history.html:39
+msgid ""
+"Previously, when Alice sent Bob a message, when Bob replied he had to do "
+"a\n"
+"lookup in the network database - sending out a few requests to get "
+"Alice's\n"
+"current LeaseSet.  If he already has Alice's current LeaseSet, he can "
+"instead\n"
+"just send his reply immediately - this is (part of) why it typically "
+"takes a\n"
+"little longer talking to someone the first time you connect, but "
+"subsequent\n"
+"communication is faster.  Currently - for all clients - we wrap\n"
+"the sender's current LeaseSet in the garlic that is delivered to the "
+"recipient,\n"
+"so that when they go to reply, they'll <i>always</i> have the LeaseSet "
+"locally\n"
+"stored - completely removing any need for a network database lookup on "
+"replies.\n"
+"This trades off a large portion of the sender's bandwidth for that faster"
+" reply.\n"
+"If we didn't do this very often,\n"
+"overall network bandwidth usage would decrease, since the recipient "
+"doesn't\n"
+"have to do the network database lookup."
+msgstr ""
+"Ранее, когда Alice отправила сообщение Bob'у, когда Bob отвечал, он был "
+"вынужден \n"
+"выполнить поиск в сетевой базе данных - отправляя несколько запросов "
+"чтобы добраться \n"
+"до текущего LeaseSet Alice. Если у него уже есть текущий LeaseSet Alice, "
+"он может вместо этого \n"
+"сразу отправить свой ответ - из-за этого (частично) вы обычно тратите "
+"немного больше \n"
+"времени для обращения к кому-то в первый раз, но последующие обращения \n"
+"проходят быстрее. Сейчас - для всех клиентов - мы упаковываем \n"
+"текущий LeaseSet отправителя в garlic, который доставляется получателю, \n"
+"и когда он соберется ответить, у него <i>всегда</i> будет локально "
+"хранимый LeaseSet - \n"
+"это полностью исключает необходимость поиска по сетевой базе данных при "
+"ответах. \n"
+"Это сохраняет большую часть пропускной полосы отправителя для такого "
+"быстрого ответа.\n"
+"Если мы делаем это не очень часто, \n"
+"общее использование пропускной полосы сети может уменьшиться, т.к. "
+"получателю не нужно \n"
+"выполнять поиск по сетевой базе данных."
+
+#: i2p2www/pages/site/about/performance/history.html:54
+msgid ""
+"For unpublished LeaseSets such as \"shared clients\", this is the only "
+"way to\n"
+"get the LeaseSet to Bob. Unfortunately this bundling every time adds\n"
+"almost 100&#37; overhead to a high-bandwidth connection, and much more to"
+"\n"
+"a connection with smaller messages."
+msgstr ""
+"Для неопубликованных LeaseSets, таких как \"shared clients\", есть только"
+" один способ \n"
+"доставить LeaseSets Bob'у. К сожалению, это связывание каждый раз "
+"добавляет \n"
+"почти 100&#37; накладных расходов на высокоскоростное соединение, и "
+"гораздо больше \n"
+"для соединений с меньшими сообщениями."
+
+#: i2p2www/pages/site/about/performance/history.html:60
+msgid ""
+"Changes scheduled for release 0.6.2 will bundle the LeaseSet only when\n"
+"necessary, at the beginning of a connection or when the LeaseSet changes."
+"\n"
+"This will substantially reduce the total overhead of I2P messaging."
+msgstr ""
+"Изменения запланированные в релиз 0.6.2 будут отправлять LeaseSet только "
+"при \n"
+"необходимости, в начале соединения или когда изменится LeaseSet.\n"
+"Это значительно уменьшит общие накладные расходы системы сообщений I2P."
+
+#: i2p2www/pages/site/about/performance/history.html:66
+msgid "More efficient TCP rejection"
+msgstr "Более эффективное отклонение TCP запросов"
+
+#: i2p2www/pages/site/about/performance/history.html:68
+msgid ""
+"At the moment, all TCP connections do all of their peer validation after\n"
+"going through the full (expensive) Diffie-Hellman handshaking to "
+"negotiate a\n"
+"private session key.  This means that if someone's clock is really wrong,"
+" or\n"
+"their NAT/firewall/etc is improperly configured (or they're just running "
+"an\n"
+"incompatible version of the router), they're going to consistently "
+"(though not\n"
+"constantly, thanks to the banlist) cause a futile expensive cryptographic"
+"\n"
+"operation on all the peers they know about.  While we will want to keep "
+"some\n"
+"verification/validation within the encryption boundary, we'll want to "
+"update the\n"
+"protocol to do some of it first, so that we can reject them cleanly\n"
+"without wasting much CPU or other resources."
+msgstr ""
+"В настоящий момент, все соединения TCP выполняют проверку валидности узла"
+" после\n"
+"выполнения полного (дорогого) алгоритма Диффи-Хеллмана обмена\n"
+"приватными ключами сессии. Это означает, что если чьи то часы сильно "
+"неточны, или\n"
+"его NAT/firewall/и т.д. неверно сконфигурирован (или используется "
+"несовместимая\n"
+"версия роутера), эти клиенты постоянно (не совсем постоянно,\n"
+"благодаря бан-листам) провоцируют бесполезные ресурсоемкие "
+"криптографические\n"
+"операции на всех узлах им известных. Хотя мы и хотим оставить некоторые \n"
+"проверки внутри границ шифрования, мы так же хотим обновить\n"
+"протокол так, что бы некоторые проверки выполнялись раньше и мы могли "
+"отбросить не валидные соединения не тратя процессорное время и другие "
+"ресурсы."
+
+#: i2p2www/pages/site/about/performance/history.html:81
+msgid "Adjust the tunnel testing"
+msgstr "Регулировка проверки туннеля"
+
+#: i2p2www/pages/site/about/performance/history.html:83
+msgid ""
+"Rather than going with the fairly random scheme we have now, we should "
+"use a\n"
+"more context aware algorithm for testing tunnels.  e.g. if we already "
+"know its\n"
+"passing valid data correctly, there's no need to test it, while if we "
+"haven't\n"
+"seen any data through it recently, perhaps its worthwhile to throw some "
+"data its\n"
+"way.  This will reduce the tunnel contention due to excess messages, as "
+"well as\n"
+"improve the speed at which we detect - and address - failing tunnels."
+msgstr ""
+"Вместо использования теперешней довольно случайной схемы, мы должны \n"
+"использовать более контекстный алгоритм для проверки туннелей, т.к., если"
+" мы уже знаем, что \n"
+"он передает данные корректно, то нет необходимости проверять его, и, если"
+" мы давно \n"
+"не получали из него данных, возможно, стоит воспользоваться им для \n"
+"отправки. Это уменьшит конкуренцию туннелей из-за избытка сообщений, а "
+"также \n"
+"улучшит скорость, с которой мы определяем - и фиксируем - ошибочные "
+"туннели."
+
+#: i2p2www/pages/site/about/performance/history.html:92
+msgid "Persistent Tunnel / Lease Selection"
+msgstr "Постоянный Туннель / Выбор Срока Аренды"
+
+#: i2p2www/pages/site/about/performance/history.html:93
+msgid ""
+"Outbound tunnel selection implemented in 0.6.1.30, inbound lease "
+"selection \n"
+"implemented in release 0.6.2."
+msgstr ""
+"Выбор исходящего туннеля реализован в 0.6.1.30, выбор срока аренды "
+"входящего \n"
+"реализован в релизе 0.6.2."
+
+#: i2p2www/pages/site/about/performance/history.html:97
+msgid ""
+"Selecting tunnels and leases at random for every message creates a large"
+" \n"
+"incidence of out-of-order delivery, which prevents the streaming lib from"
+" \n"
+"increasing its window size as much as it could. By persisting with the \n"
+"same selections for a given connection, the transfer rate is much faster."
+msgstr ""
+"Случайны выбор туннелей и сроков аренды для каждого сообщения создает "
+"большое количество \n"
+"случаев доставки не-по-очереди, что мешает потоковой библиотеке \n"
+"увеличивать размер ее окна до максимума. При сохранении \n"
+"выбора для одного соединения скорость передачи намного больше."
+
+#: i2p2www/pages/site/about/performance/history.html:104
+msgid "Compress some data structures"
+msgstr "Сжатие некоторых структур данных"
+
+#: i2p2www/pages/site/about/performance/history.html:106
+msgid ""
+"The I2NP messages and the data they contain is already defined in a "
+"fairly\n"
+"compact structure, though one attribute of the RouterInfo structure is "
+"not -\n"
+"\"options\" is a plain ASCII name = value mapping.  Right now, we're "
+"filling it\n"
+"with those published statistics - around 3300 bytes per peer.  Trivial to"
+"\n"
+"implement GZip compression would nearly cut that to 1/3 its size, and "
+"when you\n"
+"consider how often RouterInfo structures are passed across the network, "
+"that's\n"
+"significant savings - every time a router asks another router for a "
+"networkDb\n"
+"entry that the peer doesn't have, it sends back 3-10 RouterInfo of them."
+msgstr ""
+"Сообщения I2NP и их содержимое уже определены и имеют довольно \n"
+"компактную структуру, хотя один атрибут структуры RouterInfo не \n"
+"\"настраиваемый\" - это соответствие имя = значение в виде ASCII. Сейчас,"
+" мы заполняем ее \n"
+"публичной статистикой - около 3300 байт на узел. Простое \n"
+"применение сжатия GZip позволит сократить ее размер до 1/3, и когда вы \n"
+"поймете как часто структуры RouterInfo передаются по сети, вы увидите что"
+" \n"
+"это будет значительным выигрышем - каждый раз когда маршрутизатор "
+"запрашивает у другого содержимое \n"
+"сетевой БД, которого нет у узла, он получает 3-10 записей RouterInfo."
+
+#: i2p2www/pages/site/about/performance/history.html:117
+msgid "Update the ministreaming protocol"
+msgstr "Обновление протокола ministreaming"
+
+#: i2p2www/pages/site/about/performance/history.html:118
+msgid "replaced by full streaming protocol"
+msgstr "заменен на полностью потоковый протокол"
+
+#: i2p2www/pages/site/about/performance/history.html:119
+msgid ""
+"Currently mihi's ministreaming library has a fairly simple stream "
+"negotiation\n"
+"protocol - Alice sends Bob a SYN message, Bob replies with an ACK "
+"message, then\n"
+"Alice and Bob send each other some data, until one of them sends the "
+"other a\n"
+"CLOSE message.  For long lasting connections (to an IRC server, for "
+"instance),\n"
+"that overhead is negligible, but for simple one-off request/response "
+"situations\n"
+"(an HTTP request/reply, for instance), that's more than twice as many "
+"messages as\n"
+"necessary.  If, however, Alice piggybacked her first payload in with the "
+"SYN\n"
+"message, and Bob piggybacked his first reply with the ACK - and perhaps "
+"also\n"
+"included the CLOSE flag - transient streams such as HTTP requests could "
+"be\n"
+"reduced to a pair of messages, instead of the "
+"SYN+ACK+request+response+CLOSE."
+msgstr ""
+"Сейчас у библиотеки минипотоков mihi есть довольно простой потоковый "
+"протокол \n"
+"согласования - Alice отправляет Bob'у сообщение SYN, Bob отвечает "
+"сообщением ACK, затем \n"
+"Alice и Bob обмениваются данными, до тех пор пока один из них не отправит"
+" другому \n"
+"сообщение CLOSE. Для длительных подключений (например, для IRC сервера),"
+" \n"
+"эти издержки незначительны, но для некоторых простых ситуаций "
+"запрос-ответ \n"
+"(например, запрос/ответ HTTP), приходится отправлять вдвое больше "
+"сообщений, чем это \n"
+"необходимо. Если, тем не менее, Alice комбинирует свою отправку с "
+"сообщением SYN, \n"
+"и Bob комбинирует его первый ответ с ACK - и, возможно, также включит "
+"флаг CLOSE - \n"
+"временные потоки, такие как запросы HTTP, могут быть сокращены \n"
+"до пары сообщений, вместо SYN+ACK+запрос+ответ+CLOSE."
+
+#: i2p2www/pages/site/about/performance/history.html:132
+msgid "Implement full streaming protocol"
+msgstr "Реализация полностью потокового протокола"
+
+#: i2p2www/pages/site/about/performance/history.html:134
+msgid ""
+"The ministreaming protocol takes advantage of a poor design decision in "
+"the\n"
+"I2P client protocol (I2CP) - the exposure of \"mode=GUARANTEED\", "
+"allowing what\n"
+"would otherwise be an unreliable, best-effort, message based protocol to "
+"be used\n"
+"for reliable, blocking operation (under the covers, its still all "
+"unreliable and\n"
+"message based, with the router providing delivery guarantees by garlic "
+"wrapping\n"
+"an \"ACK\" message in with the payload, so once the data gets to the "
+"target, the\n"
+"ACK message is forwarded back to us [through tunnels, of course])."
+msgstr ""
+"Протокол минипотоков унаследовал преимущества плохого проектного решения"
+" \n"
+"клиентского протокола I2P (I2CP) - иллюстрация \"mode=GUARANTEED\", "
+"позволяющая то, \n"
+"что иначе было бы ненадежным, негарантированным, протокол на основе "
+"сообщений \n"
+"используюется для надежной, блокирующей операции (приоткрывая покров, оно"
+" все равно остается \n"
+"ненадежным и основанным на сообщениях, с гарантиями доставки, "
+"предоставляемыми маршрутизатором с помощью \n"
+"чесночной маршрутизации данных с сообщением \"ACK\" внутри, так что когда"
+" данные доходят до получателя, \n"
+"сообщение ACK отправляется обратно к нам [через туннели, естественно])."
+
+#: i2p2www/pages/site/about/performance/history.html:143
+#, python-format
+msgid ""
+"As I've <a href=\"%(link)s\">said</a>, having\n"
+"I2PTunnel (and the ministreaming lib) go this route was the best thing "
+"that\n"
+"could be done, but more efficient mechanisms are available.  When we rip "
+"out the\n"
+"\"mode=GUARANTEED\" functionality, we're essentially leaving ourselves "
+"with an\n"
+"I2CP that looks like an anonymous IP layer, and as such, we'll be able to"
+"\n"
+"implement the streaming library to take advantage of the design "
+"experiences of\n"
+"the TCP layer - selective ACKs, congestion detection, nagle, etc."
+msgstr ""
+"Как я уже <a href=\"%(link)s\">сказал</a>, наличие \n"
+"I2PTunnel (и библиотеки минипотоков) было наилучшим путем из всех "
+"возможных,\n"
+"но доступен и более эффективный механизм. Когда мы выпиливаем \n"
+"функциональность \"mode=GUARANTEED\", мы в сущности оставляем себе \n"
+"I2CP, который выглядит как анонимный уровень IP, и, т.о., мы сможем \n"
+"реализовать в потоковой библиотеке преимущества архитектурного опыта \n"
+"слоя TCP - селективные ACK, обнаружение коллизий, nagle и т.д."
+
+#: i2p2www/pages/site/about/performance/index.html:2
+msgid "Performance"
+msgstr "Производительноть"
+
+#: i2p2www/pages/site/about/performance/index.html:5
+msgid ""
+"How does I2P work, why is it slow, and why does it not use my full "
+"bandwidth?"
+msgstr ""
+"Как работает I2P, почему она медленная, и почему она не использует мой "
+"канал полностью?"
+
+#: i2p2www/pages/site/about/performance/index.html:7
+msgid ""
+"Probably one of the most frequent things people ask is \"how fast is "
+"I2P?\",\n"
+"and no one seems to like the answer - \"it depends\".  After trying out "
+"I2P, the\n"
+"next thing they ask is \"will it get faster?\", and the answer to that is"
+" a most\n"
+"emphatic <b>yes</b>."
+msgstr ""
+"Вероятно один и самых часто задаваемых вопросов это \"насколько быстра "
+"I2P?\", \n"
+"и похоже никому не нравится ответ - \"это зависит\". После опробования "
+"I2P, \n"
+"следующим вопросом становится \"а быстрее будет?\", и ответом на это "
+"служит \n"
+"самое решительно <b>да</b>."
+
+#: i2p2www/pages/site/about/performance/index.html:14
+msgid ""
+"I2P is a full dynamic network. Each client is known to other nodes and "
+"tests local known nodes for reachability and capacity.\n"
+"Only reachable and capable nodes are saved to a local NetDB (This is "
+"generally only a portion of the network, around 500-1000).\n"
+"When I2P builds tunnels, it selects the best resource from this pool. For"
+" example, a small subset of 20-50 nodes are only available to build "
+"tunnels with.\n"
+"Because testing happens every minute, the pool of used nodes changes "
+"every minute.\n"
+"Each I2P node knows a different part of the net, meaning that each router"
+" has a different set of I2P nodes to be used for tunnels.\n"
+"Even if two routers have the same subset of known nodes, the tests for "
+"reachability and capacity will likely show different results, as the "
+"other routers could be under load just as one router tests, but be free "
+"if the second router tests."
+msgstr ""
+"I2P это полностью динамическая сеть. Каждый клиент известен другим узлам,"
+" и проверяет локальные известные узлы на доступность и "
+"производительность. \n"
+"Только доступные и производительные узлы добавляются в локальную NetDB (В"
+" основном это только часть сети, около 500-1000).\n"
+"Когда I2P строит туннели, она выбирает лучший ресурс из этого пула. "
+"Например, только маленький набор из 20-50 узлов доступен для постройки "
+"туннелей к ним.\n"
+"Из-за того что проверки выполняются каждую минуту, пул используемых узлов"
+" изменяется каждую минуту.\n"
+"Каждым узлам I2P известны различные части сети, т.о. каждый маршрутизатор"
+" имеет свой набор узлов I2P для туннелей.\n"
+"Даже если два маршрутизатора имеют одинаковый набор известных узлов, "
+"проверка на доступность и производительность покажет, скорее всего, "
+"различные результаты, т.к. другие маршрутизаторы могут быть под нагрузкой"
+" во время проверок первого маршрутизатора, но свободными во время "
+"проверок второго."
+
+#: i2p2www/pages/site/about/performance/index.html:23
+msgid ""
+"The above describes why each I2P node has different nodes to build "
+"tunnels.\n"
+"Because every I2P node has a different latency and bandwith, tunnels "
+"(which are built via those nodes) have different latency and bandwidth "
+"values.\n"
+"And because every I2P node has different tunnels built, no two I2P nodes "
+"have the same tunnel sets."
+msgstr ""
+"Описанное выше объясняет почему каждый узел I2P имеет отличный от других "
+"набор узлов для постройки туннелей.\n"
+"Из-за того что каждый узел I2P имеет свои задержки и полосу пропускания, "
+"туннели (которые строятся через эти узлы) имеют различные значения "
+"задержки и ширины канала.\n"
+"И из-за того что каждый узел I2P строит свои туннели, нет ни одной пары "
+"узлов I2P с одинаковым набором туннелей."
+
+#: i2p2www/pages/site/about/performance/index.html:29
+msgid ""
+"A server/client is known as a \"destination\" and each destination has at"
+" least one inbound and one outbound tunnel. The default is 3 hops per "
+"tunnel.\n"
+"This adds up to 12 hops (aka 12 different I2P nodes) for a full roundtrip"
+" client-server-client."
+msgstr ""
+"Сервер/клиент известны как \"пункт назначения\", и у каждого пункта "
+"назначения есть по крайней мере один входящий и один исходящий туннель. "
+"По умолчанию на туннель приходится 3 участка.\n"
+"Это добавляет до 12 участков (aka 12 различных узлов I2P) в полный путь "
+"клиент-сервер-клиент."
+
+#: i2p2www/pages/site/about/performance/index.html:34
+msgid ""
+"Each data package is sent through 6 other I2P nodes until it reaches the "
+"server:"
+msgstr ""
+"Каждый пакет данных отправляет через 6 других узлов I2P до того как он "
+"достигнет сервера:"
+
+#: i2p2www/pages/site/about/performance/index.html:40
+msgid "and on way back 6 different I2P nodes:"
+msgstr "и на пути обратно 6 различных узлов I2P:"
+
+#: i2p2www/pages/site/about/performance/index.html:47
+msgid ""
+"As most traffic on I2P (www, torrent,...) needs ack packages until new "
+"data is sent, it needs to wait until a ack package returns from the "
+"server.\n"
+"In the end: send data, wait for ack, send more data, wait for ack,..\n"
+"As the RTT (RoundTripTime) adds up from the latency of each individual "
+"I2P node and each connection on this roundtrip, it takes usually 1-3 "
+"seconds until a ack package comes back to the client.\n"
+"With some internals of TCP and I2P transport, a data package has a "
+"limited size and cannot be as large as we want it to be.\n"
+"Together these conditions set a limit of max bandwidth per tunnel of "
+"20-50 kbyte/sec.\n"
+"But if ONLY ONE hop in the tunnel has only 5 kb/sec bandwidth to spend, "
+"the whole tunnel is limited to 5 kb/sec, independent of the \n"
+"latency and other limitations."
+msgstr ""
+"В большинстве случаев трафик в I2P (www, torrent, ...) нуждается в пакете"
+" ack до отправки данных, необходимо дождаться  пока пакет ack вернется с "
+"сервера.\n"
+"В конце: отправка данных, дождаться ack, отправить еще данных, дождаться "
+"ack, ...\n"
+"Т.к. RTT (RoundTripTime) складывается из задержек на каждом конкретном "
+"узле I2P и каждом соединении на этом пути, то обычно время получения "
+"пакета ack обратно на клиенте составляет 1-3 секунды.\n"
+"С некоторыми добавками транспортов TCP и I2P пакет данных имеет "
+"ограничение на размер, и он не может быть таким большим как мы того "
+"хотим.\n"
+"Вместе эти условия накладывают ограничение на максимальную пропускную "
+"способность на туннель - 20-50 Кбайт/с.\n"
+"Но если ТОЛЬКО у ОДНОГО участка туннеля есть 5 свободных кб/с, весь "
+"туннель будет ограничен до 5 кб/с, независимо от \n"
+"задержек и других ограничений."
+
+#: i2p2www/pages/site/about/performance/index.html:57
+msgid ""
+"Due to encryption used and other setups in I2P (howto built up tunnels, "
+"latency, ...) it is quite expensive in CPU time to build a tunnel. This "
+"is \n"
+"why a destination is only allowed to have a max of 6 IN and 6 OUT tunnels"
+" to transport data. With a max of 50 kb/sec per tunnel, a destination "
+"could \n"
+"use roughly 300 kb/sec traffic combined ( in reality it could be more if "
+"shorter tunnels are used with low or no anonymity available).\n"
+"Used tunnels are discarded every 10 minutes and new ones are built up.\n"
+"This change of tunnels (and sometimes clients that shutdown hard due to "
+"usage of \"shut down at once\" or situations where there is power loss) "
+"does \n"
+"sometimes break tunnels and connections, as seen on the IRC2P Network in "
+"loss of connection (ping timeout) or on when using eepget."
+msgstr ""
+"Из-за использования шифрования и других надстроек I2P (как то - "
+"построение туннелей, задержки, ...) построение туннеля является "
+"достаточно дорогим для времени CPU. \n"
+"Вот почему пункту назначения разрешено иметь максимум 6 входящих и 6 "
+"исходящих туннелей для передачи данных. С максимальной скоростью 50 кб/с "
+"на туннель пункт назначения может \n"
+"использовать приблизительно 300 кб/с комбинированного трафика (в "
+"действительности, может быть больше, если используются более короткие "
+"туннели с меньшей или отсутствующей анонимностью).\n"
+"Используемые туннели сбрасываются каждые 10 минут и строятся новые.\n"
+"Эти изменения туннелей (и иногда клиенты выполняют жесткое выключение при"
+" использовании \"shut down at once\" или в ситуации с выключением "
+"питания) \n"
+"иногда разрушают туннели и соединения, как это можно увидеть в сети IRC2P"
+" при потере соединения (ping timeout) или при использовании eepget."
+
+#: i2p2www/pages/site/about/performance/index.html:66
+msgid ""
+"With a limited set of destinations and a limited set of tunnels per "
+"destination, one I2P node only uses a limited set of tunnels across other"
+" I2P nodes.\n"
+"For example, if an I2P node is \"hop1\" in the small example above, we "
+"only see 1 participating tunnel originating from the client.\n"
+"If we sum up the whole I2P network, only a rather limited number of "
+"participating tunnels could be built with a limited amount of bandwidth "
+"all together.\n"
+"If one distributes these limited numbers across the number of I2P nodes, "
+"there is only a fraction of available bandwidth/capacity available for "
+"use."
+msgstr ""
+"При ограниченном наборе пунктов назначения и туннелей для пункта "
+"назначения один узел I2P использует только ограниченный набор туннелей с "
+"другими узлами I2P.\n"
+"Например, если узел I2P это \"hop1\" и маленьком примере выше, то мы "
+"видим только 1 участвующий туннель порожденный клиентом.\n"
+"Если мы сложим всю сеть I2P, то сможем построить только ограниченное "
+"число участвующих туннелей с ограниченной пропускной способностью.\n"
+"Если кто-то предоставить это ограниченное число туннелей набору узлов "
+"I2P, то только часть пропускной способности/мощности будет доступна для "
+"использования."
+
+#: i2p2www/pages/site/about/performance/index.html:73
+msgid ""
+"To remain anonymous one router should not be used by the whole network "
+"for building tunnels.\n"
+"If one router does act as a tunnel router for ALL I2P nodes, it becomes a"
+" very real central point of failure as well as a central point to grab "
+"IPs and data from the clients. This is not good.\n"
+"I2P attempts to spread the load across a lot of I2P nodes because of this"
+" reason."
+msgstr ""
+"Чтобы остаться анонимным один маршрутизатор не должен быть использован "
+"всей сетью для построения туннелей.\n"
+"Если один маршрутизатор выступает в качестве туннельного маршрутизатора "
+"для ВСЕХ узлов I2P, то он становится как узким местом, так и центром "
+"сбора адресов IP и данных от клиентов. Это не хорошо.\n"
+"По этой причине I2P пытается распределить нагрузку на большое число узлов"
+" I2P."
+
+#: i2p2www/pages/site/about/performance/index.html:79
+msgid ""
+"Another point is the full mesh network. Each connection hop-hop utilizes "
+"one TCP or UDP connection on the I2P nodes. With 1000 connections, one "
+"sees \n"
+"1000 TCP connections. That is quite a lot and some home and small office "
+"routers (DSL, cable,..) only allow a small number of connections (or just"
+" go mad if you use more than X connections).\n"
+"I2P tries to limit these connections to be under 1500 per UDP and per TCP"
+" type.\n"
+"This limits the amount of traffic routed across your I2P node as well."
+msgstr ""
+"Другая цель - это полносвязная сеть. Каждое соединение hop-hop использует"
+" одно соединение TCP или UDP между узлами I2P. При 1000 соединений, видны"
+" \n"
+"1000 соединений TCP. Это довольно много, и какой-нибудь домашний или "
+"маленький офисный маршрутизатор (DSL, кабельный, ...) допускает только "
+"маленькое количество соединений (или даже сойдет с ума при использовании "
+"более чем X соединений).\n"
+"I2P старается ограничить эти соединения до 1500 для UDP или TCP.\n"
+"Также это ограничивает объем трафика через ваш узел I2P."
+
+#: i2p2www/pages/site/about/performance/index.html:86
+msgid ""
+"In summary, I2P is very complex and there is no easy way to pinpoint why "
+"your node is not used.\n"
+"If your node is reachable and has a bandwidth setting of >128 kbyte/sec "
+"shared and is reachable 24/7, it should be used after some time for "
+"participating traffic.\n"
+"If it is down in between, the testing of your I2P node done by other "
+"nodes will tell them: you are not reachable. This blocks your node for at"
+" least \n"
+"24h on other nodes. So, the other nodes which tested you as down will not"
+" use your node for 24h for building tunnels. This is why your traffic "
+"will \n"
+"be lower after a restart/shutdown for a minimum of 24h."
+msgstr ""
+"В общем, I2P очень сложна и нет простого способа выяснить почему ваш узел"
+" не задействован.\n"
+"Если ваш узел доступен в режиме 24/7 и имеет настройку доступной полосы "
+"пропускания >128 Кбайт/с, он должен быть использован после передачи "
+"некоторого количества трафика.\n"
+"Если есть обрыв связи, проверка вашего I2P узла, выполненная другими "
+"узлами, скажет им: вы не доступны. Это приведет к блокировке вашего узла "
+"по крайней мере \n"
+"на 24 часа на других узлах. Итак, другие узлы, которые пометили вас как "
+"недоступный, не будут использовать ваш узел для постройки туннелей в "
+"течение 24 часов. \n"
+"Вот почему ваш трафик будет меньше после перезапуска/выключения как "
+"минимум в течение 24 часов."
+
+#: i2p2www/pages/site/about/performance/index.html:94
+msgid ""
+"Also: other I2P nodes needs to know your I2P router to test it for "
+"reachability and capacity. It takes time for other nodes to get known to "
+"your node. \n"
+"It will be faster if you use I2P and build more tunnels, e.g. use a "
+"torrent or www for some time."
+msgstr ""
+"Также: другим узлам I2P должен быть известен ваш маршрутизатор I2P чтобы "
+"иметь возможность  проверять его доступность и производительность. "
+"Требуется время для того чтобы ваш узел стал известен. \n"
+"Оно станет быстрее, если вы используете I2P и строите больше туннелей, "
+"например, используйте время от времени торрент или www."
+
+#: i2p2www/pages/site/about/performance/index.html:99
+msgid "Performance Improvements"
+msgstr "Улучшение Производительности"
+
+#: i2p2www/pages/site/about/performance/index.html:101
+#, python-format
+msgid ""
+"For possible future performance improvements see\n"
+"<a href=\"%(future)s\">Future Performance Improvements</a>."
+msgstr ""
+"Возможные будущие улучшения производительности смотри на странице \n"
+"<a href=\"%(future)s\">Будущие Улучшения Производительности</a>."
+
diff --git a/i2p2www/translations/he/LC_MESSAGES/blog.po b/i2p2www/translations/he/LC_MESSAGES/blog.po
new file mode 100644
index 0000000000000000000000000000000000000000..748ff778cb655941c2fdbf762306e41a46938ef2
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/blog.po
@@ -0,0 +1,1919 @@
+# Russian (Russia) translations for I2P.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# keedley <zhopa@mita.pp.ru>, 2013
+# sassy <sassy.but.classic@gmail.com>, 2013
+# Арефьев Денис <jujjer@gmail.com>, 2013
+# Narengoyn <narengoyn@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2014-01-27 02:06+0000\n"
+"PO-Revision-Date: 2013-12-12 06:18+0000\n"
+"Last-Translator: str4d <str4d@i2pmail.org>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
+msgid "Files are available on the `download page`_."
+msgstr "Файлы доступны на `странице загрузки`_."
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
+msgid "`download page`"
+msgstr "`страница загрузки`"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:45
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:13
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:101
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:26
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:34
+msgid "RELEASE DETAILS"
+msgstr "ПОДРОБНОСТИ РЕЛИЗА"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:103
+msgid "Major Changes"
+msgstr "Основные изменения"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:54
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:112
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:34
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:40
+msgid "Bug Fixes"
+msgstr "Исправлены ошибки"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:63
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:19
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:118
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:52
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:49
+msgid "Other"
+msgstr "Другое"
+
+#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
+#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
+#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
+#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
+#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:79
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:30
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:129
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:27
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:76
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:64
+msgid "SHA256 Checksums:"
+msgstr "Ключевые суммы SHA256"
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
+msgid "Major changes"
+msgstr "Основные изменения"
+
+#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
+msgid "Wrapper Update"
+msgstr "Обновление враппера"
+
+#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
+msgid "Update Info"
+msgstr "Информация об обновлении"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
+msgid "0.9.2 Release"
+msgstr "Релиз 0.9.2"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
+msgid ""
+"0.9.2 includes extensive low-level changes to improve the performance and"
+" efficiency of the router. We have updated our UPnP library, to hopefully"
+" make UPnP work for more people. I2PSnark now has DHT support, but it is "
+"not yet enabled by default, as we plan to do more testing during the "
+"upcoming 0.9.3 development cycle."
+msgstr ""
+"0.9.2 включает в себя значительное количество изменений для увеличения "
+"производительности и эффективности маршрутизатора. Мы обновили нашу "
+"библиотеку UPnP, надеемся, что она будет работать для большего числа "
+"случаев. I2PSnark получил поддержку DHT, но она по умолчанию выключена, "
+"так как мы надеемся ее активно тестировать в процессе разработки версии "
+"0.9.3."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
+msgid ""
+"As usual, there's also lots of bug fixes in this release, so updating is "
+"recommended."
+msgstr ""
+"Как обычно, в этой версии исправлено много ошибок, поэтому рекомендуется "
+"обновление."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
+msgid ""
+"SSU: Fix several problems in our UDP transport, to improve efficiency and"
+" reliability for connection setup. Also improve defenses against various "
+"types of bad input."
+msgstr ""
+"SSU: Исправлено несколько проблем в нашем UDP транспотре, для увеличения "
+"эффективности и надежности при установке соединения. Также улучшили "
+"защиту от разных типов плохих данных."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
+msgid ""
+"UPnP: Updated our library to fix several issues, should work for more "
+"routers now"
+msgstr ""
+"UPnP: Обновлили нашу библиотеку, теперь должно работать для большего "
+"количества устройств."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
+msgid ""
+"Transport: Improve performance in both our TCP and UDP transports, to "
+"benefit high-bandwidth routers"
+msgstr ""
+"Транспорт: Улучшили производительность TCP и UDP транспортов, особенно "
+"для маршрутизаторов на широких каналах."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
+msgid ""
+"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered "
+"are now much more flexible, which should lessen protocol overhead and "
+"reduce stalls caused by dropped tags."
+msgstr ""
+"Crypto: Отсечки и количество меток сессий ElGamal/AES сейчас гораздо "
+"более гибкие, что должно сократить затраты протокола и уменьшить "
+"подвисания, связанные с потерянными метками."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
+msgid ""
+"I2PSnark: Add DHT support, not yet enabled by default, will do further "
+"testing and plan to enable by default in 0.9.3."
+msgstr ""
+"I2PSnark: Добавлена поддержка DHT, не включена по умолчанию, будет "
+"тестироваться, планируем включить по умолчанию в 0.9.3"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
+msgid ""
+"Fix various issues affecting memory usage and performance on high-"
+"bandwidth routers"
+msgstr ""
+"Исправления ряда проблем с использованием памяти и производительностью на"
+" маршрутизаторах на широких каналах."
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
+msgid "Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
+msgstr ""
+"Исправлены проблемы в UDP для маршрутизаторов с уменьшенным MTU, например"
+" на VPN"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
+msgid "Fix i2psnark bug that prevented a completion announcement to the tracker"
+msgstr ""
+"Исправлена проблема в i2psnark, которая мешала оповещению о завершении "
+"закачки на трекере. "
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
+msgid "Fix a lock contention problem in i2ptunnel"
+msgstr "Исправлена проблема с блокировками в i2ptunnel"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
+msgid "Fix some OSX installation issues"
+msgstr "Исправлены некоторые проблемы при инсталляции в OSX"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
+msgid "Remove uses of direct byte buffers that may have been leaking"
+msgstr ""
+"Избавились от использования direct byte buffers, которые могли утекать по"
+" памяти"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
+msgid "Reduce overhead in network messages"
+msgstr "Уменьшены затраты протокола в сетевых сообщениях"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
+msgid "Add \"universal\" theme support"
+msgstr "Добавлена поддержка темы \"universal\""
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
+msgid "Theme updates"
+msgstr "Обновления тем"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
+msgid "Add a jbigi library for Raspberry Pi"
+msgstr "Добавлена библиотека jbigi, оптимизированная для Rapspberry Pi"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
+msgid "New Scala unit test framework"
+msgstr "Новая оснастка для юнит тестов Scala"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
+msgid "Translation updates for Czech, Dutch, German, and Greek"
+msgstr ""
+"Обновления переводов для чешского, голландского, немецкого и греческого "
+"языков"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
+msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
+msgstr "Враппер обновлен до 3.5.15 (для новых инсталляций и PPA)"
+
+#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:77
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:127
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:74
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:62
+msgid "Update GeoIP data (new installs and PPA only)"
+msgstr "Обновлены данные GeoIP (для новых инсталляций и PPA)"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
+msgid "0.9.3 Release"
+msgstr "0.9.3 Релиз"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
+msgid ""
+"0.9.3 includes extensive low-level changes to the queueing of messages in"
+" the router.  We implement the CoDel Active Queue Management (AQM) "
+"algorithm.  We also unify the queueing and priority mechanisms in the "
+"transports to aid diagnosis and reduce network latency.  Work continues "
+"on fixing UDP transport bugs and making UDP more resistant to attacks.  "
+"There are more changes to improve the performance of the router and "
+"reduce its memory usage.  Also, we enable i2psnark's DHT support, "
+"introduced last release, by default."
+msgstr ""
+"Релиз 0.9.3 включает значительные изменения на низком уровне в работе с "
+"очередями сообщений в маршрутизаторе. Мы реализовали алгоритм CoDel "
+"Active Queue Management (AQM). Унифицировали работу с очередями и "
+"приоритетами в транспортах для облегчения диагностики и снижения сетевых "
+"задержек. Продолжается работа с проблемами в UDP транспорте, чтобы "
+"сделать UDP более устойчивым к возможным атакам. Значительные изменения "
+"сделаны, чтобы роутер работал эффективнее и с меньшей нагрузкой на "
+"память. Также мы включили DHT в i2psnark по умолчанию."
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
+msgid "Active Queue Management"
+msgstr "Active Queue Management"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
+msgid "Priority queues"
+msgstr "Приоритетные очереди"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
+msgid "I2PSnark DHT: Several bug fixes, enable by default."
+msgstr "I2PSnark DHT: исправления нескольких проблем, включили по умолчанию."
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
+msgid ""
+"Several SSU fixes including memory leak, and better handling of routers "
+"behind firewalls that change UDP ports; additional defenses for malicious"
+" packets."
+msgstr ""
+"Ряд исправлений проблем в SSU, включая утечку памяти, более правильная "
+"обработка роутеров за файрволлами которые меняют UDP порты, "
+"дополнительные защиты от намеренно плохих пакетов."
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
+msgid "Fix piece selection (rarest-first) bugs in i2psnark"
+msgstr "Исправлен выбор части (редкие вперед) в i2psnark"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
+msgid "Fix bug causing multiple browsers to open at startup"
+msgstr "Исправлена проблема, приводящая к открытию нескольких браузеров на старте"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
+msgid "Improvements in caching"
+msgstr "Улучшения в кэшировании"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
+msgid "Several synchronization fixes and lock contention reduction"
+msgstr ""
+"Несколько исправлений в синхронизации и уменьшении использования "
+"блокировок"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
+msgid "Major reduction in SSU buffers memory use"
+msgstr "Большое снижение потребления памяти в SSU буферах"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
+msgid ""
+"Fix streaming connection timeout back to 1 minute, was inadvertently "
+"changed to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was"
+" unlimited"
+msgstr ""
+"Таймаут потоковых соединений установлен в 1 минуту, ранее был 5 минут. "
+"Таймаут чтения i2ptunnel server установлен в 5 минут, было без "
+"ограничений"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
+msgid "Improved defenses in i2ptunnel for \"darkloris\""
+msgstr "Улучшили защиту от \"darkloris\" в i2ptunnel"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
+msgid "More validation at torrent creation in i2psnark"
+msgstr "Больше проверок при создании торрента в i2psnark"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
+msgid "Several parameter changes in SSU to improve throughput"
+msgstr "Несколько изменений параметров в SSU для увеличения пропускной способности"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
+msgid ""
+"New event log for major events including restarts; show multiple restart "
+"lines on graphs"
+msgstr ""
+"Новый журнал для важных событий, включая перезапуски; показываем "
+"несколько моментов перезапусков на графиках"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
+msgid "Remove duplicate messages from logs"
+msgstr "Удалены повторяющиеся сообщения в журнале"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
+msgid "Don't respond to blocked streaming connections with a reset, just drop"
+msgstr ""
+"Не отвечать на заблокированные потоковые соединения reset, просто закрыть"
+" соедиение"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
+msgid "Remove all uses of inefficient SimpleTimer"
+msgstr "Удалить все использование неэффективного SimpleTimer"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
+msgid "More checks for valid IPs and ports entered in console"
+msgstr "Больше проверок на валидность IP и портов, введенных в консоли"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
+msgid "Fix bug that wasted a lot of entropy"
+msgstr "Исправлена проблема что приводила к расходу энтропии"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
+msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
+msgstr "Обновлены переводы: Итальянский, Португальский, Испанский, Шведский"
+
+#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
+msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
+msgstr "Добавить не-NIO настройки в jetty.xml, рекомендованные для Java 5"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
+msgid "0.9.4 Release"
+msgstr "Версия 0.9.4"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
+msgid ""
+"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, "
+"that was reducing network performance and reliability. It also includes "
+"major changes in the in-network update system, and adds the capability to"
+" update via in-network torrents."
+msgstr ""
+"Версия 0.9.4 включает исправление для проблемы пропускной способности "
+"сети, внесенной в 0.9.2, что приводила к снижению производительности и "
+"надежности сети. Также включае большие изменения в системе обновления и "
+"добавляет возможность обновления через внутрисетевые torrent'ы"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
+msgid ""
+"We fixed several bugs in the i2psnark DHT implementation that was "
+"introduced\n"
+"last release. For those of you using console or http proxy passwords,\n"
+"we converted to the more-secure digest method and improved the security "
+"for console forms."
+msgstr ""
+"Мы исправили несколько проблем в реализации DHT в i2psnark, которые были "
+"внесены\n"
+"в последнем релизе. Для тех, кто использует пароли на консоль или "
+"прокси-сервер,\n"
+"мы сконвертировали их в более безопасный дайджест, а также улучшили "
+"безопасность форм."
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
+msgid ""
+"For those of you already running development builds, your router should "
+"automatically\n"
+"update to 0.9.4-0 using the new in-network torrent facility.\n"
+"For those running 0.9.3-0, you will update normally using in-network "
+"HTTP, and\n"
+"we will have more information for you when we release 0.9.5."
+msgstr ""
+"Для тех, кто уже работает с девелоперскими сборками, ваш маршрутизатор "
+"должен автоматически\n"
+"обновиться до 0.9.4.-0, используя новый механизм внутрисетевых торрентов."
+"\n"
+"Для тех, кто пользуется 0.9.3-0, обновитель через внутрисетевой HTTP,  и\n"
+"для вас будет больше информации, когда мы выпустим 0.9.5"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
+msgid ""
+"Big rework of the update system; Preliminary support for updates via "
+"i2psnark"
+msgstr ""
+"Крупная переделка системы обновлений; Предварительная поддержка для "
+"обновлений через i2psnark"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
+msgid "Add per-destination outbound priorities"
+msgstr "Добавить исходящие приоритеты для каждого назначения"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
+msgid ""
+"Fix major bug that reduced SSU connection limits which reduced tunnel "
+"build success rates"
+msgstr ""
+"Исправить крупную проблему, которая уменьшала ограничения на соединения, "
+"что приводило к уменьшению качества построения туннелей"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
+msgid "Fix bug with external I2CP that prevented some external apps from working"
+msgstr ""
+"Исправить проблему с внешним I2CP, которая мешала ряду внешний приложений"
+" работать"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
+msgid "Fixed several bugs in i2psnark DHT"
+msgstr "Исправлено несколько проблем в реализации DHT в i2psnark"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
+msgid "Fixed bug in i2psnark PEX that inflated peer counts"
+msgstr "Исправлена проблема в i2psnark PEX, которые увеличивали счетчик узлов"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
+msgid "Handle dropped I2CP messages better"
+msgstr "Лучше обрабатывать отбитые I2CP сообщения"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
+msgid "Reduce overhead of I2CP messages"
+msgstr "Уменьшить затраты протокола в I2CP сообщениях"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
+msgid "Enforce max size in transport outbound message queues"
+msgstr ""
+"Усилить требования к максимальному размеру в исходящих очередях сообщений"
+" транспорта"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
+msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
+msgstr "Исправления для Windows eepget.bat (новые инсталляции и PPA)"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
+msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
+msgstr ""
+"Исправить проблему что приводила к потерям сообщений размером ровно 512 "
+"байт"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
+msgid ""
+"More performance improvements, memory reduction, and object churn "
+"reduction"
+msgstr ""
+"Больше улучшений производительности, уменьшения расхода памяти и расхода "
+"ресурсов на постоянное пересоздание объектов"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
+msgid "Better detection of network disconnections"
+msgstr "Лучшее определение сетевых рассоединений"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
+msgid "Further improvements in the SSU transport"
+msgstr "Улучшения в SSU транспорте"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
+msgid "Add console password form"
+msgstr "Добавить форму консольного пароля"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
+msgid ""
+"Convert http proxy and console from basic to digest authentication for "
+"added security"
+msgstr ""
+"Для увеличения безопасности перейти к digest авторизации для консоли и "
+"http-прокси"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
+msgid ""
+"Improved verification of console form submissions, using jsp sessions. "
+"Cookies may now be required on forms, except when the console password is"
+" enabled"
+msgstr ""
+"Улучшенная проверка для форм консоли, используя jsp сессии. Куки могут "
+"быть необходимы на формах, кроме тех случаев, когда включен пароль на "
+"консоль"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
+msgid ""
+"Initial work on new interfaces to manage applications started via "
+"clients.config"
+msgstr ""
+"Первоначальная работа над новыми интерфейсами управления приложениями, "
+"запускаемыми через clients.config"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
+msgid "Increase minimum peer port to 1024"
+msgstr "Увеличен минимальный номер порта на узле до 1024"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
+msgid "Increase granularity of bandwidth limiter for smoother transmissions"
+msgstr ""
+"Увеличение гранулярности ограничителя полосы для более ровной передачи "
+"данных"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
+msgid ""
+"Translation updates: Chinese, French, German, Italian, Polish, "
+"Portuguese, Swedish, and Ukrainian"
+msgstr ""
+"Обновлены переводы: китайский, французский, немецкий, итальянский, "
+"польский, португальский, шведский и украинский"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
+msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
+msgstr "Враппер обновлен до 3.5.16 (для новых инсталляций и PPA)"
+
+#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
+msgid "New ARMv6 wrapper for Raspberry Pi"
+msgstr "Новый ARMv6 враппер для Raspberry Pi"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
+msgid "0.9.5 Release"
+msgstr "Версия 0.9.5"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
+msgid ""
+"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities"
+" that are being investigated by researchers at UCSB. We continue to work "
+"with them on additional improvements. This is a good opportunity to "
+"remind the community that while our network continues to grow rapidly, it"
+" is still relatively small. There may be multiple weaknesses or bugs that"
+" could compromise your anonymity. Help us grow the network by spreading "
+"the word and contributing where you can."
+msgstr ""
+"Версия 0.9.5 включает исправления проблем и защиту от ряда уязвимостей, "
+"которые были исследованы специалистами в UCSB. Мы продолжаем работу "
+"вместе с ними над дополнительными улучшениями. Это хорошая возможность "
+"напомнить публике, что хотя наша сеть продолжает быстро расти, она все "
+"еще относительно невелика. Возможно, что присутствуют проблемы или "
+"ошибки, которые могут скомпрометировать вашу анонимность. Помогите нам "
+"увеличить сеть, распространяя информацию и принося свой вклад, какой вы "
+"можете сделать."
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
+#, python-format
+msgid ""
+"In this upgrade cycle, a random 1% of routers, (plus all routers running "
+"a\n"
+"development build) will attempt to update via the experimental in-network"
+" bittorrent\n"
+"with i2psnark. If this doesn't work, it should fall back to standard in-"
+"network HTTP update."
+msgstr ""
+"В этом цикле обновлений 1% o случайных роутеров (плюс все роутеры, "
+"работающие на\n"
+"версии для разработчиков) будут пытаться обновиться через "
+"экспериментальный внетрисетевой bittorent\n"
+"с помощью i2psnark. Если это не сработает, обновление должно произойти "
+"через стандартный внутрисетевой HTTP."
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
+msgid "Defenses and Bug Fixes"
+msgstr "Защита и исправление ошибок"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
+msgid "Fix router bug causing lockup when using iMule"
+msgstr ""
+"Исправлена проблема в маршрутизаторе, приводившая к подвисанию при "
+"использовании iMule"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
+msgid "Recognize, handle, reject duplicate tunnel IDs"
+msgstr "Узнаем, обрабатываем и отклоняем дублированный ID туннелей"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
+msgid "Fix changing of the log file name"
+msgstr "Исправляем смену имени журнального файла"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
+msgid "Prevent hashcode attack in session tags"
+msgstr "Предотвращаем hashcode attack в метках сессий"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
+msgid "Add build request throttler based on previous hop"
+msgstr "Добавить регулятор запроса построения на основании предыдущего прыжка"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
+msgid "Limit concurrent next-hop lookups"
+msgstr "Ограничиваем конкуррентные поиски следующего узла"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
+msgid "Catch exceptions storing nonces in console"
+msgstr "Перехватываем исключения при сохранении в консоли"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
+msgid "Fix saving graph settings in console"
+msgstr "Исправление настроек графиков в консоли"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
+msgid "Fix eepget generation of URLs when not proxied"
+msgstr "Исправление генерации URL в eepget, когда работаем без прокси"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
+msgid ""
+"Encrypt database lookup messages end-to-end when sent through exploratory"
+" tunnels"
+msgstr ""
+"Зашифровать сообщения поиска по базе данных от точки до точки при работе "
+"через исследующие туннели"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
+msgid "Don't use multiple floodfills from the same /16 in a query"
+msgstr "Не использовать множественные floodfills из одной подсети /16  в запросе"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
+msgid "Randomize delay before verifying floodfill store"
+msgstr "Сделать случайную задержку перед проверкой хранилища floodfill"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
+msgid "Increase number of floodfills"
+msgstr "Увеличить количество floodfill"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
+msgid "Improve support for mobile browsers"
+msgstr "Улучшить поддержку мобильных браузеров"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
+msgid "Partial defenses for UCSB attacks"
+msgstr "Частичная защита от UCSB аттак"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
+msgid "Add announce list support to i2psnark"
+msgstr "Добавить поддержку списка анонсов в i2psnark"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
+msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
+msgstr "jetty: обновить Apache Tomcat до 6.0.36"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
+msgid "Split router info files into multiple subdirectories"
+msgstr "Разделить файлы маршрутизатора по нескольким поддиректориям"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
+msgid "Add IP to hostname mapping option in SOCKS"
+msgstr "Добавить в SOCKS возможность распознавать IP в hostname"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
+msgid "Improve PRNG seeding"
+msgstr "Улучшить запуск генератора случайных чисел"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
+msgid ""
+"Translation updates: French, German, Hungarian, Italian, Norwegian, "
+"Polish, Portuguese, Russian, Swedish"
+msgstr ""
+"Обновления переводов: французский, немецкий, венгерский, итальянский, "
+"норвежский, польский, португальский, шведский"
+
+#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
+msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
+msgstr "Обновить враппер до 3.5.17 (новые инсталляции и PPA)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
+msgid "0.9.6 Release"
+msgstr "Версия 0.9.6"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
+msgid ""
+"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
+"Jetty 7.6.10 (2013-03-12). See below for important information on the "
+"Jetty update. The Jetty 7 series is actively maintained and we plan to "
+"stay current with it in future I2P releases."
+msgstr ""
+"Версия 0.9.6 включает в себя исправления и обновление  jetty c  Jetty "
+"6.1.26 (2010-11-10) до 7.6.10 (2013-03-12). Смотрите ниже важную "
+"информацию про обновление jetty. Jetty версии 7 активно поддерживается и "
+"мы планируем последовательно обновлять версию до последней при будущих "
+"релизах I2P."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
+msgid ""
+"Most users will update via HTTP. Those running development builds will "
+"attempt to update via the\n"
+"experimental in-network bittorrent with i2psnark. We've fixed some bugs "
+"that will enable more users\n"
+"to update via torrent in the 0.9.7 update cycle."
+msgstr ""
+"Большинство пользователей будут обновляться через HTTP. Те, кто работает "
+"на девелоперских сборках будут пытаться обновляться через внутрисетевой "
+"bittorrent с помошью i2psnark. Мы починили несколько проблем, это "
+"позволит большему количеству пользователей обновиться через torrent в "
+"процессе развития 0.9.7."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
+msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
+msgstr "Важное исправление для Eepsite под Windows изначально запущенных под 0.9.5"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
+msgid ""
+"If you first installed I2P with version 0.9.5, on Windows only, we "
+"recommend that you follow the\n"
+"following instructions to fix your eepsite location **before** you update"
+" to 0.9.6.\n"
+"Only original installations of 0.9.5-0 on Windows are affected by this "
+"issue. If your router version\n"
+"is 0.9.5-0-win1, you already have the fix and need not take any action."
+msgstr ""
+"Если вы впервые запустили I2P на версии 0.9.5 под Windows (только это "
+"сочетание), мы рекомендуем \n"
+"проделать действия по инструкции чтобы сменить расположение сайта **до** "
+"обновления на 0.9.6.\n"
+"Только изначально установленные на 0.9.5-0 на Windows сайты подвержены "
+"этой проблеме. Если версия маршрутизатора \n"
+"0.9.5-0-win1, то у вас уже все хорошо и ничего делать дополнительно не "
+"надо."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
+msgid "See `this page`_ for instructions."
+msgstr "См. `this page`_ для инструкций."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
+msgid "`this page`"
+msgstr "`эта страница`"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
+msgid "Jetty 7 Migration Details"
+msgstr "Порядок миграции на Jetty 7"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
+msgid ""
+"For most people, the update should just work. If you have multiple Jetty "
+"eepsites,\n"
+"OR have made changes to jetty.xml or other Jetty configuration files, "
+"including changing the port\n"
+"from 7658, you MUST take manual action AFTER updating."
+msgstr ""
+"Для большинсва людей, просто должен пройти процесс обновления и все. Если"
+" у вас несколько eepsite'ов на jetty?\n"
+"ИЛИ вы сделали изменения в jetty.xml или других конфигурационных файлах "
+"jetty, включая смену порта с 7658,\n"
+"вы ДОЛЖНЫ предпринять действия вручную ПОСЛЕ обновления."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
+msgid ""
+"After update, the router will migrate your jetty.xml files to the new "
+"Jetty 7 format."
+msgstr ""
+"После обновления, маршрутизатор перенесет ваш jetty.xml в новый формат "
+"для jetty 7."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
+msgid ""
+"The migration resets the port to 7658. If you have more than one Jetty "
+"eepsite, OR your eepsite\n"
+"  is NOT on port 7658, OR you have made other modifications to jetty.xml "
+"(for example changing the\n"
+"  listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml "
+"file for each eepsite to fix them up\n"
+"  after updating, and restart again."
+msgstr ""
+"Процесс миграции скинет порт на 7658. Если у вас более одного eepsite, "
+"ИЛИ ваш сайт\n"
+"НЕ на порту 7658, ИЛИ вы сделали другие изменения в jetty.xml (например, "
+"сменили адрес сервера с 127.0.0.1 на 0.0.0.0), вы ДОЛЖНЫ отредактировать "
+"jetty.xml для всех eepsite'ов и внести эти изменения снова,\n"
+"после обновления и снова перезапустить сайты. "
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
+msgid ""
+"**The following files will be backed up with a &quot;.jetty6&quot; suffix"
+" and then migrated.**\n"
+"If you have made local changes, you may have to edit them manually and "
+"restart.\n"
+"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
+msgstr ""
+"**Следующие файлы будут сохранены с суффиксом &quot;.jetty6&quot;  и "
+"затем изменены в новый формат**\n"
+"Если вы ранее делали локальные изменения в них, вы должны повторить эти "
+"изменения в новом формате и перезапуститься\n"
+"См. http://wiki.eclipse.org/Jetty для справки по настройкам Jetty 7."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
+msgid "Plugins"
+msgstr "Плагины"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
+msgid "Most plugins should work fine with Jetty 7."
+msgstr "Большинство плагинов должно нормально работать с Jetty 7"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
+msgid ""
+"The I2PControl and zzzot plugins must be updated. Your router should "
+"download and install the new versions shortly after starting 0.9.6."
+msgstr ""
+"Плагины I2PControl и zzzot должны быть обновлены. Ваш маршрутизатор "
+"должен скачать и установить новые версии вскоре после запуска 0.9.6."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
+msgid "If a plugin does not work, please contact the maintainer for that plugin."
+msgstr "Если плагин не работает, пожалуйста, свяжитесь с автором плагина."
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
+msgid "Several bugs with Windows installation (see above)"
+msgstr "Несколько проблем на Windows инсталляциях (см. выше)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
+msgid "Fix default form action in i2ptunnel"
+msgstr "Исправить действие в форме по умолчанию в i2ptunnel"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
+msgid "Fix links on iframed console pages"
+msgstr "Исправлены ссылки на страницах консоли в iframe"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
+msgid "Better detection of 64-bit Windows to prevent crashes by systray"
+msgstr ""
+"Улучшенное определение 64-битных Windows для предотвращения падений в "
+"systray"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
+msgid "Fix bug preventing router update via torrent"
+msgstr "Исправить проблему, приводящую к невозможности обновиться через torrent"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
+msgid "Several SSU fixes for NATs that change UDP ports"
+msgstr "Несколько проблем в SSU для NAT, которые меняют UDP порты"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
+msgid ""
+"Ignore unsupported IPs in RouterInfos when selecting an address (prep for"
+" IPv6)"
+msgstr ""
+"Игнорировать не поддерживаемые IP в RouterInfo при выборе адреса "
+"(подготовка к IPv6)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
+msgid ""
+"Ignore unused option bits in Database Lookup Message (prep for requesting"
+" encrypted response)"
+msgstr ""
+"Игнорировать неиспользуемые биты настроек в Database Lookup Message "
+"(подготовка к запросу зашифрованных ответов)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
+msgid "Fix HTTP proxy error response for malformed URIs"
+msgstr "Исправить ответы HTTP прокси при ошибках неправильных URI"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
+msgid "Recognize UPnP devices without port forwarding capability"
+msgstr "Опознавать устройства UPnP без поддержки порт-форвардинга"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
+msgid "Jetty 7.6.10 (see above for migration information)"
+msgstr "Jetty 7.6.10 (см. выше инструкции по обновлению)"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
+msgid "Limit page size in i2psnark"
+msgstr "Ограничение на размер страницы в i2psnark"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
+msgid "Add data directory and page size configuration to i2psnark"
+msgstr "Добавить настройки директории с данными и размера страницы в i2psnark"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
+msgid "Support multiple i2psnark instances"
+msgstr "Поддержка нескольких экземпляров i2psnark"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
+msgid "Piece size adjustments in i2psnark"
+msgstr "Настройки размера части в I2psnark"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
+msgid "Add more graphing support for combined bandwidth graph"
+msgstr ""
+"Дополнить графическую поддержку для отображения комбинированной полосы "
+"пропускания"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
+msgid "Block b32.i2p supercookies"
+msgstr "Заблокировать b32.i2p supercookies"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
+msgid "Allow stopping clients on /configclients"
+msgstr "Разрешить останавливать клиентов на /configclients"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
+msgid "Check for nonce count replays in HTTP client"
+msgstr "Проверка на одноразовые ответы в клиенте HTTP"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
+msgid "Support SASL authentication in IRC proxy"
+msgstr "Поддержка SASL авторизации в IRC прокси"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
+msgid "Several cleanups and minor fixes in the update manager"
+msgstr "Несколько исправлений и мелких правок в управлении обновлением"
+
+#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
+msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
+msgstr "Обновлены переводы: немецкий, португальский, русский, испанский, шведский"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:2
+msgid "0.9.7 Release"
+msgstr "Версия 0.9.7"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:7
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:9
+msgid "0.9.7 includes significant bug fixes and improvements."
+msgstr "Версия включает значимые исправления  и улучшения"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:11
+msgid ""
+"For the first time, class 'N' routers (those with a minimumum of 128 "
+"KBytes/sec of shared bandwidth)\n"
+"will automatically become floodfill (previously it was only 'O' routers "
+"with 256 KBps). This will\n"
+"increase the floodfill population for additional resistance to certain "
+"attacks (see below). Floodfill routers\n"
+"don't consume much additional bandwidth, but they do tend to use "
+"additional memory and concurrent\n"
+"connections. If you do not wish your router to become floodfill, set the "
+"advanced configuration\n"
+"router.floodfillParticipant=false ."
+msgstr ""
+"Впервые, маршрутизаторы класса 'N' ( с минимальной полосой 128 "
+"Kbytes/sec) \n"
+"автоматически становятся floodfill (ранее так себя вели только 'O' "
+"маршрутизаторы с полосой 256 KBps). Это позволит\n"
+"увеличить количество floodfill для дополнительной защиты от некоторых "
+"атак (см. ниже). Floodfill \n"
+"не потребляет слишком много ресурсов сети, но есть тенденция к большему "
+"расходу памяти и\n"
+"соединений. Если вы не хотите чтобы ваш маршрутизатор становился "
+"floodfill, поставьте дополнительно настройку "
+"router.floodfillParticipant=false."
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:20
+#, python-format
+msgid ""
+"As we think the last release fixed the experimental update-via-torrent "
+"bugs, 3% of routers should\n"
+"update over in-network bittorrent this cycle."
+msgstr ""
+"Как мы и думали, последний релиз устранил проблемы экспериментального "
+"обновления-через-торрент, 3% o маршрутизаторов должны \n"
+"обновиться через внутресетевой бит-торрент  в этом цикле."
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:25
+msgid ""
+"Plugin update checks, possibly broken for several releases, are fixed. "
+"Your plugins should once again\n"
+"auto-update after updating the router."
+msgstr ""
+"Проверки обновления плагинов, возможно испорченные в нескольких релизах, "
+"исправлены. Ваши плагины должны еще раз \n"
+"обновиться автоматически после обновления маршрутизатора."
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:30
+msgid ""
+"We fixed a major streaming timer bug that contributed to frequent IRC "
+"disconnects."
+msgstr ""
+"Мы исправили главную ошибку потокового таймера, которая приводила к "
+"частым отключениям IRC."
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:34
+msgid ""
+"This release contains additional mitigations for the `\"practical "
+"attacks\" paper`_.\n"
+"However, we have a lot more work to do to resist Sybil attacks on the "
+"floodfills, and resist\n"
+"traffic analysis at the gateways and endpoints of exploratory tunnels.\n"
+"It's a good reminder for everybody that our network is still relatively "
+"small and vulnerable.\n"
+"We don't currently recommend any uses that would put anybody in serious "
+"jeopardy.\n"
+"We'll keep working to improve it... please keep working to spread the "
+"word. A bigger network is a better network."
+msgstr ""
+"Этот релиз содержит дополнительные ослабления по `заметкам о \"практике "
+"атак\"`_.\n"
+"Тем не менее, у нам предстоит выполнить еще много работы для защиты от "
+"атак Sybil с floodfill, и защиты от \n"
+"анализа трафика на шлюзах и конечных точках туннелей разведчиков.\n"
+"Это служит хорошим напоминанием всем о том, что наша сеть все еще "
+"относительно мала и уязвима.\n"
+"Мы не рекомендуем любое ее использование, которое может поставить вас под"
+" серьезную угрозу.\n"
+"Мы работаем над ее улучшением... пожалуйста, продолжайте работу, чтобы "
+"распространиться по миру. Чем больше сеть - тем лучше."
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:43
+msgid "`\"practical attacks\" paper`"
+msgstr "`заметки о \"практике атак\"`"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:47
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:15
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:107
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:28
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:36
+msgid "Anonymity Improvements"
+msgstr "Улучшения Анонимности"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:49
+msgid "End-to-end encryption of responses to leaseset lookups"
+msgstr "Непрерывное шифрование ответов на запросы просмотров leaseset"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:50
+msgid "Expand floodfill pool by enabling class 'N' floodfills"
+msgstr "Расширение пула floodfill путем включения класса 'N' floodfill"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:51
+msgid "Randomize padding inside encrypted SSU packets"
+msgstr "Случайное изменение размера внутри зашифрованных пакетов SSU"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:52
+msgid "Preparation for better SSU protocol obfuscation"
+msgstr "Подготовка к улучшению обфускации протокола SSU"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:56
+msgid "Fix newer lease sets not getting stored or published"
+msgstr ""
+"Исправление по проблеме: более новые наборы сроков аренды не сохраняются "
+"и не публикуются"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:57
+msgid ""
+"Fix classpath bug when used with 4-year-old installations, causing the "
+"console not to start"
+msgstr ""
+"Исправление ошибки classpath, используемого с 4-летними установками, "
+"вызывающей отказ запуска консоли"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:58
+msgid "Fix addressbook database bug preventing update of the reverse index"
+msgstr ""
+"Исправление ошибки адресной книги базы данных, предотвращающей обновление"
+" обратного индекса"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:59
+msgid ""
+"Fix i2psnark bug that changed the infohash of torrents created by Robert "
+"and fetched via magnet link"
+msgstr ""
+"Исправление ошибки i2psnark, которая изменяет infohash торретнот, "
+"созданных Robert'ом и полученных через магнет ссылку"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:60
+msgid "Fix version checking for plugins"
+msgstr "Исправление проверки версий плагинов"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:61
+msgid ""
+"Fix a streaming timer bug causing frequent IRC disconnects (also affects "
+"other close-on-idle tunnels)"
+msgstr ""
+"Исправление ошибки потокового таймера, вызывающей частые отключения IRC "
+"(также влияющую на другие туннели, закрываемые при простое)"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:65
+msgid "Don't install as a service on Windows by default"
+msgstr "Не устанавливать в качестве сервиса Windows по умолчанию"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:66
+msgid "Reduce transport idle timeouts"
+msgstr "Уменьшение таймаутов простоя транспорта"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:67
+msgid "Reduce tunnels on idle in i2psnark"
+msgstr "Уменьшение каналов в простое в i2psnark"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:68
+msgid "Change default in i2ptunnel GUI to 3 hops"
+msgstr "Изменение настройки по умолчанию в i2ptunnel GUI на 3 прыжка"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:69
+msgid "IE 10 support"
+msgstr "Поддержка IE 10"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:70
+msgid ""
+"Individual expiration times in leases, for efficiency on destinations "
+"with a high number of tunnels"
+msgstr ""
+"Индивидуальное время жизни аренд, для повышения эффективности в пунктах "
+"назначения с большим количеством туннелей"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:71
+msgid "Low-level encryption and XOR speedups"
+msgstr "Низкоуровневое шифрование и ускорение XOR"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:72
+msgid "Jetty 7.6.11"
+msgstr "Jetty 7.6.11"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:73
+msgid "Tomcat 6.0.37"
+msgstr "Tomcat 6.0.37"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:74
+msgid "Translation updates: Chinese, French, German, Portuguese, Russian, Spanish"
+msgstr ""
+"Обновления переводов: Китайский, Французский, Немецкий, Португальский, "
+"Русский, Испанский"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:75
+msgid "New Turkish translation"
+msgstr "Новый Турецкий перевод"
+
+#: i2p2www/blog/2013/07/15/0.9.7-Release.rst:76
+msgid "Wrapper 3.5.19 (new installs and PPA only)"
+msgstr "Wrapper 3.5.19 (только новые установки и PPA)"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:2
+msgid "0.9.7.1 Release"
+msgstr "0.9.7.1 релиз"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:7
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:9
+msgid ""
+"This unscheduled release disables the RouterInfo verification messages "
+"that were used in the attack published in the UCSB paper, which should "
+"make correlating a LeaseSet and a Router much more difficult. We have "
+"also included a limited number of other fixes listed below. Our 0.9.8 "
+"release, which will include IPv6 support, is still on-schedule for late "
+"September."
+msgstr ""
+"Этот незапланированный релиз отключает проверочные сообщения RouterInfo, "
+"которые использовались в атаках, опубликованных в заметках UCSB, что "
+"должно усложнить нахождение связи между LeaseSet и маршрутизатором. Мы "
+"также включили ограниченное число исправлений, приведенных ниже. Наш "
+"релиз 0.9.8, который будет включать в себя поддержку IPv6, все еще "
+"запланирован на конец сентября."
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:11
+msgid "As usual, we recommend that all users update to this release."
+msgstr "Как обычно, мы рекомендуем всем обновиться до этого релиза."
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:17
+msgid "Disable RouterInfo verification messages"
+msgstr "Отключение проверочных сообщений RouterInfo"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:21
+msgid "Extend inbound tunnel expiration"
+msgstr "Увеличили время жизни входящего туннеля"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:22
+msgid "i2prouter: bashism fix"
+msgstr "i2prouter: исправление bashism"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:23
+msgid "i2psnark: increase max piece size, mime type updates"
+msgstr "i2psnark: увеличили максимальный размер куска, обновление mime типов"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:24
+msgid "New reseed host"
+msgstr "Новый механизм повторного использования хоста"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:25
+msgid "New update hosts, thanks Meeh and dg"
+msgstr "Новый механизм обновления хоста, спасибо Meeh и dg"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:26
+msgid "Streaming: RTO changes"
+msgstr "Потоки: изменения RTO"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:27
+msgid "Updater: Increase update-via-torrent to 30 percent"
+msgstr "Обновление: увеличение обновлений-через-торрент до 30 процентов"
+
+#: i2p2www/blog/2013/08/10/0.9.7.1-Release.rst:28
+msgid "UPnP fix for some hardware"
+msgstr "Исправление UPnP для некоторого оборудования"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:2
+msgid "0.9.8 Release"
+msgstr "Релиз 0.9.8"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:7
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:9
+msgid ""
+"0.9.8 includes the long-awaited support for IPv6. It's enabled by "
+"default, but of course you need a public IPv6 address to use it. "
+"Configuration is on the 'network' configuration tab in your console. We "
+"also have anonymity improvements including padding of SSU packets and "
+"longer router private keys."
+msgstr ""
+"0.9.8 включает долгожданную поддержку IPv6. Она включена по умолчанию, "
+"но, конечно же, вам нужен публичный IPv6 адрес, чтобы использовать её. "
+"Настраивается во вкладке настроек \"сеть\" в вашей консоли. Мы также "
+"усилили анонимность, включая многослойные SSU пакеты и более длинные "
+"закрытые ключи роутера. "
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:11
+#, python-format
+msgid "30% of you will update via in-network torrent in this update cycle."
+msgstr ""
+"В этом цикле обновлений 30% o из вас будут обновлены через внутрисетевой "
+"торрент-клиент."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:13
+msgid "IPv6 Details"
+msgstr "Подробности об IPv6."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:15
+msgid ""
+"IPv6 is enabled and preferred by default. If you have a public IPv6 "
+"address \n"
+"and you are connecting to another router with a published IPv6 address, "
+"it will \n"
+"connect via IPv6. There is a new IPv6 configuration section on /confignet"
+" in \n"
+"the router console. If IPv6 is causing problems you may disable it there."
+msgstr ""
+"IPv6 включён и предпочитается по умлочанию. Если у вас есть публичный "
+"IPv6 адрес\n"
+"и вы соединяетесь с другим роутером с публичным IPv6 адресом, они\n"
+"соединятся через IPv6. В /confignet в консоли роутера - новая секция\n"
+" настройки IPv6. Если IPv6 вызывает проблемы, вы можете отключить его там."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:22
+msgid ""
+"As a part of the IPv6 development effort, I2P now supports multiple \n"
+"published IP addresses. If you have multiple public IP addresses (IPv4, "
+"IPv6, \n"
+"or both), you may enable or disable them individually on /confignet. The"
+" \n"
+"default is to use the first IPv4 and IPv6 addresses it discovers. If you "
+"have \n"
+"multiple addresses you should review the configuration on /confignet and "
+"adjust \n"
+"it if necessary.\n"
+"Note that while you may enable multiple IPv4 and IPv6 addresses on "
+"/confignet,\n"
+"we recommend that you use only one IPv4 and one IPv6 address. There are\n"
+"bugs still to be fixed with multiple addresses of each type."
+msgstr ""
+"Как часть усилий в области развития IPv6, I2P теперь поддерживает "
+"множественные\n"
+"публичные IP адреса. Если у вас есть множественные публичные IP адреса "
+"(IPv4, IPv6,\n"
+"или оба), вы можете включить или выключить каждый из них в /confignet. По"
+"\n"
+"умолчанию, используется сначала IPv4, а IPv6 адреса к нему обращаются. "
+"Если у вас есть\n"
+"множественные адреса, вам стоит проверить настройки в /confignet и "
+"поправить\n"
+"их, если необходимо.\n"
+"Заметьте, что в то время как вы можете включить множественные IPv4 и IPv6"
+" адреса в /confignet,\n"
+"мы рекомендуем использовать только один IPv4 и один IPv6 адреса. Всё ещё\n"
+"есть ошибки с множественными адресами каждого типа, которые нужно "
+"исправить."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:34
+msgid ""
+"While IPv6 support was designed and developed over several years, it has"
+" \n"
+"only been tested by a limited number of users and is still beta. If you "
+"do have \n"
+"a public IPv6 address, please monitor your router and the logs for "
+"problems, \n"
+"and disable it necessary. Please report any bugs on \n"
+"http://trac.i2p2.i2p."
+msgstr ""
+"В то время как поддержка IPv6 проектировалась и разрабатывалась в течение"
+" нескольких лет, она\n"
+"была протестирована только ограниченным количеством пользователей и всё "
+"ещё на стадии беты.\n"
+"Если у вас есть публичный IPv6 адрес, пожалуйста, проверяйте ваш "
+"маршрутизатор и логи на предмет проблем,\n"
+"и отключите его, если необходимо. Пожалуйста, сообщайте о любых ошибках "
+"на\n"
+"http://trac.i2p2.i2p"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:42
+msgid "Rekeying Details"
+msgstr "Подробности о Подробном вводе. "
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:44
+msgid ""
+"For those of you running I2P on faster hardware (generally, 64-bit x86) "
+"the \n"
+"router will generate a new identity using longer keys. This will "
+"substantially \n"
+"reduce your participating traffic for 48 hours or more, while your router"
+" \n"
+"re-integrates into the network. Due to the new keys, the large number of"
+" \n"
+"torrent updates, and the recent network growth, we expect substantial \n"
+"disruption to the network for a week or more after the update is "
+"released. \n"
+"Please be patient and things should start to improve after a few days."
+msgstr ""
+"Для тех из вас, кто запускает I2P на быстром аппаратном обеспечении\n"
+" (в основном, 64-битном x86), маршрутизатор сгенерирует новый профиль\n"
+"используя более длинные ключи. Это в значительной степени сократит\n"
+"ваш транзитный трафик на 48 часов или более, пока ваш маршрутизатор\n"
+"ре-интегрируется в сеть. По причине новых ключей, большого количества\n"
+"торрент-обновлений и недавнего роста сети мы ожидаем существенных\n"
+"сбоев в сети в течение недели или более после выпуска обновления.\n"
+"Пожалуйста, будьте терпеливы: всё должно начать улучшаться через\n"
+"несколько дней."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:54
+msgid ""
+"These changes may result in higher CPU usage for some of you. We're doing"
+" \n"
+"our best to increase efficiency, but stronger security generally requires"
+" more \n"
+"computation. Performance may also be poor during the first week\n"
+"due to the network churn.\n"
+"We will evaluate the network performace before deciding whether to\n"
+"change the key length on slower hardware in a future release."
+msgstr ""
+"Эти изменения для некоторых из вас могут привести к более высокой\n"
+"нагрузке на процессор. Мы делаем всё возможное, чтобы повысить "
+"эффективность,\n"
+"но более высокий уровень безопасности обычно требует больше расчётов.\n"
+"Быстродействие также может быть низким в течение первой недели\n"
+"из-за оттока сети.\n"
+"Мы оценим производительность сети, прежде чем принимать решение об\n"
+"изменении длины ключа на более медленном оборудовании в\n"
+"будущих релизах."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:63
+msgid ""
+"We are experiencing rapid network growth in the last few weeks, which is"
+" \n"
+"causing a bit of a bumpy ride for some, especially on weekends. However, "
+"the \n"
+"network is still performing fairly well, so keep spreading the word."
+msgstr ""
+"Мы переживаем быстрый рост сети в посдление несколько недель,\n"
+"который вызывает у некоторых проблемы, особенно по выходным.\n"
+"Однако, сеть всё ещё работает достаточно хорошо, так что продолжайте\n"
+"распространять информацию."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:69
+msgid "More Changes Coming"
+msgstr "Впереди Больше Изменений."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:71
+msgid ""
+"We're in the initial stages of desiging major changes to strengthen our \n"
+"crypto. Stronger crypto will use more CPU and it may possibly \n"
+"require a Java 7 JRE at a minimum. We understand your desire to run I2P "
+"on low-power \n"
+"and/or older hardware. We're working hard to minimize the impacts, but "
+"some \n"
+"loss of performance is inevitable. In addition, Java 5 and 6 are no "
+"longer \n"
+"supported by Oracle. Now is a good time to upgrade to Java 7. Any change "
+"in \n"
+"minimum requirements will be announced well in advance."
+msgstr ""
+"Мы находимся на начальной стадии проектирования основных изменений\n"
+"для усиления нашего шифрования. Более сильное шифрование будет "
+"использовать\n"
+"больше ресурсов процессора и возможно потребует Java 7 JRE как минимум. "
+"Мы\n"
+"понимаем, что вы хотите запускать I2P на маломощном и/или старом "
+"оборудовании.\n"
+"Мы прилагаем все усилия, что уменьшить неудобства, но некоторая потеря\n"
+"быстродействия неизбежна. Кроме того, Java 5 и 6 более не поддерживаются\n"
+"Oracle. Сейчас самое время перейти на Java 7. Любые изменения в "
+"минимальных\n"
+"требованиях будут анонсированы заранее."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:81
+msgid "New Website"
+msgstr "Новый Вебсайт"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:83
+msgid ""
+"After a heroic effort by str4d, the new website preview is available at \n"
+"http://i2hq.srv.i2p2.de. We hope to see it go live at \n"
+"https://geti2p.net and http://www.i2p2.i2p soon.  Please \n"
+"contribute to the new website translations on Transifex, especially the \n"
+"website_priority resource."
+msgstr ""
+"После героических усилий str4d предварительный просмотр\n"
+"нового сайта доступен на http://i2hq.srv.i2p2.de. Мы надеемся скоро \n"
+"увидеть его вживую на https://geti2p.net и http://www.i2p2.i2p.\n"
+"Пожалуйста, сделайте свой вклад в новый перевод вебсайта на \n"
+"Transifex, особенно в разделе website_priority."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:91
+msgid "Community Participation"
+msgstr "Участие в Сообществе"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:93
+msgid ""
+"In early August, hottuna and zzz attended DEFCON 21 in Las Vegas.\n"
+"Last weekend, echelon attended the CTS IV conference in Berlin and\n"
+"psi attended the Tahoe-LAFS hackfest at GNU 30 in Cambridge, Mass.\n"
+"Several of us will be at 30C3 in Hamburg late this year.\n"
+"It's great to see people participating at these events and representing "
+"I2P."
+msgstr ""
+"В начале августа hottuna и zzz принимали участие в DEFCON 21 в Лас "
+"Вегасе.\n"
+"В минувшие выходные echelon поучаствовал в конференции CTS IV в Берлине,\n"
+"а psi - в хакфесте Tahoe-LAFS на GNU 30 в Кембридже, штат Массачусетс.\n"
+"Некоторые из нас будут на 30C3 в Гамбурге в этом году.\n"
+"Это классно - видеть людей, участвующих в этих мероприятиях и \n"
+"представляющих I2P."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:105
+msgid "IPv6 support for both NTCP and SSU"
+msgstr "Поддержка IPv6 для обоих NTCP и SSU"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:109
+msgid "SSU protocol obfuscation by adding random padding"
+msgstr "Затемнение протокола SSU добавлением случайного наполнения"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:110
+msgid "Longer encryption and DH private keys for users on faster platforms"
+msgstr ""
+"Более длинные ключи шифрования и закрытые ключи DH для пользователей на "
+"более быстрых платформах."
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:114
+msgid "Fix I2PTunnel / I2CP locking and duplicates (partial)"
+msgstr "Исправлены блокировка и дублирование (частично) I2PTunnel / I2C"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:115
+msgid "Fix translation of HTTP proxy error pages"
+msgstr "Исправлен перевод страниц ошибок HTTP прокси"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:116
+msgid "Fix occasional runtime exception in NTCP"
+msgstr "Исправлено случающееся иногда исключение времени выполнения в NTCP"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:120
+msgid "Big rework of transport code to accommodate multiple addresses and IPv6"
+msgstr ""
+"Большая переработка транспортного кода для согласования множественных "
+"адресов и IPv6"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:121
+msgid "Streaming: Improved recovery from lost acks, other fixes"
+msgstr ""
+"Streaming: улучшено восстановление после потерянных подтверждений, другие"
+" исправления"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:122
+msgid "Use Transifex for translation of initial news and HTTP proxy error pages"
+msgstr ""
+"Использование Transifex для перевода начальных новостей и страниц ошибок "
+"HTTP прокси"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:123
+msgid ""
+"Translation updates: Chinese, French, German, Portuguese, Russian, "
+"Swedish, Turkish"
+msgstr ""
+"Обновления перевода: китайский, французский, немецкий, португальский, "
+"русский, шведский, турецкий"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:124
+msgid "New Romanian translation"
+msgstr "Новый румынский перево"
+
+#: i2p2www/blog/2013/09/30/0.9.8-Release.rst:126
+msgid "Wrapper 3.5.20 (new installs and PPA only)"
+msgstr "Wrapper 3.5.20 (только новые установки и PPA)"
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:2
+msgid "0.9.8.1 Release"
+msgstr "Релиз 0.9.8.1"
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:7
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:9
+msgid ""
+"0.9.8.1 fixes a problem with updating to 0.9.8 on Windows for some "
+"people. New installs and non-Windows platforms are not affected, however "
+"all platforms will automatically update even if running 0.9.8."
+msgstr ""
+"0.9.8.1 исправляет проблему с обновлением до 0.9.8 на Windows у некоторых"
+" людей. Новые установки и не-Windows платформы не затронуты, тем не "
+"менее, все платформы автоматически обновятся, даже если они уже "
+"используют 0.9.8."
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:11
+msgid ""
+"See the `Trac ticket`_ for details and workarounds. See\n"
+"`the 0.9.8 release notes`_ for information on IPv6 and other changes."
+msgstr ""
+"Подробности и обходные пути смотри в `Trac ticket`_. Смотри\n"
+"`заметки по релизу 0.9.8`_ для информации по IPv6 и другим изменениям."
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:16
+msgid ""
+"Due to recent attacks, logins are disabled on `Trac`_ and new "
+"registrations are\n"
+"disabled on `zzz.i2p`_. Until those services are restored, please report "
+"all\n"
+"bugs on IRC freenode or IRC2P #i2p-dev."
+msgstr ""
+"В свете последних атак, учетные записи на `Trac`_ заблокированы, и новые "
+"регистрации на \n"
+"`zzz.i2p`_ заблокированы. Пока сервисы не доступны, пожалуйста, "
+"отправляйте все \n"
+"ошибки на IRC freenode или IRC2P #i2p-dev."
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:22
+msgid "`Trac ticket`"
+msgstr "`Trac ticket`"
+
+#: i2p2www/blog/2013/10/02/0.9.8.1-Release.rst:23
+msgid "`the 0.9.8 release notes`"
+msgstr "`заметки по релизу 0.9.8`"
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:2
+msgid "0.9.9 Release"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:7
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:9
+msgid ""
+"0.9.9 fixes a number of bugs in the netdb, streaming, and i2ptunnel, and "
+"starts work on a year-long plan to increase the strength of the "
+"cryptographic signing algorithms used in the router, and support multiple"
+" algorithms and key lengths simultaneously. Automatic update files will "
+"now be signed with 4096-bit RSA keys."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:11
+msgid ""
+"We now support SSL between your router and your servers for security.\n"
+"See `this development thread`_ for more information."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:16
+msgid "`this development thread`"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:18
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the "
+"latest release.\n"
+"Several members of the I2P team will be at 30C3 in Hamburg this year.\n"
+"Come say hello and ask for an I2P sticker.\n"
+"Thanks to everyone for their support this year."
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:30
+msgid "Don't build client tunnels through zero-hop exploratory tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:31
+msgid "New \"su3\" file support using stronger keys"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:32
+msgid "Use su3 for updates"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:36
+msgid "Issues with losing data when closing streams"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:37
+msgid "Fix various streaming connection limit issues"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:38
+msgid "Issues with resource usage of closed connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:39
+msgid "Clean up timer threads in close-on-idle tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:40
+msgid "Several other streaming fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:41
+msgid "Reject more non-public IPv6 addresses"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:42
+msgid "Fix IPv6 GeoIP"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:43
+msgid "Fix peer selection in first minutes after startup"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:44
+msgid "Several I2PTunnel bug fixes"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:45
+msgid "Fix major i2psnark DHT bug that prevented magnets from working well"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:46
+msgid ""
+"Fix client tunnels that fail due to name resolution failure at startup, "
+"particularly with b32 hostnames"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:47
+msgid "Fix changing client i2ptunnel target list"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:48
+msgid ""
+"Fix major bugs preventing reception of encrypted responses to leaseset "
+"lookups and verifies"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:49
+msgid "Fix bad links on some i2psnark buttons in Opera and text-mode browsers"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:50
+msgid "Fix NPE in Susimail"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:54
+msgid "Start work on supporting stronger signing keys in the router"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:55
+msgid "Reduce thread usage for HTTP Server tunnels"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:56
+msgid "Auto-stop update torrent after some time"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:57
+msgid "Add ability to stop webapp via console"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:58
+msgid "New POST throttler in HTTP server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:59
+msgid "Improve connection throttling"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:60
+msgid "More work to reduce number of connections"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:61
+msgid "Re-enable router info expiration job"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:62
+msgid ""
+"Extend router info expiration and other changes to reduce load on "
+"floodfills"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:63
+msgid "Support multiple servers through a single server tunnel"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:64
+msgid "Support specification of server port in i2ptunnel clients"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:65
+msgid "Add support for SSL connections from i2ptunnel to external server"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:66
+msgid "SSL and crypto code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:67
+msgid "i2psnark storage code refactoring"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:68
+msgid "New destination cache"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:69
+msgid "Lots of code cleanup and resolution of findbugs warnings"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:70
+msgid "New Japanese translation (partial)"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:71
+msgid ""
+"Translation updates: French, German, Italian, Romanian, Russian, Spanish,"
+" Swedish, and others"
+msgstr ""
+
+#: i2p2www/blog/2013/12/07/0.9.9-Release.rst:73
+msgid "Wrapper 3.5.22 (new installs and PPA only)"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:1
+msgid ""
+"==============\n"
+"0.9.10 Release\n"
+"=============="
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:9
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker to correlate a Destination with a Router."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:11
+msgid ""
+"0.9.10 changes the mechanism for doing LeaseSet lookups, making it more "
+"difficult for an attacker\n"
+"to correlate a Destination with a Router. It also fixes character "
+"encoding bugs in susimail,\n"
+"and includes lots of other bug fixes and translation updates.\n"
+"Most of you will update via torrent, using the new \"su3\" update format "
+"with stronger keys."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:18
+msgid ""
+"We recently attended `30C3`_ and `Real World Crypto`_, making several new"
+"\n"
+"connections and formulating `big plans`_ for 2014. Thanks to those who\n"
+"supported our attendance with their `donations`_!"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:26
+msgid "`big plans`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:27
+msgid "`donations`"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:29
+msgid ""
+"As usual, we recommend that you update to this release.\n"
+"The best way to maintain security and help the network is to run the "
+"latest release."
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:38
+msgid "Use client tunnels for LeaseSet lookups"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:42
+msgid ""
+"Flood netdb stores to new location before midnight to prevent lookup "
+"fails after midnight"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:43
+msgid "Fix setting I2CP host/port in BOB"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:44
+msgid "Fix several character encoding issues in susimail"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:45
+msgid "Fix StandardServerSocket.close()"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:46
+msgid "Fix exception in PrivateKeyFile"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:47
+msgid "Fixes in RouterInfo expiration task"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:51
+msgid "Tweaks to reduce number of peer connections"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:52
+msgid "Several threading fixes to reduce blocking in the timer queues"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:53
+msgid "Disable streaming ping handling for clients"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:54
+msgid "Use i2psnark's Kademlia library for the router netdb also"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:55
+msgid ""
+"Increase outbound exploratory default to 2 + 0-1 hops, part of gradual "
+"increase to 3 hops in/out"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:56
+msgid "More findbugs fixes"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:57
+msgid "Streaming library refactoring"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:58
+msgid "Support country-specific translations"
+msgstr ""
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:59
+#, fuzzy
+msgid "New Brazilian Portuguese translation"
+msgstr "Новый румынский перево"
+
+#: i2p2www/blog/2014/01/22/0.9.10-Release.rst:60
+msgid "Translation updates"
+msgstr ""
+
diff --git a/i2p2www/translations/he/LC_MESSAGES/comparison.po b/i2p2www/translations/he/LC_MESSAGES/comparison.po
new file mode 100644
index 0000000000000000000000000000000000000000..71f7bfa4516f75f3754f7885ec5b1e575a52dd8e
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/comparison.po
@@ -0,0 +1,861 @@
+# Russian (Russia) translations for I2P.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# keedley <zhopa@mita.pp.ru>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2013-10-26 22:39+0000\n"
+"PO-Revision-Date: 2013-09-21 17:36+0000\n"
+"Last-Translator: keedley <zhopa@mita.pp.ru>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/pages/site/comparison/freenet.html:2
+msgid "I2P Compared to Freenet"
+msgstr "I2P в сравнении с Freenet"
+
+#: i2p2www/pages/site/comparison/freenet.html:8
+msgid ""
+"Freenet is a fully distributed, peer to peer anonymous publishing "
+"network, offering \n"
+"secure ways to store data, as well as some approaches attempting to "
+"address the loads\n"
+"of a flash flood.  While Freenet is designed as a distributed data store,"
+" people have\n"
+"built applications on top of it to do more generic anonymous "
+"communication, such as \n"
+"static websites and message boards."
+msgstr ""
+"Freenetn это полностью распределенная, точка-точка, анонимная сеть для "
+"публикации, предоставляющая безопасный способ хранить данные, как и "
+"некоторые подходы, позволяющие обрабатывать нагрузки\n"
+"в пиках. Хотя Freenet разработан как распределенное хранилище, "
+"пользователи сделали\n"
+"приложения поверх него, которые позволяют другие формы взаимодействия, "
+"такие как статичные\n"
+"веб-сайты и доски сообщений."
+
+#: i2p2www/pages/site/comparison/freenet.html:16
+#, python-format
+msgid ""
+"Compared to I2P, Freenet offers some substantial benefits - it is a "
+"distributed data\n"
+"store, while I2P is not, allowing people to retrieve the content "
+"published by others \n"
+"even when the publisher is no longer online.  In addition, it should be "
+"able to \n"
+"distribute popular data fairly efficiently.  I2P itself does not and will"
+" not provide \n"
+"this functionality.  On the other hand, there is overlap for users who "
+"simply want to \n"
+"communicate with each other anonymously through websites, message boards,"
+" file sharing\n"
+"programs, etc.  There have also been some attempts to develop a "
+"distributed data \n"
+"store to run on top of I2P,\n"
+"(most recently a port of <a href=\"%(tahoe)s\">Tahoe-LAFS</a>)\n"
+"but nothing is yet ready for general use."
+msgstr ""
+"По сравнению с I2P, Freenet имеет некоторые преимущества - это "
+"распределенное хранилище\n"
+"данных, чем I2P не является, позволяющее людям обмениваться данными, даже"
+" если оригинальный\n"
+"автор более недоступен. Также сеть позволяет эффективно распределять "
+"даынные. I2P сам по себе не имеет и не будет иметь такой функции. С "
+"другой стороны, здесь есть недостаток для пользователей, которые просто "
+"хотят анонимно общаться через веб-сайты, доски объявлений, программы "
+"файлообмена и т.д\n"
+"В I2P есть варианты реализации таких функций с помошью специальных "
+"приложений (a href=\"%(tahoe)s\">Tahoe-LAFS</a>), но еще ничего для "
+"обычного использования не готово."
+
+#: i2p2www/pages/site/comparison/freenet.html:29
+msgid ""
+"However, even ignoring any implementations issues, there are some "
+"concerns \n"
+"about Freenet's algorithms from both a scalability and anonymity "
+"perspective, owing \n"
+"largely to Freenet's heuristic driven routing.  The interactions of "
+"various techniques \n"
+"certainly may successfully deter various attacks, and perhaps some "
+"aspects of the \n"
+"routing algorithms will provide the hoped for scalability.  "
+"Unfortunately, not much\n"
+"analysis of the algorithms involved has resulted in positive results, but"
+" there is still\n"
+"hope.  At the very least, Freenet does provide substantial anonymity "
+"against an attacker\n"
+"who does not have the resources necessary to analyze it further."
+msgstr ""
+"Тем не менее, даже не обращая внимание на проблемы реализации, есть "
+"определенные соображения\n"
+"об алгоритмах Freenet с точки зрения масштабирования и анонимности, в "
+"области эвристической маршрутизации внутри Freenet. Взаимодействие разных"
+" техник определенно может защитить от ряда аттак, \n"
+"и возможно некоторые аспекты алгоритмов маршрутизации дают надежды на "
+"масштабирование. К сожалению, немного из попыток анализа алгоритмов дали "
+"позитивные результаты, но надежда есть.\n"
+"В конце концов, Freenet предоставляет значительный уровень анонимности "
+"против атакующего, который не обладает достаточными для дальнейшего "
+"анализа ресурсами."
+
+#: i2p2www/pages/site/comparison/index.html:2
+msgid "Comparing I2P to other projects"
+msgstr "Сравнение I2P с другими проектами"
+
+#: i2p2www/pages/site/comparison/index.html:4
+msgid ""
+"There are a great many other applications and projects working on "
+"anonymous \n"
+"communication and I2P has been inspired by much of their efforts.  This "
+"is not \n"
+"a comprehensive list of anonymity resources - both freehaven's \n"
+"<a href=\"http://freehaven.net/anonbib/topic.html\">Anonymity "
+"Bibliography</a>\n"
+"and GNUnet's <a href=\"https://www.gnunet.org/links/\">related "
+"projects</a>\n"
+"serve that purpose well.  That said, a few systems stand out for further\n"
+"comparison. The following have individual comparison pages:"
+msgstr ""
+"Существует много других хороших приложений и проектов в области анонимных"
+" коммуникаций, и I2P определенно обогащается их опытом.  Это не \n"
+"полный список подобных ресурсов - у freehaven'а  в  \n"
+"<a href=\"http://freehaven.net/anonbib/topic.html\">Anonymity "
+"Bibliography</a>\n"
+"и в  GNUnet <a href=\"https://www.gnunet.org/links/\">проектах</a>\n"
+"эти списки полнее.  Всего несколько систем имеет смысл сравнивать далее."
+" \n"
+"Ниже перечислены страницы, посвященные сравнениям с этими системами:"
+
+#: i2p2www/pages/site/comparison/index.html:20
+#, python-format
+msgid ""
+"The following are discussed on the <a href=\"%(othernetworks)s\">other "
+"networks page:</a>"
+msgstr "Обсуждается на <a href=\"%(othernetworks)s\">странице других сетей:</a>"
+
+#: i2p2www/pages/site/comparison/index.html:32
+#, fuzzy, python-format
+msgid ""
+"The content of this page is subject to update, discussion and dispute, "
+"and we welcome comments and additions.\n"
+"You may contribute an analysis by entering a <a href=\"%(trac)s\">new "
+"ticket on Trac</a>."
+msgstr ""
+"Содержимое этой страницы может обновляться, обсуждаться и "
+"ниспровершаться, и мы приветствуем комментарии и добавления. \n"
+"Вы можете внести свой вклад, опубликовав  <a "
+"href=\"http://%(trac)s/report/1\">в Trac новую запись</a>"
+
+#: i2p2www/pages/site/comparison/other-networks.html:2
+msgid "I2P Compared to Other Anonymous Networks"
+msgstr "I2P  в сравнении с другими анонимными сетями"
+
+#: i2p2www/pages/site/comparison/other-networks.html:5
+msgid "The following networks are discussed on this page."
+msgstr "Следующие сети обсуждаются на этой странице:"
+
+#: i2p2www/pages/site/comparison/other-networks.html:16
+#, fuzzy, python-format
+msgid ""
+"Most of the following sections are fairly old, and may not be accurate.\n"
+"For an overview of available comparisons, see the\n"
+"<a href=\"%(comparison)s\">main network comparisons page</a>.\n"
+"You may contribute an analysis by entering a\n"
+"<a href=\"%(trac)s\">new ticket on Trac</a>."
+msgstr ""
+"Многие из секций довольно старые и могут быть неточными.\n"
+"Для списка известных сравнений, смотрите <a "
+"href=\"%(comparison)s\">страницу сравнений сетей</a>.⏎\n"
+"Вы можете опубликовать свой анализ через ⏎\n"
+"<a href=\"http://%(trac)s/report/1\">тикет-систему %(trac)s</a>."
+
+#: i2p2www/pages/site/comparison/other-networks.html:29
+#, python-format
+msgid ""
+"Morphmix and Tarzan are both fully distributed, peer to peer networks of"
+" \n"
+"anonymizing proxies, allowing people to tunnel out through the low "
+"latency \n"
+"mix network.  Morphmix includes some very interesting collusion detection"
+" \n"
+"algorithms and Sybil defenses, while Tarzan makes use of the scarcity of "
+"IP\n"
+"addresses to accomplish the same.  The two primary differences between \n"
+"these systems and I2P are related to I2P's <a "
+"href=\"%(threatmodel)s\">threat model</a> \n"
+"and their out-proxy design (as opposed to providing both sender and "
+"receiver \n"
+"anonymity).  There is source code available to both systems, but we are "
+"not aware \n"
+"of their use outside of academic environments."
+msgstr ""
+"Morphmix и Tarzan это полностью распределенные точка-точка сети анонимных"
+" прокси-серверов, позволяющие людям организовывать соединения через "
+"смешанную сеть с низкими задержками.\n"
+"Morphmix  включает интересные алгоритмы обхода коллизий и защиты от атаки"
+" Sybil, а Tarzan  использует для этого недостаток IP адресов. Два "
+"основных отличия таких систем от I2P связаны с <a "
+"href=\"%(threatmodel)s\">моделью угроз</a> I2P \n"
+"и их дизайнов выходящих узлов (в отличии от обеспечения анонимности и "
+"отправителя, и получателя). Для обоих систем доступны исходные коды, но "
+"нам не известно об их использовании за пределами научной деятельности."
+
+#: i2p2www/pages/site/comparison/other-networks.html:153
+#, fuzzy, python-format
+msgid ""
+"\n"
+"Mixminion and Mixmaster are networks to support anonymous email against a"
+" very\n"
+"powerful adversary.\n"
+"High-latency messaging applications running on top of I2P\n"
+"(for example <a href=\"%(syndie)s\">Syndie</a> or I2PBote)\n"
+"may perhaps prove adequate to meet the threat\n"
+"model of those adversaries, while running in parallel along side the "
+"needs of low latency users, to provide\n"
+"a significantly larger anonymity set.\n"
+"High-latency support within the I2P router itself may or may not be added"
+" in a distant future release.\n"
+"It is too early to say if I2P will meet the needs of users requiring "
+"extreme protection for email."
+msgstr ""
+"\n"
+"Mixminion и Mixmaster это сети, обеспечивающие обмен email при "
+"противодействии мощному противнику.\n"
+"Средства обмена сообщениями с высокой задержкой поверх I2P\n"
+"(например, <a href=\"http://syndie.i2p2.de/\">Syndie</a> или\n"
+"I2PBote)\n"
+"возможно окажутся вполне отвечающими модели угроз в таких условиях, "
+"особенно эксплуатируясь на фоне трафика многочисленных пользователей с "
+"низкими задержками, что добавит дополнительный уровень анонимности.\n"
+"Поддержка работы с высокими задержками в I2P-маршрутизаторе может, а "
+"может и не быть добавлена в отдаленном будущем релизе.\n"
+"Пока рано говорить, сможет ли I2P удовлетворить требования пользователей "
+"по экстремальной защите email сообщений."
+
+#: i2p2www/pages/site/comparison/other-networks.html:165
+msgid ""
+"As with Tor and Onion Routing, \n"
+"both Mixminion and Mixmaster take the directory based approach as well."
+msgstr ""
+"Как и в случае Tor и Onion Routing,  Mixminion и Mixmaster применяют "
+"подход на основе справочных директорий."
+
+#: i2p2www/pages/site/comparison/other-networks.html:175
+#, python-format
+msgid ""
+"JAP (Java Anonymous Proxy) is a network of mix cascades for anonymizing "
+"web requests,\n"
+"and as such it has a few centralized nodes (participants in the cascade) "
+"that blend\n"
+"and mix requests from clients through the sequence of nodes (the cascade)"
+" before \n"
+"proxying out onto the web.  The scope, threat model, and security is "
+"substantially \n"
+"different from I2P, but for those who don't require significant anonymity"
+" but still\n"
+"are not satisfied with an Anonymizer-like service, JAP is worth "
+"reviewing.  One\n"
+"caution to note is that anyone under the jurisdiction of the German "
+"courts may want\n"
+"to take care, as the German Federal Bureau of Criminal Investigation "
+"(FBCI) has \n"
+"successfully mounted an \n"
+"<a href=\"%(url)s\">attack</a> \n"
+"on the network.  Even though the method of this attack was later found to"
+" be illegal \n"
+"in the German courts, the fact that the data was successfully collected "
+"is the \n"
+"concern.  Courts change their minds based upon circumstance, and this is "
+"evidence that \n"
+"if a government body or intelligence agency wanted to, they could gather "
+"the data, even \n"
+"if it may be found inadmissible in some courts later)"
+msgstr ""
+"JAP (Java Anonymous Proxy) это сеть смешанных каскадов для анонимизации "
+"веб-запросов, и для этого применяется несколько централизованных узлов "
+"(участников каскада), которые смешивают и обрабатывают запросы "
+"пользователей через набор узлов (каскад) перед доставкой их в сеть.\n"
+"Задача, модель угроз и безопасности существенно отличаются от принятых в "
+"I2P, но те, кто не нуждается в значительном уровне анонимности, но не "
+"удовлетворен уровнем анонимности существующих анонимайзеров, могут "
+"рассмотреть этот вариант.  Те, кто в зоне ответственности немецкого "
+"законодательства, должны учитывать опасность того, что German Federal "
+"Bureau of Criminal Investigation (FBCI) успешно провело <a "
+"href=\"%(url)s\">атаку</a> на эту сеть.\n"
+"Хотя методы атаки позже были признаны незаконными в немецком суде, факт "
+"успешного сбора данных стоит учитывать. Суды могут поменять свои решения "
+"по обстоятельствам и техническую возможность сбора информации "
+"правительством или агентствами нельзя сбрасывать со счетов)."
+
+#: i2p2www/pages/site/comparison/other-networks.html:197
+#, python-format
+msgid ""
+"Both of these systems work through the same basic \n"
+"<a href=\"%(antnet)s\">antnet</a> routing, providing some degree of\n"
+"anonymity based on the threat model of providing plausible deniability "
+"against a simple \n"
+"non-colluding adversary.  With the antnet routing, they first either do a"
+" random walk or a \n"
+"broadcast search to find some peer with the data or identity desired, and"
+" then use a feedback\n"
+"algorithm to optimize that found path.  This works well for applications "
+"that merely want to know \n"
+"what other people around them have to offer - \"How are y'all doing\" vs."
+" \"Hey Alice, how are you\" - \n"
+"you basically get a local cluster of nodes that can share files with and "
+"maintain some degree of \n"
+"anonymity (though you don't have much control over who is in that group "
+"of peers)."
+msgstr ""
+"Обе эти системы работают на одном базовом механизме <a "
+"href=\"%(antnet)s\">маршрутизации</a>, добиваясь некоторой анонимности, "
+"предоставляя путь отказа при несложном, не организованном противнике. "
+"Используя antnet маршрутизацию, они сначала делают случайный проход, или "
+"широковещательный запрос на поиск пира с нужными данными или адресами, а "
+"затем используют обратную связь для оптимизации найденного пути. Это "
+"нормально работает для приложений, которые собирают информацию о том, что"
+" другие пиры вокруг могут предложить - \"как у вас всех дела?\" против "
+"\"Алиса, привет, ты как?\".  На выходе вы получаете локальный набор "
+"узлов, с которыми можно обмениваться файлами и поддерживать определенный "
+"уровень анонимности (хотя вы не имеете особого контроля над тем, кто "
+"будет в этой группе пиров)."
+
+#: i2p2www/pages/site/comparison/other-networks.html:209
+msgid ""
+"However, the algorithm does not scale well at all - if the application "
+"wants to speak with a \n"
+"particular peer it ends up doing a broadcast search or random walk "
+"(though if they are lucky enough\n"
+"for that to succeed, the antnet routing should optimize that found "
+"connection).  This means that \n"
+"while these networks can work great at small scales, they are not "
+"suitable for large networks where\n"
+"someone wants to get in touch with another specific peer.  That does not "
+"mean that there is no \n"
+"value in these systems, just that their applicability is limited to "
+"situations where their \n"
+"particular issues can be addressed."
+msgstr ""
+"Тем не менее, этот алгоритм не очень хорошо масштабируется - если "
+"приложение хочет говорить с конкретным пиром, оно делает "
+"широковещательный запрос или случайный поик (хотя, если поиск удался, "
+"antnet позволит оптимизировать связб). Это означает, что хотя эти сети "
+"работают на малом числе узлов, для большого числа узлов они не очень "
+"применимы при попытке связаться с конкретным пиром. Это не означает, что "
+"эти системы бесполезны, просто их применимость ограничена сценариями, где"
+" эти недостатки можно обработать другими средствами."
+
+#: i2p2www/pages/site/comparison/other-networks.html:220
+#, python-format
+msgid ""
+"This was a closed-source network targeted at Iranian users.\n"
+"Tor did a <a href=\"%(torpost)s\">good writeup on what to look for in a "
+"circumvention tool</a>.\n"
+"Suffice it to say that being closed source and publicly targeting a "
+"specific country are not good ideas.\n"
+"I2P is, of course, open source. However, that source, and our\n"
+"<a href=\"%(docs)s\">technical documentation</a>, need much more review."
+msgstr ""
+
+#: i2p2www/pages/site/comparison/other-networks.html:229
+msgid "Paid VPN Services"
+msgstr "Платные VPN сервисы"
+
+#: i2p2www/pages/site/comparison/other-networks.html:230
+#: i2p2www/pages/site/comparison/other-networks.html:236
+#, fuzzy, python-format
+msgid ""
+"You may contribute an analysis by entering a\n"
+"<a href=\"%(trac)s\">new ticket on Trac</a>."
+msgstr ""
+"Вы можете внести свой вклад, опубликовав <a "
+"href=\"http://%(trac)s/report/1\">новую запись в %(trac)s</a>."
+
+#: i2p2www/pages/site/comparison/other-networks.html:235
+msgid "Others"
+msgstr "Другие"
+
+#: i2p2www/pages/site/comparison/tor.html:2
+msgid "I2P Compared to Tor"
+msgstr "I2P в сравнении с Tor"
+
+#: i2p2www/pages/site/comparison/tor.html:8
+#, python-format
+msgid ""
+"Tor and Onion Routing are both anonymizing proxy networks, \n"
+"allowing people to tunnel out through their low latency mix \n"
+"network. The two primary differences between Tor / \n"
+"Onion-Routing and I2P are again related to differences in \n"
+"the threat model and the out-proxy design (though Tor\n"
+"supports hidden services as well).  In addition, Tor\n"
+"takes the directory-based approach - providing a \n"
+"centralized point to manage the overall 'view' of the \n"
+"network, as well as gather and report statistics, as \n"
+"opposed to I2P's distributed <a href=\"%(netdb)s\">network \n"
+"database</a> and <a href=\"%(peerselection)s\">peer selection</a>."
+msgstr ""
+"Tor и Onion Routing это анонимные сети прокси-серверов, позволяющие "
+"пользователям\n"
+"туннелировать данные через их сеть с низкими задержками. Два основных "
+"отличия Tor и I2P \n"
+"основаны на разнице в моделях угроз и дизайне выходных прокси-узлов (хотя"
+" Tor и поддерживает скрытые сервисы, как и I2P). Кроме того, Tor "
+"реализует централизованную точку для управления видимостью сети, а так же"
+" для сбора статистики, в отличие от распределенной модели сети I2P, <a "
+"href=\"%(netdb)s\">базы сети</a> и <a href=\"%(peerselection)s\">выбора "
+"пира</a>."
+
+#: i2p2www/pages/site/comparison/tor.html:22
+msgid ""
+"The I2P/Tor outproxy functionality does have a few \n"
+"substantial weaknesses against certain attackers - \n"
+"once the communication leaves the mixnet, global passive\n"
+"adversaries can more easily mount traffic analysis.  In \n"
+"addition, the outproxies have access to the cleartext \n"
+"of the data transferred in both directions, and \n"
+"outproxies are prone to abuse, along with all of the \n"
+"other security issues we've come to know and love with \n"
+"normal Internet traffic."
+msgstr ""
+"Функция выходных узлов в  I2P/Tor обладает несколькими явными проблемами "
+"- \n"
+"как только данные покидают сеть, глобальные наблюдатели легко "
+"обеспечивают мониторинг этого траффика.  В добавок, выходные узлы имеют "
+"доступ к незашифрованным данным в обе стороны, а также легко выявляются и"
+" подвержены разного рода атакам реального мира. И это все в добавление к "
+"обычным проблемам безопасности, которые мы знаем. "
+
+#: i2p2www/pages/site/comparison/tor.html:34
+msgid ""
+"However, many people don't need to worry about those \n"
+"situations, as they are outside their threat model.  It\n"
+"is, also, outside I2P's (formal) functional scope (if people want\n"
+"to build outproxy functionality on top of an anonymous\n"
+"communication layer, they can).  In fact, some I2P users\n"
+"currently take advantage of Tor to outproxy."
+msgstr ""
+"Тем не менее, многим людям не стоит беспокоиться на этот счет, т.к. они "
+"за пределами угроз модели. Они также вне (формальной) границы I2P (если "
+"людям нужно сделать выходной узел, они могут его сделать). На самом деле,"
+" ряд пользователей I2P в качестве выходного узла используют Tor."
+
+#: i2p2www/pages/site/comparison/tor.html:48
+msgid "Comparison of Tor and I2P Terminology"
+msgstr "Сравнение терминологии Tor и I2P"
+
+#: i2p2www/pages/site/comparison/tor.html:49
+msgid ""
+"While Tor and I2P are similar in many ways, much of the terminology is "
+"different."
+msgstr ""
+"Хотя Tor и I2P во многом похожи, у них значительно отличается "
+"терминология."
+
+#: i2p2www/pages/site/comparison/tor.html:54
+msgid "Cell"
+msgstr "Ячейка"
+
+#: i2p2www/pages/site/comparison/tor.html:54
+msgid "Message"
+msgstr "Сообщение"
+
+#: i2p2www/pages/site/comparison/tor.html:55
+msgid "Client"
+msgstr "Клиент"
+
+#: i2p2www/pages/site/comparison/tor.html:55
+msgid "Router or Client"
+msgstr "Маршрутизатор или Клиент"
+
+#: i2p2www/pages/site/comparison/tor.html:56
+msgid "Circuit"
+msgstr "Цепочка"
+
+#: i2p2www/pages/site/comparison/tor.html:56
+msgid "Tunnel"
+msgstr "Туннель"
+
+#: i2p2www/pages/site/comparison/tor.html:57
+msgid "Directory"
+msgstr "Справочник"
+
+#: i2p2www/pages/site/comparison/tor.html:57
+msgid "NetDb"
+msgstr "NetDb"
+
+#: i2p2www/pages/site/comparison/tor.html:58
+msgid "Directory Server"
+msgstr "Сервер справочников"
+
+#: i2p2www/pages/site/comparison/tor.html:58
+msgid "Floodfill Router"
+msgstr "Floodfill маршрутизатор"
+
+#: i2p2www/pages/site/comparison/tor.html:59
+msgid "Entry Guards"
+msgstr "Входные стражи"
+
+#: i2p2www/pages/site/comparison/tor.html:59
+msgid "Fast Peers"
+msgstr "Быстрые пиры"
+
+#: i2p2www/pages/site/comparison/tor.html:60
+msgid "Entry Node"
+msgstr "Входные узлы"
+
+#: i2p2www/pages/site/comparison/tor.html:60
+msgid "Inproxy"
+msgstr "Входной прокси"
+
+#: i2p2www/pages/site/comparison/tor.html:61
+msgid "Exit Node"
+msgstr "Выходной узел"
+
+#: i2p2www/pages/site/comparison/tor.html:61
+msgid "Outproxy"
+msgstr "Выходной прокси"
+
+#: i2p2www/pages/site/comparison/tor.html:62
+msgid "Hidden Service"
+msgstr "Скрытый сервис"
+
+#: i2p2www/pages/site/comparison/tor.html:62
+msgid "Eepsite or Destination"
+msgstr "Eepsite или Назначение"
+
+#: i2p2www/pages/site/comparison/tor.html:63
+msgid "Hidden Service Descriptor"
+msgstr "Дескриптор скрытого сервиса"
+
+#: i2p2www/pages/site/comparison/tor.html:63
+msgid "LeaseSet"
+msgstr "LeaseSet"
+
+#: i2p2www/pages/site/comparison/tor.html:64
+msgid "Introduction point"
+msgstr "Введение"
+
+#: i2p2www/pages/site/comparison/tor.html:64
+msgid "Inbound Gateway"
+msgstr "Входной шлюз"
+
+#: i2p2www/pages/site/comparison/tor.html:65
+msgid "Node"
+msgstr "Узел"
+
+#: i2p2www/pages/site/comparison/tor.html:65
+#: i2p2www/pages/site/comparison/tor.html:67
+#: i2p2www/pages/site/comparison/tor.html:70
+msgid "Router"
+msgstr "Маршрутизатор"
+
+#: i2p2www/pages/site/comparison/tor.html:66
+msgid "Onion Proxy"
+msgstr "Onion Proxy"
+
+#: i2p2www/pages/site/comparison/tor.html:66
+msgid "I2PTunnel Client (more or less)"
+msgstr "I2PTunnel клиент (более-менее)"
+
+#: i2p2www/pages/site/comparison/tor.html:67
+msgid "Relay"
+msgstr "Relay"
+
+#: i2p2www/pages/site/comparison/tor.html:68
+msgid "Rendezvous Point"
+msgstr "Точка встречи"
+
+#: i2p2www/pages/site/comparison/tor.html:68
+msgid "somewhat like Inbound Gateway + Outbound Endpoint"
+msgstr "что-то вроде Входной шлюз + Выходная точка"
+
+#: i2p2www/pages/site/comparison/tor.html:69
+msgid "Router Descriptor"
+msgstr "Дескриптор маршрутизатора"
+
+#: i2p2www/pages/site/comparison/tor.html:69
+msgid "RouterInfo"
+msgstr "RouterInfo"
+
+#: i2p2www/pages/site/comparison/tor.html:70
+msgid "Server"
+msgstr "Сервер"
+
+#: i2p2www/pages/site/comparison/tor.html:73
+msgid "Benefits of Tor over I2P"
+msgstr "Преимущества Tor перед I2P"
+
+#: i2p2www/pages/site/comparison/tor.html:76
+msgid ""
+"Much bigger user base; much more visibility in the academic and hacker "
+"communities; benefits from\n"
+"formal studies of anonymity, resistance, and performance;\n"
+"has a non-anonymous, visible, university-based leader"
+msgstr ""
+"Значительно большая пользовательская база; Большее внимание со стороны "
+"науки и хакерского сообщества; выгоды от формальных исследований "
+"анонимности, сопротивления и производительности;\n"
+"известен не анонимный, видимый, связанный с университетом лидер"
+
+#: i2p2www/pages/site/comparison/tor.html:82
+msgid "Has already solved some scaling issues I2P has yet to address"
+msgstr ""
+"Уже разрешили ряд проблем масштабирования, к которым I2P еще просто не "
+"подошел"
+
+#: i2p2www/pages/site/comparison/tor.html:83
+msgid "Has significant funding"
+msgstr "Имеет значительное финансирование"
+
+#: i2p2www/pages/site/comparison/tor.html:84
+msgid "Has more developers, including several that are funded"
+msgstr "Больше разработчиков, включая ряд оплачиваемых"
+
+#: i2p2www/pages/site/comparison/tor.html:86
+msgid ""
+"More resistant to state-level blocking due to TLS transport layer and "
+"bridges\n"
+"(I2P has proposals for \"full restricted routes\" but these are not yet "
+"implemented)"
+msgstr ""
+"Более устойчивый к блокировкам на уровне государств, благодаря транспорту"
+" поверх TLS и мостам (I2P имеет предложения по \"полностью закрытым "
+"путям\", но они еще не реализованы)"
+
+#: i2p2www/pages/site/comparison/tor.html:91
+msgid "Big enough that it has had to adapt to blocking and DOS attempts"
+msgstr "Достаточно большая сеть, чтобы адаптироваться к блокировке и попыткам DOS"
+
+#: i2p2www/pages/site/comparison/tor.html:92
+msgid "Designed and optimized for exit traffic, with a large number of exit nodes"
+msgstr ""
+"Разработан и оптимизирован для выхода трафика,  с большим числом выходных"
+" узлов"
+
+#: i2p2www/pages/site/comparison/tor.html:94
+msgid ""
+"Better documentation, has formal papers and specifications,\n"
+"better website, many more translations"
+msgstr ""
+"Лучше документация, есть исследования и спецификации,\n"
+"лучше вебсайт, гораздо больше переведенных данных"
+
+#: i2p2www/pages/site/comparison/tor.html:99
+msgid "More efficient with memory usage"
+msgstr "Более эффективен в использовании памяти"
+
+#: i2p2www/pages/site/comparison/tor.html:100
+msgid "Tor client nodes have very low bandwidth overhead"
+msgstr "Клиенты Tor работают с очень небольшими затратами на протоколе"
+
+#: i2p2www/pages/site/comparison/tor.html:102
+msgid ""
+"Centralized control reduces the complexity at each\n"
+"node and can efficiently address Sybil attacks"
+msgstr ""
+"Централизованный контроль уменьшает сложность каждого узла и может "
+"эффективно работать с атаками Sybil"
+
+#: i2p2www/pages/site/comparison/tor.html:108
+msgid ""
+"A core of high capacity nodes provides higher\n"
+"throughput and lower latency"
+msgstr ""
+"Набор высокопроизводительных узлов обеспечивает высокую "
+"производительность и меньшие задержки"
+
+#: i2p2www/pages/site/comparison/tor.html:113
+msgid "C, not Java (ewww)"
+msgstr "реализация на C, не Java (фу...)"
+
+#: i2p2www/pages/site/comparison/tor.html:116
+msgid "Benefits of I2P over Tor"
+msgstr "Преимущества I2P перед Tor"
+
+#: i2p2www/pages/site/comparison/tor.html:118
+msgid ""
+"Designed and optimized for hidden services, which are much faster than in"
+" Tor"
+msgstr ""
+"Разработан и оптимизирован для работы скрытых сервисов, что гораздо "
+"быстрее, чем в Tor"
+
+#: i2p2www/pages/site/comparison/tor.html:119
+msgid "Fully distributed and self organizing"
+msgstr "Полностью распределенная и самоорганизующаяся сеть"
+
+#: i2p2www/pages/site/comparison/tor.html:121
+msgid ""
+"Peers are selected by continuously profiling and ranking performance,\n"
+"rather than trusting claimed capacity"
+msgstr ""
+"Пиры выбираются на основе постоянного профайлинга и замеров по "
+"производительности,\n"
+"нежели по объявленной пиром пропускной способности"
+
+#: i2p2www/pages/site/comparison/tor.html:127
+msgid ""
+"Floodfill peers (\"directory servers\") are varying and untrusted,\n"
+"rather than hardcoded"
+msgstr ""
+"Пиры Floodfill (\"справочные сервера\") постоянно меняются и не обладают "
+"доверием, в отличие от явно прошитых в Tor"
+
+#: i2p2www/pages/site/comparison/tor.html:132
+msgid "Small enough that it hasn't been blocked or DOSed much, or at all"
+msgstr "Достаточно небольшая, чтобы ее сильно блокировали или DOS'или. "
+
+#: i2p2www/pages/site/comparison/tor.html:133
+msgid "Peer-to-peer friendly"
+msgstr "Обеспечивает пиринговые сервисы"
+
+#: i2p2www/pages/site/comparison/tor.html:134
+msgid "Packet switched instead of circuit switched"
+msgstr "Коммутирует пакеты, нежели соединения"
+
+#: i2p2www/pages/site/comparison/tor.html:137
+msgid ""
+"implicit transparent load balancing of messages \n"
+"across multiple peers, rather than a single path"
+msgstr ""
+"Явная прозрачная балансировка сообщений по многим пирам, в отличие от "
+"использования одного пути"
+
+#: i2p2www/pages/site/comparison/tor.html:143
+msgid ""
+"resilience vs. failures by running multiple \n"
+"tunnels in parallel, plus rotating tunnels"
+msgstr ""
+"Надежность и отказоустойчивость за счет поддержания нескольких "
+"параллельных туннелей и обеспечения ротации туннелей"
+
+#: i2p2www/pages/site/comparison/tor.html:149
+msgid ""
+"scale each client's connections at O(1) instead \n"
+"of O(N) (Alice has e.g. 2 inbound tunnels that are \n"
+"used by all of the peers Alice is talking with, \n"
+"rather than a circuit for each)"
+msgstr ""
+"соединения каждого пользователя масштабируются как  O(1) вместо  O(N) "
+"(например, Алиса держит  2 входящих туннеля, которые может использовать "
+"любой пир, с которым Алиса общается, а не держим по цепочке на каждый "
+"пир)"
+
+#: i2p2www/pages/site/comparison/tor.html:159
+msgid ""
+"Unidirectional tunnels instead of bidirectional\n"
+"circuits, doubling the number of nodes a peer has to\n"
+"compromise to get the same information."
+msgstr ""
+"Односторонние туннели, вместо двусторонних цепочек, удваивая число узлов,"
+" которые пир должен скомпроменировать, чтобы получить ту же информацию"
+
+#: i2p2www/pages/site/comparison/tor.html:166
+msgid ""
+"Protection against detecting client activity, even\n"
+"when an attacker is participating in the tunnel, as\n"
+"tunnels are used for more than simply passing end \n"
+"to end messages (e.g. netDb, tunnel management, \n"
+"tunnel testing)"
+msgstr ""
+"Защита против детектирования клиентской активности, даже если\n"
+"атакующий участвует в туннеле, так как туннели используются не только для"
+" передачи сообщений, но и для работы NetDb, управления туннелями, "
+"проверки работоспособности туннелей)"
+
+#: i2p2www/pages/site/comparison/tor.html:175
+msgid ""
+"Tunnels in I2P are short lived, decreasing the number\n"
+"of samples that an attacker can use to mount an \n"
+"active attack with, unlike circuits in Tor, which are\n"
+"typically long lived."
+msgstr ""
+"В I2P реализованы короткоживущие туннели, что уменьшает количество "
+"примеров, которые атакующий может использовать для атаки, в отличие от "
+"цепочек в Tor'е, которые как правило живут долго. "
+
+#: i2p2www/pages/site/comparison/tor.html:183
+msgid ""
+"I2P APIs are designed specifically for anonymity and\n"
+"security, while SOCKS is designed for functionality."
+msgstr ""
+"API I2P спроектированы под анонимность и безопасность, тогда как SOCKS "
+"сделан для функциональности"
+
+#: i2p2www/pages/site/comparison/tor.html:188
+msgid "Essentially all peers participate in routing for others"
+msgstr ""
+"За редким исключением, все пиры участвуют в маршрутизации трафика для "
+"других"
+
+#: i2p2www/pages/site/comparison/tor.html:190
+msgid ""
+"The bandwidth overhead of being a full peer is low, \n"
+"while in Tor, while client nodes don't require much\n"
+"bandwidth, they don't fully participate in the mixnet."
+msgstr ""
+"Затраты на работу в полном режиме довольно низки, тогда как в Tor, если "
+"клиент сам по себе не требует много полосы, но они еще и не полностью "
+"используют сеть."
+
+#: i2p2www/pages/site/comparison/tor.html:196
+msgid "Integrated automatic update mechanism"
+msgstr "Встроенный механизм автоматических обновлений"
+
+#: i2p2www/pages/site/comparison/tor.html:197
+msgid "Both TCP and UDP transports"
+msgstr "Используется как TCP, так и UDP транспорт"
+
+#: i2p2www/pages/site/comparison/tor.html:198
+msgid "Java, not C (ewww)"
+msgstr "Реализация на Java, не C (фу....)"
+
+#: i2p2www/pages/site/comparison/tor.html:201
+msgid "Other potential benefits of I2P but not yet implemented"
+msgstr "Другие потенциальные, но еще не реализованные преимущества I2P"
+
+#: i2p2www/pages/site/comparison/tor.html:202
+msgid "...and may never be implemented, so don't count on them!"
+msgstr "... и возможно никогда не реализуемые, так что не рассчитывайте на них"
+
+#: i2p2www/pages/site/comparison/tor.html:205
+msgid ""
+"Defense vs. message count analysis by garlic wrapping \n"
+"multiple messages"
+msgstr ""
+"Защита от количественного анализа сообщений за счет\n"
+"заворачивания нескольких сообщений в одно"
+
+#: i2p2www/pages/site/comparison/tor.html:211
+msgid ""
+"Defense vs. long term intersection by adding delays \n"
+"at various hops (where the delays are not discernible\n"
+"by other hops)"
+msgstr ""
+"Защита от статистического анализа за счет добавления задержек на разных "
+"хопах\n"
+"(где задержки не зависят от других хостов)"
+
+#: i2p2www/pages/site/comparison/tor.html:218
+msgid ""
+"Various mixing strategies at the tunnel level (e.g.\n"
+"create a tunnel that will handle 500 messages / minute,\n"
+"where the endpoint will inject dummy messages if there\n"
+"are insufficient messages, etc)"
+msgstr ""
+"Разные стратегии имитовставки на уровне туннелей (например\n"
+"создание туннеля, который будет обрабатывать 500 сообщений в минуту, \n"
+"где эндпойнт посылает случайные данные, если полезный трафик не "
+"передается и т.д)"
+
diff --git a/i2p2www/translations/he/LC_MESSAGES/docs.po b/i2p2www/translations/he/LC_MESSAGES/docs.po
new file mode 100644
index 0000000000000000000000000000000000000000..e6f017e601b9a7b9f45b36d45028aa37e127a10e
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/docs.po
@@ -0,0 +1,17356 @@
+# Russian translations for I2P.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# sassy <sassy.but.classic@gmail.com>, 2013
+# TrackIt <Terexnik@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2014-01-27 02:06+0000\n"
+"PO-Revision-Date: 2013-12-25 22:06+0000\n"
+"Last-Translator: str4d <str4d@i2pmail.org>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:23
+msgid "Index to Technical Documentation"
+msgstr "Указатель для Технической Документации"
+
+#: i2p2www/pages/site/docs/index.html:3 i2p2www/pages/site/docs/ports.html:3
+#: i2p2www/pages/site/docs/spec/datagrams.html:3
+msgid "May 2013"
+msgstr "Май 2013"
+
+#: i2p2www/pages/site/docs/index.html:6
+msgid "Following is an index to the technical documentation for I2P."
+msgstr "Далее приведен указатель для технической документации по I2P."
+
+#: i2p2www/pages/site/docs/index.html:10
+msgid ""
+"This index is ordered from the highest to lowest layers.\n"
+"The higher layers are for \"clients\" or applications;\n"
+"the lower layers are inside the router itself.\n"
+"The interface between applications and the router is the I2CP (I2P "
+"Control Protocol) API."
+msgstr ""
+"Указатель упорядочен от высших до низших уровней.\n"
+"Верхние уровни для \"клиентов\" или приложений;\n"
+"нижние уровни для внутренней части маршрутизатора.\n"
+"Интерфейсом между приложениями и маршрутизатором служит I2CP (I2P Control"
+" Protocol) API."
+
+#: i2p2www/pages/site/docs/index.html:17
+#, python-format
+msgid ""
+"The I2P Project is committed to maintaining accurate, current "
+"documentation.\n"
+"If you find any inaccuracies in the documents linked below, please\n"
+"<a href=\"%(trac)s\">enter a ticket identifying the problem</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/index.html:25 i2p2www/pages/site/docs/naming.html:6
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:11
+#: i2p2www/pages/site/docs/api/streaming.html:6
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:6
+#: i2p2www/pages/site/docs/how/network-database.html:6
+#: i2p2www/pages/site/docs/how/peer-selection.html:6
+#: i2p2www/pages/site/docs/how/tech-intro.html:13
+#: i2p2www/pages/site/docs/how/tech-intro.html:97
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:6
+#: i2p2www/pages/site/docs/spec/blockfile.html:6
+#: i2p2www/pages/site/docs/spec/configuration.html:6
+#: i2p2www/pages/site/docs/spec/geoip.html:7
+#: i2p2www/pages/site/docs/spec/updates.html:6
+#: i2p2www/pages/site/docs/tunnels/implementation.html:67
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:6
+msgid "Overview"
+msgstr "Обзор"
+
+#: i2p2www/pages/site/docs/index.html:27
+msgid "Technical Introduction"
+msgstr "Техническое Вступление"
+
+#: i2p2www/pages/site/docs/index.html:28
+msgid "A Less-Technical Introduction"
+msgstr "Менее Техническое Вступление"
+
+#: i2p2www/pages/site/docs/index.html:29
+msgid "Threat model and analysis"
+msgstr "Модель угроз и анализ"
+
+#: i2p2www/pages/site/docs/index.html:30
+msgid "Comparisons to other anonymous networks"
+msgstr "Сравнение с другими анонимными сетями"
+
+#: i2p2www/pages/site/docs/index.html:31
+msgid "Protocol stack chart"
+msgstr "Схема стека протокола"
+
+#: i2p2www/pages/site/docs/index.html:32
+msgid "Papers on I2P"
+msgstr "Статьи о I2P"
+
+#: i2p2www/pages/site/docs/index.html:33
+#, python-format
+msgid ""
+"<a href=\"%(pdf)s\">Invisible Internet Project (I2P) Project Overview</a>"
+" August 28, 2003 (pdf)"
+msgstr ""
+"<a href=\"%(pdf)s\">Обзор Проекта Invisible Internet Project (I2P)</a> "
+"Август 28, 2003 (pdf)"
+
+#: i2p2www/pages/site/docs/index.html:36
+msgid "Application-Layer Topics"
+msgstr "Темы Уровня Приложений"
+
+#: i2p2www/pages/site/docs/index.html:39 i2p2www/pages/site/docs/naming.html:2
+msgid "Naming and Addressbook"
+msgstr "Именование и Адресная Книга"
+
+#: i2p2www/pages/site/docs/index.html:40
+msgid "Plugins Overview"
+msgstr "Обзор Плагинов"
+
+#: i2p2www/pages/site/docs/index.html:41
+msgid "Plugin Specification"
+msgstr "Спецификация Плагина"
+
+#: i2p2www/pages/site/docs/index.html:42
+msgid "Router software updates"
+msgstr "Обновление ПО маршрутизатора"
+
+#: i2p2www/pages/site/docs/index.html:43
+#: i2p2www/pages/site/docs/applications/bittorrent.html:2
+msgid "Bittorrent over I2P"
+msgstr "Bittorrent через I2P"
+
+#: i2p2www/pages/site/docs/index.html:44
+msgid "I2PControl Plugin API"
+msgstr "I2PControl Plugin API"
+
+#: i2p2www/pages/site/docs/index.html:45
+msgid "hostsdb.blockfile Format"
+msgstr "Формат hostsdb.blockfile "
+
+#: i2p2www/pages/site/docs/index.html:46 i2p2www/pages/site/docs/index.html:183
+msgid "Configuration File Format"
+msgstr "Формат Файла Конфигурации"
+
+#: i2p2www/pages/site/docs/index.html:49
+msgid "Application Layer API and Protocols"
+msgstr "API и Протоколы Уровня Приложений"
+
+#: i2p2www/pages/site/docs/index.html:50
+msgid ""
+"High-level, easy-to-use APIs for applications written in any language to "
+"send and receive data."
+msgstr ""
+"Высокоуровневые, доступные API для приложений, написанных на любом языке,"
+" для отправки и получения данных."
+
+#: i2p2www/pages/site/docs/index.html:52
+msgid "Application Development Overview and Guide"
+msgstr "Обзор и Руководство по Разработке Приложений"
+
+#: i2p2www/pages/site/docs/index.html:70
+msgid "SAM Protocol"
+msgstr "Протокол SAM"
+
+#: i2p2www/pages/site/docs/index.html:72
+msgid "SAMv2 Protocol"
+msgstr "Протокол SAMv2"
+
+#: i2p2www/pages/site/docs/index.html:74
+msgid "SAMv3 Protocol"
+msgstr "Протокол SAMv3"
+
+#: i2p2www/pages/site/docs/index.html:76
+msgid "BOB Protocol"
+msgstr "Протокол BOB"
+
+#: i2p2www/pages/site/docs/index.html:79
+msgid "End-to-End Transport API and Protocols"
+msgstr "API и Протоколы Транспорта точка-точка"
+
+#: i2p2www/pages/site/docs/index.html:80
+msgid ""
+"The end-to-end protocols used by clients for reliable and unreliable "
+"communication."
+msgstr ""
+"Протоколы из-конца-в-конец используются клиентами для надежного и "
+"ненадежного соединения."
+
+#: i2p2www/pages/site/docs/index.html:82
+#: i2p2www/pages/site/docs/api/streaming.html:2
+msgid "Streaming Library"
+msgstr "Потоковая Библиотека"
+
+#: i2p2www/pages/site/docs/index.html:84
+msgid "Streaming Javadoc"
+msgstr "Javadoc на Потоки"
+
+#: i2p2www/pages/site/docs/index.html:86
+#: i2p2www/pages/site/docs/api/datagrams.html:2
+msgid "Datagrams"
+msgstr "Дейтаграммы"
+
+#: i2p2www/pages/site/docs/index.html:88
+msgid "Datagram Javadoc"
+msgstr "Javadoc по Дейтаграммам"
+
+#: i2p2www/pages/site/docs/index.html:91
+msgid "Client-to-Router Interface API and Protocol"
+msgstr "API и Протокол Интерфейса Клиент-Маршрутизатор"
+
+#: i2p2www/pages/site/docs/index.html:92
+msgid ""
+"The lowest-level API used for clients (applications) to send and receive "
+"traffic to a router.\n"
+"Traditionally used only by Java applications and higher-level APIs."
+msgstr ""
+"Низкоуровневый API используется для клиентов (приложений) для отправка и "
+"получения трафика с маршрутизатора.\n"
+"Традиционно используется только Java приложениями и высокоуровневыми API."
+
+#: i2p2www/pages/site/docs/index.html:97
+msgid "I2CP - I2P Control Protocol / API overview"
+msgstr "Обзор I2CP - I2P Control Protocol / API"
+
+#: i2p2www/pages/site/docs/index.html:99
+msgid "I2CP Specification"
+msgstr "Спецификация I2CP"
+
+#: i2p2www/pages/site/docs/index.html:101
+msgid "I2CP API Javadoc"
+msgstr "Javadoc на I2CP API"
+
+#: i2p2www/pages/site/docs/index.html:103
+#: i2p2www/pages/site/docs/index.html:132
+msgid "Common data structures specification"
+msgstr "Спецификация основных структур данных"
+
+#: i2p2www/pages/site/docs/index.html:105
+#: i2p2www/pages/site/docs/index.html:134
+msgid "Data Structures Javadoc"
+msgstr "Javadoc по Структурам Данных"
+
+#: i2p2www/pages/site/docs/index.html:108
+msgid "End-to-End Encryption"
+msgstr "Шифрование из-конца-в-конец"
+
+#: i2p2www/pages/site/docs/index.html:109
+msgid "How client messages are end-to-end encrypted by the router."
+msgstr "Как сообщения клиентов из-конца-в-конец шифруются маршрутизатором"
+
+#: i2p2www/pages/site/docs/index.html:111
+msgid "ElGamal/AES+SessionTag encryption"
+msgstr "Шифрование ElGamal/AES+SessionTag"
+
+#: i2p2www/pages/site/docs/index.html:112
+#: i2p2www/pages/site/docs/index.html:145
+msgid "ElGamal and AES cryptography details"
+msgstr "Подробности криптографии ElGamal и AES"
+
+#: i2p2www/pages/site/docs/index.html:115
+#: i2p2www/pages/site/docs/how/tech-intro.html:15
+#: i2p2www/pages/site/docs/how/tech-intro.html:329
+msgid "Network Database"
+msgstr "Сетевая База Данных"
+
+#: i2p2www/pages/site/docs/index.html:116
+msgid ""
+"Distributed storage and retrieval of information about routers and "
+"clients."
+msgstr ""
+"Распределенное хранилище и получение информации о маршрутизаторах и "
+"клиентах."
+
+#: i2p2www/pages/site/docs/index.html:118
+msgid "Network database overview, details, and threat analysis"
+msgstr "Обзор сетевой базы данных, подробности и анализ угроз."
+
+#: i2p2www/pages/site/docs/index.html:119
+msgid "Cryptographic hashes"
+msgstr "Криптографические хеши"
+
+#: i2p2www/pages/site/docs/index.html:120
+msgid "Cryptographic signatures"
+msgstr "Криптографические подписи"
+
+#: i2p2www/pages/site/docs/index.html:123
+msgid "Router Message Protocol"
+msgstr "Протокол Сообщений Маршрутизатора"
+
+#: i2p2www/pages/site/docs/index.html:124
+msgid ""
+"I2P is a message-oriented router. The messages sent between routers are "
+"defined by the I2NP protocol."
+msgstr ""
+"I2P - это маршрутизатор, ориентированный на сообщения. Сообщения "
+"пересылаются между маршрутизаторами и описываются протоколом I2NP."
+
+#: i2p2www/pages/site/docs/index.html:126
+msgid "I2NP - I2P Network Protocol Overview"
+msgstr "I2NP - Обзор I2P Network Protocol"
+
+#: i2p2www/pages/site/docs/index.html:128
+msgid "I2NP Specification"
+msgstr "Спецификация I2NP"
+
+#: i2p2www/pages/site/docs/index.html:130
+msgid "I2NP Javadoc"
+msgstr "Javadoc на I2NP"
+
+#: i2p2www/pages/site/docs/index.html:137
+#: i2p2www/pages/site/docs/how/tech-intro.html:14
+#: i2p2www/pages/site/docs/how/tech-intro.html:228
+msgid "Tunnels"
+msgstr "Туннели"
+
+#: i2p2www/pages/site/docs/index.html:138
+msgid ""
+"Selecting peers, requesting tunnels through those peers, and encrypting "
+"and routing messages through these tunnels."
+msgstr ""
+"Выбор узлов, запрос туннелей через эти узлы, шифрование и маршрутизация "
+"сообщений через эти туннели."
+
+#: i2p2www/pages/site/docs/index.html:140
+msgid "Peer profiling and selection"
+msgstr "Профилирование и выбор узлов"
+
+#: i2p2www/pages/site/docs/index.html:141
+msgid "Tunnel routing overview"
+msgstr "Обзор туннельной маршрутизации"
+
+#: i2p2www/pages/site/docs/index.html:142
+msgid "Garlic routing and \"garlic\" terminology"
+msgstr "Чесночная маршрутизация и \"чесночная\" терминология"
+
+#: i2p2www/pages/site/docs/index.html:143
+msgid "Tunnel building and encryption"
+msgstr "Постройка и шифрование туннелей"
+
+#: i2p2www/pages/site/docs/index.html:144
+msgid "ElGamal/AES"
+msgstr "ElGamal/AES"
+
+#: i2p2www/pages/site/docs/index.html:144
+msgid "for build request encryption"
+msgstr "для шифрования запроса на построение"
+
+#: i2p2www/pages/site/docs/index.html:146
+msgid "Tunnel building specification"
+msgstr "Спецификация построения туннеля"
+
+#: i2p2www/pages/site/docs/index.html:147
+msgid "Low-level tunnel message specification"
+msgstr "Спецификация низкоуровневых туннельных сообщений"
+
+#: i2p2www/pages/site/docs/index.html:148
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2
+msgid "Unidirectional Tunnels"
+msgstr "Однонаправленные Туннели"
+
+#: i2p2www/pages/site/docs/index.html:149
+#: i2p2www/pages/site/docs/how/peer-selection.html:299
+msgid "Peer Profiling and Selection in the I2P Anonymous Network"
+msgstr "Выбор и профилирование узла в Анонимной Сети I2P"
+
+#: i2p2www/pages/site/docs/index.html:150
+msgid "2009 paper (pdf), not current but still generally accurate"
+msgstr "Статья 2009 года (pdf), устаревшие, но в цело все еще точные"
+
+#: i2p2www/pages/site/docs/index.html:153
+msgid "Transport Layer"
+msgstr "Транспортный Уровень"
+
+#: i2p2www/pages/site/docs/index.html:154
+msgid "The protocols for direct (point-to-point) router to router communication."
+msgstr "Протоколы для прямой (точка-точка) связи маршрутизатор-маршрутизатор."
+
+#: i2p2www/pages/site/docs/index.html:156
+msgid "Transport layer overview"
+msgstr "Обзор Транспортного Уровня"
+
+#: i2p2www/pages/site/docs/index.html:158
+msgid "TCP-based transport overview and specification"
+msgstr "Обзор и спецификация транспорта на основе TCP"
+
+#: i2p2www/pages/site/docs/index.html:160
+msgid "UDP-based transport overview"
+msgstr "Обзор транспорта на основе UDP"
+
+#: i2p2www/pages/site/docs/index.html:162
+msgid "SSU specification"
+msgstr "Спецификация SSU"
+
+#: i2p2www/pages/site/docs/index.html:164
+msgid "NTCP transport encryption"
+msgstr "Шифрование транспорта NTCP"
+
+#: i2p2www/pages/site/docs/index.html:166
+msgid "SSU transport encryption"
+msgstr "Шифрование транспорта SSU"
+
+#: i2p2www/pages/site/docs/index.html:168
+msgid "Transport Javadoc"
+msgstr "Javadoc на транспорт"
+
+#: i2p2www/pages/site/docs/index.html:170
+msgid "NTCP Javadoc"
+msgstr "Javadoc на NTCP"
+
+#: i2p2www/pages/site/docs/index.html:172
+msgid "SSU Javadoc"
+msgstr "Javadoc на SSU"
+
+#: i2p2www/pages/site/docs/index.html:175
+msgid "Other Router Topics"
+msgstr "Другие Темы о Маршрутизаторе"
+
+#: i2p2www/pages/site/docs/index.html:177
+msgid "Native BigInteger Library"
+msgstr "Нативная Библиотека BigInteger"
+
+#: i2p2www/pages/site/docs/index.html:179
+msgid "Time synchronization and NTP"
+msgstr "Синхронизация времени и NTP"
+
+#: i2p2www/pages/site/docs/index.html:181
+msgid "Performance"
+msgstr "Производительноть"
+
+#: i2p2www/pages/site/docs/index.html:188
+msgid "Developer's Guides and Resources"
+msgstr "Источники и Руководства Разработчика"
+
+#: i2p2www/pages/site/docs/index.html:190
+msgid "New Developer's Guide"
+msgstr "Руководство для Нового Разработчика"
+
+#: i2p2www/pages/site/docs/index.html:192
+msgid "New Translator's Guide"
+msgstr "Руководство для Нового Переводчика"
+
+#: i2p2www/pages/site/docs/index.html:194
+msgid "Monotone Guide"
+msgstr "Руководство по Monotone"
+
+#: i2p2www/pages/site/docs/index.html:196
+msgid "Developer Guidelines"
+msgstr "Общие Указания по Разработке"
+
+#: i2p2www/pages/site/docs/index.html:198
+msgid "Javadocs on the standard internet:"
+msgstr "Javadocs в обычном интернет:"
+
+#: i2p2www/pages/site/docs/index.html:199
+#: i2p2www/pages/site/docs/index.html:203
+#: i2p2www/pages/site/docs/index.html:204
+#: i2p2www/pages/site/docs/index.html:205
+#, python-format
+msgid "Server %(num)s"
+msgstr "Сервер %(num)s"
+
+#: i2p2www/pages/site/docs/index.html:200
+#: i2p2www/pages/site/docs/index.html:209
+msgid ""
+"Note: always verify that javadocs are current by checking the release "
+"number."
+msgstr ""
+"Примечание: всегда убеждайтесь в том, что все javadoc актуальны, проверяя"
+" номер релиза."
+
+#: i2p2www/pages/site/docs/index.html:202
+msgid "Javadocs inside I2P:"
+msgstr "Javadocs внутри I2P:"
+
+#: i2p2www/pages/site/docs/index.html:211
+msgid "Ports used by I2P"
+msgstr "Порты, используемые I2P:"
+
+#: i2p2www/pages/site/docs/index.html:213
+msgid "Automatic updates to development builds inside I2P"
+msgstr "Автоматическое обновление до тестовых сборок внутри I2P"
+
+#: i2p2www/pages/site/docs/index.html:215
+msgid "Updating the wrapper manually"
+msgstr "Ручное обновление wrapper"
+
+#: i2p2www/pages/site/docs/index.html:217
+msgid "User forum"
+msgstr "Форум пользователей"
+
+#: i2p2www/pages/site/docs/index.html:219
+msgid "Developer forum inside I2P"
+msgstr "Форму разработчиков внутри I2P"
+
+#: i2p2www/pages/site/docs/index.html:221
+msgid "Bug tracker"
+msgstr "Bug tracker"
+
+#: i2p2www/pages/site/docs/index.html:223
+msgid "Viewmtn inside I2P"
+msgstr "Viewmtn внутри I2P"
+
+#: i2p2www/pages/site/docs/index.html:225
+msgid "I2P Source exported to GitHub"
+msgstr "I2P Source экспортированный в GitHub"
+
+#: i2p2www/pages/site/docs/index.html:227
+msgid "I2P Source Git Repo inside I2P"
+msgstr "I2P Source Git Repo внутри I2P"
+
+#: i2p2www/pages/site/docs/index.html:229
+msgid "Source translation at Transifex"
+msgstr "Перевод исходников и Transifex"
+
+#: i2p2www/pages/site/docs/index.html:231
+msgid "Roadmap wiki"
+msgstr "Roadmap wiki"
+
+#: i2p2www/pages/site/docs/index.html:233
+msgid "Old roadmap"
+msgstr "Старый roadmap"
+
+#: i2p2www/pages/site/docs/index.html:233
+#: i2p2www/pages/site/docs/index.html:235
+msgid "not current"
+msgstr "устаревшее"
+
+#: i2p2www/pages/site/docs/index.html:235
+msgid "To Do List"
+msgstr "Список To Do"
+
+#: i2p2www/pages/site/docs/naming.html:3
+#: i2p2www/pages/site/docs/api/streaming.html:3
+#: i2p2www/pages/site/docs/how/cryptography.html:3
+#: i2p2www/pages/site/docs/protocol/i2cp.html:3
+#: i2p2www/pages/site/docs/spec/geoip.html:3
+#: i2p2www/pages/site/docs/spec/streaming.html:3
+#: i2p2www/pages/site/docs/transport/index.html:3
+#: i2p2www/pages/site/docs/transport/ntcp.html:3
+#: i2p2www/pages/site/docs/transport/ssu.html:3
+msgid "December 2013"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:8
+msgid ""
+"I2P ships with a generic naming library and a base implementation \n"
+"designed to work off a local name to destination mapping, as well as an\n"
+"add-on application called the <a href=\"#addressbook\">addressbook</a>. \n"
+"I2P also supports <a href=\"#base32\">Base32 hostnames</a> similar to "
+"Tor's .onion addresses."
+msgstr ""
+"I2P поставляется с общей библиотекой именования, основное ее применение \n"
+"рассчитано на отображение локальных имен на пункты назначения, также "
+"поставляется \n"
+"дополнительное приложение <a href=\"#addressbook\">addressbook</a>. \n"
+"Также I2P поддерживает <a href=\"#base32\">Base32 hostnames</a>, похожие "
+"на адреса .onion Tor'а."
+
+#: i2p2www/pages/site/docs/naming.html:15
+msgid ""
+"The addressbook is a web-of-trust\n"
+"driven secure, distributed, and human readable naming system, sacrificing"
+" only\n"
+"the call for all human readable names to be globally unique by mandating "
+"only\n"
+"local uniqueness.  While all messages in I2P are cryptographically "
+"addressed\n"
+"by their destination, different people can have local addressbook entries"
+" for\n"
+"\"Alice\" which refer to different destinations.  People can still "
+"discover new\n"
+"names by importing published addressbooks of peers specified in their web"
+" of trust,\n"
+"by adding in the entries provided through a third party, or (if some "
+"people organize\n"
+"a series of published addressbooks using a first come first serve "
+"registration\n"
+"system) people can choose to treat these addressbooks as name servers, "
+"emulating\n"
+"traditional DNS."
+msgstr ""
+"\"Адресная книга\" - это сеть доверия, представляющая собой \n"
+"безопасную, распределенную, удобочитаемую систему имен, \n"
+"в которой взамен глобальной  уникальности имен гарантируется \n"
+"только локальная уникальность. Не смотря на то что все сообщения в I2P "
+"криптографически адресуются \n"
+"по их пункту назначения, у разных людей могут быть записи в локальной "
+"адресной книге для \n"
+"\"Alice\", указывающие на разные пункты назначения. Также люди могу "
+"узнавать о новых именах, \n"
+"импортируя опубликованные адресные книги узлов, перечисленных в их сети "
+"доверия, \n"
+"добавляя новые записи предоставленные третьей стороной, или (если кто-то "
+"организует \n"
+"серию опубликованных адресных книг, используя систему регистрации первый "
+"пришел первый \n"
+"обслужен) люди могут использовать эти адресные книги в качестве серверов "
+"имен, эмулирующих \n"
+"традиционные DNS."
+
+#: i2p2www/pages/site/docs/naming.html:29
+#, python-format
+msgid ""
+"NOTE: For the reasoning behind the I2P naming system, common arguments "
+"against it\n"
+"and possible alternatives see the <a href=\"%(namingdiscussion)s\">naming"
+" discussion</a>\n"
+"page."
+msgstr ""
+"Примечание: Обоснование системы именования I2P, общие доводы против нее \n"
+"и возможные альтернативы вы можете увидеть на странице \n"
+"<a href=\"%(namingdiscussion)s\">обсуждения именования</a>"
+
+#: i2p2www/pages/site/docs/naming.html:36
+msgid "Naming System Components"
+msgstr "Компоненты Системы Имен"
+
+#: i2p2www/pages/site/docs/naming.html:38
+msgid ""
+"There is no central naming authority in I2P.\n"
+"All hostnames are local."
+msgstr ""
+"Не существует централизованной системы авторизации имен в I2P.\n"
+"Все имена узлов являются локальными."
+
+#: i2p2www/pages/site/docs/naming.html:43
+msgid ""
+"The naming system is quite simple and most of it is implemented\n"
+"in applications external to the router, but bundled with\n"
+"the I2P distribution.\n"
+"The components are:"
+msgstr ""
+"Система имен довольно проста и большей частью представлена \n"
+"внешними, по отношению к маршрутизатору, приложениями, но поставляющимися"
+" с \n"
+"дистрибутивом I2P.\n"
+"Эти компоненты:"
+
+#: i2p2www/pages/site/docs/naming.html:51
+msgid ""
+"The local <a href=\"#lookup\">naming service</a> which does lookups\n"
+"and also handles <a href=\"#base32\">Base32 hostnames</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:55
+msgid ""
+"The <a href=\"#httpproxy\">HTTP proxy</a> which asks the router for "
+"lookups and points\n"
+"the user to remote jump services to assist with failed lookups."
+msgstr ""
+"<a href=\"#httpproxy\">HTTP proxy</a>, которое запрашивает поиск у "
+"маршрутизатора, и направляет\n"
+"пользователя в службы удаленных переходов в случае ошибок поиска."
+
+#: i2p2www/pages/site/docs/naming.html:59
+msgid ""
+"HTTP <a href=\"#add-services\">host-add forms</a> which allow users to "
+"add hosts to their local hosts.txt"
+msgstr ""
+"HTTP <a href=\"#add-services\">формы добавления узлов</a>, позволяющие "
+"пользователям добавлять узлы в их локальный hosts.txt"
+
+#: i2p2www/pages/site/docs/naming.html:62
+msgid ""
+"HTTP <a href=\"#jump-services\">jump services</a> which provide their own"
+" lookups and redirection."
+msgstr ""
+"HTTP <a href=\"#jump-services\">службы переходов</a>, предоставляющие "
+"собственный поиск и перенаправление."
+
+#: i2p2www/pages/site/docs/naming.html:65
+msgid ""
+"The <a href=\"#addressbook\">addressbook</a> application which merges "
+"external\n"
+"host lists, retrieved via HTTP, with the local list."
+msgstr ""
+"Приложение <a href=\"#addressbook\">адресная книга</a>, выполняющая "
+"слияние внешних\n"
+"списков узлов, полученных по HTTP, с локальным списком."
+
+#: i2p2www/pages/site/docs/naming.html:69
+msgid ""
+"The <a href=\"#susidns\">SusiDNS</a> application which is a simple web "
+"front-end\n"
+"for addressbook configuration and viewing of the local host lists."
+msgstr ""
+"Приложение <a href=\"#susidns\">SusiDNS</a>, являющееся простым веб "
+"интерфейсом \n"
+"для настройки адресной книги и просмотра локального списка узлов."
+
+#: i2p2www/pages/site/docs/naming.html:76
+msgid "Naming Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:78
+#, python-format
+msgid ""
+"All destinations in I2P are 516-byte (or longer) keys.\n"
+"(To be more precise, it is a 256-byte public key plus a 128-byte signing "
+"key\n"
+"plus a null certificate, which in Base64 representation is 516 bytes.\n"
+"<a href=\"%(namingdiscussion)s#certificates\">Certificates</a> are not "
+"used now,\n"
+"if they are, the keys will be longer.\n"
+"One possible use of certificates is for <a "
+"href=\"%(todo)s#hashcash\">proof of work</a>.)"
+msgstr ""
+"Все пункты назначения в I2P - это ключи по 516-байт (или больше). \n"
+"(Если быть более точным, то это публичный ключ 256-байт плюс ключ подписи"
+" 128-байт \n"
+"плюс нулевой сертификат, длина которого в виде Base64 составляет 516 "
+"байт. \n"
+"<a href=\"%(namingdiscussion)s#certificates\">Сертификаты</a> сейчас не "
+"используются, \n"
+"если будут, то длина ключа будет больше. \n"
+"Сертификаты можно использовать для <a "
+"href=\"%(todo)s#hashcash\">подтверждения работы</a>.)"
+
+#: i2p2www/pages/site/docs/naming.html:87
+msgid ""
+"If an application (i2ptunnel or the HTTP proxy) wishes to access\n"
+"a destination by name, the router does a very simple local lookup\n"
+"to resolve that name."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:93
+msgid "Hosts.txt Naming Service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:95
+msgid ""
+"The hosts.txt Naming Service does a simple linear search through\n"
+"text files. This naming service was the default until\n"
+"release 0.8.8 when it was replaced by the Blockfile Naming Service.\n"
+"The hosts.txt format had become too slow after the file grew to thousands"
+" of entries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:102
+#, python-format
+msgid ""
+"It does a linear search through three local files, in order, to\n"
+"look up host names and convert them to a 516-byte destination key.\n"
+"Each file is in a simple <a href=\"%(configuration)s\">configuration file"
+" format</a>, with hostname=base64, one per line.\n"
+"The files are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:114
+msgid "Blockfile Naming Service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:116
+msgid ""
+"The Blockfile Naming Service stores multiple \"addressbooks\" in a single"
+"\n"
+"database file named hostsdb.blockfile.\n"
+"This Naming Service is the default since release 0.8.8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:122
+#, python-format
+msgid ""
+"A blockfile is simply on-disk storage of multiple sorted maps (key-value "
+"pairs),\n"
+"implemented as skiplists.\n"
+"The blockfile format is specified on the <a "
+"href=\"%(blockfile)s\">Blockfile page</a>.\n"
+"It provides fast Destination lookup in a compact format. While the "
+"blockfile overhead is substantial,\n"
+"the destinations are stored in binary rather than in Base 64 as in the "
+"hosts.txt format.\n"
+"In addition, the blockfile provides the capability of arbitrary metadata "
+"storage\n"
+"(such as added date, source, and comments) for each entry to implement "
+"advanced addressbook features.\n"
+"The blockfile storage requirement is a modest increase over the hosts.txt"
+" format, and the blockfile provides\n"
+"approximately 10x reduction in lookup times."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:134
+msgid ""
+"On creation, the naming service imports entries from the three files used"
+" by the hosts.txt Naming Service.\n"
+"The blockfile mimics the previous implementation by maintaining three "
+"maps that\n"
+"are searched in-order, named privatehosts.txt, userhosts.txt, and "
+"hosts.txt.\n"
+"It also maintains a reverse-lookup map to implement rapid reverse lookups."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:141
+msgid "Other Naming Service Facilities"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:143
+#, python-format
+msgid ""
+"The lookup is case-insensitive.\n"
+"The first match is used, and conflicts are not detected.\n"
+"There is no enforcement of naming rules in lookups.\n"
+"Lookups are cached for a few minutes.\n"
+"Base 32 resolution is <a href=\"#base32\">described below</a>.\n"
+"For a full description of the Naming Service API see the\n"
+"<a href=\"%(nsjavadocs)s\">Naming Service Javadocs</a>.\n"
+"This API was significantly expanded in release 0.8.7 to provide\n"
+"adds and removes, storage of arbitrary properties with the hostname,\n"
+"and other features."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:156
+msgid "Alternatives and Experimental Naming Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:158
+#, python-format
+msgid ""
+"The naming service is specified with the configuration property "
+"<tt>i2p.naming.impl=class</tt>.\n"
+"Other implementations are possible. For example,\n"
+"there is an experimental facility for real-time lookups (a la DNS) over "
+"the network within the router.\n"
+"For more information see the <a "
+"href=\"%(namingdiscussion)s#alternatives\">alternatives on the discussion"
+" page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:165
+msgid ""
+"The HTTP proxy does a lookup via the router for all hostnames ending in "
+"'.i2p'.\n"
+"Otherwise, it forwards the request to a configured HTTP outproxy.\n"
+"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-"
+"Top Level Domain '.i2p'."
+msgstr ""
+"HTTP прокси выполняет поиск через маршрутизатор для всех имен узлов, "
+"заканчивающихся на '.i2p'. \n"
+"Либо перенаправляет запрос на настроенный внешний HTTP прокси. \n"
+"Т.о., на практике, все имена узлов HTTP (eepsite) должны заканчиваться на"
+" псевдо Домен Верхнего Уровня '.i2p'."
+
+#: i2p2www/pages/site/docs/naming.html:171
+#, python-format
+msgid ""
+"We have <a href=\"%(i2ptld)s\">applied to reserve the .i2p TLD</a>\n"
+"following the procedures specified in <a href=\"%(rfc6761)s\">RFC "
+"6761</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:177
+msgid ""
+"If the router fails to resolve the hostname, the HTTP proxy returns\n"
+"an error page to the user with links to several \"jump\" services.\n"
+"See below for details."
+msgstr ""
+"Если маршрутизатор не может разрешить имя узла, то HTTP прокси возвращает"
+" \n"
+"пользователю страницу с ошибкой и ссылками на несколько служб "
+"\"переходов\". \n"
+"Подробнее смотри ниже."
+
+#: i2p2www/pages/site/docs/naming.html:183
+#: i2p2www/pages/site/docs/spec/configuration.html:177
+msgid "Addressbook"
+msgstr "Адресная книга"
+
+#: i2p2www/pages/site/docs/naming.html:184
+msgid "Incoming Subscriptions and Merging"
+msgstr "Входящие Подписки и Слияние"
+
+#: i2p2www/pages/site/docs/naming.html:186
+msgid ""
+"The addressbook application periodically\n"
+"retrieves other users' hosts.txt files and merges\n"
+"them with the local hosts.txt, after several checks.\n"
+"Naming conflicts are resolved on a first-come first-served\n"
+"basis."
+msgstr ""
+"Приложение адресной книги периодически \n"
+"запрашивает файлы hosts.txt других пользователей и, после нескольких \n"
+"проверок, производит их слияние с локальным hosts.txt. \n"
+"Конфликты имен разрешаются по принципу первый пришел - \n"
+"первый обслужен."
+
+#: i2p2www/pages/site/docs/naming.html:194
+msgid ""
+"Subscribing to another user's hosts.txt file involves\n"
+"giving them a certain amount of trust.\n"
+"You do not want them, for example, 'hijacking' a new site\n"
+"by quickly entering in their own key for a new site before\n"
+"passing the new host/key entry to you."
+msgstr ""
+"Подписка на файл hosts.txt другого пользователя означает, \n"
+"что мы ему доверяем в этой части отношений.\n"
+"Вы не хотите чтобы он, к примеру, 'взломал' новый сайт, \n"
+"быстро введя свой ключ для нового сайта до того как \n"
+"передать новую пару узел/ключ вам."
+
+#: i2p2www/pages/site/docs/naming.html:202
+msgid ""
+"For this reason, the only subscription configured by\n"
+"default is <code>http://www.i2p2.i2p/hosts.txt</code>,\n"
+"which contains a copy of the hosts.txt included\n"
+"in the I2P release.\n"
+"Users must configure additional subscriptions in their\n"
+"local addressbook application (via subscriptions.txt or <a "
+"href=\"#susidns\">SusiDNS</a>)."
+msgstr ""
+"По этой причине единственная подписка, настроенная \n"
+"по умолчанию - это <code>http://www.i2p2.i2p/hosts.txt</code>, \n"
+"она содержит копию hosts.txt, включенного \n"
+"в релиз I2P. \n"
+"Пользователи должны настроить дополнительные подписки в своем \n"
+"локальном приложении адресной книги (в subscriptions.txt или <a "
+"href=\"#susidns\">SusiDNS</a>)."
+
+#: i2p2www/pages/site/docs/naming.html:211
+msgid "Some other public addressbook subscription links:"
+msgstr "Ссылки на некоторые другие подписки публичных адресных книг:"
+
+#: i2p2www/pages/site/docs/naming.html:218
+msgid ""
+"The operators of these services may have various policies for listing "
+"hosts.\n"
+"Presence on this list does not imply endorsement."
+msgstr ""
+"У операторов этих служб могут быть различные политики для просмотра "
+"списка узлов. \n"
+"В соответствии с этим, список может быть не ободрен."
+
+#: i2p2www/pages/site/docs/naming.html:223
+#: i2p2www/pages/site/docs/naming.html:235
+msgid "Naming Rules"
+msgstr "Правила Именования"
+
+#: i2p2www/pages/site/docs/naming.html:224
+msgid ""
+"While there are hopefully not any technical limitations within I2P on "
+"host names,\n"
+"the addressbook enforces several restrictions on host names\n"
+"imported from subscriptions.\n"
+"It does this for basic typographical sanity and compatibility with "
+"browsers,\n"
+"and for security.\n"
+"The rules are essentially the same as those in RFC2396 Section 3.2.2.\n"
+"Any hostnames violating these rules may not be propagated\n"
+"to other routers."
+msgstr ""
+"К счастью, нет никаких технических ограничений на имена узлов в I2P, но \n"
+"адресная книга накладывает некоторые ограничения на имена узлов, \n"
+"импортированные из подписок. \n"
+"Это делается для соблюдения основных правил именования, совместимости с "
+"браузерами и \n"
+"с целью безопасности.\n"
+"Эти правила в сущности такие же, как описанные в Разделе 3.2.2 RFC2396. \n"
+"Любые имена узлов, нарушающие эти правила, не должны распространятся \n"
+"на другие маршрутизаторы."
+
+#: i2p2www/pages/site/docs/naming.html:239
+msgid "Names are converted to lower case on import."
+msgstr "При импорте имена приводятся к нижнему регистру."
+
+#: i2p2www/pages/site/docs/naming.html:243
+msgid ""
+"Names are checked for conflict with existing names in the existing "
+"userhosts.txt and hosts.txt\n"
+"(but not privatehosts.txt) after conversion to lower case."
+msgstr ""
+"После приведения к нижнему регистру имена проверяются на конфликты с "
+"имеющимися \n"
+"именами в userhosts.txt и hosts.txt (но не в privatehosts.txt)."
+
+#: i2p2www/pages/site/docs/naming.html:248
+msgid "Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case."
+msgstr ""
+"После приведения к нижнему регистру должны содержать только [a-z] [0-9] "
+"'.' и '-'."
+
+#: i2p2www/pages/site/docs/naming.html:252
+msgid "Must not start with '.' or '-'."
+msgstr "Не должны начинаться с '.' или '-'."
+
+#: i2p2www/pages/site/docs/naming.html:256
+msgid "Must end with '.i2p'."
+msgstr "Должны оканчиваться на '.i2p'."
+
+#: i2p2www/pages/site/docs/naming.html:260
+msgid "67 characters maximum, including the '.i2p'."
+msgstr "Максимум 67 символов, включая '.i2p'."
+
+#: i2p2www/pages/site/docs/naming.html:264
+msgid "Must not contain '..'."
+msgstr "Не должны содержать '..'."
+
+#: i2p2www/pages/site/docs/naming.html:268
+msgid "Must not contain '.-' or '-.' (as of 0.6.1.33)."
+msgstr "Не должны содержать '.-' или '-.' (как в 0.6.1.33)."
+
+#: i2p2www/pages/site/docs/naming.html:272
+msgid "Must not contain '--' except in 'xn--' for IDN."
+msgstr "Не должны содержать '--', исключение -  'xn--' для IDN."
+
+#: i2p2www/pages/site/docs/naming.html:276
+msgid ""
+"Base32 hostnames (*.b32.i2p) are reserved for base 32 use and so are not "
+"allowed to be imported."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:280
+msgid ""
+"Certain hostnames reserved for project use are not allowed\n"
+"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, "
+"*.console.i2p, and others)"
+msgstr ""
+"Определенные имена узлов, зарезервированые для использования проектом, не"
+" допускаются \n"
+"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, "
+"*.console.i2p, и другие)"
+
+#: i2p2www/pages/site/docs/naming.html:285
+msgid "Keys are checked for base64 validity."
+msgstr "Ключи проверяются на соответствие base64."
+
+#: i2p2www/pages/site/docs/naming.html:289
+msgid ""
+"Keys are checked for conflict with existing keys in hosts.txt (but not "
+"privatehosts.txt)."
+msgstr ""
+"Ключи проверяются на конфликты с существующими ключами в hosts.txt (но не"
+" в privatehosts.txt)."
+
+#: i2p2www/pages/site/docs/naming.html:293
+msgid "Minimum key length 516 bytes."
+msgstr "Минимальный размер ключа 516 байт."
+
+#: i2p2www/pages/site/docs/naming.html:297
+msgid "Maximum key length 616 bytes (to account for certs up to 100 bytes)."
+msgstr "Максимальный размер ключа 616 байт (для нужд сертификатов до 100 байт)."
+
+#: i2p2www/pages/site/docs/naming.html:302
+msgid ""
+"Any name received via subscription that passes all the checks is added "
+"via the local naming service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:306
+msgid ""
+"Note that the '.' symbols in a host name are of no significance,\n"
+"and do not denote any actual naming or trust hierarchy.\n"
+"If the name 'host.i2p' already exists, there is nothing\n"
+"to prevent anybody from adding a name 'a.host.i2p' to their hosts.txt,\n"
+"and this name can be imported by others' addressbook.\n"
+"Methods to deny subdomains to non-domain 'owners' (certificates?),\n"
+"and the desirability and feasibility of these methods,\n"
+"are topics for future discussion."
+msgstr ""
+"Учтите, что символ '.' в имени узла не имеет особого смысла, \n"
+"И не говорит о фактической иерархии имен или доверия. \n"
+"Если имя 'host.i2p' уже существует, ничто не мешает \n"
+"кому-нибудь добавить имя 'a.host.i2p' в свой hosts.txt, \n"
+"и это имя может быть импортировано в другие адресные книги. \n"
+"Методы запрета заведения субдоменов не \"владельцами\" домена "
+"(сертификата?), \n"
+"целесообразность и осуществимость этих методов это \n"
+"предмет для будущих обсуждений."
+
+#: i2p2www/pages/site/docs/naming.html:317
+msgid ""
+"International Domain Names (IDN) also work in i2p (using punycode 'xn--' "
+"form).\n"
+"To see IDN .i2p domain names rendered correctly in Firefox's location "
+"bar,\n"
+"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config."
+msgstr ""
+"Также в I2P работают интернационализованные доменные имена (IDN) "
+"(используя форму punycode 'xn--').\n"
+"Чтобы  IDN имена домена .i2p корректно отображались в адресной строке "
+"Firefox,\n"
+"добавьте 'network.IDN.whitelist.i2p (boolean) = true' в about:config."
+
+#: i2p2www/pages/site/docs/naming.html:323
+msgid ""
+"As the addressbook application does not use privatehosts.txt at all, in "
+"practice\n"
+"this file is the only place where it is appropriate to place private "
+"aliases or\n"
+"\"pet names\" for sites already in hosts.txt."
+msgstr ""
+"Поскольку приложение адресной книги совсем не использует "
+"privatehosts.txt, то на практике \n"
+"этот файл - единственно верное место, куда стоит поместить личные "
+"синонимы или \n"
+"\"клички\" для сайтов, которые уже есть в hosts.txt."
+
+#: i2p2www/pages/site/docs/naming.html:329
+msgid "Outgoing Subscriptions"
+msgstr "Исходящие Подписки"
+
+#: i2p2www/pages/site/docs/naming.html:330
+msgid ""
+"Addressbook will publish the merged hosts.txt to a location\n"
+"(traditionally hosts.txt in the local eepsite's home directory) to be "
+"accessed by others\n"
+"for their subscriptions.\n"
+"This step is optional and is disabled by default."
+msgstr ""
+"Адресная книга публикует объединенный hosts.txt с местоположении \n"
+"(традиционно это hosts.txt в домашней директории локального eepsite), "
+"доступном другим \n"
+"по их подпискам. \n"
+"Этот шаг необязателен и по умолчанию отключен."
+
+#: i2p2www/pages/site/docs/naming.html:338
+msgid ""
+"The addressbook application, together with eepget, saves the Etag and/or "
+"Last-Modified\n"
+"information returned by the web server of the subscription.\n"
+"This greatly reduces the bandwidth required, as the web server will\n"
+"return a '304 Not Modified' on the next fetch if nothing has changed."
+msgstr ""
+"Приложение адресной книги, совместно с eepget, сохраняет Etag и/или "
+"информацию о \n"
+"последнем изменении, полученную веб сервером по подписке. \n"
+"Это существенно снижает требования к полосе пропускания, т.к. веб сервер"
+" \n"
+"вернет '304 Not Modified' при следующем получении, если изменений не было."
+
+#: i2p2www/pages/site/docs/naming.html:345
+msgid ""
+"However the entire hosts.txt is downloaded if it has changed.\n"
+"See below for discussion on this issue."
+msgstr ""
+"Тем не менее, содержимое hosts.txt загружается, если он был изменен. \n"
+"Обсуждение этой темы смотри ниже."
+
+#: i2p2www/pages/site/docs/naming.html:350
+msgid ""
+"Hosts serving a static hosts.txt or an equivalent CGI application\n"
+"are strongly encouraged to deliver\n"
+"a Content-Length header, and either an Etag or Last-Modified header.\n"
+"Also ensure that the server delivers a '304 Not Modified' when "
+"appropriate.\n"
+"This will dramatically reduce the network bandwidth, and\n"
+"reduce chances of corruption."
+msgstr ""
+"Узлу, обслуживающему статичный hosts.txt, или эквивалентному приложению "
+"CGI \n"
+"настоятельно рекомендуется отправлять \n"
+"заголовок Content-Length, либо Etag или заголовок Last-Modified. \n"
+"Убедитесь также, что сервер по необходимости выдает '304 Not Modified'. \n"
+"Это существенно уменьшить пропускную способность сети, и \n"
+"уменьшит вероятность повреждения."
+
+#: i2p2www/pages/site/docs/naming.html:359
+msgid "Host Add Services"
+msgstr "Службы Добавления Узла"
+
+#: i2p2www/pages/site/docs/naming.html:360
+msgid ""
+"A host add service is a simple CGI application that takes a hostname and "
+"a Base64 key as parameters\n"
+"and adds that to its local hosts.txt.\n"
+"If other routers subscribe to that hosts.txt, the new hostname/key\n"
+"will be propagated through the network."
+msgstr ""
+"Служба добавления узла это простое приложение CGI, которое принимает имя "
+"узла и Base64 ключ в качестве параметров, \n"
+"и добавляет их в локальный hosts.txt. \n"
+"Если другие маршрутизаторы подписаны на этот hosts.txt, то новая пара имя"
+" узла/ключ \n"
+"будет передана по сети."
+
+#: i2p2www/pages/site/docs/naming.html:367
+msgid ""
+"It is recommended that host add services impose, at a minimum, the "
+"restrictions imposed by the addressbook application listed above.\n"
+"Host add services may impose additional restrictions on hostnames and "
+"keys, for example:"
+msgstr ""
+"На службу добавления узла, как минимум, рекомендуется наложить "
+"ограничения, совпадающие с ограничениями \n"
+"приложения адресной книги, описанными выше. \n"
+"На службу добавления узла могут быть наложены дополнительные ограничения "
+"на имя узла и ключ, например:"
+
+#: i2p2www/pages/site/docs/naming.html:372
+msgid "A limit on number of 'subdomains'."
+msgstr "Ограничение количества 'поддоменов'."
+
+#: i2p2www/pages/site/docs/naming.html:376
+msgid "Authorization for 'subdomains' through various methods."
+msgstr "Различные методы авторизации для 'поддоменов'."
+
+#: i2p2www/pages/site/docs/naming.html:380
+msgid "Hashcash or signed certificates."
+msgstr "Hashcash или подписанные сертификаты."
+
+#: i2p2www/pages/site/docs/naming.html:384
+msgid "Editorial review of host names and/or content."
+msgstr "Экспертная оценка имен узлов и/или содержимого."
+
+#: i2p2www/pages/site/docs/naming.html:388
+msgid "Categorization of hosts by content."
+msgstr "Категоризация узлов по содержимому."
+
+#: i2p2www/pages/site/docs/naming.html:392
+msgid "Reservation or rejection of certain host names."
+msgstr "Резервирование или исключение определенных имен узлов."
+
+#: i2p2www/pages/site/docs/naming.html:396
+msgid "Restrictions on the number of names registered in a given time period."
+msgstr "Ограничение количества имен регистрируемых за определенный период времени."
+
+#: i2p2www/pages/site/docs/naming.html:400
+msgid "Delays between registration and publication."
+msgstr "Задержка между регистрацией и публикацией."
+
+#: i2p2www/pages/site/docs/naming.html:404
+msgid "Requirement that the host be up for verification."
+msgstr "Необходимость доступности узла для его верификации."
+
+#: i2p2www/pages/site/docs/naming.html:408
+msgid "Expiration and/or revocation."
+msgstr "Истечение срока и/или аннулирование."
+
+#: i2p2www/pages/site/docs/naming.html:412
+msgid "IDN spoof rejection."
+msgstr "Предотвращение IDN-спуфинга."
+
+#: i2p2www/pages/site/docs/naming.html:417
+msgid "Jump Services"
+msgstr "Службы перехода"
+
+#: i2p2www/pages/site/docs/naming.html:418
+msgid ""
+"A jump service is a simple CGI application that takes a hostname as a "
+"parameter\n"
+"and returns a 301 redirect to the proper URL with a "
+"<code>?i2paddresshelper=key</code>\n"
+"string appended.\n"
+"The HTTP proxy will interpret the appended string and\n"
+"use that key as the actual destination.\n"
+"In addition, the proxy will cache that key so the\n"
+"address helper is not necessary until restart."
+msgstr ""
+"Служба перехода это простое CGI приложение, которое получает имя узла в "
+"качестве параметра, \n"
+"и возвращает перенаправление 301 на правильный URL с добавлением строки \n"
+"<code>?i2paddresshelper=key</code>. \n"
+"HTTP прокси интерпретирует добавленную строку и \n"
+"использует этот ключ как актуальный пункт назначения. \n"
+"Кроме того, прокси кеширует этот ключ, так что \n"
+"address helper не нужен до перезапуска."
+
+#: i2p2www/pages/site/docs/naming.html:428
+msgid ""
+"Note that, like with subscriptions, using a jump service\n"
+"implies a certain amount of trust, as a jump service could maliciously\n"
+"redirect a user to an incorrect destination."
+msgstr ""
+"Учтите, что как и с подписками, использование службы перехода \n"
+"требует части доверия, так как служба перехода может злонамеренно \n"
+"перенаправить пользователя в некорректный пункт назначения."
+
+#: i2p2www/pages/site/docs/naming.html:434
+msgid ""
+"To provide the best service, a jump service should be subscribed to\n"
+"several hosts.txt providers so that its local host list is current."
+msgstr ""
+"Для предоставления лучшего уровня сервиса служба перехода должна быть "
+"подписана на \n"
+"несколько провайдеров hosts.txt, т.о. локальный список узлов будет "
+"актуальным."
+
+#: i2p2www/pages/site/docs/naming.html:440
+msgid ""
+"SusiDNS is simply a web interface front-end to configuring addressbook "
+"subscriptions\n"
+"and accessing the four addressbook files.\n"
+"All the real work is done by the 'addressbook' application."
+msgstr ""
+"SusiDNS это просто веб-интерфейс для настройки подписок адресной книги\n"
+"и для доступа к четырем ее файлам. \n"
+"Вся настоящая работа выполняется приложением 'адресная книга'."
+
+#: i2p2www/pages/site/docs/naming.html:446
+msgid ""
+"Currently, there is little enforcement of addressbook naming rules within"
+" SusiDNS,\n"
+"so a user may enter hostnames locally that would be rejected by\n"
+"the addressbook subscription rules."
+msgstr ""
+"На данный момент в SusiDNS реализовано мало правил ограничения именования"
+" адресной книги, \n"
+"так что пользователь может локально ввести имя узла, которое будет "
+"отвергнуто \n"
+"в соответствии с правилами подписки адресной книги."
+
+#: i2p2www/pages/site/docs/naming.html:452
+msgid "Base32 Names"
+msgstr "Base32 Имена"
+
+#: i2p2www/pages/site/docs/naming.html:453
+msgid ""
+"I2P supports Base32 hostnames similar to Tor's .onion addresses.\n"
+"Base32 addresses are much shorter and easier to handle than the\n"
+"full 516-character Base64 Destinations or addresshelpers.\n"
+"Example: "
+"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
+msgstr ""
+"I2P поддерживает Base32 имена узлов по аналогии с .onion адресами Tor. \n"
+"Base32 адреса гораздо короче и их проще обрабатывать, чем \n"
+"полные 516-символьные Base64 пункты назначения или addresshelper-ы. \n"
+"Пример: "
+"<code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
+
+#: i2p2www/pages/site/docs/naming.html:460
+#, python-format
+msgid ""
+"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 "
+"hash.\n"
+"I2P uses 52 characters (256 bits) to represent the full SHA-256 hash.\n"
+"The form is {52 chars}.b32.i2p.\n"
+"Tor has recently published a\n"
+"<a href=\"https://blog.torproject.org/blog/tor-weekly-news-%E2%80%94"
+"-december-4th-2013\">proposal</a>\n"
+"to convert to an identical format of {52 chars}.onion for their hidden "
+"services.\n"
+"Base32 is implemented in the naming service, which queries the\n"
+"router over I2CP to lookup the LeaseSet to get the full Destination.\n"
+"Base32 lookups will only be successful when the Destination is up and "
+"publishing\n"
+"a LeaseSet.\n"
+"Because resolution may require a network database lookup, it may take "
+"significantly\n"
+"longer than a local address book lookup."
+msgstr ""
+
+#: i2p2www/pages/site/docs/naming.html:475
+msgid ""
+"Base32 addresses can be used in most places where hostnames or full "
+"destinations\n"
+"are used, however there are some exceptions where they may fail if the\n"
+"name does not immediately resolve. I2PTunnel will fail, for example, if\n"
+"the name does not resolve to a destination."
+msgstr ""
+"Base32 адреса могут быть использованы в большинстве случаев, где "
+"используются имена узлов \n"
+"или полные пункты назначения, тем не менее есть несколько исключений, "
+"когда это может вызвать ошибку, если \n"
+"имя не может быть преобразовано в адрес. Например, в I2PTunnel возникнет "
+"ошибка, если \n"
+"имя не разрешается в пункт назначения."
+
+#: i2p2www/pages/site/docs/plugins.html:2
+#: i2p2www/pages/site/docs/spec/configuration.html:165
+msgid "Plugins"
+msgstr "Плагины"
+
+#: i2p2www/pages/site/docs/plugins.html:3
+msgid "June 2012"
+msgstr "Июни 2012"
+
+#: i2p2www/pages/site/docs/plugins.html:6
+msgid "General Information"
+msgstr "Основная информация"
+
+#: i2p2www/pages/site/docs/plugins.html:7
+msgid ""
+"I2P includes a plugin architecture\n"
+"to support easy development and installation of additional software."
+msgstr ""
+"В I2P имеется архитектура плагинов \n"
+"для поддержки легкой разработки и установки дополнительного ПО."
+
+#: i2p2www/pages/site/docs/plugins.html:12
+msgid ""
+"There are now plugins available that support distributed email, blogs, "
+"IRC\n"
+"clients, distributed file storage, wikis, and more."
+msgstr ""
+"Уже сейчас доступны плагины с поддержкой распределенной электронной "
+"почты, блогов, \n"
+"клиентов IRC, распределенного хранилища файлов, wiki и др."
+
+#: i2p2www/pages/site/docs/plugins.html:17
+msgid "Benefits to i2p users and app developers:"
+msgstr "Преимущества для пользователей I2P и разработчиков ПО:"
+
+#: i2p2www/pages/site/docs/plugins.html:22
+msgid "Easy distribution of applications"
+msgstr "Простое распространение приложений"
+
+#: i2p2www/pages/site/docs/plugins.html:26
+msgid ""
+"Allows innovation and use of additional libraries without worrying about\n"
+"increasing the size of <code>i2pupdate.sud</code>"
+msgstr ""
+"Позволяет использовать инновации и дополнительные библиотеки, не "
+"беспокоясь об \n"
+"увеличении размера <code>i2pupdate.sud</code>"
+
+#: i2p2www/pages/site/docs/plugins.html:31
+msgid ""
+"Support large or special-purpose applications that would never be bundled"
+"\n"
+"with the I2P installation"
+msgstr ""
+"Поддержка больших или специализированных приложений, которые никогда не "
+"будут связаны \n"
+"с установкой I2P"
+
+#: i2p2www/pages/site/docs/plugins.html:36
+msgid "Cryptographically signed and verified applications"
+msgstr "Криптографически подписанные и проверенные приложения"
+
+#: i2p2www/pages/site/docs/plugins.html:40
+msgid "Automatic updates of applications, just like for the router"
+msgstr "Автоматическое обновление приложений, совсем как для маршрутизатора"
+
+#: i2p2www/pages/site/docs/plugins.html:44
+msgid ""
+"Separate initial install and update packages, if desired, for smaller "
+"update downloads"
+msgstr ""
+"Отдельные начальная установка и пакеты обновлений, по желанию, для "
+"уменьшения размера загружаемых обновлений"
+
+#: i2p2www/pages/site/docs/plugins.html:48
+msgid ""
+"One-click installation of applications. No more asking users to modify\n"
+"<code>wrapper.config</code> or <code>clients.config</code>"
+msgstr ""
+"Установка приложений в один клик. Не спрашивая пользователей об изменении"
+" \n"
+"<code>wrapper.config</code> или <code>clients.config</code>"
+
+#: i2p2www/pages/site/docs/plugins.html:53
+msgid "Isolate applications from the base <code>$I2P</code> installation"
+msgstr "Изолирование приложений от базовой установки <code>$I2P</code>"
+
+#: i2p2www/pages/site/docs/plugins.html:57
+msgid ""
+"Automatic compatibility checking for I2P version, Java version, Jetty\n"
+"version, and previous installed application version"
+msgstr ""
+"Автоматическая проверка совместимости с версией I2P, Java, Jetty \n"
+"и предыдущей установленной версией приложения"
+
+#: i2p2www/pages/site/docs/plugins.html:62
+msgid "Automatic link addition in console"
+msgstr "Автоматическое добавление ссылки в консоли"
+
+#: i2p2www/pages/site/docs/plugins.html:66
+msgid ""
+"Automatic startup of application, including modifying classpath, without "
+"requiring a restart"
+msgstr ""
+"Автоматический запуск приложения, включая модификацию classpath без "
+"необходимости перезапуска"
+
+#: i2p2www/pages/site/docs/plugins.html:70
+msgid "Automatic integration and startup of webapps into console Jetty instance"
+msgstr ""
+"Автоматическая интеграция и запуск веб-приложения в консольном экземпляре"
+" Jetty"
+
+#: i2p2www/pages/site/docs/plugins.html:74
+#, python-format
+msgid ""
+"Facilitate creation of 'app stores' like the one at\n"
+"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
+msgstr ""
+"Облегченное создание 'app stores', как для \n"
+"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
+
+#: i2p2www/pages/site/docs/plugins.html:79
+msgid "One-click uninstall"
+msgstr "Удаление в один клик"
+
+#: i2p2www/pages/site/docs/plugins.html:83
+msgid "Language and theme packs for the console"
+msgstr "Языковые пакеты и темы для консоли"
+
+#: i2p2www/pages/site/docs/plugins.html:87
+msgid "Bring detailed application information to the router console"
+msgstr "Вывод детализированной информации от приложения в консоль маршрутизатора"
+
+#: i2p2www/pages/site/docs/plugins.html:91
+msgid "Non-java applications also supported"
+msgstr "Также поддерживаются не-Java приложения"
+
+#: i2p2www/pages/site/docs/plugins.html:97
+msgid "Required I2P version"
+msgstr "Требуемая версия I2P"
+
+#: i2p2www/pages/site/docs/plugins.html:98
+msgid "0.7.12 or newer."
+msgstr "0.7.12 или новее."
+
+#: i2p2www/pages/site/docs/plugins.html:100
+msgid "Installation"
+msgstr "Установка"
+
+#: i2p2www/pages/site/docs/plugins.html:101
+msgid ""
+"To install and start a plugin, copy the <code>.xpi2p</code> install link "
+"to\n"
+"the form at the bottom of\n"
+"<a "
+"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp"
+" in\n"
+"your router console</a> and click the \"install plugin\" button.  After a"
+"\n"
+"plugin is installed and started, a link to the plugin will usually appear"
+" at\n"
+"the top of your summary bar."
+msgstr ""
+"Чтобы установить и запустить плагин, скопируйте ссылку на установщик "
+"<code>.xpi2p</code> в \n"
+"форму внизу \n"
+"<a "
+"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp"
+" в \n"
+"консоли вашего маршрутизатора</a> и нажмите кнопку \"install plugin\". "
+"После \n"
+"установки и запуска плагина ссылка на него обычно появляется вверху \n"
+"вашей строки состояния."
+
+#: i2p2www/pages/site/docs/plugins.html:110
+msgid ""
+"To update a plugin to the latest version, just click the update button on"
+"\n"
+"<a "
+"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>."
+"\n"
+"There is also a button to check if the plugin has a more recent version, "
+"as\n"
+"well as a button to check for updates for all plugins.  Plugins will be "
+"checked\n"
+"for updates automatically when updating to a new I2P release (not "
+"including dev\n"
+"builds)."
+msgstr ""
+"Чтобы обновить плагин до последней версии, просто нажмите кнопку "
+"обновления в \n"
+"<a "
+"href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>."
+" \n"
+"Также есть кнопка для проверки актуальности версии плагина, как и \n"
+"кнопка проверки наличия обновления для плагина. Проверка наличия "
+"обновлений для\n"
+"плагинов будет выполнена при обновлении I2P до нового релиза (за "
+"исключением \n"
+"тестовых сборок)."
+
+#: i2p2www/pages/site/docs/plugins.html:120
+msgid "Development"
+msgstr "Разработка"
+
+#: i2p2www/pages/site/docs/plugins.html:121
+#, python-format
+msgid ""
+"See the latest <a href=\"%(pluginspec)s\">plugin specification</a> and "
+"the\n"
+"<a href=\"http://%(zzz)s/forums/16\">plugin forum</a> on %(zzz)s."
+msgstr ""
+"Смотри актуальную <a href=\"%(pluginspec)s\">спецификацию плагинов</a> и\n"
+"<a href=\"http://%(zzz)s/forums/16\">форум о плагинах</a> на %(zzz)s."
+
+#: i2p2www/pages/site/docs/plugins.html:126
+#, python-format
+msgid ""
+"See also the sources for plugins developed by various people.  Some "
+"plugins, such\n"
+"as <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, were "
+"developed\n"
+"specifically as examples."
+msgstr ""
+"Также смотри исходники плагинов, разработанных другими людьми. Некоторые "
+"плагины, такие\n"
+"как <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, были "
+"разработаны\n"
+"специально в качестве примеров."
+
+#: i2p2www/pages/site/docs/plugins.html:132
+msgid ""
+"<b>Developers wanted!</b> Plugins are a great way to learn more about I2P"
+"\n"
+"or easily add some feature."
+msgstr ""
+"<b>Разыскиваются разработчики!</b> Плагины это замечательная возможность "
+"узнать больше о I2P,\n"
+"или легко добавить новую возможность."
+
+#: i2p2www/pages/site/docs/plugins.html:137
+msgid "Getting Started"
+msgstr "С чего начать"
+
+#: i2p2www/pages/site/docs/plugins.html:138
+#, python-format
+msgid ""
+"To create a plugin from an existing binary package you will need to get\n"
+"makeplugin.sh from <a href=\"%(url)s\">the i2p.scripts branch in "
+"monotone</a>."
+msgstr ""
+"Чтобы сделать плагин из имеющегося исполняемого пакета вам понадобится \n"
+"makeplugin.sh из <a href=\"%(url)s\">ветки i2p.scripts в monotone</a>."
+
+#: i2p2www/pages/site/docs/plugins.html:144
+msgid "Known Issues"
+msgstr "Известные проблемы"
+
+#: i2p2www/pages/site/docs/plugins.html:145
+msgid ""
+"Note that the router's plugin architecture does <b>NOT</b> currently\n"
+"provide any additional security isolation or sandboxing of plugins."
+msgstr ""
+"Учтите, что архитектура плагинов маршрутизатора на данный момент "
+"<b>НЕ</b> \n"
+"предоставляет дополнительную изоляцию безопасности или запуск плагинов в "
+"песочнице."
+
+#: i2p2www/pages/site/docs/plugins.html:151
+msgid ""
+"Updates of a plugin with included jars (not wars) won't be recognized if\n"
+"the plugin was already run, as it requires class loader trickery to flush"
+" the\n"
+"class cache; a full router restart is required."
+msgstr ""
+"Обновление плагина с jar-файлами (но не war) не будет распознано, если \n"
+"плагин уже запущен, т.к. для этого требуется, чтобы загрузчик классов "
+"сбросил \n"
+"кэш классов; необходим полный перезапуск маршрутизатора."
+
+#: i2p2www/pages/site/docs/plugins.html:157
+msgid "The stop button may be displayed even if there is nothing to stop."
+msgstr "Кнопка остановки может отображаться, даже если останавливать нечего."
+
+#: i2p2www/pages/site/docs/plugins.html:161
+msgid ""
+"Plugins running in a separate JVM create a <code>logs/</code> directory "
+"in\n"
+"<code>$CWD</code>."
+msgstr ""
+"Плагины, запущенные в отдельном JVM, создают директорию "
+"<code>logs/</code> в \n"
+"<code>$CWD</code>."
+
+#: i2p2www/pages/site/docs/plugins.html:166
+msgid ""
+"No initial keys are present, except for those of jrandom and zzz (using "
+"the\n"
+"same keys as for router update), so the first key seen for a signer is\n"
+"automatically accepted&mdash;there is no signing key authority."
+msgstr ""
+"Нет никаких первоначальных ключей, за исключением ключей jrandom и zzz "
+"(используются \n"
+"те же ключи, что и для обновления маршрутизатора), так что первый ключ, "
+"доступный для подписания, \n"
+"автоматически принимается&mdash;авторизация подписывающих ключей "
+"отсутствует."
+
+#: i2p2www/pages/site/docs/plugins.html:172
+msgid ""
+"When deleting a plugin, the directory is not always deleted, especially "
+"on\n"
+"Windows."
+msgstr ""
+"При удалении плагина директории не всегда удаляются, особенно в \n"
+"Windows."
+
+#: i2p2www/pages/site/docs/plugins.html:177
+msgid ""
+"Installing a plugin requiring Java 1.6 on a Java 1.5 machine will result "
+"in a\n"
+"\"plugin is corrupt\" message if pack200 compression of the plugin file "
+"is used."
+msgstr ""
+"При установке плагинов, требующих Java 1.6, на машине с Java 1.5 "
+"возникнет \n"
+"сообщение \"plugin is corrupt\", если используется pack200 сжатие плагина."
+
+#: i2p2www/pages/site/docs/plugins.html:182
+msgid "Theme and translation plugins are untested."
+msgstr "Темы и плагины переводов не тестируются."
+
+#: i2p2www/pages/site/docs/plugins.html:186
+msgid "Disabling autostart doesn't always work."
+msgstr "Отключение автоматического запуска не всегда срабатывает."
+
+#: i2p2www/pages/site/docs/ports.html:2
+msgid "Ports Used by I2P"
+msgstr "Порты, используемые I2P"
+
+#: i2p2www/pages/site/docs/ports.html:7
+msgid ""
+"These are the ports used or reserved by I2P, including those for known "
+"plugins,\n"
+"common alternates,\n"
+"and some typical related applications."
+msgstr ""
+"Ниже приведены порты, используемые или зарезервированные под нужды I2P, "
+"включая порты для \n"
+"известных плагинов, общих альтернатив \n"
+"и некоторых типичных связанных приложений."
+
+#: i2p2www/pages/site/docs/ports.html:13
+#, python-format
+msgid ""
+"Note that many of these are not enabled by default.\n"
+"There is more information in <a href=\"%(faq)s#ports\">the FAQ</a>.\n"
+"See also the documentation for individual plugins.\n"
+"Plugin authors please add any ports you use here.\n"
+"For new plugins, we recommend using the next available port\n"
+"in the 766x range."
+msgstr ""
+"Учтите, что многие из них не задействованы по умолчанию. \n"
+"Больше информации есть в <a href=\"%(faq)s#ports\">FAQ</a>. \n"
+"Также смотри документацию по конкретным плагинам. \n"
+"Авторы плагинов, пожалуйста, добавляйте сюда все используемые порты. \n"
+"Для новых плагинов мы рекомендуем использовать следующий доступный порт \n"
+"из диапазона 766x."
+
+#: i2p2www/pages/site/docs/ports.html:53
+msgid "recommended spot for new plugins/applications"
+msgstr "рекомендованный диапазон для новых плагинов/приложений"
+
+#: i2p2www/pages/site/docs/api/bob.html:2
+msgid "BOB - Basic Open Bridge"
+msgstr "BOB - Basic Open Bridge"
+
+#: i2p2www/pages/site/docs/api/bob.html:3
+#: i2p2www/pages/site/docs/api/datagrams.html:3
+#: i2p2www/pages/site/docs/how/garlic-routing.html:3
+#: i2p2www/pages/site/docs/protocol/index.html:3
+msgid "August 2010"
+msgstr "Август 2010"
+
+#: i2p2www/pages/site/docs/api/bob.html:5
+msgid "Technical differences from SAM (for the better?)"
+msgstr "Технические отличия от SAM (для улучшения?)"
+
+#: i2p2www/pages/site/docs/api/bob.html:7
+msgid ""
+"BOB has separate command and data channels. \n"
+"One, an application command channel socket to router to configure.\n"
+"Two, the application data sockets to/from router that carry only data.\n"
+"The command channel is only needed for making or setting the initial\n"
+"destination key, and to set the destination key to port bindings. \n"
+"All connections run in parallel."
+msgstr ""
+"BOB имеет раздельные каналы для команд и данных. \n"
+"Один - сокет канала команд приложения к маршрутизатору для настройки. \n"
+"Второй - сокеты данных приложения к/от маршрутизатора, только для "
+"передачи данных. \n"
+"Канал команд нужен только для создания или задания начального ключа "
+"пункта назначения, \n"
+"и для установки связи ключа пункта назначения и порта. \n"
+"Все соединения запускаются параллельно."
+
+#: i2p2www/pages/site/docs/api/bob.html:16
+msgid ""
+"SAM has one connection that does everything, and you need to parse every "
+"packet."
+msgstr ""
+"В SAM все выполняется через одно соединение, и вам приходится разбирать "
+"каждый пакет."
+
+#: i2p2www/pages/site/docs/api/bob.html:20
+msgid ""
+"BOB does not hold keypair values, nor does the router.\n"
+"Your application holds the keypair values. \n"
+"This is to reduce any extra complexity in the router code, it also adds "
+"to\n"
+"your privacy."
+msgstr ""
+"BOB не хранит значений пары ключей, как и маршрутизатор. \n"
+"Ваше приложение хранит значения пары ключей. \n"
+"Это сделано для уменьшения сложности кода маршрутизатор, \n"
+"это также добавляет вам приватности."
+
+#: i2p2www/pages/site/docs/api/bob.html:27
+msgid "SAM router stores every keypair you ever make."
+msgstr "Маршрутизатор SAM хранит все пары ключей когда либо созданные вами."
+
+#: i2p2www/pages/site/docs/api/bob.html:31
+msgid "Those are the important differences."
+msgstr "И это самые важные отличия."
+
+#: i2p2www/pages/site/docs/api/bob.html:35
+msgid "<code>KEYS</code> = keypair public+private, these are BASE64"
+msgstr "<code>KEYS</code> = пара ключей public+private, в виде BASE64"
+
+#: i2p2www/pages/site/docs/api/bob.html:38
+msgid "<code>KEY</code> = public key, also BASE64"
+msgstr "<code>KEY</code> = public ключ, также BASE64"
+
+#: i2p2www/pages/site/docs/api/bob.html:41
+#, fuzzy
+msgid ""
+"<code>ERROR</code> as is implied returns the message <code>\"ERROR "
+"\"+DESCRIPTION+\"\\n\"</code>, where the <code>DESCRIPTION</code> is what"
+" went wrong."
+msgstr ""
+"<code>ERROR</code> как и предполагается, возвращает сообщение "
+"<code>\"ERROR \"+DESCRIPTION+\"\n"
+"\"</code>, где <code>DESCRIPTION</code> это описание проблемы."
+
+#: i2p2www/pages/site/docs/api/bob.html:44
+msgid ""
+"<code>OK</code> returns <code>\"OK\"</code>, and if data is to be "
+"returned, it is on the same line. <code>OK</code> means the command is "
+"finished."
+msgstr ""
+"<code>OK</code> возвращает <code>\"OK\"</code>, и если есть возвращаемые "
+"данные, они буду расположены в этой же строке. <code>OK</code> означает, "
+"что команда выполнена."
+
+#: i2p2www/pages/site/docs/api/bob.html:47
+msgid ""
+"<code>DATA</code> lines contain information that you requested. There may"
+" be multiple <code>DATA</code> lines per request."
+msgstr ""
+"Строка <code>DATA</code> содержит информацию, которую вы запросили. Может"
+" быть несколько строк <code>DATA</code> на один запрос."
+
+#: i2p2www/pages/site/docs/api/bob.html:51
+msgid ""
+"<b>NOTE:</b> The help command is the ONLY command that has an exception "
+"to\n"
+"the rules... it can actually return nothing! This is intentional, since\n"
+"help is a HUMAN and not an APPLICATION command."
+msgstr ""
+"<b>Примечание:</b> Команда help - ЕДИНСТВЕННАЯ команда, для которой есть "
+"исключения из\n"
+"правил... Она может ничего не возвращать! Это сделано намеренно, "
+"поскольку \n"
+"help это команда для ЧЕЛОВЕКА, а не для ПРИЛОЖЕНИЯ."
+
+#: i2p2www/pages/site/docs/api/bob.html:57
+msgid ""
+"<b>PLEASE NOTE:</b>\n"
+"For CURRENT details on the commands PLEASE use the built-in help command."
+" \n"
+"Just telnet to localhost 2827 and type help and you can get full "
+"documentation on each command."
+msgstr ""
+"<b>ПОЖАЛУЙСТА УЧТИТЕ:</b>\n"
+"Для получения АКТУАЛЬНЫХ подробностей по командам ПОЖАЛУЙСТА используйте "
+"встроенную команду help.\n"
+"Просто подключитесь по telnet к localhost 2827 и введите help, и вы "
+"получите полную документацию по каждой команде."
+
+#: i2p2www/pages/site/docs/api/bob.html:63
+msgid ""
+"Commands never get obsoleted or changed, however new commands do get "
+"added from time to time."
+msgstr ""
+"Команды никогда не устаревают и не изменяются, тем не менее, новые "
+"команды время от времени появляются."
+
+#: i2p2www/pages/site/docs/api/bob.html:67
+msgid "Here are the commands we have as of this writing:"
+msgstr "Вот список команд, которые имеются на момент написания страницы:"
+
+#: i2p2www/pages/site/docs/api/bob.html:72
+msgid "COMMAND"
+msgstr "КОМАНДА"
+
+#: i2p2www/pages/site/docs/api/bob.html:72
+msgid "OPERAND"
+msgstr "ОПЕРАНД"
+
+#: i2p2www/pages/site/docs/api/bob.html:72
+msgid "RETURNS"
+msgstr "ВОЗВРАЩАЕТ"
+
+#: i2p2www/pages/site/docs/api/bob.html:99
+msgid ""
+"Once set up, all TCP sockets can and will block as needed, and there is "
+"no need for any \n"
+"additional messages to/from the command channel. This allows the router "
+"to pace the\n"
+"stream without exploding with OOM like SAM does as it chokes on "
+"attempting to shove \n"
+"many streams in or out one socket -- that can't scale when you have alot "
+"of connections!"
+msgstr ""
+"После установки все необходимые TCP сокеты могут и будут заблокированы, и"
+" нет необходимости в \n"
+"дополнительных сообщениях в/из канал команд. Это позволяет маршрутизатору"
+" проходить \n"
+"поток без разрыва с OOM, в отличие от SAM, который захлебывается при "
+"попытке впихнуть \n"
+"несколько потоков в или из одного сокета -- это не поддается "
+"масштабированию при наличии большого числа подключений!"
+
+#: i2p2www/pages/site/docs/api/bob.html:106
+msgid ""
+"What is also nice about this particular interface is that writing "
+"anything to interface \n"
+"to it, is much much easier than SAM. There is no other processing to do "
+"after the set up.\n"
+"It's configuration is so simple, that very simple tools, such as nc "
+"(netcat) can be used \n"
+"to point to some application. The value there is that one could schedule "
+"up and down times \n"
+"for an application, and not have to change the application to do that, or"
+" to even have \n"
+"to stop that application. Instead, you can literally \"unplug\" the "
+"destination, and \n"
+"\"plug it in\" again. As long as the same IP/port addresses and "
+"destination keys are used \n"
+"when bringing the bridge up, the normal TCP application won't care, and "
+"won't notice.\n"
+"It will simply be fooled -- the destinations are not reachable, and that "
+"nothing is coming in."
+msgstr ""
+"Есть еще одна замечательная вещь в этом специфическом интерфейсе - "
+"написать что угодно, подключающееся к нему, \n"
+"намного проще, чем к SAM. Не нужно делать ничего дополнительного после "
+"установки. \n"
+"Его настройка настолько проста, что любое просто средство, как например "
+"nc (netcat), можно использовать \n"
+"для указания на какое-то приложение. Смысле в том, что можно "
+"запланировать время запуска и остановки \n"
+"приложения, и для этого не нужно изменять его, или, даже, \n"
+"останавливать это приложение. Вместо этого вы можете буквально \"вынуть\""
+" пункт назначения, и \n"
+"\"вставить\" снова. Поскольку для восстановления моста используются та же"
+" пара IP/порт и ключи, \n"
+"то обычному приложению это не важно, и оно не будет даже об этом знать. \n"
+"Оно просто будет обмануто -- пункт назначения недоступен, и ничего не "
+"поступает на вход."
+
+#: i2p2www/pages/site/docs/api/bob.html:118
+msgid ""
+"For the following example, we'll setup a very simple local loopback "
+"connection, \n"
+"with two destinations. Destination \"mouth\" will be the CHARGEN service "
+"from \n"
+"the INET superserver daemon. Destination \"ear\" will be a local port "
+"that you\n"
+"can telnet into, and watch the pretty ASCII test puke forth."
+msgstr ""
+"В следующем примере мы установим очень простое закольцованное  локальное "
+"подключение \n"
+"с двумя пунктами назначения. Пунктом \"mouth\" будет служба CHARGEN \n"
+"демона суперсервера INET. Пунктом \"ear\" будет локальный порт, к "
+"которому \n"
+"вы можете подключиться по telnet и увидеть забавный тест с символами "
+"ASCII."
+
+#: i2p2www/pages/site/docs/api/bob.html:126
+msgid "EXAMPLE SESSION DIALOGUE -- simple telnet 127.0.0.1 2827 works"
+msgstr "ПРИМЕР ДИАЛОГА СЕССИИ -- простой telnet 127.0.0.1 2827 работает"
+
+#: i2p2www/pages/site/docs/api/bob.html:127
+msgid "Application"
+msgstr "Приложени"
+
+#: i2p2www/pages/site/docs/api/bob.html:128
+msgid "BOB's Command response."
+msgstr "Ответ команда от BOB"
+
+#: i2p2www/pages/site/docs/api/bob.html:130
+#: i2p2www/pages/site/docs/api/bob.html:142
+#: i2p2www/pages/site/docs/api/bob.html:162
+#: i2p2www/pages/site/docs/api/bob.html:270
+#: i2p2www/pages/site/docs/api/bob.html:282
+#: i2p2www/pages/site/docs/api/bob.html:297
+msgid "FROM"
+msgstr "ОТ"
+
+#: i2p2www/pages/site/docs/api/bob.html:130
+#: i2p2www/pages/site/docs/api/bob.html:142
+#: i2p2www/pages/site/docs/api/bob.html:162
+#: i2p2www/pages/site/docs/api/bob.html:270
+#: i2p2www/pages/site/docs/api/bob.html:282
+#: i2p2www/pages/site/docs/api/bob.html:297
+msgid "TO"
+msgstr "К"
+
+#: i2p2www/pages/site/docs/api/bob.html:130
+#: i2p2www/pages/site/docs/api/bob.html:142
+#: i2p2www/pages/site/docs/api/bob.html:162
+#: i2p2www/pages/site/docs/api/bob.html:270
+#: i2p2www/pages/site/docs/api/bob.html:282
+#: i2p2www/pages/site/docs/api/bob.html:297
+msgid "DIALOGUE"
+msgstr "ДИАЛОГ"
+
+#: i2p2www/pages/site/docs/api/bob.html:137
+msgid "MAKE NOTE OF THE ABOVE DESTINATION KEY, YOURS WILL BE DIFFERENT!"
+msgstr "ОБРАТИТЕ ВНИМАНИЕ НА КЛЮЧ НАЗНАЧЕНИЯ ВЫШЕ, ВАШ БУДЕТ ДРУГИМ!"
+
+#: i2p2www/pages/site/docs/api/bob.html:151
+msgid ""
+"At this point, there was no error, a destination with a nickname of "
+"\"mouth\" \n"
+"is set up. When you contact the destination provided, you actually "
+"connect \n"
+"to the <code>CHARGEN</code> service on <code>19/TCP</code>."
+msgstr ""
+"Пока что ошибки не было, пункт назначения с именем \"mouth\" \n"
+"установлен. Когда вы подключаетесь к указанному пункту, вы на самом деле"
+" \n"
+"соединяетесь со службой <code>CHARGEN</code> на порту <code>19/TCP</code>."
+
+#: i2p2www/pages/site/docs/api/bob.html:157
+msgid "Now for the other half, so that we can actually contact this destination."
+msgstr ""
+"А теперь вторая половина, мы на самом деле подключаемся к пункту "
+"назначения."
+
+#: i2p2www/pages/site/docs/api/bob.html:177
+msgid ""
+"Now all we need to do is telnet into 127.0.0.1, port 37337,\n"
+"send the destination key or host address from addressbook we want to "
+"contact.\n"
+"In this case, we want to contact \"mouth\", all we do is paste in the\n"
+"key and it goes."
+msgstr ""
+"Все что нам теперь осталось сделать - подключиться по telnet к 127.0.0.1 "
+"на порт 37337, отправить ключ пункта назначения или адрес узла из "
+"адресной книги, к которому мы хотим подключиться. \n"
+"В нашем случае, мы хотим подключиться к \"mouth\", мы вставляем \n"
+"ключ и понеслась."
+
+#: i2p2www/pages/site/docs/api/bob.html:184
+msgid ""
+"<b>NOTE:</b> The \"quit\" command in the command channel does NOT "
+"disconnect the tunnels like SAM."
+msgstr ""
+"<b>ПРИМЕЧАНИЕ:</b> Команда \"quit\" в канале команд НЕ выполняет разрыв "
+"соединения туннелей, как это делает SAM."
+
+#: i2p2www/pages/site/docs/api/bob.html:201
+msgid "After a few virtual miles of this spew, press <code>Control-]</code>"
+msgstr ""
+"После пары виртуальных километров этой отрыжки нажмите "
+"<code>Control-]</code>"
+
+#: i2p2www/pages/site/docs/api/bob.html:213
+msgid "Here is what happened..."
+msgstr "И вот что произошло..."
+
+#: i2p2www/pages/site/docs/api/bob.html:221
+msgid "You can connect to EEPSITES too!"
+msgstr "Также вы не можете подключиться к EEPSITE!"
+
+#: i2p2www/pages/site/docs/api/bob.html:254
+msgid ""
+"Pretty cool isn't it? Try some other well known EEPSITES if you like, "
+"nonexistent ones, \n"
+"etc, to get a feel for what kind of output to expect in different "
+"situations. \n"
+"For the most part, it is suggested that you ignore any of the error "
+"messages. \n"
+"They would be meaningless to the application, and are only presented for "
+"human debugging."
+msgstr ""
+"Прикольно, правда? Если хотите, попробуйте другие известные EEPSITE, "
+"несуществующие, \n"
+"и т.д., чтобы понять что можно ожидать на выходе в различных ситуациях. \n"
+"По большей части предполагается что вы игнорируете любые сообщения об "
+"ошибках. \n"
+"Они будут бессмысленными для приложения, и выводятся только для отладки "
+"человеком."
+
+#: i2p2www/pages/site/docs/api/bob.html:261
+msgid "Let's put down our destinations now that we are all done with them."
+msgstr ""
+"Давайте теперь отключим наши пункты назначения, т.к. мы уже с ними "
+"закончили."
+
+#: i2p2www/pages/site/docs/api/bob.html:265
+msgid "First, lets see what destination nicknames we have."
+msgstr "Для начала посмотрим какие имена пунктов у нас есть."
+
+#: i2p2www/pages/site/docs/api/bob.html:277
+msgid "Alright, there they are. First, let's remove \"mouth\"."
+msgstr "Отлично, вот и они. Сначала давайте уберем \"mouth\"."
+
+#: i2p2www/pages/site/docs/api/bob.html:291
+msgid ""
+"Now to remove \"ear\", note that this is what happens when you type too "
+"fast,\n"
+"and shows you what typical ERROR messages looks like."
+msgstr ""
+"Теперь уберем \"ear\", и вот что происходит когда вы печатаете слишком "
+"быстро, \n"
+"также вы увидите как выглядят типичные сообщения об ОШИБКАХ."
+
+#: i2p2www/pages/site/docs/api/bob.html:310
+msgid ""
+"I won't bother to show an example of the receiver end of a bridge\n"
+"because it is very simple. There are two possible settings for it, and\n"
+"it is toggled with the \"quiet\" command."
+msgstr ""
+"Я не стану показывать пример получателя моста, \n"
+"потому что это слишком просто. Для него есть два доступных режима, \n"
+"и они переключаются командой \"quiet\"."
+
+#: i2p2www/pages/site/docs/api/bob.html:316
+msgid ""
+"The default is NOT quiet, and the first data to come into your\n"
+"listening socket is the destination that is making the contact. It is a\n"
+"single line consisting of the BASE64 address followed by a newline.\n"
+"Everything after that is for the application to actually consume."
+msgstr ""
+"По умолчанию этот режим отключен, и первые данные, которые приходят на \n"
+"ваш слушающий сокет - это пункт назначения, который к вам подключается. \n"
+"Это одна строка, состоящая из BASE64 адреса, оканчивающаяся переводом "
+"строки. \n"
+"Все остальное после нее предназначено для обработки приложением."
+
+#: i2p2www/pages/site/docs/api/bob.html:323
+msgid ""
+"In quiet mode, think of it as a regular Internet connection. No\n"
+"extra data comes in at all. It's just as if you are plain connected to\n"
+"the regular Internet. This mode allows a form of transparency much like\n"
+"is available on the router console tunnel settings pages, so that you\n"
+"can use BOB to point a destination at a web server, for example, and\n"
+"you would not have to modify the web server at all."
+msgstr ""
+"Тихий режим можете себе представить в виде обычного интернет подключения."
+" \n"
+"Никаких дополнительных данных не приходит вовсе. Просто как будто вы "
+"подключились \n"
+"к обычному интернету. Этот режим предоставляет такую же форму "
+"прозрачности, какая \n"
+"доступна на странице настроек туннеля консоли маршрутизатора, и поэтому "
+"вы \n"
+"можете использовать BOB, например,  для указания пункта назначения на "
+"веб-сервере, \n"
+"и вам совсем не нужно изменять веб-сервер."
+
+#: i2p2www/pages/site/docs/api/bob.html:332
+msgid ""
+"The advantage with using BOB for this is as discussed\n"
+"previously. You could schedule random uptimes for the application,\n"
+"redirect to a different machine, etc. One use of this may be something\n"
+"like wanting to try to goof up router-to-destination upness guessing.\n"
+"You could stop and start the destination with a totally different\n"
+"process to make random up and down times on services. That way you\n"
+"would only be stopping the ability to contact such a service, and not\n"
+"have to bother shutting it down and restarting it. You could redirect\n"
+"and point to a different machine on your LAN while you do updates, or\n"
+"point to a set of backup machines depending on what is running, etc,\n"
+"etc. Only your imagination limits what you could do with BOB."
+msgstr ""
+"Преимущества использования BOB, как описано ранее. \n"
+"Вы можете запланировать произвольное время работы приложения, \n"
+"перенаправить а другую машину, и т.п. Одним из применений этого может "
+"быть \n"
+"желание попробовать испортить оценку доступности канала "
+"\"маршрутизатор\"-\"пункт назначения\". \n"
+"Вы можете опускать и поднимать пункт назначения совершенно другим \n"
+"способом, чтобы выполнять произвольную остановку и запуск службы. Таким "
+"методом вы \n"
+"будете только отключать возможность подключения к такой службе, и не "
+"будете \n"
+"вынуждены останавливать и перезапускать ее. Вы можете перенаправить \n"
+"или указать на другую машину в вашей LAN пока вы выполняете обновление, \n"
+"или указать на набор запасных машин, в зависимости от того что запущено, "
+"и т.д. \n"
+"Ваши возможности взаимодействия с BOB ограничены только вашим "
+"воображением."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:6
+msgid "Datagram Overview"
+msgstr "Обзор Дейтаграмм"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:7
+#, python-format
+msgid ""
+"Datagrams build upon the base <a href=\"%(i2cp)s\">I2CP</a> to provide "
+"authenticated\n"
+"and repliable messages in a standard format.  This lets applications "
+"reliably read\n"
+"the \"from\" address out of a datagram and know that the address really "
+"sent the\n"
+"message.  This is necessary for some applications since the base I2P "
+"message is\n"
+"completely raw - it has no \"from\" address (unlike IP packets).  In "
+"addition, the\n"
+"message and sender are authenticated by signing the payload."
+msgstr ""
+"Дейтаграммы строятся на основе <a href=\"%(i2cp)s\">I2CP</a>, и "
+"предоставляют аутентифицированные \n"
+"сообщения в стандартном формате, на которые можно ответить. Это позволяет"
+" приложениям читать \n"
+"достоверный адрес \"От\" в дейтаграмме, и узнать с какого адреса на самом"
+" деле \n"
+"отправлено сообщение. Это важно для некоторых приложений, поскольку "
+"базовое сообщение I2P \n"
+"не форматировано - в нем нет адреса \"от\" (как это есть в IP). Кроме "
+"того, \n"
+"сообщение и отправитель аутентифицируются по подписи на данных."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:16
+#, python-format
+msgid ""
+"Datagrams, like <a href=\"%(streaming)s\">streaming library packets</a>,\n"
+"are an application-level construct.\n"
+"These protocols are independent of the low-level <a "
+"href=\"%(transports)s\">transports</a>;\n"
+"the protocols are converted to I2NP messages by the router, and\n"
+"either protocol may be carried by either transport."
+msgstr ""
+"Дейтаграммы, как и <a href=\"%(streaming)s\">пакеты потоковой "
+"библиотеки</a>,\n"
+"являются конструкциями уровня приложения.\n"
+"Эти протоколы не зависят от низкоуровневого <a "
+"href=\"%(transports)s\">транспорта</a>;\n"
+"протоколы конвертируются маршрутизатором в сообщения I2NP, \n"
+"каждый протокол может передаваться любым транспортом."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:25
+msgid "Application Guide"
+msgstr "Руководство по Приложениям"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:26
+#, python-format
+msgid ""
+"Applications written in Java may use the \n"
+"<a href=\"%(url)s\">datagram API</a>,\n"
+"while applications in other languages \n"
+"can use <a href=\"%(sam)s\">SAM</a>'s datagram support.\n"
+"There is also limited support in i2ptunnel in the <a "
+"href=\"%(socks)s\">SOCKS proxy</a>,\n"
+"the 'streamr' tunnel types, and udpTunnel classes."
+msgstr ""
+"Приложения, написанные на Java, могут использовать \n"
+"<a href=\"%(url)s\">API дейтаграмм</a>, \n"
+"приложения на других языках \n"
+"могут использовать поддержку дейтаграмм <a href=\"%(sam)s\">SAM</a>'а. \n"
+"Также есть ограниченная поддержка в i2ptunnel в <a "
+"href=\"%(socks)s\">SOCKS proxy</a>, \n"
+"'streamr' типы туннеля и классы udpTunnel."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:37
+msgid "Datagram Length"
+msgstr "Длина Дейтаграммы"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:38
+msgid ""
+"The application designer should carefully consider the tradeoff of "
+"repliable vs. non-repliable\n"
+"datagrams. Also, the datagram size will affect reliability, due to tunnel"
+" fragmentation into 1KB\n"
+"tunnel messages. The more message fragments, the more likely that one of "
+"them will be dropped\n"
+"by an intermediate hop. Messages larger than a few KB are not "
+"recommended.\n"
+"Over about 10 KB, the delivery probablility drops dramatically.\n"
+"Messages over 16 KB cannot be delivered over NTCP, dropping delivery "
+"chances even more."
+msgstr ""
+"Проектировщик приложения должен хорошо понимать разницу между "
+"дейтаграммами с ответом \n"
+"и без оных. Также, размер дейтаграммы влияет на надежность, в виду "
+"фрагментации туннелем \n"
+"сообщений по 1 КБ. Чем больше сообщение фрагментируется, тем более "
+"вероятно, что одно из них будет потеряно \n"
+"на промежуточном прыжке. Сообщения размером более нескольких КБ не "
+"рекомендованы для использования. \n"
+"При размере более 10 КБ доставка, возможно, сильно ухудшится. \n"
+"Сообщения более 16 КБ не могут быть доставлены по NTCP, шансы сбоя "
+"доставки сильно увеличиваются."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:47
+#, python-format
+msgid ""
+"Also note that the various overheads added by lower layers, in particular"
+" asymmetric\n"
+"<a href=\"%(elgamalaes)s\">ElGamal/AES</a>, place a large burden on "
+"intermittent messages\n"
+"such as used by a Kademlia-over-UDP application. The implementations are "
+"currently tuned\n"
+"for frequent traffic using the streaming library. There are a high number"
+"\n"
+"of session tags delivered, and a short session tag lifetime, for example."
+"\n"
+"There are currently no configuration parameters available within I2CP to "
+"tune\n"
+"the ElGamal Session Tag parameters."
+msgstr ""
+"Также учитывайте, что различные накладные расходы добавляются на более "
+"низких уровнях, в ассиметричном \n"
+"алгоритме <a href=\"%(elgamalaes)s\">ElGamal/AES</a>, они создают большую"
+" нагрузку на прерывистые сообщения, \n"
+"как в приложении Kademlia-over-UDP. Сейчас реализация отлажена \n"
+"для часто встречающегося трафика с использованием потоковой библиотеки. "
+"Например, доставлено \n"
+"большое количество меток сессии и время жизни меток сессии мало. \n"
+"Сейчас нет конфигурации, доступной в I2CP, для настройки \n"
+"параметров меток сессии ElGamal."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:57
+msgid "I2CP Protocol Number and Ports"
+msgstr "Номер Протокола I2CP и Порты"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:58
+msgid ""
+"The standard I2CP protocol number for datagrams is PROTO_DATAGRAM (17).\n"
+"Applications may or may not choose to set the\n"
+"protocol in the I2CP header. It is not set by default.\n"
+"It must be set to demultiplex datagram and streaming traffic received on "
+"the same Destination."
+msgstr ""
+"Стандартный номер протокола I2CP для дейтаграмм - PROTO_DATAGRAM (17). \n"
+"Приложения могут указывать или не указывать протокол \n"
+"в заголовке I2CP. По умолчанию он не указан. \n"
+"Его нужно указать для демультиплексирования дейтаграммы и потокового "
+"трафика, полученных на одном пункте назначения."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:65
+#, python-format
+msgid ""
+"As datagrams are not connection-oriented, the application may require\n"
+"port numbers to correlate datagrams with particular peers or "
+"communications sessions,\n"
+"as is traditional with UDP over IP.\n"
+"Applications may add 'from' and 'to' ports to the I2CP (gzip) header as "
+"described in\n"
+"the <a href=\"%(i2cp)s#format\">I2CP page</a>."
+msgstr ""
+"Поскольку дейтаграммы не ориентированы на соединение, приложению может \n"
+"понадобиться номер порта для сопоставления дейтаграмм от определенных "
+"узлов или сессий подключения, \n"
+"как и в традиционном UDP над IP. \n"
+"Приложения могут добавить порты 'от' и 'к' в заголовок I2CP (gzip), как "
+"это описано на \n"
+"<a href=\"%(i2cp)s#format\">странице I2CP</a>."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:73
+#, python-format
+msgid ""
+"There is no method within the datagram API to specify whether it is non-"
+"repliable (raw)\n"
+"or repliable. The application should be designed to expect the "
+"appropriate type.\n"
+"The I2CP protocol number or port should be used by the application to\n"
+"indicate datagram type.\n"
+"The I2CP protocol numbers PROTO_DATAGRAM (signed) and PROTO_DATAGRAM_RAW "
+"are defined in the\n"
+"<a href=\"%(i2psession)s\">I2PSession API</a>\n"
+"for this purpose. A common design pattern in client/server datagram "
+"applications is to\n"
+"use signed datagrams for a request which includes a nonce, and use a raw "
+"datagram\n"
+"for the reply, returning the nonce from the request."
+msgstr ""
+"В API дейтаграмм нет возможности указать является ли она безответной "
+"(raw) \n"
+"или с возможностью ответа. Приложение должно быть само определять "
+"правильный тип. \n"
+"Номер протокола I2CP или порт могут быть использованы приложением \n"
+"для определения типа дейтаграммы. \n"
+"Для этой цели в <a href=\"%(i2psession)s\">I2PSession API</a> \n"
+"определены номера протокола I2CP - PROTO_DATAGRAM (подписанная) и "
+"PROTO_DATAGRAM_RAW. Общим принципом в приложениях клиент/сервер с "
+"дейтаграммами является \n"
+"использование подписанных дейтаграмм для запросов, которые содержат некие"
+" данные, и raw дейтаграммы \n"
+"для ответа, с обратной отправкой тех данных из запроса."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:85
+#, python-format
+msgid ""
+"The protocols and ports may be set in I2CP's\n"
+"<a href=\"%(i2psession)s\">I2PSession API</a>,\n"
+"as implemented in\n"
+"<a href=\"%(i2psessionmuxed)s\">I2PSessionMuxedImpl</a>."
+msgstr ""
+"Протоколы и порты могут быть настроены в \n"
+"<a href=\"%(i2psession)s\">I2PSession API</a> I2CP, \n"
+"как это реализовано в \n"
+"<a href=\"%(i2psessionmuxed)s\">I2PSessionMuxedImpl</a>."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:93
+#: i2p2www/pages/site/docs/api/streaming.html:381
+msgid "Data Integrity"
+msgstr "Целостность данных"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:94
+#, python-format
+msgid ""
+"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
+"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
+"There is no checksum field in the datagram protocol."
+msgstr ""
+"Целостность данных, гарантируемая проверкой gzip суммы CRC-32, "
+"реализована на \n"
+"<a href=\"%(i2cp)s#format\">уровне I2CP</a>. \n"
+"В протоколе дейтаграмм нет поля с проверочной суммой."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:100
+#: i2p2www/pages/site/docs/api/streaming.html:389
+msgid "Packet Encapsulation"
+msgstr "Инкапсуляция пакета"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:101
+#, python-format
+msgid ""
+"Each datagram is sent through I2P as a single message (or as an "
+"individual clove in a\n"
+"<a href=\"%(garlicrouting)s\">Garlic Message</a>).\n"
+"Message encapsulation is implemented in the underlying\n"
+"<a href=\"%(i2cp)s\">I2CP</a>,\n"
+"<a href=\"%(i2np)s\">I2NP</a>, and\n"
+"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers.\n"
+"There is no packet delimiter mechanism or length field in the datagram "
+"protocol."
+msgstr ""
+"Каждая дейтаграмма отправляется через I2P как отдельное сообщение (или "
+"отдельный зубчик в\n"
+"<a href=\"%(garlicrouting)s\">Чесночном Сообщении</a>).\n"
+"Инкапсуляция сообщения реализована в нижележащих уровнях \n"
+"<a href=\"%(i2cp)s\">I2CP</a>,\n"
+"<a href=\"%(i2np)s\">I2NP</a> и \n"
+"<a href=\"%(tunnelmessage)s\">туннельном сообщении</a>.\n"
+"В протоколе дейтаграмм нет механизма разделения пакетов или поля длины."
+
+#: i2p2www/pages/site/docs/api/datagrams.html:114
+#: i2p2www/pages/site/docs/spec/datagrams.html:10
+#: i2p2www/pages/site/docs/transport/ssu.html:570
+msgid "Specification"
+msgstr "Спецификация"
+
+#: i2p2www/pages/site/docs/api/datagrams.html:116
+msgid "See the Datagrams Specification page."
+msgstr "Смотри страницу Спецификации Дейтаграмм."
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:2
+msgid "I2PControl - Remote Control Service"
+msgstr "I2PControl - Служба Удаленного Управления"
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:4
+#, python-format
+msgid ""
+"I2P enables a <a href=\"http://en.wikipedia.org/wiki/JSON-"
+"RPC\">JSONRPC2</a> interface via the plugin <a "
+"href=\"%(itoopie)s\">I2PControl</a>.\n"
+"The aim of the interface is to provide simple way to interface with a "
+"running I2P node. A client, itoopie, has been developed in parallel.\n"
+"The JSONRPC2 implementation for the client as well as the plugin is "
+"provided by the java libraries <a href=\"http://software.dzhuvinov.com"
+"/json-rpc-2.0.html\">JSON-RPC 2.0</a>.  \n"
+"A list of implementations of JSON-RPC for various languages can be found "
+"at <a href=\"http://json-rpc.org/wiki/implementations\">the JSON-RPC "
+"wiki</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:11
+msgid "I2PControl is by default listening on localhost:7650"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:13
+msgid "API, version 1."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:14
+msgid "Parameters are only provided in a named way (maps)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:18
+msgid "JSON-RPC 2 format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:20
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:26
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:39
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:49
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:58
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:68
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:83
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:136
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:153
+msgid "Request:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:22
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:31
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:43
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:53
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:63
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:74
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:100
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:144
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:168
+msgid "Response:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:25
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:27
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:28
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:32
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:33
+#: i2p2www/pages/site/docs/protocol/i2cp.html:107
+#: i2p2www/pages/site/docs/protocol/i2cp.html:450
+#: i2p2www/pages/site/docs/spec/common-structures.html:15
+#: i2p2www/pages/site/docs/spec/common-structures.html:25
+#: i2p2www/pages/site/docs/spec/common-structures.html:36
+#: i2p2www/pages/site/docs/spec/common-structures.html:48
+#: i2p2www/pages/site/docs/spec/common-structures.html:63
+#: i2p2www/pages/site/docs/spec/common-structures.html:76
+#: i2p2www/pages/site/docs/spec/common-structures.html:89
+#: i2p2www/pages/site/docs/spec/common-structures.html:101
+#: i2p2www/pages/site/docs/spec/common-structures.html:130
+#: i2p2www/pages/site/docs/spec/common-structures.html:159
+#: i2p2www/pages/site/docs/spec/common-structures.html:188
+#: i2p2www/pages/site/docs/spec/common-structures.html:200
+#: i2p2www/pages/site/docs/spec/common-structures.html:212
+#: i2p2www/pages/site/docs/spec/common-structures.html:224
+#: i2p2www/pages/site/docs/spec/common-structures.html:380
+#: i2p2www/pages/site/docs/spec/common-structures.html:463
+#: i2p2www/pages/site/docs/spec/common-structures.html:516
+#: i2p2www/pages/site/docs/spec/common-structures.html:571
+#: i2p2www/pages/site/docs/spec/common-structures.html:616
+#: i2p2www/pages/site/docs/spec/common-structures.html:753
+#: i2p2www/pages/site/docs/spec/common-structures.html:815
+msgid "Description"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:29
+msgid ""
+"Token used for authenticating every request (excluding the 'Authenticate'"
+" RPC method)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:37
+msgid "Implemented methods"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:38
+msgid ""
+"Creates and returns an authentication token used for further "
+"communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:40
+msgid "The version of the I2PControl API used by the client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:41
+msgid "The password used for authenticating against the remote server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:44
+msgid "The primary I2PControl API version implemented by the server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:45
+msgid "The token used for further communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:48
+msgid "Echoes the value of the echo key, used for debugging and testing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:50
+msgid "Value will be returned in response."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:51
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:61
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:72
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:98
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:142
+msgid ""
+"Token used for authenticating the client. Is provided by the server via "
+"the 'Authenticate' RPC method."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:54
+msgid "Value of the key 'echo' in the request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:57
+msgid ""
+"Fetches rateStat from router statManager. Creates stat if not already "
+"created."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:59
+#, python-format
+msgid ""
+"Determines which rateStat to fetch, see <a "
+"href=\"%(ratestats)s\">ratestats</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:60
+msgid "Determines which period a stat is fetched for. Measured in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:64
+msgid "Returns the average value for the reuested rateStat and period."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:67
+msgid "Manages I2PControl. Ports, passwords and the like."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:69
+msgid ""
+"Sets a new listen address for I2PControl (only 127.0.0.1 and 0.0.0.0 are "
+"implemented in I2PControl currently)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:70
+msgid ""
+"Sets a new password for I2PControl, all Authentication tokens will be "
+"revoked."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:71
+msgid "Switches which port I2PControl will listen for connections on."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:75
+msgid "Returned if address was changed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:76
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:77
+msgid "Returned if setting was changed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:78
+msgid "Returns true if any changes were made."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:79
+msgid "Returns true if any changes requiring a restart to take effect were made."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:82
+msgid "Fetches basic information about the I2P router. Uptime, version etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:101
+msgid "What the status of the router is."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:102
+msgid "What the uptime of the router is in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:103
+msgid "What version of I2P the router is running."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:104
+msgid "The 1 second average inbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:105
+msgid "The 15 second average inbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:106
+msgid "The 1 second average outbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:107
+msgid "The 15 second average outbound bandwidth in Bps."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:108
+msgid "What the current network status is. According to the below enum:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:127
+msgid "How many tunnels on the I2P net are we participating in."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:128
+msgid "How many peers have we communicated with recently."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:129
+msgid "How many peers are considered 'fast'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:130
+msgid "How many peers are considered 'high capacity'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:131
+msgid "Is the router reseeding hosts to its NetDB?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:132
+msgid "How many peers are known to us (listed in our NetDB)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:135
+msgid "Manages I2P router restart/shutdown."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:137
+msgid ""
+"Initiates a router reseed, fetching peers into our NetDB from a remote "
+"host."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:138
+msgid "Restarts the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:139
+msgid ""
+"Restarts the router gracefully (waits for participating tunnels to "
+"expire)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:140
+msgid "Shuts down the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:141
+msgid ""
+"Shuts down the router gracefully (waits for participating tunnels to "
+"expire)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:145
+msgid "If requested, verifies that a reseed has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:146
+msgid "If requested, verifies that a restart has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:147
+msgid "If requested, verifies that a graceful restart has been initiated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:148
+msgid "If requested, verifies that a shutdown has been initiated"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:149
+msgid "If requested, verifies that a graceful shutdown has been initiated"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:152
+msgid "Fetches or sets various network related settings. Ports, addresses etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:154
+msgid ""
+"What port is used for the TCP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:155
+msgid ""
+"What hostname is used for the TCP transport. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:156
+msgid ""
+"Use automatically detected ip for TCP transport. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:157
+msgid ""
+"What port is used for the UDP transport. If null is submitted, current "
+"setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:158
+msgid ""
+"What hostname is used for the UDP transport. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:159
+msgid ""
+"Which methods should be used for detecting the ip address of the UDP "
+"transport. If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:160
+msgid "What ip has been detected by the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:161
+msgid "Is UPnP enabled. If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:162
+msgid ""
+"How many percent of bandwidth is usable for participating tunnels. If "
+"null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:163
+msgid ""
+"How many KB/s of inbound bandwidth is allowed. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:164
+msgid ""
+"How many KB/s of outbound bandwidth is allowed. If null is submitted, "
+"current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:165
+msgid ""
+"Is laptop mode enabled (change router identity and UDP port when IP "
+"changes ). If null is submitted, current setting will be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:166
+msgid ""
+"Token used for authenticating the client. Is provided by the server via "
+"the 'Authenticate' RPC method. If null is submitted, current setting will"
+" be returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:169
+msgid "If requested, returns the port used for the TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:170
+msgid "If requested, returns the hostname used for the TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:171
+msgid ""
+"If requested, returns the method used for automatically detecting ip for "
+"the TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:172
+msgid "If requested, returns the port used for the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:173
+msgid "If requested, returns the hostname used for the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:174
+msgid ""
+"If requested, returns methods used for detecting the ip address of the "
+"UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:175
+msgid "If requested, returns what ip has been detected by the UDP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:176
+msgid "If requested, returns the UPNP setting."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:177
+msgid ""
+"If requested, returns how many percent of bandwidth is usable for "
+"participating tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:178
+msgid "If requested, returns how many KB/s of inbound bandwidth is allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:179
+msgid "If requested, returns how many KB/s of outbound bandwidth is allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:180
+msgid "If requested, returns the laptop mode."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:181
+msgid "Have the provided settings been saved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:182
+msgid "Is a restart needed for the new settings to be used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:185
+msgid "denotes an optional value."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:186
+msgid "denotes a possibly occuring return value"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:188
+msgid "Error codes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:189
+msgid "Standard JSON-RPC2 error codes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:190
+msgid "JSON parse error."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:191
+msgid "Invalid request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:192
+msgid "Method not found."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:193
+msgid "Invalid parameters."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:194
+msgid "Internal error."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:196
+msgid "I2PControl specific error codes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:197
+msgid "Invalid password provided."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:198
+msgid "No authentication token presented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:199
+msgid "Authentication token doesn't exist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:200
+msgid "The provided authentication token was expired and will be removed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:201
+msgid ""
+"The version of the I2PControl API used wasn't specified, but is required "
+"to be specified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2pcontrol.html:202
+msgid ""
+"The version of the I2PControl API specified is not supported by "
+"I2PControl."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:12
+#, python-format
+msgid ""
+"I2PTunnel is a tool for interfacing with and providing services on I2P.\n"
+"Destination of an I2PTunnel can be defined using a <a "
+"href=\"%(naming)s\">hostname</a>,\n"
+"<a href=\"%(naming)s#base32\">Base32</a>, or a full 516-byte destination "
+"key.\n"
+"An established I2PTunnel will be available on your client machine as "
+"localhost:port.\n"
+"If you wish to provide a service on I2P network, you simply create "
+"I2PTunnel to the\n"
+"appropriate ip_address:port. A corresponding 516-byte destination key "
+"will be generated\n"
+"for the service and it will become avaliable throughout I2P.\n"
+"A web interface for I2PTunnel management is avaliable on\n"
+"<a "
+"href=\"http://localhost:7657/i2ptunnel/\">localhost:7657/i2ptunnel/</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:24
+msgid "Default Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:25
+msgid "Server tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:27
+msgid ""
+"<b>I2P Webserver</b> - A tunnel pointed to a Jetty webserver run\n"
+"on <a href=\"http://localhost:7658\">localhost:7658</a> for convenient "
+"and quick hosting on I2P.\n"
+"<br>The document root is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:35
+msgid "Client tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:37
+msgid ""
+"A HTTP proxy used for browsing I2P and the regular internet anonymously "
+"through I2P. \n"
+"Browsing internet through I2P uses a random proxy specified by the "
+"\"Outproxies:\" option."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:41
+msgid "An IRC tunnel to the default anonymous IRC network, Irc2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:42
+#, python-format
+msgid ""
+"The anonymous <a href=\"%(monotone)s\">monotone</a>\n"
+"sourcecode repository for I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:46
+#, python-format
+msgid ""
+"A SMTP service provided by postman at <a "
+"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:49
+#, python-format
+msgid ""
+"The accompanying POP sevice of postman at <a "
+"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:54
+msgid "Client Modes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:137
+msgid "Standard"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:56
+msgid ""
+"Opens a local TCP port that connects to a service (like HTTP, FTP or "
+"SMTP) on a destination inside of I2P.\n"
+"The tunnel is directed to a random host from the comma seperated (\", \")"
+" list of destinations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:62
+msgid ""
+"A HTTP-client tunnel. The tunnel connects to the destination specified by"
+" the URL\n"
+"in a HTTP request. Supports proxying onto internet if an outproxy is "
+"provided. Strips HTTP connections of the following headers:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:67
+msgid ""
+"<b>Accept, Accept-Charset, Accept-Encoding, Accept-Language\n"
+" and Accept-Ranges</b> as they vary greatly between browsers and can be "
+"used as an identifier."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:75
+msgid ""
+"HTTP client/server tunnels are via I2Ptunnel force-enabling compression "
+"via the following http headers:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:82
+msgid ""
+"Depending on if the tunnel is using an outproxy or not it will append the"
+" following User-Agent:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:86
+msgid "Outproxy:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:87
+msgid "Internal I2P use:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:92
+msgid ""
+"Creates a connection to a random IRC server specified by the comma "
+"seprated (\", \") \n"
+"list of destinations. Only a whitelisted subset of IRC commands are "
+"allowed due to anonymity concerns."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:96
+msgid "Whitelist:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:111
+msgid "Enables using the I2P router as a SOCKS proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:116
+msgid ""
+"Enables using the I2P router as a SOCKS proxy with the command whitelist "
+"specified by\n"
+"<a href=\"#client-mode-irc\">IRC</a> client mode."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:122
+msgid ""
+"Creates a HTTP tunnel and uses the HTTP request method \"CONNECT\" \n"
+"to build a TCP tunnel that usually is used for SSL and HTTPS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:128
+msgid ""
+"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr "
+"client tunnel will \n"
+"subscribe to a streamr server tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:136
+msgid "Server Modes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:138
+msgid "Creates a destination to a local ip:port with an open TCP port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:143
+msgid ""
+"Creates a destination to a local HTTP server ip:port. Supports gzip for "
+"requests with \n"
+"Accept-encoding: x-i2p-gzip, replies with Content-encoding: x-i2p-gzip in"
+" such a request."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:149
+msgid ""
+"Functions as both a I2PTunnel HTTP Server, and a I2PTunnel HTTP client "
+"with no outproxying\n"
+"capabilities. An example application would be a web application that does"
+" client-type\n"
+"requests, or loopback-testing an eepsite as a diagnostic tool."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:156
+msgid ""
+"Creates a destination that filters the reqistration sequence of a client "
+"and passes \n"
+"the clients destination key as a hostname to the IRC-server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/i2ptunnel.html:162
+msgid ""
+"A UDP-client that connects to a media server is created. The UDP-Client "
+"is coupled with a Streamr server I2PTunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:2
+#: i2p2www/pages/site/docs/api/ministreaming.html:17
+msgid "Ministreaming Library"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:5
+msgid "Note"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:7
+#, python-format
+msgid ""
+"The ministreaming library has been enhanced and extended by the\n"
+"\"full\" <a href=\"%(streaming)s\">streaming library</a>.\n"
+"Ministreaming is deprecated and is incompatible with today's "
+"applications.\n"
+"The following documentation is old.\n"
+"Also note that streaming extends ministreaming in the same Java package "
+"(net.i2p.client.streaming),\n"
+"so the current <a href=\"%(api)s\">API documentation</a> contains both.\n"
+"Obsolete ministreaming classes and methods are clearly marked as "
+"deprecated in the Javadocs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:19
+#, python-format
+msgid ""
+"\n"
+"The ministreaming library is a layer on top of the core \n"
+"<a href=\"%(i2cp)s\">I2CP</a> that allows reliable, in order, and "
+"authenticated streams\n"
+"of messages to operate across an unreliable, unordered, and "
+"unauthenticated \n"
+"message layer.  Just like the TCP to IP relationship, this streaming \n"
+"functionality has a whole series of tradeoffs and optimizations "
+"available, but\n"
+"rather than embed that functionality into the base I2P code, it has been "
+"factored\n"
+"off into its own library both to keep the TCP-esque complexities separate"
+" and to\n"
+"allow alternative optimized implementations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:30
+#, python-format
+msgid ""
+"The ministreaming library was written by mihi as a part of his \n"
+"<a href=\"%(i2ptunnel)s\">I2PTunnel</a> application and then factored out"
+" and released\n"
+"under the BSD license.  It is called the \"mini\"streaming library "
+"because it makes\n"
+"some simplifications in the implementation, while a more robust streaming"
+" library\n"
+"could be further optimized for operation over I2P.  The two main issues "
+"with \n"
+"the ministreaming library are its use of the traditional TCP two phase \n"
+"establishment protocol and the current fixed window size of 1.  The "
+"establishment\n"
+"issue is minor for long lived streams, but for short ones, such as quick "
+"HTTP\n"
+"requests, the impact can be <a href=\"%(minwww)s\">significant</a>.  As "
+"for the window\n"
+"size, the ministreaming library doesn't maintain any ID or ordering "
+"within the \n"
+"messages sent (or include any application level ACK or SACK), so it must "
+"wait \n"
+"on average twice the time it takes to send a message before sending "
+"another."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/ministreaming.html:45
+#, python-format
+msgid ""
+"Even with those issues, the ministreaming library performs quite well in "
+"many\n"
+"situations, and its <a href=\"%(api)s\">API</a>\n"
+"is both quite simple and capable of remaining unchanged as different "
+"streaming\n"
+"implementations are introduced.  The library is deployed in its own \n"
+"ministreaming.jar.\n"
+"Developers in Java who would like to use it can\n"
+"access the API directly, while developers in other languages can use it "
+"through\n"
+"<a href=\"%(samv3)s\">SAM</a>'s streaming support."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:4
+msgid "SOCKS and SOCKS proxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:5
+msgid ""
+"\n"
+"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are "
+"supported.\n"
+"Enable SOCKS by creating a SOCKS client tunnel in i2ptunnel.\n"
+"Both shared-clients and non-shared are supported.\n"
+"There is no SOCKS outproxy so it is of limited use."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:12
+#, python-format
+msgid ""
+"\n"
+"As it says on the <a href=\"%(faq)s#socks\">FAQ</a>:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:15
+msgid ""
+"Many applications leak sensitive\n"
+"information that could identify you on the Internet. I2P only filters\n"
+"connection data, but if the program you intend to run sends this\n"
+"information as content, I2P has no way to protect your anonymity.  For\n"
+"example, some mail applications will send the IP address of the machine\n"
+"they are running on to a mail server. There is no way for I2P to filter\n"
+"this, thus using I2P to 'socksify' existing applications is possible, but"
+"\n"
+"extremely dangerous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:25
+msgid "And quoting from a 2005 email:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:28
+msgid ""
+"... there is a reason why human and\n"
+"others have both built and abandoned the SOCKS proxies.  Forwarding\n"
+"arbitrary traffic is just plain unsafe, and it behooves us as\n"
+"developers of anonymity and security software to have the safety of\n"
+"our end users foremost in our minds."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:36
+msgid ""
+"Hoping that we can simply strap an arbitrary client on top of I2P\n"
+"without auditing both its behavior and its exposed protocols for\n"
+"security and anonymity is naive.  Pretty much *every* application\n"
+"and protocol violates anonymity, unless it was designed for it\n"
+"specifically, and even then, most of those do too.  That's the\n"
+"reality.  End users are better served with systems designed for\n"
+"anonymity and security.  Modifying existing systems to work in\n"
+"anonymous environments is no small feat, orders of magnitude more\n"
+"work that simply using the existing I2P APIs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:48
+msgid ""
+"The SOCKS proxy\n"
+"supports standard addressbook names, but not Base64 destinations.\n"
+"Base32 hashes should work as of release 0.7.\n"
+"It supports outgoing connections only, i.e. an I2PTunnel Client.\n"
+"UDP support is stubbed out but not working yet.\n"
+"Outproxy selection by port number is stubbed out."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:57
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:281
+msgid "See Also"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:59
+#, python-format
+msgid ""
+"The notes for <a href=\"%(meeting81)s\">Meeting 81</a> and\n"
+"<a href=\"%(meeting82)s\">Meeting 82</a> in March 2004."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:69
+msgid "If You Do Get Something Working"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/socks.html:70
+msgid ""
+"Please let us know. And please provide substantial warnings about the\n"
+"risks of socks proxies."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:8
+#, python-format
+msgid ""
+"The streaming library is technically part of the \"application\" layer,\n"
+"as it is not a core router function.\n"
+"In practice, however, it provides a vital function for almost all\n"
+"existing I2P applications, by providing a TCP-like\n"
+"streams over I2P, and allowing existing apps to be easily ported to I2P.\n"
+"The other end-to-end transport library for client communication is the\n"
+"<a href=\"%(datagrams)s\">datagram library</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:18
+#, python-format
+msgid ""
+"The streaming library is a layer on top of the core \n"
+"<a href=\"%(i2cp)s\">I2CP API</a> that allows reliable, in-order, and "
+"authenticated streams\n"
+"of messages to operate across an unreliable, unordered, and "
+"unauthenticated \n"
+"message layer.  Just like the TCP to IP relationship, this streaming \n"
+"functionality has a whole series of tradeoffs and optimizations "
+"available, but\n"
+"rather than embed that functionality into the base I2P code, it has been "
+"factored\n"
+"off into its own library both to keep the TCP-esque complexities separate"
+" and to\n"
+"allow alternative optimized implementations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:29
+msgid ""
+"In consideration of the relatively high cost of messages, \n"
+"the streaming library's protocol for scheduling and delivering those "
+"messages has been optimized to\n"
+"allow individual messages passed to contain as much information as is "
+"available.\n"
+"For instance, a small HTTP transaction proxied through the streaming "
+"library can\n"
+"be completed in a single round trip - the first messages bundle a SYN, "
+"FIN, and\n"
+"the small HTTP request payload, and the reply bundles the SYN,\n"
+"FIN, ACK, and the HTTP response payload.  While an additional\n"
+"ACK must be transmitted to tell the HTTP server that the SYN/FIN/ACK has "
+"been\n"
+"received, the local HTTP proxy can often deliver the full response to the"
+" browser \n"
+"immediately."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:42
+msgid ""
+"The streaming library bears much resemblance to an \n"
+"abstraction of TCP, with its sliding windows, congestion control "
+"algorithms\n"
+"(both slow start and congestion avoidance), and general packet behavior "
+"(ACK,\n"
+"SYN, FIN, RST, rto calculation, etc)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:49
+msgid ""
+"The streaming library is\n"
+"a robust library\n"
+"which is optimized for operation over I2P.\n"
+"It has a one-phase setup, and\n"
+"it contains a full windowing implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:58
+msgid "API"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:60
+#, python-format
+msgid ""
+"The streaming library API provides a standard socket paradigm to Java "
+"applications.\n"
+"The lower-level <a href=\"%(i2cp)s\">I2CP</a> API is completely hidden, "
+"except that\n"
+"applications may pass <a href=\"%(i2cp)s#options\">I2CP parameters</a> "
+"through the\n"
+"streaming library, to be interpreted by I2CP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:67
+#, python-format
+msgid ""
+"The standard interface to the streaming lib is for the application to use"
+" the\n"
+"<a href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a> to create an\n"
+"<a href=\"%(i2psktm)s\">I2PSocketManager</a>. The application then asks "
+"the\n"
+"socket manager for an <a href=\"%(i2psess)s\">I2PSession</a>, which will "
+"cause\n"
+"a connection to the router via <a href=\"%(i2cp)s\">I2CP</a>. The "
+"application\n"
+"can then setup connections with an <a href=\"%(i2pskt)s\">I2PSocket</a> "
+"or\n"
+"receive connections with an <a href=\"%(i2psskt)s\">I2PServerSocket</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:82
+#, python-format
+msgid "Here are the <a href=\"%(url)s\">full streaming library Javadocs</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:86
+msgid "For a good example of usage, see the i2psnark code."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:91
+msgid "Options and Defaults"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:92
+#, python-format
+msgid ""
+"The options and current default values are listed below.\n"
+"Options are case-sensitive and may be set for the whole router, for a "
+"particular client, or for an individual socket on a\n"
+"per-connection basis.\n"
+"Many values are tuned for HTTP performance over typical I2P conditions. "
+"Other applications such\n"
+"as peer-to-peer services are strongly encouraged to\n"
+"modify as necessary, by setting the options and passing them via the call"
+" to\n"
+"<a "
+"href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a>.createManager(_i2cpHost,"
+" _i2cpPort, opts).\n"
+"Time values are in ms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:103
+#, python-format
+msgid ""
+"Note that higher-layer APIs, such as <a href=\"%(samv3)s\">SAM</a>,\n"
+"<a href=\"%(bob)s\">BOB</a>, and <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,"
+"\n"
+"may override these defaults with their own defaults.\n"
+"Also note that many options only apply to servers listening for incoming "
+"connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:110
+msgid ""
+"As of release 0.9.1, most, but not all, options may be changed on an "
+"active socket manager or session.\n"
+"See the javadocs for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/protocol/i2cp.html:102
+#: i2p2www/pages/site/docs/protocol/i2cp.html:445
+msgid "Option"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/protocol/i2cp.html:106
+#: i2p2www/pages/site/docs/protocol/i2cp.html:449
+msgid "Default"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:117
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:267
+#: i2p2www/pages/site/docs/how/peer-selection.html:282
+#: i2p2www/pages/site/docs/spec/common-structures.html:57
+#: i2p2www/pages/site/docs/spec/common-structures.html:254
+#: i2p2www/pages/site/docs/spec/common-structures.html:410
+#: i2p2www/pages/site/docs/spec/common-structures.html:504
+#: i2p2www/pages/site/docs/spec/common-structures.html:605
+#: i2p2www/pages/site/docs/spec/common-structures.html:713
+#: i2p2www/pages/site/docs/spec/common-structures.html:791
+#: i2p2www/pages/site/docs/spec/common-structures.html:899
+#: i2p2www/pages/site/docs/spec/datagrams.html:30
+#: i2p2www/pages/site/docs/spec/datagrams.html:89
+msgid "Notes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:119
+msgid ""
+"Comma- or space-separated list of Base64 peer Hashes used for either "
+"access list or blacklist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:121
+#: i2p2www/pages/site/docs/api/streaming.html:127
+#: i2p2www/pages/site/docs/api/streaming.html:133
+#: i2p2www/pages/site/docs/api/streaming.html:140
+#: i2p2www/pages/site/docs/api/streaming.html:152
+#: i2p2www/pages/site/docs/api/streaming.html:163
+#: i2p2www/pages/site/docs/api/streaming.html:192
+#: i2p2www/pages/site/docs/api/streaming.html:200
+#: i2p2www/pages/site/docs/api/streaming.html:220
+#: i2p2www/pages/site/docs/api/streaming.html:237
+#: i2p2www/pages/site/docs/api/streaming.html:249
+#: i2p2www/pages/site/docs/api/streaming.html:255
+#: i2p2www/pages/site/docs/api/streaming.html:261
+#: i2p2www/pages/site/docs/api/streaming.html:275
+#: i2p2www/pages/site/docs/api/streaming.html:282
+#: i2p2www/pages/site/docs/api/streaming.html:289
+#: i2p2www/pages/site/docs/api/streaming.html:314
+#: i2p2www/pages/site/docs/api/streaming.html:321
+#: i2p2www/pages/site/docs/api/streaming.html:328
+#, python-format
+msgid "As of release %(release)s."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:125
+msgid "Use the access list as a whitelist for incoming connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:131
+msgid "Use the access list as a blacklist for incoming connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:145
+msgid "Whether to respond to incoming pings"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:157
+msgid ""
+"Comma- or space-separated list of Base64 peer Hashes to be\n"
+"blacklisted for incoming connections to ALL destinations in the context.\n"
+"This option must be set in the context properties, NOT in the "
+"createManager() options argument.\n"
+"Note that setting this in the router context will not affect clients "
+"outside the\n"
+"router in a separate JVM and context."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:167
+msgid ""
+"How much transmit data (in bytes) will be accepted that hasn't been "
+"written out yet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:171
+msgid ""
+"When we're in congestion avoidance, we grow the window size at the rate\n"
+"of <code>1/(windowSize*factor)</code>.  In standard TCP, window sizes are"
+" in bytes,\n"
+"while in I2P, window sizes are in messages.\n"
+"A higher number means slower growth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:178
+msgid ""
+"How long to wait after instantiating a new con \n"
+"before actually attempting to connect.  If this is\n"
+"&lt;= 0, connect immediately with no initial data.  If greater than 0, "
+"wait\n"
+"until the output stream is flushed, the buffer fills, \n"
+"or that many milliseconds pass, and include any initial data with the SYN."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:186
+msgid ""
+"How long to block on connect, in milliseconds. Negative means "
+"indefinitely. Default is 5 minutes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:190
+msgid ""
+"Whether to disable warnings in the logs when an incoming connection is "
+"rejected due to connection limits."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:196
+msgid ""
+"Whether to listen only for the streaming protocol.\n"
+"Setting to true will prohibit communication with Destinations earlier "
+"than release 0.7.1\n"
+"(released March 2009). Set to true if running multiple protocols on this "
+"Destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:204
+msgid ""
+"(0=noop, 1=disconnect)\n"
+"What to do on an inactivity timeout - do nothing, disconnect, or send a "
+"duplicate ack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:212
+msgid ""
+"The initial value of the resend delay field in the packet header, times "
+"1000.\n"
+"Not fully implemented; see below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:217
+msgid ""
+"Initial timeout\n"
+"(if no <a href=\"#sharing\">sharing data</a> available)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:224
+msgid ""
+"Initial round trip time estimate\n"
+"(if no <a href=\"#sharing\">sharing data</a> available).\n"
+"Disabled as of release 0.9.8; uses actual RTT."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:230
+msgid "if no <a href=\"#sharing\">sharing data</a> available"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:230
+msgid ""
+"In standard TCP, window sizes are in bytes, while in I2P, window sizes "
+"are in messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:242
+msgid ""
+"(0 or negative value means unlimited)\n"
+"This is a total limit for incoming and outgoing combined."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:247
+msgid "Incoming connection limit (per peer; 0 means disabled)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:253
+#: i2p2www/pages/site/docs/api/streaming.html:259
+msgid "(per peer; 0 means disabled)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:265
+msgid "The MTU in bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:269
+msgid "Maximum number of retransmissions before failure."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:273
+msgid "Incoming connection limit (all peers; 0 means disabled)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:279
+#: i2p2www/pages/site/docs/api/streaming.html:286
+msgid ""
+"(all peers; 0 means disabled)\n"
+"Use with caution as exceeding this will disable a server for a long time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:295
+msgid ""
+"(2=interactive not supported)\n"
+"This doesn't currently do anything, but setting it to a value other than "
+"1 will cause an error."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:300
+msgid "How long to block on read, in milliseconds. Negative means indefinitely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:304
+msgid ""
+"When we're in slow start, we grow the window size at the rate\n"
+"of 1/(factor).  In standard TCP, window sizes are in bytes,\n"
+"while in I2P, window sizes are in messages.\n"
+"A higher number means slower growth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:311
+#: i2p2www/pages/site/docs/api/streaming.html:318
+#: i2p2www/pages/site/docs/api/streaming.html:325
+msgid ""
+"Ref: RFC 2140. Floating point value.\n"
+"May be set only via context properties, not connection options."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:332
+msgid ""
+"How long to block on write/flush, in milliseconds. Negative means "
+"indefinitely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:340
+#: i2p2www/pages/site/docs/spec/streaming.html:10
+msgid "Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:342
+msgid "See the Streaming Library Specification page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:346
+msgid "Implementation Details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:348
+msgid "Setup"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:349
+msgid ""
+"The initiator sends a packet with the SYNCHRONIZE flag set. This packet "
+"may contain the initial data as well.\n"
+"The peer replies with a packet with the SYNCHRONIZE flag set. This packet"
+" may contain the initial response data as well."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:354
+msgid ""
+"The initiator may send additional data packets, up to the initial window "
+"size, before receiving the SYNCHRONIZE response.\n"
+"These packets will also have the send Stream ID field set to 0.\n"
+"Recipients must buffer packets received on unknown streams for a short "
+"period of time, as they may\n"
+"arrive out of order, in advance of the SYNCHRONIZE packet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:361
+msgid "MTU Selection and Negotiation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:362
+msgid ""
+"The maximum message size (also called the MTU / MRU) is negotiated to the"
+" lower value supported by\n"
+"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection"
+" will lead to\n"
+"a large amount of overhead.\n"
+"The MTU is specified by the option i2p.streaming.maxMessageSize.\n"
+"The current default MTU of 1730 was chosen to fit precisely into two 1K "
+"I2NP tunnel messages,\n"
+"including overhead for the typical case."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:371
+msgid ""
+"The first message in a connection includes a 387 byte (typical) "
+"Destination added by the streaming layer,\n"
+"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in "
+"the Garlic message by the router.\n"
+"(The LeaseSet and Session Keys will not be bundled if an ElGamal Session "
+"was previously established).\n"
+"Therefore, the goal of fitting a complete HTTP request in a single 1KB "
+"I2NP message is not always attainable.\n"
+"However, the selection of the MTU, together with careful implementation "
+"of fragmentation\n"
+"and batching strategies in the tunnel gateway processor, are important "
+"factors in network bandwidth,\n"
+"latency, reliability, and efficiency, especially for long-lived "
+"connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:382
+#, python-format
+msgid ""
+"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
+"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
+"There is no checksum field in the streaming protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:390
+#, python-format
+msgid ""
+"Each packet is sent through I2P as a single message (or as an individual "
+"clove in a\n"
+"<a href=\"%(garlicrouting)s\">Garlic Message</a>). Message encapsulation "
+"is implemented\n"
+"in the underlying <a href=\"%(i2cp)s\">I2CP</a>, <a "
+"href=\"%(i2np)s\">I2NP</a>, and\n"
+"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers. There is no "
+"packet delimiter\n"
+"mechanism or payload length field in the streaming protocol."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:400
+msgid "Windowing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:401
+msgid ""
+"The streaming lib uses standard slow-start (exponential window growth) "
+"and congestion avoidance (linear window growth)\n"
+"phases, with exponential backoff.\n"
+"Windowing and acknowledgments use packet count, not byte count."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:408
+msgid "Close"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:409
+msgid ""
+"Any packet, including one with the SYNCHRONIZE flag set, may have the "
+"CLOSE flag sent as well.\n"
+"The connection is not closed until the peer responds with the CLOSE flag."
+"\n"
+"CLOSE packets may contain data as well."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:417
+msgid ""
+"There is no ping function at the I2CP layer (equivalent to ICMP echo) or "
+"in datagrams.\n"
+"This function is provided in streaming.\n"
+"Pings and pongs may not be combined with a standard streaming packet;\n"
+"if the ECHO option is set, then\n"
+"most other flags, options, ackThrough, sequenceNum, NACKs, payload, etc. "
+"are ignored."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:425
+msgid ""
+"A ping packet must have the ECHO, SIGNATURE_INCLUDED, and FROM_INCLUDED "
+"flags set.\n"
+"The sendStreamId must be greater than zero, and the receiveStreamId is "
+"ignored.\n"
+"The sendStreamId may or may not correspond to an existing connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:431
+msgid ""
+"A pong packet must have the ECHO flag set.\n"
+"The sendStreamId must be zero, and the receiveStreamId is the "
+"sendStreamId from the ping.\n"
+"The pong packet does not include any payload that was contained in the "
+"ping."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:437
+msgid ""
+"Streaming may be configured to disable sending pongs with the "
+"configuration i2p.streaming.answerPings=false."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:442
+msgid "Control Block Sharing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:443
+msgid ""
+"The streaming lib supports \"TCP\" Control Block sharing.\n"
+"This shares three important streaming lib parameters\n"
+"(window size, round trip time, round trip time variance)\n"
+"across connections to the same remote peer.\n"
+"This is used for \"temporal\" sharing at connection open/close time,\n"
+"not \"ensemble\" sharing during a connection (See\n"
+"<a href=\"http://www.ietf.org/rfc/rfc2140.txt\">RFC 2140</a>).\n"
+"There is a separate share per ConnectionManager (i.e. per local "
+"Destination)\n"
+"so that there is no information leakage to other Destinations on the\n"
+"same router.\n"
+"The share data for a given peer expires after a few minutes.\n"
+"The following Control Block Sharing parameters can be set per router:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:464
+msgid "Other Parameters"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:465
+msgid ""
+"The following parameters are hardcoded, but may be of interest for "
+"analysis:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:484
+#: i2p2www/pages/site/docs/how/network-database.html:843
+msgid "History"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:485
+msgid ""
+"The streaming library has grown organically for I2P - first mihi "
+"implemented the\n"
+"\"mini streaming library\" as part of I2PTunnel, which was limited to a "
+"window\n"
+"size of 1 message (requiring an ACK before sending the next one), and "
+"then it was\n"
+"refactored out into a generic streaming interface (mirroring TCP sockets)"
+" and the\n"
+"full streaming implementation was deployed with a sliding window protocol"
+" and \n"
+"optimizations to take into account the high bandwidth x delay product.  "
+"Individual\n"
+"streams may adjust the maximum packet size and other options. The default"
+"\n"
+"message size is selected to fit precisely in two 1K I2NP tunnel messages,"
+"\n"
+"and is a reasonable tradeoff between the bandwidth costs of \n"
+"retransmitting lost messages, and the latency and overhead of multiple "
+"messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:499
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:331
+#: i2p2www/pages/site/docs/how/garlic-routing.html:242
+#: i2p2www/pages/site/docs/how/network-database.html:848
+#: i2p2www/pages/site/docs/how/peer-selection.html:265
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:255
+#: i2p2www/pages/site/docs/protocol/i2cp.html:654
+#: i2p2www/pages/site/docs/protocol/i2np.html:226
+#: i2p2www/pages/site/docs/spec/updates.html:280
+#: i2p2www/pages/site/docs/transport/ntcp.html:444
+#: i2p2www/pages/site/docs/transport/ssu.html:505
+#: i2p2www/pages/site/docs/tunnels/implementation.html:503
+msgid "Future Work"
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:500
+msgid ""
+"The behavior of the streaming library has a profound impact on\n"
+"application-level performance, and as such, is an important\n"
+"area for further analysis."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:506
+msgid "Additional tuning of the streaming lib parameters may be necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:509
+#, python-format
+msgid ""
+"Another area for research is the interaction of the streaming lib with "
+"the\n"
+"NTCP and SSU transport layers.\n"
+"See <a href=\"%(ntcpdisc)s\">the NTCP discussion page</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:514
+msgid ""
+"The interaction of the routing algorithms with the streaming lib strongly"
+" affects performance.\n"
+"In particular, random distribution of messages to multiple tunnels in a "
+"pool\n"
+"leads to a high degree of out-of-order delivery which results in smaller "
+"window\n"
+"sizes than would otherwise be the case. The router currently routes \n"
+"messages for a single from/to destination pair through a consistent set \n"
+"of tunnels, until tunnel expiration or delivery failure. The router's \n"
+"failure and tunnel selection algorithms should be reviewed for possible \n"
+"improvements."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:524
+msgid "The data in the first SYN packet may exceed the receiver's MTU."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:527
+msgid "The DELAY_REQUESTED field could be used more."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:530
+msgid ""
+"Duplicate initial SYNCHRONIZE packets on short-lived streams may not be "
+"recognized and removed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:533
+msgid "Don't send the MTU in a retransmission."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:536
+msgid ""
+"Data is sent along unless the outbound window is full.\n"
+"(i.e. no-Nagle or TCP_NODELAY)\n"
+"Probably should have a configuration option for this."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:541
+msgid ""
+"zzz has added debug code to the streaming library to log packets in a "
+"wireshark-compatible\n"
+"(pcap) format; Use this to further analyze performance.\n"
+"The format may require enhancement to map more streaming lib parameters "
+"to TCP fields."
+msgstr ""
+
+#: i2p2www/pages/site/docs/api/streaming.html:546
+msgid ""
+"There are proposals to replace the streaming lib with standard TCP\n"
+"(or perhaps a null layer together with raw sockets).\n"
+"This would unfortunately be incompatible with the streaming lib\n"
+"but it would be good to compare the performance of the two."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:3
+msgid "September 2012"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:7
+msgid ""
+"There are several bittorrent clients and trackers on I2P.\n"
+"As I2P addressing uses a Destination instead of an IP and port, minor\n"
+"changes are required to tracker and client software for operation on I2P."
+"\n"
+"These changes are specified below.\n"
+"Note carefully the guidelines for compatibility with older I2P clients "
+"and trackers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:15
+msgid ""
+"This page specifies protocol details common to all clients and trackers.\n"
+"Specific clients and trackers may implement other unique features or "
+"protocols."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:20
+msgid "We welcome additional ports of client and tracker software to I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:26
+msgid "Announces"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:27
+msgid ""
+"Clients generally include a fake port=6881 parameter in the announce, for"
+" compatibility with older trackers.\n"
+"Trackers may ignore the port parameter, and should not require it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:32
+#, python-format
+msgid ""
+"The ip parameter is the base 64 of the client's\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>,\n"
+"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
+"are 387+ bytes, so the Base 64 is 516+ bytes.\n"
+"Clients generally append \".i2p\" to the Base 64 Destination for "
+"compatibility with older trackers.\n"
+"Trackers should not require an appended \".i2p\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:42
+msgid "Other parameters are the same as in standard bittorrent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:46
+msgid ""
+"While all current Destinations for clients are exactly 387 bytes, a "
+"tracker should not\n"
+"presume that will always be so. A reasonable maximum to assume, for now, "
+"is 475 bytes.\n"
+"As the tracker must decode the Base64 to deliver compact responses (see "
+"below),\n"
+"the tracker should probably decode and reject bad Base64 when announced."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:53
+msgid ""
+"The default response type is non-compact. Clients may request a compact "
+"response with\n"
+"the parameter compact=1. A tracker may, but is not required to, return\n"
+"a compact response when requested."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:59
+msgid ""
+"Developers of new I2P clients\n"
+"are strongly encouraged to implemenent announces over their own tunnel "
+"rather than\n"
+"the HTTP client proxy at port 4444. Doing so is both more efficient and "
+"it allows\n"
+"destination enforcement by the tracker (see below)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:66
+msgid ""
+"There are no known I2P clients or trackers that currently support UDP "
+"announce/responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:71
+msgid "Non-Compact Tracker Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:72
+msgid ""
+"The non-compact response is just as in standard bittorrent, with an I2P "
+"\"ip\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:76
+msgid ""
+"Trackers generally include a fake port key, or use the port from the "
+"announce, for compatibility with older clients.\n"
+"Clients must ignore the port parameter, and should not require it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:81
+#, python-format
+msgid ""
+"The value of the ip key is the base 64 of the client's\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>, as "
+"described above.\n"
+"Trackers generally append \".i2p\" to the Base 64 Destination if it "
+"wasn't in the announce ip, for compatibility with older clients.\n"
+"Clients should not require an appended \".i2p\" in the responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:88
+msgid "Other response keys and values are the same as in standard bittorrent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:94
+msgid "Compact Tracker Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:95
+#, python-format
+msgid ""
+"In the compact response, the value of the \"peers\" dictionary key is a "
+"single byte string,\n"
+"whose length is a multiple of 32 bytes.\n"
+"This string contains the concatenated\n"
+"<a href=\"%(commonstructures)s#type_Hash\">32-byte SHA-256 Hashes</a>\n"
+"of the binary\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
+"of the peers.\n"
+"This hash must be computed by the tracker, unless destination enforcement"
+"\n"
+"(see below) is used, in which case the hash delivered in the X-I2P-"
+"DestHash\n"
+"or X-I2P-DestB32 HTTP headers may be converted to binary and stored.\n"
+"The peers key may be absent, or the peers value may be zero-length."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:109
+msgid ""
+"While compact response support is optional for both clients and trackers,"
+" it is highly\n"
+"recommended as it reduces the nominal response size by over 90&#37;."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:116
+msgid "Destination Enforcement"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:117
+#, python-format
+msgid ""
+"Some, but not all, I2P bittorrent clients announce over their own "
+"tunnels.\n"
+"Trackers may choose to prevent spoofing by requiring this, and verifying "
+"the\n"
+"client's\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>\n"
+"using HTTP headers added by the I2PTunnel HTTP Server tunnel.\n"
+"The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which "
+"are\n"
+"different formats for the same information.\n"
+"These headers cannot be spoofed by the client.\n"
+"A tracker enforcing destinations need not require the ip announce "
+"parameter at all."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:129
+msgid ""
+"As several clients use the HTTP proxy instead of their own tunnel for "
+"announces,\n"
+"destination enforcement will prevent usage by those clients unless or "
+"until\n"
+"those clients are converted to announcing over their own tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:135
+msgid ""
+"Unfortunately, as the network grows, so will the amount of maliciousness,"
+"\n"
+"so we expect that all trackers will eventually enforce destinations.\n"
+"Both tracker and client developers should anticipate it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:143
+msgid "Announce Host Names"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:144
+#, python-format
+msgid ""
+"Announce URL host names in torrent files generally follow the\n"
+"<a href=\"%(naming)s\">I2P naming standards</a>.\n"
+"In addition to host names from address books and \".b32.i2p\" Base 32 "
+"hostnames,\n"
+"the full Base 64 Destination (with [or without?] \".i2p\" appended) "
+"should be supported.\n"
+"Non-open trackers should recognize their own host name in any of these "
+"formats."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:152
+msgid ""
+"To preserve anonymity,\n"
+"clients should generally ignore non-I2P announce URLs in torrent files."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:159
+msgid "Client Connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:160
+msgid ""
+"Client-to-client connections use the standard protocol over TCP.\n"
+"There are no known I2P clients that currently support uTP communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:165
+#, python-format
+msgid ""
+"I2P uses 387+ byte <a "
+"href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
+"for addresses, as explained above."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:170
+msgid ""
+"If the client has only the hash of the destination (such as from a "
+"compact response or PEX), it must perform a lookup\n"
+"by encoding it with Base 32, appending \".b32.i2p\", and querying the "
+"Naming Service,\n"
+"which will return the full Destination if available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:176
+msgid ""
+"If the client has a peer's full Destination it received in a non-compact "
+"response, it should use it\n"
+"directly in the connection setup.\n"
+"Do not convert a Destination back to a Base 32 hash for lookup, this is "
+"quite inefficient."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:183
+msgid "Cross-Network Prevention"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:184
+msgid ""
+"To preserve anonymity,\n"
+"I2P bittorrent clients generally do not support non-I2P announces or peer"
+" connections.\n"
+"I2P HTTP outproxies often block announces.\n"
+"There are no known SOCKS outproxies supporting bittorrent traffic."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:191
+msgid ""
+"To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers "
+"often\n"
+"block accesses or announces that contain an X-Forwarded-For HTTP header.\n"
+"Trackers should reject standard network announces with IPv4 or IPv6 IPs, "
+"and not deliver them in responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:200
+#, python-format
+msgid ""
+"I2P PEX is based on ut_pex.\n"
+"As there does not appear to be a formal specification of ut_pex "
+"available,\n"
+"it may be necessary to review the libtorrent source for assistance.\n"
+"It is an extension message, identified as \"i2p_pex\" in\n"
+"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension "
+"handshake</a>.\n"
+"It contains a bencoded dictionary with up to 3 keys, \"added\", "
+"\"added.f\", and \"dropped\".\n"
+"The added and dropped values are each a single byte string, whose length "
+"is a multiple of 32 bytes.\n"
+"These byte strings are the concatenated SHA-256 Hashes of the binary\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
+"of the peers.\n"
+"This is the same format as the peers dictionary value in the i2p compact "
+"response format specified above.\n"
+"The added.f value, if present, is the same as in ut_pex."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:218
+msgid ""
+"DHT support is included in the i2psnark client as of version 0.9.2.\n"
+"Preliminary differences from\n"
+"<a href=\"http://www.bittorrent.org/beps/bep_0005.html\">BEP 5</a>\n"
+"are described below, and are subject to change.\n"
+"Contact the I2P developers if you wish to develop a client supporting DHT."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:226
+msgid ""
+"Unlike standard DHT, I2P DHT does not use a bit in the options handshake,"
+" or the PORT message.\n"
+"It is advertised with an extension message, identified as \"i2p_dht\" in\n"
+"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension "
+"handshake</a>.\n"
+"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", "
+"both integers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:233
+msgid ""
+"The UDP (datagram) port listed in the compact node info is used\n"
+"to receive repliable (signed) datagrams.\n"
+"This is used for queries, except for announces.\n"
+"We call this the \"query port\".\n"
+"This is the \"port\" value from the extension message.\n"
+"Queries use I2CP protocol number 17."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:242
+msgid ""
+"In addition to that UDP port, we use a second datagram\n"
+"port equal to the query port + 1. This is used to receive\n"
+"unsigned (raw) datagrams for replies, errors, and announces.\n"
+"This port provides increased efficiency since replies\n"
+"contain tokens sent in the query, and need not be signed.\n"
+"We call this the \"response port\".\n"
+"This is the \"rport\" value from the extension message.\n"
+"It must be 1 + the query port.\n"
+"Responses and announces use I2CP protocol number 18."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:254
+msgid ""
+"Compact peer info is 32 bytes (32 byte SHA256 Hash)\n"
+"instead of 4 byte IP + 2 byte port. There is no peer port.\n"
+"In a response, the \"values\" key is a list of strings, each containing a"
+" single compact peer info."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:260
+msgid ""
+"Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + "
+"2 byte port)\n"
+"instead of 20 byte SHA1 Hash + 4 byte IP + 2 byte port.\n"
+"In a response, the \"nodes\" key is a\n"
+"single byte string with concatenated compact node info."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:267
+msgid ""
+"Secure node ID requirement: To make various DHT attacks more difficult,\n"
+"the first 4 bytes of the Node ID must match the first 4 bytes of the "
+"destination Hash,\n"
+"and the next two bytes of the Node ID must match the next two bytes of "
+"the\n"
+"destination hash exclusive-ORed with the port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:274
+msgid ""
+"In a torrent file,\n"
+"the trackerless torrent dictionary \"nodes\" key is TBD.\n"
+"It could be a list of\n"
+"32 byte binary strings (SHA256 Hashes) instead of a list of lists\n"
+"containing a host string and a port integer.\n"
+"Alternatives: A single byte string with concatenated hashes,\n"
+"or a list of strings alone."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:285
+#: i2p2www/pages/site/docs/how/intro.html:184
+msgid "Additional Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:287
+#, python-format
+msgid ""
+"I2P bittorrent standards are generally discussed on <a "
+"href=\"http://%(zzz)s/\">%(zzz)s</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:290
+#, python-format
+msgid ""
+"A chart of current tracker software capabilities is <a "
+"href=\"http://%(zzz)s/files/trackers.html\">also available there</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:293
+#, python-format
+msgid ""
+"The\n"
+"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P bittorrent FAQ</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/bittorrent.html:297
+#, python-format
+msgid "<a href=\"http://%(zzz)s/topics/812\">DHT on I2P discussion</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:2
+#: i2p2www/pages/site/docs/applications/supported.html:5
+msgid "Supported Applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:9
+#: i2p2www/pages/site/docs/applications/supported.html:186
+msgid "Blogging, Forums, and Wikis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:11
+#: i2p2www/pages/site/docs/applications/supported.html:232
+msgid "Decentralized File Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:14
+#: i2p2www/pages/site/docs/applications/supported.html:244
+msgid "Development Tools"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:17
+#: i2p2www/pages/site/docs/applications/supported.html:246
+msgid "Version control"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:21
+#: i2p2www/pages/site/docs/applications/supported.html:265
+msgid "Domain Naming"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:23
+#: i2p2www/pages/site/docs/applications/supported.html:283
+msgid "Email"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:26
+#: i2p2www/pages/site/docs/applications/supported.html:328
+msgid "File Sharing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:29
+#: i2p2www/pages/site/docs/applications/supported.html:330
+msgid "BitTorrent clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:31
+#: i2p2www/pages/site/docs/applications/supported.html:372
+msgid "BitTorrent trackers and indexers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:40
+#: i2p2www/pages/site/docs/applications/supported.html:439
+msgid "Network Administration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:43
+#: i2p2www/pages/site/docs/applications/supported.html:441
+msgid "General-purpose socket utilities"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:50
+#: i2p2www/pages/site/docs/applications/supported.html:482
+msgid "Real-time Chat"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:53
+#: i2p2www/pages/site/docs/applications/supported.html:484
+msgid "Instant messaging clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:55
+#: i2p2www/pages/site/docs/applications/supported.html:494
+msgid "IRC clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:57
+#: i2p2www/pages/site/docs/applications/supported.html:545
+msgid "IRC servers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:62
+#: i2p2www/pages/site/docs/applications/supported.html:561
+msgid "Web Browsing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:65
+#: i2p2www/pages/site/docs/applications/supported.html:563
+msgid "Anonymous websites"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:67
+#: i2p2www/pages/site/docs/applications/supported.html:612
+msgid "Proxy software"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:69
+#: i2p2www/pages/site/docs/applications/supported.html:637
+msgid "Inproxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:71
+#: i2p2www/pages/site/docs/applications/supported.html:669
+msgid "Outproxies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:76
+#: i2p2www/pages/site/docs/applications/supported.html:683
+msgid "Website Hosting"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:79
+#: i2p2www/pages/site/docs/applications/supported.html:698
+msgid "Web servers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:85
+#, python-format
+msgid ""
+"This is intended to be a comprehensive listing of applications used with\n"
+"I2P. If you know of something that's missing please submit a ticket on\n"
+"<a href=\"%(trac)s\">Trac</a>, and be sure to select the\n"
+"“www” component in the submission form."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:92
+msgid ""
+"\n"
+"Supported applications are tagged with one or more of the following:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:97
+#: i2p2www/pages/site/docs/applications/supported.html:279
+#: i2p2www/pages/site/docs/applications/supported.html:311
+#: i2p2www/pages/site/docs/applications/supported.html:336
+#: i2p2www/pages/site/docs/applications/supported.html:695
+msgid "bundled"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:100
+msgid ""
+"<em>Bundled application</em> — I2P ships with a few officially\n"
+"supported applications that let new users take immediate advantage of\n"
+"some of I2P's more useful capabilities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:107
+#: i2p2www/pages/site/docs/applications/supported.html:195
+#: i2p2www/pages/site/docs/applications/supported.html:208
+#: i2p2www/pages/site/docs/applications/supported.html:220
+#: i2p2www/pages/site/docs/applications/supported.html:228
+#: i2p2www/pages/site/docs/applications/supported.html:241
+#: i2p2www/pages/site/docs/applications/supported.html:292
+#: i2p2www/pages/site/docs/applications/supported.html:404
+#: i2p2www/pages/site/docs/applications/supported.html:426
+#: i2p2www/pages/site/docs/applications/supported.html:435
+#: i2p2www/pages/site/docs/applications/supported.html:523
+msgid "plugin"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:110
+#, python-format
+msgid ""
+"<em>Third-party plugin</em> — I2P's plugin system provides convenient\n"
+"deployment of I2P-enabled applications and allows tighter integration\n"
+"with the router. Plugins are [reviewed by the community](<a href=\n"
+"\"http://%(plugins)s\">http://%(plugins)s</a>) to identify security and\n"
+"anonymity issues."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:121
+#: i2p2www/pages/site/docs/applications/supported.html:220
+#: i2p2www/pages/site/docs/applications/supported.html:228
+#: i2p2www/pages/site/docs/applications/supported.html:241
+#: i2p2www/pages/site/docs/applications/supported.html:252
+#: i2p2www/pages/site/docs/applications/supported.html:261
+#: i2p2www/pages/site/docs/applications/supported.html:324
+#: i2p2www/pages/site/docs/applications/supported.html:342
+#: i2p2www/pages/site/docs/applications/supported.html:353
+#: i2p2www/pages/site/docs/applications/supported.html:368
+#: i2p2www/pages/site/docs/applications/supported.html:414
+#: i2p2www/pages/site/docs/applications/supported.html:426
+#: i2p2www/pages/site/docs/applications/supported.html:435
+#: i2p2www/pages/site/docs/applications/supported.html:450
+#: i2p2www/pages/site/docs/applications/supported.html:456
+#: i2p2www/pages/site/docs/applications/supported.html:462
+#: i2p2www/pages/site/docs/applications/supported.html:472
+#: i2p2www/pages/site/docs/applications/supported.html:478
+#: i2p2www/pages/site/docs/applications/supported.html:490
+#: i2p2www/pages/site/docs/applications/supported.html:523
+#: i2p2www/pages/site/docs/applications/supported.html:529
+#: i2p2www/pages/site/docs/applications/supported.html:535
+#: i2p2www/pages/site/docs/applications/supported.html:541
+#: i2p2www/pages/site/docs/applications/supported.html:618
+#: i2p2www/pages/site/docs/applications/supported.html:627
+#: i2p2www/pages/site/docs/applications/supported.html:633
+#: i2p2www/pages/site/docs/applications/supported.html:695
+#: i2p2www/pages/site/docs/applications/supported.html:710
+#: i2p2www/pages/site/docs/applications/supported.html:716
+#: i2p2www/pages/site/docs/applications/supported.html:722
+#: i2p2www/pages/site/docs/applications/supported.html:728
+msgid "standalone"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:121
+#: i2p2www/pages/site/docs/applications/supported.html:195
+#: i2p2www/pages/site/docs/applications/supported.html:202
+#: i2p2www/pages/site/docs/applications/supported.html:208
+#: i2p2www/pages/site/docs/applications/supported.html:214
+#: i2p2www/pages/site/docs/applications/supported.html:362
+#: i2p2www/pages/site/docs/applications/supported.html:386
+#: i2p2www/pages/site/docs/applications/supported.html:395
+#: i2p2www/pages/site/docs/applications/supported.html:551
+#: i2p2www/pages/site/docs/applications/supported.html:557
+msgid "standalone/mod"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:124
+msgid ""
+"<em>Third-party standalone application</em> — Many standard network\n"
+"applications only require careful setup and configuration to communicate\n"
+"anonymously over I2P. These are tagged with <em>standalone</em>. Some\n"
+"applications, tagged with <em>standalone/mod</em>, require patching to\n"
+"function properly over I2P or to prevent inadvertent disclosure of\n"
+"identifying information such as the user's hostname or external IP\n"
+"address."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:135
+#: i2p2www/pages/site/docs/applications/supported.html:302
+#: i2p2www/pages/site/docs/applications/supported.html:571
+#: i2p2www/pages/site/docs/applications/supported.html:581
+#: i2p2www/pages/site/docs/applications/supported.html:590
+#: i2p2www/pages/site/docs/applications/supported.html:596
+#: i2p2www/pages/site/docs/applications/supported.html:602
+#: i2p2www/pages/site/docs/applications/supported.html:608
+#: i2p2www/pages/site/docs/applications/supported.html:649
+#: i2p2www/pages/site/docs/applications/supported.html:657
+#: i2p2www/pages/site/docs/applications/supported.html:665
+#: i2p2www/pages/site/docs/applications/supported.html:679
+msgid "service"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:138
+msgid ""
+"<em>Third-party essential network service</em> — Services which on\n"
+"the I2P network are analogous to those provided on the public Internet\n"
+"by hosting providers, ISPs, and Google: eepsite indexes and jump\n"
+"services, search engines, email, DNS-style name services, hosting,\n"
+"proxies, etc. These services focus on boosting the usefulness of the\n"
+"network as a whole, and making network content more discoverable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:148
+#: i2p2www/pages/site/docs/applications/supported.html:220
+#: i2p2www/pages/site/docs/applications/supported.html:368
+msgid "unmaintained"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:151
+msgid ""
+"<em>Unmaintained</em> — This is used to tag plugins, applications,\n"
+"and services which appear to be unmaintained and may be removed from\n"
+"this listing in the future."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:159
+#, python-format
+msgid ""
+"Warning: Using an application, plugin, or service with I2P\n"
+"doesn't automatically protect your anonymity. I2P is merely a set of "
+"tools\n"
+"which can help you mitigate certain <a "
+"href=\"%(threatmodel)s\">identified\n"
+"threats to anonymity</a>. We do not and cannot make any guarantees about "
+"the\n"
+"safety of the applications, plugins, and services listed below. Most\n"
+"applications and plugins must be properly configured, and some will need "
+"to\n"
+"be patched — and even then your anonymity might not be assured. "
+"Similarly,\n"
+"services could put your anonymity at risk, either by design or through\n"
+"carelessness on their part or your own."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:171
+msgid ""
+"If you have doubts about the suitability of an application,\n"
+"plugin, or service for use with I2P, you are urged to inquire about "
+"privacy\n"
+"issues with its maintainers, to search its mailing lists and bug tracker "
+"if\n"
+"one exists, and consult trusted, knowledgeable members of the I2P\n"
+"community."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:179
+msgid ""
+"Take responsibility for your own anonymity and safety — always\n"
+"seek expert advice, educate yourself, practice good judgment, be mindful "
+"of\n"
+"disclosing personally identifying information, and don't take\n"
+"shortcuts."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:201
+msgid "Lightweight forum software."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:207
+msgid "Another lightweight blogging platform."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:213
+msgid "Most popular open source forum software."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:219
+msgid "Distributed forums software, originally developed by jrandom."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:224
+#, python-format
+msgid ""
+"A Java-based MediaWiki clone. No external database needed.\n"
+"Plugin available <a href=\"http://%(plugins)s/plugins/jamwiki\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:236
+#, python-format
+msgid ""
+"Port of the <a href=\"http://tahoe-lafs.org/\"><strong>Tahoe-"
+"LAFS</strong></a>\n"
+"distributed file system to the I2P network. Controller plugin <a href=\n"
+"\"http://%(stats)s/i2p/plugins/\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:251
+msgid "Most popular distributed version control system."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:257
+#, python-format
+msgid ""
+"Another distributed version control system. Currently\n"
+"<a href=\"%(monotone)s\">used in I2P development</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:269
+#, python-format
+msgid ""
+"Provides management of addressbooks, which are part of a simple,\n"
+"user-controlled <a href=\"%(naming)s\">I2P naming system</a> somewhat\n"
+"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n"
+"Base64 destinations to short, usually human-readable “domain” names "
+"ending\n"
+"with a .i2p suffix which the I2P router's HTTP client can resolve back to"
+"\n"
+"Base64 addresses. (<em>Note:</em> While Base64 destinations are globally\n"
+"unique, addressbook “domain” names only resolve to unique destinations\n"
+"locally.)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:288
+msgid ""
+"Serverless peer-to-peer email application using a distributed hash table\n"
+"(DHT) for secure mail storage."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:297
+msgid ""
+"Provides email service within the I2P network via @mail.i2p addresses,\n"
+"and email gateway service between the I2P network and the public Internet"
+"\n"
+"via @i2pmail.org addresses. One of the oldest continuous services on I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:307
+msgid ""
+"Simple web browser-based email interface. Configured to use Postman's\n"
+"email service by default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:316
+#, python-format
+msgid ""
+"Can be configured to use Postman's email service. See\n"
+"<a href=\"%(reviews)s\">this comparison of MUAs</a>,\n"
+"and configuration settings for\n"
+"<a href=\"%(smtp)s\">SMTP</a> and <a href=\"%(pop3)s\">POP3</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:335
+msgid "I2P's integrated BitTorrent client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:341
+msgid "Modified version of I2PSnark."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:347
+msgid ""
+"\n"
+"A fork of rufus that uses the Basic Open Bridge (BOB) and has many\n"
+"improvements, including using the latest wxwidgets and python. It also\n"
+"supports use of seedless if installed for trackerless torrents and\n"
+"magnet-link like fetching of torrents within I2P.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:358
+msgid ""
+"Clean, full-featured cross-platform BitTorrent client with official\n"
+"ports for several GUI toolkits."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:367
+msgid "Has a plugin providing I2P support."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:374
+#, python-format
+msgid ""
+"For a detailed feature comparison of I2P-enabled trackers/indexers, see\n"
+"<a href=\"http://%(zzz)s/files/trackers.html\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:382
+msgid ""
+"The code that powered one of the first major tracker/indexer sites on the"
+"\n"
+"Internet. Patched for I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:391
+#, python-format
+msgid ""
+"Lightweight tracker/indexer. I2P mod available in the i2p.opentracker\n"
+"branch of the <a href=\"%(newdevs)s\">I2P Monotone repository</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:400
+#, python-format
+msgid ""
+"<a href=\"http://%(zzz)s/\">zzz's</a> Java-based open tracker. More info\n"
+"<a href=\"http://%(zzz)s/topics/598?page=1#p2085\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:413
+msgid "I2P port of the aMule ED2K client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:422
+#, python-format
+msgid ""
+"Port of the <a href=\"http://www.phex.org/mambo/\">Phex</a> Gnutella "
+"client. Website\n"
+"for plugin version <a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:431
+#, python-format
+msgid ""
+"Cache for Gnutella peers on I2P. Website for plugin version\n"
+"<a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:446
+msgid ""
+"Unix standard tool for socket relaying. Several clones, ports, and forks\n"
+"have appeared over the years."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:455
+msgid "Like netcat but more powerful."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:461
+msgid ""
+"Proxy providing simple, transparent SOCKS-ification of network "
+"applications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:471
+msgid ""
+"Most popular implementation of the Secure Shell (SSH) protocol and "
+"related tools."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:477
+msgid "Open source Secure Shell (SSH) client for Windows."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:489
+msgid "IM client with multiple incarnations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:496
+msgid ""
+"Many IRC clients leak identifying information to servers or other\n"
+"clients, so I2P's IRC and SOCKS IRC client tunnels filter certain inbound"
+"\n"
+"and outbound messages to scrub data such as LAN IP addresses, external IP"
+"\n"
+"addresses, local hostnames, and the name and version of the IRC client. "
+"Two\n"
+"message types in particular, DCC and CTCP, can't be sufficiently "
+"anonymized\n"
+"without changes to the protocols or to IRC client/server code, so they "
+"are\n"
+"completely blocked, except for CTCP ACTION (the message emitted by the\n"
+"<code>/me</code> command) which isn't inherently dangerous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:507
+msgid ""
+"I2P's IRC filtering may not cover every possible leak — users should also"
+"\n"
+"check if their client is sending their real name or local username. "
+"Packet\n"
+"sniffers such as <a href=\"http://www.wireshark.org/\">Wireshark</a> are\n"
+"useful here. Eliminating remaining leaks may be as simple as changing the"
+"\n"
+"client's default configuration. If that doesn't help, inform the I2P\n"
+"developers; they may be able to solve it via additional filtering."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:519
+#, python-format
+msgid ""
+"Small Java-based IRC client. Plugin available <a href=\n"
+"\"http://%(stats)s/i2p/plugins/\">here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:528
+msgid "Cross-platform graphical IRC client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:534
+msgid "Unixy terminal-based IRC client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:540
+msgid "Another Unixy terminal-based IRC client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:550
+msgid "IRC server developed from scratch."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:556
+msgid "Most popular IRC server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:568
+msgid ""
+"Any website hosted anonymously on I2P, reachable through the I2P router's"
+" HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:576
+msgid ""
+"Distributed anonymous websites hosted\n"
+"using Tahoe-LAFS-I2P, currently only reachable with Tahoe-LAFS-I2P\n"
+"clients or through the Tahoe-LAFS-I2P HTTP proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:586
+#, python-format
+msgid ""
+"Website for <a href=\"http://%(sponge)s/\">sponge's</a> jump service.\n"
+"Source code available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:595
+msgid "Another jump service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:601
+msgid "Dynamically updated eepsite index."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:607
+#, python-format
+msgid "Website for <a href=\"http://%(zzz)s/\">zzz's</a> jump service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:617
+msgid "SOCKS-enabled caching web proxy with basic filtering capabilities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:623
+msgid ""
+"Privacy-focused non-caching web proxy with advanced filtering\n"
+"capabilities. Excels at removing ads and other junk."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:632
+msgid "Venerable caching web proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:639
+msgid "Gateways allowing users on the public Internet to access eepsites."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:646
+#, python-format
+msgid "<a href=\"http://%(tino)s/\">tino's</a> inproxy on the public Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:654
+#: i2p2www/pages/site/docs/applications/supported.html:662
+msgid "Another inproxy on the public Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:671
+msgid ""
+"Gateways allowing I2P users to access content hosted on the public "
+"Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:678
+msgid "Publicly advertised outproxy running Squid, located in Germany."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:688
+msgid ""
+"Lightweight web server and Java servlet container. I2P is tightly\n"
+"integrated with a bundled copy of Jetty which by default is configured to"
+"\n"
+"host the <a href=\"http://127.0.0.1:7658/\">user's eepsite</a>. The "
+"bundled\n"
+"Jetty also serves the I2P router console and web applications bundled "
+"with\n"
+"I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:700
+msgid ""
+"In addition to Jetty, any web server should function over I2P without\n"
+"modification so long as it's HTTP-compliant. Some web servers known to\n"
+"currently serve content on the I2P network are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:709
+msgid "Most popular web server on the public WWW."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:715
+msgid "Web server and Java servlet container. More features than Jetty."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:721
+msgid "Fast lightweight web server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/applications/supported.html:727
+msgid "High-performance lightweight web server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:2
+msgid "Naming discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:4
+#, python-format
+msgid ""
+"NOTE: The following is a discussion of the reasons behind the I2P naming "
+"system,\n"
+"common arguments and possible alternatives.\n"
+"See <a href=\"%(naming)s\">the naming page</a> for current documentation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:10
+msgid "Discarded alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:12
+msgid ""
+"Naming within I2P has been an oft-debated topic since the very beginning "
+"with\n"
+"advocates across the spectrum of possibilities.  However, given I2P's "
+"inherent\n"
+"demand for secure communication and decentralized operation, the "
+"traditional\n"
+"DNS-style naming system is clearly out, as are \"majority rules\" voting "
+"systems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:19
+msgid ""
+"I2P does not promote the use of DNS-like services though, as the damage "
+"done\n"
+"by hijacking a site can be tremendous - and insecure destinations have no"
+"\n"
+"value.  DNSsec itself still falls back on registrars and certificate "
+"authorities,\n"
+"while with I2P, requests sent to a destination cannot be intercepted or "
+"the reply\n"
+"spoofed, as they are encrypted to the destination's public keys, and a "
+"destination\n"
+"itself is just a pair of public keys and a certificate.  DNS-style "
+"systems on the\n"
+"other hand allow any of the name servers on the lookup path to mount "
+"simple denial\n"
+"of service and spoofing attacks.  Adding on a certificate authenticating "
+"the\n"
+"responses as signed by some centralized certificate authority would "
+"address many of\n"
+"the hostile nameserver issues but would leave open replay attacks as well"
+" as \n"
+"hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:33
+msgid ""
+"Voting style naming is dangerous as well, especially given the "
+"effectiveness of\n"
+"Sybil attacks in anonymous systems - the attacker can simply create an "
+"arbitrarily\n"
+"high number of peers and \"vote\" with each to take over a given name.  "
+"Proof-of-work\n"
+"methods can be used to make identity non-free, but as the network grows "
+"the load\n"
+"required to contact everyone to conduct online voting is implausible, or "
+"if the\n"
+"full network is not queried, different sets of answers may be reachable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:42
+msgid ""
+"As with the Internet however, I2P is keeping the design and operation of "
+"a \n"
+"naming system out of the (IP-like) communication layer.  The bundled "
+"naming library\n"
+"includes a simple service provider interface which <a "
+"href=\"#alternatives\">alternate naming systems</a> can\n"
+"plug into, allowing end users to drive what sort of naming tradeoffs they"
+" prefer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:50
+msgid ""
+"See also <a href=\"https://zooko.com/distnames.html\">Names: "
+"Decentralized, Secure, Human-Meaningful: Choose Two</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:55
+msgid "(adapted from a post in the old Syndie, November 26, 2005)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:58
+msgid ""
+"Q:\n"
+"What to do if some hosts \n"
+"do not agree on one address and if some addresses are working, others are"
+" not? \n"
+"Who is the right source of a name?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:64
+msgid ""
+"A:\n"
+"You don't. This is actually a critical difference between names on I2P "
+"and how \n"
+"DNS works - names in I2P are human readable, secure, but <b>not globally"
+" \n"
+"unique</b>.  This is by design, and an inherent part of our need for "
+"security."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:70
+msgid ""
+"If I could somehow convince you to change the destination associated with"
+" some \n"
+"name, I'd successfully \"take over\" the site, and under no circumstances"
+" is that \n"
+"acceptable.  Instead, what we do is make names <b>locally unique</b>: "
+"they are \n"
+"what <i>you</i> use to call a site, just as how you can call things "
+"whatever \n"
+"you want when you add them to your browser's bookmarks, or your IM "
+"client's \n"
+"buddy list.  Who you call \"Boss\" may be who someone else calls "
+"\"Sally\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:78
+msgid "Names will not, ever, be securely human readable and globally unique."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:83
+msgid ""
+"The following from zzz is a review of several common\n"
+"complaints about I2P's naming system."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:89
+msgid ""
+"<b>Inefficiency:</b>\n"
+"The whole hosts.txt is downloaded (if it has changed, since eepget uses "
+"the etag and last-modified headers).\n"
+"It's about 400K right now for almost 800 hosts."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:94
+msgid ""
+"True, but this isn't a lot of traffic in the context of i2p, which is "
+"itself wildly inefficient\n"
+"(floodfill databases, huge encryption overhead and padding, garlic "
+"routing, etc.).\n"
+"If you downloaded a hosts.txt file from someone every 12 hours it "
+"averages out to about 10 bytes/sec."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:99
+msgid ""
+"As is usually the case in i2p, there is a fundamental tradeoff here "
+"between anonymity and efficiency.\n"
+"Some would say that using the etag and last-modified headers is hazardous"
+" because it exposes when you\n"
+"last requested the data.\n"
+"Others have suggested asking for specific keys only (similar to what jump"
+" services do, but\n"
+"in a more automated fashion), possibly at a further cost in anonymity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:106
+#, python-format
+msgid ""
+"Possible improvements would be a replacement or supplement to addressbook"
+" (see <a href=\"http://%(i2host)s/\">%(i2host)sp</a>),\n"
+"or something simple like subscribing to http://example.i2p/cgi-"
+"bin/recenthosts.cgi rather than http://example.i2p/hosts.txt.\n"
+"If a hypothetical recenthosts.cgi distributed all hosts from the last 24 "
+"hours, for example,\n"
+"that could be both more efficient and more anonymous than the current "
+"hosts.txt with last-modified and etag."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:112
+#, python-format
+msgid ""
+"A sample implementation is on stats.i2p at\n"
+"<a href=\"%(url)s\">%(url)s</a>.\n"
+"This script returns an Etag with a timestamp.\n"
+"When a request comes in with the If-None-Match etag,\n"
+"the script ONLY returns new hosts since that timestamp, or 304 Not "
+"Modified if there are none.\n"
+"In this way, the script efficiently returns only the hosts the subscriber"
+"\n"
+"does not know about, in an addressbook-compatible manner."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:121
+msgid ""
+"So the inefficiency is not a big issue and there are several ways to "
+"improve things without\n"
+"radical change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:127
+msgid ""
+"<b>Not Scalable:</b>\n"
+"The 400K hosts.txt (with linear search) isn't that big at the moment and\n"
+"we can probably grow by 10x or 100x before it's a problem."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:132
+msgid ""
+"As far as network traffic see above.\n"
+"But unless you're going to do a slow real-time query over the network for"
+"\n"
+"a key, you need to have the whole set of keys stored locally, at a cost "
+"of about 500 bytes per key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:139
+msgid ""
+"<b>Requires configuration and \"trust\":</b>\n"
+"Out-of-the-box addressbook is only subscribed to "
+"http://www.i2p2.i2p/hosts.txt, which is rarely updated,\n"
+"leading to poor new-user experience."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:144
+msgid ""
+"This is very much intentional. jrandom wants a user to \"trust\" a "
+"hosts.txt\n"
+"provider, and as he likes to say, \"trust is not a boolean\".\n"
+"The configuration step attempts to force users to think about issues of "
+"trust in an anonymous network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:149
+msgid ""
+"As another example, the \"Eepsite Unknown\" error page in the HTTP Proxy\n"
+"lists some jump services, but doesn't \"recommend\" any one in "
+"particular,\n"
+"and it's up to the user to pick one (or not).\n"
+"jrandom would say we trust the listed providers enough to list them but "
+"not enough to\n"
+"automatically go fetch the key from them."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:156
+msgid ""
+"How successful this is, I'm not sure.\n"
+"But there must be some sort of hierarchy of trust for the naming system.\n"
+"To treat everyone equally may increase the risk of hijacking."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:163
+msgid "<b>It isn't DNS</b>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:166
+msgid ""
+"Unfortunately real-time lookups over i2p would significantly slow down "
+"web browsing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:169
+msgid ""
+"Also, DNS is based on lookups with limited caching and time-to-live, "
+"while i2p\n"
+"keys are permanent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:173
+msgid "Sure, we could make it work, but why? It's a bad fit."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:178
+msgid ""
+"<b>Not reliable:</b>\n"
+"It depends on specific servers for addressbook subscriptions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:182
+msgid ""
+"Yes it depends on a few servers that you have configured.\n"
+"Within i2p, servers and services come and go.\n"
+"Any other centralized system (for example DNS root servers) would\n"
+"have the same problem. A completely decentralized system (everybody is "
+"authoritative)\n"
+"is possible by implementing an \"everybody is a root DNS server\" "
+"solution, or by\n"
+"something even simpler, like a script that adds everybody in your "
+"hosts.txt to your addressbook."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:190
+msgid ""
+"People advocating all-authoritative solutions generally haven't thought "
+"through\n"
+"the issues of conflicts and hijacking, however."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:196
+msgid ""
+"<b>Awkward, not real-time:</b>\n"
+"It's a patchwork of hosts.txt providers, key-add web form providers, jump"
+" service providers,\n"
+"eepsite status reporters.\n"
+"Jump servers and subscriptions are a pain, it should just work like DNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:202
+msgid "See the reliability and trust sections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:207
+msgid ""
+"So, in summary, the current system is not horribly broken, inefficient, "
+"or un-scalable,\n"
+"and proposals to \"just use DNS\" aren't well thought-through."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:212
+msgid "Alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:213
+msgid ""
+"The I2P source contains several pluggable naming systems and supports "
+"configuration options\n"
+"to enable experimentation with naming systems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:218
+msgid ""
+"<b>Meta</b> - calls two or more other naming systems in order.\n"
+"By default, calls PetName then HostsTxt."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:222
+msgid ""
+"<b>PetName</b> - Looks up in a petnames.txt file.\n"
+"The format for this file is NOT the same as hosts.txt."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:226
+msgid "<b>HostsTxt</b> - Looks up in the following files, in order:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:234
+msgid ""
+"<b>AddressDB</b> - Each host is listed in a separate file in a addressDb/"
+" directory."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:237
+msgid ""
+"<b>Eepget</b> - does an HTTP lookup request from an external\n"
+"server - must be stacked after the HostsTxt lookup with Meta.\n"
+"This could augment or replace the jump system.\n"
+"Includes in-memory caching."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:243
+msgid ""
+"<b>Exec</b> - calls an external program for lookup, allows\n"
+"additional experimentation in lookup schemes, independent of java.\n"
+"Can be used after HostsTxt or as the sole naming system.\n"
+"Includes in-memory caching."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:249
+msgid "<b>Dummy</b> - used as a fallback for Base64 names, otherwise fails."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:253
+msgid ""
+"The current naming system can be changed with the advanced config option "
+"'i2p.naming.impl'\n"
+"(restart required).\n"
+"See core/java/src/net/i2p/client/naming for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:258
+msgid ""
+"Any new system should be stacked with HostsTxt, or should\n"
+"implement local storage and/or the addressbook subscription functions, "
+"since addressbook\n"
+"only knows about the hosts.txt files and format."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:264
+msgid "Certificates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:265
+msgid ""
+"I2P destinations contain a certificate, however at the moment that "
+"certificate\n"
+"is always null.\n"
+"With a null certificate, base64 destinations are always 516 bytes ending "
+"in \"AAAA\",\n"
+"and this is checked in the addressbook merge mechanism, and possibly "
+"other places.\n"
+"Also, there is no method available to generate a certificate or add it to"
+" a\n"
+"destination. So these will have to be updated to implement certificates."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:273
+#, python-format
+msgid ""
+"One possible use of certificates is for <a "
+"href=\"%(todo)s#hashcash\">proof of work</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:276
+msgid ""
+"Another is for \"subdomains\" (in quotes because there is really no such "
+"thing,\n"
+"i2p uses a flat naming system) to be signed by the 2nd level domain's "
+"keys."
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:280
+msgid ""
+"With any certificate implementation must come the method for verifying "
+"the\n"
+"certificates.\n"
+"Presumably this would happen in the addressbook merge code.\n"
+"Is there a method for multiple types of certificates, or multiple "
+"certificates?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/discussions/naming.html:286
+msgid ""
+"Adding on a certificate authenticating the\n"
+"responses as signed by some centralized certificate authority would "
+"address many of\n"
+"the hostile nameserver issues but would leave open replay attacks as well"
+" as \n"
+"hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:2
+msgid "Low-level Cryptography Details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:6
+msgid "This page specifies the low-level details of the cryptography in I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:10
+#, python-format
+msgid ""
+"There are a handful of cryptographic algorithms in use within I2P, but we"
+" have\n"
+"reduced them to a bare minimum to deal with our needs - one symmetric "
+"algorithm\n"
+"one asymmetric algorithm, one signing algorithm, and one hashing "
+"algorithm.  However, \n"
+"we do combine them in some particular ways to provide message integrity "
+"(rather than\n"
+"relying on a MAC).  In addition, as much as we hate doing anything new in"
+" regards to \n"
+"cryptography, we can't seem to find a reference discussing (or even "
+"naming) the \n"
+"technique used in <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> "
+"(but we're sure others have done it)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:20
+msgid "ElGamal encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:22
+msgid ""
+"\n"
+"ElGamal is used for asymmetric encryption.\n"
+"ElGamal is used in several places in I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:27
+#, python-format
+msgid ""
+"To encrypt router-to-router <a href=\"%(tunnelcreation)s\">Tunnel Build "
+"Messages</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:30
+#, python-format
+msgid ""
+"For end-to-end (destination-to-destination) encryption as a part of <a "
+"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
+"using the encryption key in the <a "
+"href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:34
+#: i2p2www/pages/site/docs/how/cryptography.html:198
+#, python-format
+msgid ""
+"For encryption of some <a href=\"%(netdb)s#delivery\">netDb stores and "
+"queries sent to floodfill routers</a>\n"
+"as a part of <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
+"(destination-to-router or router-to-router)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:41
+msgid ""
+"We use common primes for 2048 ElGamal encryption and decryption, as given"
+" by <a href=\"http://tools.ietf.org/html/rfc3526\">IETF RFC-3526</a>.\n"
+"We currently only use ElGamal to encrypt the IV and session key in a "
+"single block, followed by the \n"
+"AES encrypted payload using that key and IV."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:47
+msgid "The unencrypted ElGamal contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:64
+msgid ""
+"The H(data) is the SHA256 of the data that is encrypted in the ElGamal "
+"block,\n"
+"and is preceded by a nonzero byte. \n"
+"This byte could be random, but as implemented it is always 0xFF.\n"
+"It could possibly be used for flags in the future.\n"
+"The data encrypted in the block may be up to 222 bytes long.\n"
+"As the encrypted data may contain a substantial number of zeros if the\n"
+"cleartext is smaller than 222 bytes, it is recommended that higher layers"
+" pad\n"
+"the cleartext to 222 bytes with random data.\n"
+"Total length: typically 255 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:76
+msgid "The encrypted ElGamal contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:102
+msgid ""
+"Each encrypted part is prepended with zeros to a size of exactly 257 "
+"bytes.\n"
+"Total length: 514 bytes.\n"
+"In typical usage, higher layers pad the cleartext data to 222 bytes,\n"
+"resulting in an unencrypted block of 255 bytes.\n"
+"This is encoded as two 256-byte encrypted parts,\n"
+"and there is a single byte of zero padding before each part at this layer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:111
+#, python-format
+msgid "See <a href=\"%(url)s\">the ElGamal code</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:115
+msgid ""
+"The shared prime is the \n"
+"<a href=\"http://tools.ietf.org/html/rfc3526#section-3\">[Oakley prime "
+"for 2048 bit keys]</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:122
+msgid "or as a hexadecimal value:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:138
+msgid "Using 2 as the generator."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:142
+msgid "Short Exponent"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:143
+#, python-format
+msgid ""
+"While the standard exponent size is 2048 bits (256 bytes) and the I2P\n"
+"<a href=\"%(commonstructures)s#type_PrivateKey\">PrivateKey</a>\n"
+"is a full 256 bytes, in some cases\n"
+"we use the short exponent size of 226 bits (28.25 bytes)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:150
+#, python-format
+msgid ""
+"This should be safe for use with the Oakley primes, per\n"
+"<a href=\"%(pdf)s\">On Diffie-Hellman Key Agreement with Short Exponents "
+"- van Oorschot, Weiner</a>\n"
+"at EuroCrypt 96, and <a href=\"%(benchmarks)s\">crypto++'s "
+"benchmarks</a>.\n"
+"Benchmarks originally at <a rel=\"nofollow\" "
+"href=\"%(oldbenchmarks)s\">this link, now dead</a>,\n"
+"rescued from <a href=\"http://www.archive.org/\">the wayback machine</a>,"
+" dated Apr 23, 2008."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:160
+#, python-format
+msgid ""
+"Also, <a href=\"%(book)s\">Koshiba &amp; Kurosawa: Short Exponent Diffie-"
+"Hellman Problems</a> (PKC 2004, LNCS 2947, pp. 173-186)\n"
+"<a href=\"%(fulltext)s\">(full text on Google Books)</a> apparently "
+"supports this, according to\n"
+"<a href=\"%(thread)s\">this sci.crypt thread</a>.\n"
+"The remainder of the PrivateKey is padded with zeroes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:169
+msgid ""
+"Prior to release 0.9.8, all routers used the short exponent.\n"
+"As of release 0.9.8, 64-bit x86 routers use a full 2048-bit exponent.\n"
+"Other routers continue to use the short exponent due to concerns about "
+"processor load.\n"
+"The transition to a longer exponent for these platforms is a topic for "
+"further study."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:176
+#: i2p2www/pages/site/docs/how/cryptography.html:273
+#: i2p2www/pages/site/docs/how/cryptography.html:352
+#: i2p2www/pages/site/docs/how/cryptography.html:391
+msgid "Obsolescence"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:177
+msgid ""
+"The vulnerability of the network to an ElGamal attack and the impact of "
+"transitioning to a longer bit length is to be studied.\n"
+"It may be quite difficult to make any change backward-compatible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:185
+msgid "AES is used for symmetric encryption, in several cases:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:190
+msgid "For <a href=\"#transports\">transport encryption</a> after DH key exchange"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:194
+#, python-format
+msgid ""
+"For end-to-end (destination-to-destination) encryption as a part of <a "
+"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:204
+#, python-format
+msgid ""
+"For encryption of <a href=\"%(tunnelrouting)s#testing\">periodic tunnel "
+"test messages</a> sent from the router to itself, through its own "
+"tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:209
+#, python-format
+msgid ""
+"We use AES with 256 bit keys and 128 bit blocks in CBC mode.\n"
+"The padding used is specified in <a href=\"%(rfc2313)s\">IETF RFC-2313 "
+"(PKCS#5 1.5, section 8.1 (for block type 02))</a>.\n"
+"In this case, padding exists of pseudorandomly generated octets to match "
+"16 byte blocks.\n"
+"Specifically, see <a href=\"%(code1)s\">[the CBC code]</a> and the "
+"Cryptix AES\n"
+"<a href=\"%(code2)s\">[implementation]</a>, as well as the padding, found"
+" in the\n"
+"<a href=\"%(code3)s\">ElGamalAESEngine.getPadding</a> function."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:274
+msgid ""
+"The vulnerability of the network to an AES attack and the impact of "
+"transitioning to a longer bit length is to be studied.\n"
+"It may be quite difficult to make any change backward-compatible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:279
+#: i2p2www/pages/site/docs/how/cryptography.html:371
+#: i2p2www/pages/site/docs/how/cryptography.html:397
+#: i2p2www/pages/site/docs/how/cryptography.html:465
+#: i2p2www/pages/site/docs/how/garlic-routing.html:281
+#: i2p2www/pages/site/docs/how/peer-selection.html:296
+msgid "References"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:282
+msgid "Feb. 7, 2006 Status Notes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:289
+#, python-format
+msgid ""
+"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), "
+"as implemented in\n"
+"<a href=\"%(code)s\">[DSAEngine]</a>.\n"
+"DSA was chosen because it is much faster for signatures than ElGamal."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:295
+msgid "The DSA constants"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:346
+#, python-format
+msgid ""
+"The <a href=\"%(commonstructures)s#type_SigningPublicKey\">Signing Public"
+" Key</a> is 1024 bits.\n"
+"The <a href=\"%(commonstructures)s#type_SigningPrivateKey\">Signing "
+"Private Key</a> is 160 bits."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:353
+#, python-format
+msgid ""
+"<a href=\"%(pdf)s\">NIST 800-57</a>\n"
+"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n"
+"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a "
+"given key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:359
+msgid ""
+"The prime number was chosen <a href=\"#choosing_constants\">in 2003</a>,\n"
+"and the person that chose the number (TheCrypto) is currently no longer "
+"an I2P developer.\n"
+"As such, we do not know if the prime chosen is a 'strong prime'.\n"
+"If a larger prime is chosen for future purposes, this should be a strong "
+"prime, and we will document the construction process."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:366
+msgid ""
+"The vulnerability of the network to a DSA attack and the impact of "
+"transitioning to longer keys is to be studied.\n"
+"It may be quite difficult to make any change backward-compatible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:374
+#: i2p2www/pages/site/docs/how/cryptography.html:376
+#, python-format
+msgid "Meeting %(num)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:378
+msgid "Choosing the constants"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:386
+#, python-format
+msgid ""
+"Hashes within I2P are plain old SHA256, as implemented in\n"
+"<a href=\"%(code)s\">[SHA256Generator]</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:392
+msgid ""
+"The vulnerability of the network to a SHA-256 attack and the impact of "
+"transitioning to a longer hash is to be studied.\n"
+"It may be quite difficult to make any change backward-compatible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:403
+msgid "Transports"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:404
+msgid ""
+"At the lowest protocol layer,\n"
+"point-to-point inter-router communication is protected by the transport "
+"layer security.\n"
+"Both transports use 256 byte (2048 bit) Diffie-Hellman key exchange\n"
+"using\n"
+"<a href=\"#elgamal\">the same shared prime and generator as specified "
+"above for ElGamal</a>,\n"
+"followed by symmetric AES encryption as described above.\n"
+"This provides\n"
+"<a href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">perfect "
+"forward secrecy</a>\n"
+"on the transport links."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:416
+msgid "NTCP connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:418
+#, python-format
+msgid ""
+"NTCP connections are negotiated with a 2048 Diffie-Hellman "
+"implementation,\n"
+"using the router's identity to proceed with a station to station "
+"agreement, followed by\n"
+"some encrypted protocol specific fields, with all subsequent data "
+"encrypted with AES\n"
+"(as above).\n"
+"The primary reason to do the DH negotiation instead of using <a "
+"href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> is that it provides '<a"
+" href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">(perfect) "
+"forward secrecy</a>', while <a "
+"href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> does not."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:426
+msgid ""
+"In order to migrate to a more standardized implementation (TLS/SSL or "
+"even SSH), the following issues must be addressed:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:430
+msgid ""
+"Can we somehow reestablish sessions securely (ala session tags) or do we "
+"need to do full negotiation each time?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:433
+msgid ""
+"Can we simplify/avoid the x509 or other certificate formats and use our "
+"own RouterInfo structure (which \n"
+"contains the ElGamal and DSA keys)?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:438
+#, python-format
+msgid "See <a href=\"%(ntcp)s\">the NTCP specification</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:442
+msgid "UDP connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:443
+msgid ""
+"SSU (the UDP transport) encrypts each packet with AES256/CBC with both an"
+" explicit IV and MAC \n"
+"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a "
+"2048 bit \n"
+"Diffie-Hellman exchange, station-to-station authentication with the other"
+" \n"
+"router's DSA key, plus each network message has their own hash for local "
+"integrity \n"
+"checking."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:451
+#, python-format
+msgid "See <a href=\"%(ssu)s#keys\">the SSU specification</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/cryptography.html:455
+#, python-format
+msgid ""
+"WARNING - I2P's HMAC-MD5-128 used in SSU is apparently non-standard.\n"
+"Apparently, an early version of SSU used HMAC-SHA256, and then it was "
+"switched\n"
+"to MD5-128 for performance reasons, but left the 32-byte buffer size "
+"intact.\n"
+"See HMACGenerator.java and\n"
+"<a href=\"%(statusnotes)s\">the 2005-07-05 status notes</a>\n"
+"for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:2
+msgid "ElGamal/AES + SessionTag Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:3
+msgid "February 2011"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:7
+msgid "ElGamal/AES+SessionTags is used for end-to-end encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:11
+msgid ""
+"As an unreliable, unordered, message based system, I2P uses a simple "
+"combination \n"
+"of asymmetric and symmetric encryption algorithms to provide data "
+"confidentiality \n"
+"and integrity to garlic messages. As a whole, the combination is referred"
+" \n"
+"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to "
+"describe \n"
+"the use of 2048bit ElGamal, AES256, SHA256, and 32 byte nonces."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:19
+#: i2p2www/pages/site/docs/how/tech-intro.html:512
+msgid ""
+"The first time a router wants to encrypt a garlic message to another "
+"router, \n"
+"they encrypt the keying material for an AES256 session key with ElGamal "
+"and \n"
+"append the AES256/CBC encrypted payload after that encrypted ElGamal "
+"block. \n"
+"In addition to the encrypted payload, the AES encrypted section contains "
+"the \n"
+"payload length, the SHA256 hash of the unencrypted payload, as well as a "
+"number \n"
+"of \"session tags\" - random 32 byte nonces. The next time the sender "
+"wants \n"
+"to encrypt a garlic message to another router, rather than ElGamal "
+"encrypt \n"
+"a new session key they simply pick one of the previously delivered "
+"session \n"
+"tags and AES encrypt the payload like before, using the session key used "
+"with \n"
+"that session tag, prepended with the session tag itself. When a router "
+"receives \n"
+"a garlic encrypted message, they check the first 32 bytes to see if it "
+"matches \n"
+"an available session tag - if it does, they simply AES decrypt the "
+"message, \n"
+"but if it does not, they ElGamal decrypt the first block."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:35
+#: i2p2www/pages/site/docs/how/tech-intro.html:528
+msgid ""
+"Each session tag can be used only once so as to prevent internal "
+"adversaries \n"
+"from unnecessarily correlating different messages as being between the "
+"same \n"
+"routers. The sender of an ElGamal/AES+SessionTag encrypted message "
+"chooses \n"
+"when and how many tags to deliver, prestocking the recipient with enough "
+"tags \n"
+"to cover a volley of messages. Garlic messages may detect the successful "
+"tag \n"
+"delivery by bundling a small additional message as a clove (a \"delivery "
+"status \n"
+"message\") - when the garlic message arrives at the intended recipient "
+"and \n"
+"is decrypted successfully, this small delivery status message is one of "
+"the \n"
+"cloves exposed and has instructions for the recipient to send the clove "
+"back \n"
+"to the original sender (through an inbound tunnel, of course). When the "
+"original \n"
+"sender receives this delivery status message, they know that the session "
+"tags \n"
+"bundled in the garlic message were successfully delivered."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:50
+msgid ""
+"Session tags themselves have a short lifetime, after which they are \n"
+"discarded if not used. In addition, the quantity stored for each key is "
+"limited, \n"
+"as are the number of keys themselves - if too many arrive, either new or "
+"old \n"
+"messages may be dropped. The sender keeps track whether messages using "
+"session \n"
+"tags are getting through, and if there isn't sufficient communication it "
+"may \n"
+"drop the ones previously assumed to be properly delivered, reverting back"
+" \n"
+"to the full expensive ElGamal encryption.\n"
+"A session will continue to exist until all its tags are exhausted or "
+"expire."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:61
+msgid ""
+"Sessions are unidirectional. Tags are delivered from Alice to Bob,\n"
+"and Alice then uses the tags, one by one, in subsequent messages to Bob."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:66
+msgid ""
+"Sessions may be established between Destinations, between Routers, or\n"
+"between a Router and a Destination.\n"
+"Each Router and Destination maintains its own Session Key Manager to\n"
+"keep track of Session Keys and Session Tags.\n"
+"Separate Session Key Managers prevents correlation of multiple "
+"Destinations\n"
+"to each other or a Router by adversaries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:77
+msgid "Message Reception"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:78
+msgid ""
+"Each message received has one of two\n"
+"the two possible conditions:</p>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:84
+msgid ""
+"It is part of an existing session and contains a Session Tag and an AES "
+"encrypted block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:85
+msgid "It is for a new session and contains both ElGamal and AES encrypted blocks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:88
+msgid ""
+"When a router receives a message, it will first assume it is from\n"
+"an existing session and attempt to look up the Session Tag and decrypt "
+"the following data using AES.\n"
+"If that fails, it will assume it is for a new session and attempt to\n"
+"decrypt it using ElGamal."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:97
+msgid "New Session Message Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:98
+msgid ""
+"A New Session ElGamal Message contains two parts, an encrypted ElGamal "
+"block\n"
+"and an encrypted AES block."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:103
+msgid "The encrypted message contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:127
+msgid "ElGamal Block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:128
+msgid "The encrypted ElGamal Block is always 514 bytes long."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:132
+msgid "The unencrypted ElGamal data is 222 bytes long, containing:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:164
+#, python-format
+msgid ""
+"The 32-byte\n"
+"<a href=\"%(commonstructures)s#type_SessionKey\">Session Key</a>\n"
+"is the identifier for the session.\n"
+"The 32-byte Pre-IV will be used to generate the IV for the AES block that"
+" follows;\n"
+"the IV is the first 16 bytes of the SHA-256 Hash of the Pre-IV."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:172
+#, python-format
+msgid ""
+"The 222 byte payload is encrypted\n"
+"<a href=\"%(cryptography)s#elgamal\">using ElGamal</a>\n"
+"and the encrypted block is 514 bytes long.\n"
+"</p>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:179
+msgid "AES Block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:180
+msgid "The unencrypted data in the AES block contains the following:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:224
+#, python-format
+msgid "2-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>, 0-200"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:228
+#, python-format
+msgid ""
+"That many 32-byte <a "
+"href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:232
+#, python-format
+msgid "4-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:236
+#, python-format
+msgid ""
+"The 32-byte <a href=\"%(commonstructures)s#type_Hash\">SHA256 Hash</a> of"
+" the payload"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:240
+msgid "A one-byte value. Normally == 0. If == 0x01, a Session Key follows"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:244
+#, python-format
+msgid ""
+"A 32-byte <a href=\"%(commonstructures)s#type_SessionKey\">Session "
+"Key</a>,\n"
+"                 to replace the old key, and is only present if preceding"
+" flag is 0x01"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:249
+msgid "the data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:251
+msgid ""
+"Random data to a multiple of 16 bytes for the total length.\n"
+"         May contain more than the minimum required padding."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:256
+msgid "Minimum length: 48 bytes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:260
+#, python-format
+msgid ""
+"The data is then <a href=\"%(cryptography)s\">AES Encrypted</a>,\n"
+"using the session key and IV (calculated from the pre-IV) from the "
+"ElGamal section.\n"
+"The encrypted AES Block length is variable but is always a multiple of 16"
+" bytes.\n"
+"</p>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:269
+#, python-format
+msgid ""
+"Actual max payload length, and max block length, is less than 64 KB; see "
+"the <a href=\"%(i2np)s\">I2NP Overview</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:272
+msgid "New Session Key is currently unused and is never present."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:277
+msgid "Existing Session Message Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:278
+msgid ""
+"The session tags delivered successfully are remembered for a \n"
+"brief period (15 minutes currently) until they are used or discarded.\n"
+"A tag is used by packaging one in an Existing Session Message that\n"
+"contains only an AES encrypted block, and is not preceded by an\n"
+"ElGamal block."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:286
+msgid ""
+"The existing session message is\n"
+"as follows:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:309
+#, python-format
+msgid ""
+"A 32-byte <a href=\"%(commonstructures)s#type_SessionTag\">Session "
+"Tag</a>\n"
+"             previously delivered in an AES block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:314
+msgid "As specified <a href=\"#aes\">above</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:318
+msgid ""
+"The session tag also serves as\n"
+"the pre-IV. The IV is the first 16 bytes of the SHA-256 Hash of the "
+"sessionTag."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:323
+msgid ""
+"To decode a message from an existing session, a router looks up the "
+"Session Tag to find an\n"
+"associated Session Key. If the Session Tag is found, the AES block is "
+"decrypted using the associated Session Key.\n"
+"If the tag is not found, the message is assumed to be a <a "
+"href=\"#new\">New Session Message</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:332
+msgid ""
+"There are many possible areas to tune the Session Key Manager's "
+"algorithms;\n"
+"some may interact with the streaming library behavior, or have "
+"significant\n"
+"impact on overall performance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:338
+msgid ""
+"Delivery of too many tags at one time may impose substantial overhead for"
+" brief streaming connections\n"
+"or datagrams, and increase the chance of message loss.\n"
+"We currently deliver 40 tags at a time (1280 bytes).\n"
+"32 (1024 bytes) may be better for tunnel fragmentation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:345
+msgid ""
+"A few tags could be delivered in each of several messages, or lots of "
+"tags all at once."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:349
+msgid ""
+"It is also important to study and tune\n"
+"the low-tag thresholds at which more tags are sent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:354
+msgid ""
+"The number of tags delivered could depend on message size, keeping in "
+"mind\n"
+"the eventual padding to 1KB at the tunnel message layer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:359
+msgid ""
+"Clients could send an estimate of session lifetime to the router, as an "
+"advisory\n"
+"on the number of tags required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:364
+msgid ""
+"Delivery of too few tags causes the router to fall back to an expensive "
+"ElGamal encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:368
+msgid ""
+"The router may assume delivery of Session Tags, or await acknowledgement "
+"before using them;\n"
+"there are tradeoffs for each strategy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:373
+msgid ""
+"For very brief messages, almost the full 222 bytes of the pre-IV and "
+"padding fields in the ElGamal block\n"
+"could be used for the entire message, instead of establishing a session."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:378
+msgid ""
+"Evaluate padding strategy; currently we pad to a minimum of 128 bytes.\n"
+"Would be better to add a few tags to small messages than pad."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:383
+msgid ""
+"Perhaps things could be more efficient if the Session Tag system was "
+"bidirectional,\n"
+"so tags delivered in the 'forward' path could be used in the 'reverse' "
+"path,\n"
+"thus avoiding ElGamal in the initial response.\n"
+"The router currently plays some tricks like this when sending\n"
+"tunnel test messages to itself."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:391
+#, python-format
+msgid ""
+"Change from Session Tags to\n"
+"<a href=\"%(futureperf)s#prng\">a synchronized PRNG</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/elgamal-aes.html:396
+#, python-format
+msgid ""
+"Several of these ideas may require a new I2NP message type, or\n"
+"set a flag in the\n"
+"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
+"or set a magic number in the first few bytes of the Session Key field\n"
+"and accept a small risk of the random Session Key matching the magic "
+"number."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:2
+msgid "Garlic Routing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:6
+msgid "Garlic Routing and \"Garlic\" Terminology"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:7
+msgid ""
+"The terms \"garlic routing\" and \"garlic encryption\" are often used "
+"rather loosely when referring to I2P's technology.\n"
+"Here, we explain the history of the terms, the various meanings, and\n"
+"the usage of \"garlic\" methods in I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:13
+msgid ""
+"\"Garlic routing\" was first coined by\n"
+"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>\n"
+"in Roger Dingledine's Free Haven \n"
+"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> "
+"Section 8.1.1 (June 2000), as derived from \n"
+"<a href=\"http://www.onion-router.net/\">Onion Routing</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:21
+msgid ""
+"\"Garlic\" may have been used originally by I2P developers because I2P "
+"implements a form of\n"
+"bundling as Freedman describes, or simply to emphasize general "
+"differences from Tor.\n"
+"The specific reasoning may be lost to history.\n"
+"Generally, when referring to I2P, the term \"garlic\" may mean one of "
+"three things:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:28
+#: i2p2www/pages/site/docs/how/garlic-routing.html:39
+msgid "Layered Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:29
+msgid "Bundling multiple messages together"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:30
+#: i2p2www/pages/site/docs/how/garlic-routing.html:96
+msgid "ElGamal/AES Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:33
+msgid ""
+"Unfortunately, I2P's usage of \"garlic\" terminology over the past seven "
+"years has not always been precise; therefore the reader is\n"
+"cautioned when encountering the term.\n"
+"Hopefully, the explanation below will make things clear."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:40
+msgid ""
+"Onion routing is a technique for building paths, or tunnels, through a "
+"series of peers,\n"
+"and then using that tunnel.\n"
+"Messages are repeatedly encrypted by the originator, and then decrypted "
+"by each hop.\n"
+"During the building phase, only the routing instructions for the next hop"
+" are exposed to each peer.\n"
+"During the operating phase, messages are passed through the tunnel, and "
+"the\n"
+"message and its routing instructions are only exposed to the endpoint of "
+"the tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:49
+#, python-format
+msgid ""
+"This is similar to the way Mixmaster\n"
+"(see <a href=\"%(comparisons)s\">network comparisons</a>) sends messages "
+"- taking a message, encrypting it\n"
+"to the recipient's public key, taking that encrypted message and "
+"encrypting\n"
+"it (along with instructions specifying the next hop), and then taking "
+"that\n"
+"resulting encrypted message and so on, until it has one layer of "
+"encryption\n"
+"per hop along the path."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:58
+msgid ""
+"In this sense, \"garlic routing\" as a general concept is identical to "
+"\"onion routing\".\n"
+"As implemented in I2P, of course, there are several differences from the "
+"implementation in Tor; see below.\n"
+"Even so, there are substantial similarities such that I2P benefits from a"
+"\n"
+"<a href=\"http://www.onion-router.net/Publications.html\">large amount of"
+" academic research on onion routing</a>,\n"
+"<a href=\"http://freehaven.net/anonbib/topic.html\">Tor, and similar "
+"mixnets</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:67
+msgid "Bundling Multiple Messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:68
+msgid ""
+"Michael Freedman defined \"garlic routing\" as an extension to onion "
+"routing,\n"
+"in which multiple messages are bundled together.\n"
+"He called each message a \"bulb\".\n"
+"All the messages, each with its own delivery instructions, are exposed at"
+" the\n"
+"endpoint.\n"
+"This allows the efficient bundling of an onion routing \"reply block\" "
+"with the original message."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:77
+msgid ""
+"This concept is implemented in I2P, as described below.\n"
+"Our term for garlic \"bulbs\" is \"cloves\".\n"
+"Any number of messages can be\n"
+"contained, instead of just a single message.\n"
+"This is a significant distinction from the onion routing implemented in "
+"Tor.\n"
+"However, it is only one of many major architectural differences between "
+"I2P and Tor;\n"
+"perhaps it is not, by itself, enough to justify a change in terminology."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:87
+msgid ""
+"Another difference\n"
+"from the method described by Freedman\n"
+"is that the path is unidirectional - there is no \"turning point\" as "
+"seen in onion routing\n"
+"or mixmaster reply blocks, which greatly simplifies the algorithm and "
+"allows for more flexible\n"
+"and reliable delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:97
+#, python-format
+msgid ""
+"In some cases, \"garlic encryption\" may simply mean\n"
+"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption\n"
+"(without multiple layers)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:105
+msgid "\"Garlic\" Methods in I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:106
+msgid ""
+"Now that we've defined various \"garlic\" terms, we can say that\n"
+"I2P uses garlic routing, bundling and encryption in three places:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:111
+msgid "For building and routing through tunnels (layered encryption)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:112
+msgid ""
+"For determining the success or failure of end to end message delivery "
+"(bundling)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:113
+msgid ""
+"For publishing some network database entries (dampening the probability "
+"of a successful traffic analysis attack) (ElGamal/AES)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:116
+msgid ""
+"There are also significant ways that this technique can be used to "
+"improve the performance of the network, \n"
+"exploiting transport latency/throughput tradeoffs, and branching data "
+"through redundant paths to increase reliability."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:122
+msgid "Tunnel Building and Routing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:123
+msgid ""
+"In I2P, tunnels are unidirectional. Each party builds two tunnels,\n"
+"one for outbound and one for inbound traffic.\n"
+"Therefore, four tunnels are required for a single round-trip message and "
+"reply."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:129
+#, python-format
+msgid ""
+"Tunnels are built, and then used, with layered encryption.\n"
+"This is described on the\n"
+"<a href=\"%(tunnelimpl)s\">tunnel implementation page</a>.\n"
+"Tunnel building details are defined on\n"
+"<a href=\"%(tunnelcreation)s\">this page</a>.\n"
+"We use\n"
+"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:141
+#, python-format
+msgid ""
+"Tunnels are a general-purpose mechanism to transport all\n"
+"<a href=\"%(i2np)s\">I2NP messages</a>, and\n"
+"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Messages</a> are not used to "
+"build tunnels.\n"
+"We do not bundle multiple\n"
+"<a href=\"%(i2np)s\">I2NP messages</a> into a single\n"
+"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a> for unwrapping at "
+"the outbound tunnel endpoint;\n"
+"the tunnel encryption is sufficient."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:152
+msgid "End-to-End Message Bundling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:153
+#, python-format
+msgid ""
+"At the layer above tunnels, I2P delivers end-to-end messages between\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>.\n"
+"Just as within a single tunnel, we use\n"
+"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption."
+"\n"
+"Each client message as delivered to the router through the\n"
+"<a href=\"%(i2cp)s\">I2CP interface</a> becomes a single\n"
+"<a href=\"%(i2npspec)s#struct_GarlicClove\">Garlic Clove</a>\n"
+"with its own\n"
+"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
+"inside a\n"
+"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>.\n"
+"Delivery Instructions may specify a Destination, Router, or Tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:172
+msgid ""
+"Generally, a Garlic Message will contain only one clove.\n"
+"However, the router will periodically bundle two additional\n"
+"cloves in the Garlic Message:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:177
+msgid "Garlic Message Cloves"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:180
+#, python-format
+msgid ""
+"A\n"
+"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">Delivery Status Message</a>,\n"
+"with\n"
+"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
+"specifying that it be sent back to the originating router as an "
+"acknowledgment.\n"
+"This is similar to the \"reply block\" or \"reply onion\"\n"
+"described in the references.\n"
+"It is used for determining the success or failure of end to end message "
+"delivery.\n"
+"The originating router may, upon failure to receive the Delivery Status "
+"Message\n"
+"within the expected time period, modify the routing to the far-end "
+"Destination,\n"
+"or take other actions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:194
+#, python-format
+msgid ""
+"A\n"
+"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>,\n"
+"containing a\n"
+"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>\n"
+"for the originating Destination, with\n"
+"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
+"specifying the far-end destination's router.\n"
+"By periodically bundling a LeaseSet, the router ensures that the far-end "
+"will be able\n"
+"to maintain communications.\n"
+"Otherwise the far-end would have to query a floodfill router for the "
+"network database entry,\n"
+"and all LeaseSets would have to be published to the network database, as "
+"explained on the\n"
+"<a href=\"%(netdb)s\">network database page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:213
+#, python-format
+msgid ""
+"In the current implementation, the Delivery Status and Database Store "
+"Messages\n"
+"are bundled when the local LeaseSet changes, when additional\n"
+"<a href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>\n"
+"are delivered, or if the messages have not been bundled in the previous "
+"minute."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:220
+msgid ""
+"Obviously, the additional messages are currently bundled for specific "
+"purposes,\n"
+"and not part of a general-purpose routing scheme."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:226
+msgid "Storage to the Floodfill Network Database"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:227
+#, python-format
+msgid ""
+"As explained on the\n"
+"<a href=\"%(netdb)s#delivery\">network database page</a>,\n"
+"local\n"
+"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSets</a>\n"
+"are sent to floodfill routers in a\n"
+"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>\n"
+"wrapped in a\n"
+"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>\n"
+"so it is not visible to the tunnel's outbound gateway."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:243
+#, python-format
+msgid ""
+"The Garlic Message mechanism is very flexible and provides a structure "
+"for\n"
+"implementing many types of mixnet delivery methods.\n"
+"Together with the unused delay option in the\n"
+"<a href=\"%(tunnelmessage)s#delivery\">tunnel message Delivery "
+"Instructions</a>,\n"
+"a wide spectrum of batching, delay, mixing, and routing strategies are "
+"possible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:251
+msgid ""
+"In particular, there is potential for much more flexibility at the "
+"outbound tunnel endpoint.\n"
+"Messages could possibly be routed from there to one of several tunnels\n"
+"(thus minimizing point-to-point connections), or multicast to several "
+"tunnels\n"
+"for redundancy, or streaming audio and video."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:258
+msgid ""
+"Such experiments may conflict with the need to ensure security and "
+"anonymity, such\n"
+"as limiting certain routing paths, restricting the types of I2NP messages"
+" that may\n"
+"be forwarded along various paths, and enforcing certain message "
+"expiration times."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:264
+#, python-format
+msgid ""
+"As a part of\n"
+"<a href=\"%(elgamalaes)s\">ElGamal/AES encryption</a>,\n"
+"a garlic message contains a sender\n"
+"specified amount of padding data, allowing the sender to take active "
+"countermeasures \n"
+"against traffic analysis.\n"
+"This is not currently used, beyond the requirement to pad to a multiple "
+"of 16 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:273
+#, python-format
+msgid ""
+"Encryption of additional messages to and from the\n"
+"<a href=\"%(netdb)s#delivery\">floodfill routers</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:283
+msgid ""
+"The term garlic routing was first coined in Roger Dingledine's Free Haven"
+" \n"
+"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> "
+"(June 2000),\n"
+"see Section 8.1.1 authored by\n"
+"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:290
+msgid "Onion router publications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:292
+msgid "Onion Routing on Wikipedia"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:294
+msgid "Garlic Routing on Wikipedia"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:296
+#, python-format
+msgid ""
+"<a href=\"%(meeting58)s\">I2P Meeting 58</a> (2003) discussing the "
+"implementation of garlic routing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:302
+msgid "Free Haven publications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/garlic-routing.html:304
+msgid ""
+"Onion routing was first described in <a href=\"http://www.onion-"
+"router.net/Publications/IH-1996.pdf\">Hiding Routing Information</a>\n"
+"by David M. Goldschlag, Michael G. Reed, and Paul F. Syverson in 1996."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:2
+msgid "A Gentle Introduction to How I2P Works"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:4
+msgid ""
+"I2P is a project to build, deploy, and maintain a network supporting "
+"secure and anonymous\n"
+"communication. People using I2P are in control of the tradeoffs between "
+"anonymity, reliability,\n"
+"bandwidth usage, and latency. There is no central point in the network on"
+" which pressure can be\n"
+"exerted to compromise the integrity, security, or anonymity of the "
+"system. The network supports\n"
+"dynamic reconfiguration in response to various attacks, and has been "
+"designed to make use of\n"
+"additional resources as they become available. Of course, all aspects of "
+"the network are open and\n"
+"freely available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:14
+msgid ""
+"Unlike many other anonymizing networks, I2P doesn't try to provide "
+"anonymity by hiding the\n"
+"originator of some communication and not the recipient, or the other way "
+"around. I2P is designed to\n"
+"allow peers using I2P to communicate with each other anonymously &mdash; "
+"both sender and recipient\n"
+"are unidentifiable to each other as well as to third parties. For "
+"example, today there are both\n"
+"in-I2P web sites (allowing anonymous publishing / hosting) as well as "
+"HTTP proxies to the normal web\n"
+"(allowing anonymous web browsing). Having the ability to run servers "
+"within I2P is essential, as it\n"
+"is quite likely that any outbound proxies to the normal Internet will be "
+"monitored, disabled, or\n"
+"even taken over to attempt more malicious attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:25
+#, python-format
+msgid ""
+"The network itself is message oriented - it is essentially a secure and "
+"anonymous IP layer, where\n"
+"messages are addressed to cryptographic keys (Destinations) and can be "
+"significantly larger than IP\n"
+"packets. Some example uses of the network include \"eepsites\" "
+"(webservers hosting normal web\n"
+"applications within I2P), a BitTorrent client (\"I2PSnark\"), or a "
+"distributed data store. With the\n"
+"help of the <a href=\"%(i2ptunnel)s\">I2PTunnel</a> application, we are "
+"able to stream traditional\n"
+"TCP/IP applications over I2P, such as SSH, IRC, a squid proxy, and even "
+"streaming audio. Most people\n"
+"will not use I2P directly, or even need to know they're using it. Instead"
+" their view will be of one\n"
+"of the I2P enabled applications, or perhaps as a little controller app to"
+" turn on and off various\n"
+"proxies to enable the anonymizing functionality."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:37
+#, python-format
+msgid ""
+"An essential part of designing, developing, and testing an anonymizing "
+"network is to define the <a\n"
+"href=\"%(threatmodel)s\">threat model</a>, since there is no such thing "
+"as \"true\" anonymity, just\n"
+"increasingly expensive costs to identify someone. Briefly, I2P's intent "
+"is to allow people to\n"
+"communicate in arbitrarily hostile environments by providing good "
+"anonymity, mixed in with\n"
+"sufficient cover traffic provided by the activity of people who require "
+"less anonymity. This way,\n"
+"some users can avoid detection by a very powerful adversary, while others"
+" will try to evade a weaker\n"
+"entity, <i>all on the same network</i>, where each one's messages are "
+"essentially indistinguishable\n"
+"from the others."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:48
+msgid "Why?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:49
+#, python-format
+msgid ""
+"There are a multitude of reasons why we need a system to support "
+"anonymous communication, and\n"
+"everyone has their own personal rationale. There are many <a "
+"href=\"%(comparisons)s\">other\n"
+"efforts</a> working on finding ways to provide varying degrees of "
+"anonymity to people through the\n"
+"Internet, but we could not find any that met our needs or threat model."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:56
+msgid "How?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:58
+#, python-format
+msgid ""
+"The network at a glance is made up of a set of nodes (\"routers\") with a"
+" number of unidirectional\n"
+"inbound and outbound virtual paths (\"tunnels\", as outlined on the <a "
+"href=\"%(tunnelrouting)s\">tunnel routing</a> page). Each router is "
+"identified by a cryptographic RouterIdentity which is\n"
+"typically long lived. These routers communicate with each other through "
+"existing transport\n"
+"mechanisms (TCP, UDP, etc), passing various messages. Client applications"
+" have their own\n"
+"cryptographic identifier (\"Destination\") which enables it to send and "
+"receive messages. These\n"
+"clients can connect to any router and authorize the temporary allocation "
+"(\"lease\") of some tunnels\n"
+"that will be used for sending and receiving messages through the network."
+" I2P has its own internal\n"
+"<a href=\"%(netdb)s\">network database</a> (using a modification of the "
+"Kademlia algorithm) for\n"
+"distributing routing and contact information securely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:71
+msgid "Network topology example"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:73
+msgid ""
+"In the above, Alice, Bob, Charlie, and Dave are all running routers with "
+"a single Destination on\n"
+"their local router. They each have a pair of 2-hop inbound tunnels per "
+"destination (labeled 1, 2, 3,\n"
+"4, 5 and 6), and a small subset of each of those router's outbound tunnel"
+" pool is shown with 2-hop\n"
+"outbound tunnels. For simplicity, Charlie's inbound tunnels and Dave's "
+"outbound tunnels are not\n"
+"shown, nor are the rest of each router's outbound tunnel pool (typically "
+"stocked with a few tunnels\n"
+"at a time). When Alice and Bob talk to each other, Alice sends a message "
+"out one of her (pink)\n"
+"outbound tunnels targeting one of Bob's (green) inbound tunnels (tunnel 3"
+" or 4). She knows to send\n"
+"to those tunnels on the correct router by querying the network database, "
+"which is constantly updated\n"
+"as new leases are authorized and old ones expire."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:85
+#, python-format
+msgid ""
+"If Bob wants to reply to Alice, he simply goes through the same process -"
+" send a message out one of\n"
+"his outbound tunnels targeting one of Alice's inbound tunnels (tunnel 1 "
+"or 2). To make things\n"
+"easier, most messages sent between Alice and Bob are <a "
+"href=\"%(garlicrouting)s\">garlic</a>\n"
+"wrapped, bundling the sender's own current lease information so that the "
+"recipient can reply\n"
+"immediately without having to look in the network database for the "
+"current data."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:93
+#, python-format
+msgid ""
+"To deal with a wide range of attacks, I2P is fully distributed with no "
+"centralized resources - and\n"
+"hence there are no directory servers keeping statistics regarding the "
+"performance and reliability of\n"
+"routers within the network. As such, each router must keep and maintain "
+"profiles of various routers\n"
+"and is responsible for selecting appropriate peers to meet the anonymity,"
+" performance, and\n"
+"reliability needs of the users, as described in the <a "
+"href=\"%(peerselection)s\">peer selection</a>\n"
+"page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:102
+#, python-format
+msgid ""
+"The network itself makes use of a significant number of <a "
+"href=\"%(cryptography)s\">cryptographic\n"
+"techniques and algorithms</a> - a full laundry list includes 2048bit "
+"ElGamal encryption, 256bit AES\n"
+"in CBC mode with PKCS#5 padding, 1024bit DSA signatures, SHA256 hashes, "
+"2048bit Diffie-Hellman\n"
+"negotiated connections with station to station authentication, and <a "
+"href=\"%(elgamalaes)s\">ElGamal / AES+SessionTag</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:110
+msgid ""
+"Content sent over I2P is encrypted through three layers garlic encryption"
+" (used to verify the\n"
+"delivery of the message to the recipient), tunnel encryption (all "
+"messages passing through a tunnel\n"
+"is encrypted by the tunnel gateway to the tunnel endpoint), and inter "
+"router transport layer\n"
+"encryption (e.g. the TCP transport uses AES256 with ephemeral keys)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:117
+msgid ""
+"End-to-end (I2CP) encryption (client application to server application) "
+"was disabled in I2P release\n"
+"0.6; end-to-end (garlic) encryption (I2P client router to I2P server "
+"router) from Alice's router \"a\"\n"
+"to Bob's router \"h\" remains. Notice the different use of terms! All "
+"data from a to h is end-to-end\n"
+"encrypted, but the I2CP connection between the I2P router and the "
+"applications is not end-to-end\n"
+"encrypted! A and h are the routers of Alice and Bob, while Alice and Bob "
+"in following chart are the\n"
+"applications running atop of I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:126
+msgid "End to end layered encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:128
+#, python-format
+msgid ""
+"The specific use of these algorithms are outlined <a "
+"href=\"%(cryptography)s\">elsewhere</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:132
+msgid ""
+"The two main mechanisms for allowing people who need strong anonymity to "
+"use the network are\n"
+"explicitly delayed garlic routed messages and more comprehensive tunnels "
+"to include support for\n"
+"pooling and mixing messages. These are currently planned for release 3.0,"
+" but garlic routed messages\n"
+"with no delays and FIFO tunnels are currently in place. Additionally, the"
+" 2.0 release will allow\n"
+"people to set up and operate behind restricted routes (perhaps with "
+"trusted peers), as well as the\n"
+"deployment of more flexible and anonymous transports."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:141
+#, python-format
+msgid ""
+"Some questions have been raised with regards to the scalability of I2P, "
+"and reasonably so. There\n"
+"will certainly be more analysis over time, but peer lookup and "
+"integration should be bounded by\n"
+"<code>O(log(N))</code> due to the <a href=\"%(netdb)s\">network "
+"database</a>'s algorithm, while end\n"
+"to end messages should be <code>O(1)</code> (scale free), since messages "
+"go out K hops through the\n"
+"outbound tunnel and another K hops through the inbound tunnel, with K no "
+"longer than 3. The size of\n"
+"the network (N) bears no impact."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:150
+msgid "When?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:151
+#, python-format
+msgid ""
+"I2P initially began in Feb 2003 as a proposed modification to <a\n"
+"href=\"http://freenetproject.org\">Freenet</a> to allow it to use "
+"alternate transports, such as <a\n"
+"href=\"%(jms)s\">JMS</a>, then grew into its own as an\n"
+"'anonCommFramework' in April 2003, turning into I2P in July, with code "
+"being written in earnest\n"
+"starting in August '03. I2P is currently under development, following the"
+" <a href=\"%(roadmap)s\">roadmap</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:161
+msgid "Who?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:162
+#, python-format
+msgid ""
+"We have a small <a href=\"%(team)s\">team</a> spread around several "
+"continents, working to advance\n"
+"different aspects of the project. We are very open to other developers "
+"who want to get involved and\n"
+"anyone else who would like to contribute in other ways, such as "
+"critiques, peer review, testing,\n"
+"writing I2P enabled applications, or documentation. The entire system is "
+"open source - the router\n"
+"and most of the SDK are outright public domain with some BSD and Cryptix "
+"licensed code, while some\n"
+"applications like I2PTunnel and I2PSnark are GPL. Almost everything is "
+"written in Java (1.5+),\n"
+"though some third party applications are being written in Python and "
+"other languages. The code works\n"
+"on <a href=\"http://java.com/en/\">Sun Java SE</a> and other Java Virtual"
+" Machines."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:173
+msgid "Where?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:174
+#, python-format
+msgid ""
+"Anyone interested should join us on the IRC channel #i2p (hosted "
+"concurrently on irc.freenode.net,\n"
+"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p and "
+"irc.einirc.de). There are currently no\n"
+"scheduled development meetings, however <a href=\"%(meetings)s\">archives"
+" are available</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:180
+#, python-format
+msgid "The current source is available in <a href=\"%(monotone)s\">monotone</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/intro.html:185
+#, python-format
+msgid "See <a href=\"%(docs)s\">the Index to Technical Documentation</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:2
+msgid "The Network Database"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:3
+#: i2p2www/pages/site/docs/spec/updates.html:3
+msgid "October 2013"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:8
+msgid ""
+"I2P's netDb is a specialized distributed database, containing \n"
+"just two types of data - router contact information (<b>RouterInfos</b>) "
+"and destination contact\n"
+"information (<b>LeaseSets</b>). Each piece of data is signed by the "
+"appropriate party and verified\n"
+"by anyone who uses or stores it. In addition, the data has liveliness "
+"information\n"
+"within it, allowing irrelevant entries to be dropped, newer entries to "
+"replace\n"
+"older ones, and protection against certain classes of attack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:17
+msgid ""
+"The netDb is distributed with a simple technique called \"floodfill\",\n"
+"where a subset of all routers, called \"floodfill routers\", maintains "
+"the distributed database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:25
+msgid ""
+"When an I2P router wants to contact another router, they need to know "
+"some \n"
+"key pieces of data - all of which are bundled up and signed by the router"
+" into\n"
+"a structure called the \"RouterInfo\", which is distributed with the "
+"SHA256 of the router's identity\n"
+"as the key. The structure itself contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:32
+msgid ""
+"The router's identity (a 2048bit ElGamal encryption key, a 1024bit DSA "
+"signing key, and a certificate)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:33
+msgid ""
+"The contact addresses at which it can be reached (e.g. TCP: example.org "
+"port 4108)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:34
+msgid "When this was published"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:35
+msgid "A set of arbitrary text options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:36
+msgid "The signature of the above, generated by the identity's DSA signing key"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:39
+msgid ""
+"The following text options, while not strictly required, are expected\n"
+"to be present:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:45
+msgid ""
+"Capabilities flags - used to indicate floodfill participation, "
+"approximate bandwidth, and perceived reachability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:47
+msgid "SSU Testing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:48
+msgid "SSU Introducer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:49
+#: i2p2www/pages/site/docs/how/network-database.html:246
+msgid "Floodfill"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:50
+msgid "Hidden"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:51
+#, python-format
+msgid "Under %(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:52
+#: i2p2www/pages/site/docs/how/network-database.html:53
+#: i2p2www/pages/site/docs/how/network-database.html:54
+#, python-format
+msgid "%(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:52
+msgid "default"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:55
+#, python-format
+msgid "Over %(amount)s shared bandwidth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:56
+msgid "Reachable"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:57
+msgid "Unreachable"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:62
+msgid "The core library version, always the same as the router version"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:65
+msgid ""
+"Basic network compatibility - A router will refuse to communicate with a "
+"peer having a different netId"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:68
+msgid "Used to determine compatibility with newer features and messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:71
+msgid ""
+"Always sent as 90m, for compatibility with an older scheme where routers "
+"published their actual uptime,\n"
+"and only sent tunnel requests to peers whose was more than 60m"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:76
+msgid ""
+"These values are used by other routers for basic decisions.\n"
+"Should we connect to this router? Should we attempt to route a tunnel "
+"through this router?\n"
+"The bandwidth capability flag, in particular, is used only to determine "
+"whether\n"
+"the router meets a minimum threshold for routing tunnels.\n"
+"Above the minimum threshold, the advertised bandwidth is not used or "
+"trusted anywhere\n"
+"in the router, except for display in the user interface and for debugging"
+" and network analysis."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:86
+#, python-format
+msgid ""
+"Additional text options include\n"
+"a small number of statistics about the router's health, which are "
+"aggregated by\n"
+"sites such as <a href=\"http://%(stats)s/\">%(stats)s</a>\n"
+"for network performance analysis and debugging.\n"
+"These statistics were chosen to provide data crucial to the developers,\n"
+"such as tunnel build success rates, while balancing the need for such "
+"data\n"
+"with the side-effects that could result from revealing this data.\n"
+"Current statistics are limited to:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:97
+msgid "Client and exploratory tunnel build success, reject, and timeout rates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:98
+msgid "1 hour average number of participating tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:101
+msgid ""
+"The data published can be seen in the router's user interface,\n"
+"but is not used or trusted within the router.\n"
+"As the network has matured, we have gradually removed most of the "
+"published\n"
+"statistics to improve anonymity, and we plan to remove more in future "
+"releases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:109
+msgid "RouterInfo specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:112
+msgid "RouterInfo Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:115
+msgid "RouterInfo Expiration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:116
+msgid ""
+"RouterInfos have no set expiration time.\n"
+"Each router is free to maintain its own local policy to trade off the "
+"frequency of RouterInfo lookups\n"
+"with memory or disk usage.\n"
+"In the current implementation, there are the following general policies:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:123
+msgid ""
+"There is no expiration during the first hour of uptime, as the persistent"
+" stored data may be old."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:126
+msgid "There is no expiration if there are 25 or less RouterInfos."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:129
+msgid ""
+"As the number of local RouterInfos grows, the expiration time shrinks, in"
+" an attempt to maintain\n"
+"a reasonable number RouterInfos. The expiration time with less than 120 "
+"routers is 72 hours,\n"
+"while expiration time with 300 routers is around 30 hours."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:134
+#, python-format
+msgid ""
+"RouterInfos containing <a href=\"%(ssu)s\">SSU</a> introducers expire in "
+"about an hour, as\n"
+"the introducer list expires in about that time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:138
+msgid ""
+"Floodfills use a short expiration time (1 hour) for all local "
+"RouterInfos, as valid RouterInfos will\n"
+"be frequently republished to them."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:144
+msgid "RouterInfo Persistent Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:146
+msgid ""
+"RouterInfos are periodically written to disk so that they are available "
+"after a restart."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:153
+msgid ""
+"The second piece of data distributed in the netDb is a \"LeaseSet\" - "
+"documenting\n"
+"a group of <b>tunnel entry points (leases)</b> for a particular client "
+"destination.\n"
+"Each of these leases specify the following information:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:159
+msgid "The tunnel gateway router (by specifying its identity)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:160
+msgid "The tunnel ID on that router to send messages with (a 4 byte number)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:161
+msgid "When that tunnel will expire."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:163
+msgid ""
+"The LeaseSet itself is stored in the netDb under\n"
+"the key derived from the SHA256 of the destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:168
+msgid "In addition to these leases, the LeaseSet includes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:172
+msgid ""
+"The destination itself (a 2048bit ElGamal encryption key, 1024bit DSA "
+"signing key and a certificate)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:173
+msgid ""
+"Additional encryption public key: used for end-to-end encryption of "
+"garlic messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:174
+msgid ""
+"Additional signing public key: intended for LeaseSet revocation, but is "
+"currently unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:175
+msgid ""
+"Signature of all the LeaseSet data, to make sure the Destination "
+"published the LeaseSet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:179
+msgid "Lease specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:181
+msgid "LeaseSet specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:184
+msgid "Lease Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:186
+msgid "LeaseSet Javadoc"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:190
+msgid "Unpublished LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:191
+msgid ""
+"A LeaseSet for a destination used only for outgoing connections is "
+"<i>unpublished</i>.\n"
+"It is never sent for publication to a floodfill router.\n"
+"\"Client\" tunnels, such as those for web browsing and IRC clients, are "
+"unpublished.\n"
+"Servers will still be able to send messages back to those unpublished "
+"destinations,\n"
+"because of <a href=\"#leaseset_storage_peers\">I2NP storage messages</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:201
+msgid "Revoked LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:202
+msgid ""
+"A LeaseSet may be <i>revoked</i> by publishing a new LeaseSet with zero "
+"leases.\n"
+"Revocations must be signed by the additional signing key in the LeaseSet."
+"\n"
+"Revocations are not fully implemented, and it is unclear if they have any"
+" practical use.\n"
+"This is the only planned use for that signing key, so it is currently "
+"unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:209
+msgid "Encrypted LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:210
+msgid ""
+"In an <i>encrypted</i> LeaseSet, all Leases are encrypted with a separate"
+" DSA key.\n"
+"The leases may only be decoded, and thus the destination may only be "
+"contacted,\n"
+"by those with the key.\n"
+"There is no flag or other direct indication that the LeaseSet is "
+"encrypted.\n"
+"Encrypted LeaseSets are not widely used, and it is a topic for future "
+"work to\n"
+"research whether the user interface and implementation of encrypted "
+"LeaseSets could be improved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:219
+msgid "LeaseSet Expiration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:220
+msgid ""
+"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet "
+"expires\n"
+"10 minutes after the earliest creation time of all its Leases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:225
+msgid "LeaseSet Persistent Storage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:226
+msgid ""
+"There is no persistent storage of LeaseSet data since they expire so "
+"quickly."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:231
+msgid "Bootstrapping"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:232
+msgid ""
+"The netDb is decentralized, however you do need at\n"
+"least one reference to a peer so that the integration process\n"
+"ties you in. This is accomplished by \"reseeding\" your router with the "
+"RouterInfo\n"
+"of an active peer - specifically, by retrieving their "
+"<code>routerInfo-$hash.dat</code>\n"
+"file and storing it in your <code>netDb/</code> directory. Anyone can "
+"provide\n"
+"you with those files - you can even provide them to others by exposing "
+"your own\n"
+"netDb directory. To simplify the process,\n"
+"volunteers publish their netDb directories (or a subset) on the regular "
+"(non-i2p) network,\n"
+"and the URLs of these directories are hardcoded in I2P.\n"
+"When the router starts up for the first time, it automatically fetches "
+"from\n"
+"one of these URLs, selected at random."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:247
+msgid ""
+"The floodfill netDb is a simple distributed storage mechanism.\n"
+"The storage algorithm is simple: send the data to the closest peer that "
+"has advertised itself\n"
+"as a floodfill router. Then wait 10 seconds, pick another floodfill "
+"router and ask them \n"
+"for the entry to be sent, verifying its proper insertion / distribution. "
+"If the \n"
+"verification peer doesn't reply, or they don't have the entry, the sender"
+" \n"
+"repeats the process. When the peer in the floodfill netDb receives a "
+"netDb \n"
+"store from a peer not in the floodfill netDb, they send it to a subset of"
+" the floodfill netDb-peers.\n"
+"The peers selected are the ones closest (according to the <a "
+"href=\"#kademlia_closeness\">XOR-metric</a>) to a specific key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:258
+msgid ""
+"Determining who is part of the floodfill netDb is trivial - it is exposed"
+" in each \n"
+"router's published routerInfo as a capability."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:263
+msgid ""
+"Floodfills have no central authority and do not form a \"consensus\" -\n"
+"they only implement a simple DHT overlay."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:270
+msgid "Floodfill Router Opt-in"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:272
+msgid ""
+"Unlike Tor, where the directory servers are hardcoded and trusted,\n"
+"and operated by known entities,\n"
+"the members of the I2P floodfill peer set need not be trusted, and\n"
+"change over time."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:279
+msgid ""
+"To increase reliability of the netDb, and minimize the impact\n"
+"of netDb traffic on a router, floodfill is automatically enabled\n"
+"only on routers that are configured with high bandwidth limits.\n"
+"Routers with high bandwidth limits (which must be manually configured,\n"
+"as the default is much lower) are presumed to be on lower-latency\n"
+"connections, and are more likely to be available 24/7.\n"
+"The current minimum share bandwidth for a floodfill router is 128 "
+"KBytes/sec."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:289
+msgid ""
+"In addition, a router must pass several additional tests for health\n"
+"(outbound message queue time, job lag, etc.) before floodfill operation "
+"is\n"
+"automatically enabled."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:295
+msgid ""
+"With the current rules for automatic opt-in, approximately 6&#37; of\n"
+"the routers in the network are floodfill routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:300
+msgid ""
+"While some peers are manually configured to be floodfill,\n"
+"others are simply high-bandwidth routers who automatically volunteer\n"
+"when the number of floodfill peers drops below a threshold.\n"
+"This prevents any long-term network damage from losing most or all\n"
+"floodfills to an attack.\n"
+"In turn, these peers will un-floodfill themselves when there are\n"
+"too many floodfills outstanding."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:310
+msgid "Floodfill Router Roles"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:311
+msgid ""
+"A floodfill router's only services that are in addition to those of non-"
+"floodfill routers\n"
+"are in accepting netDb stores and responding to netDb queries.\n"
+"Since they are generally high-bandwidth, they are more likely to "
+"participate in a high number of tunnels\n"
+"(i.e. be a \"relay\" for others), but this is not directly related to "
+"their distributed database services."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:319
+msgid "Kademlia Closeness Metric"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:320
+msgid ""
+"The netDb uses a simple Kademlia-style XOR metric to determine closeness."
+"\n"
+"The SHA256 hash of the key being looked up or stored is XOR-ed with\n"
+"the hash of the router in question to determine closeness.\n"
+"A modification to this algorithm is done to increase the costs of <a href"
+"=\"#sybil-partial\">Sybil attacks</a>.\n"
+"Instead of the SHA256 hash of the key being looked up of stored, the "
+"SHA256 hash is taken\n"
+"of the 32-byte binary key appended with the UTC date represented as an "
+"8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n"
+"This is called the \"routing key\", and it changes every day at midnight "
+"UTC.\n"
+"The daily transformation of the DHT is sometimes called \"keyspace "
+"rotation\",\n"
+"although it isn't strictly a rotation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:332
+msgid ""
+"Routing keys are never sent on-the-wire in any I2NP message, they are "
+"only used locally for\n"
+"determination of distance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:339
+msgid "Storage, Verification, and Lookup Mechanics"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:341
+msgid "RouterInfo Storage to Peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:342
+#, python-format
+msgid ""
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local "
+"RouterInfo are exchanged with peers\n"
+"as a part of the initialization of a <a href=\"%(ntcp)s\">NTCP</a>\n"
+"or <a href=\"%(ssu)s\">SSU</a> transport connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:349
+msgid "LeaseSet Storage to Peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:350
+#, python-format
+msgid ""
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local "
+"LeaseSet are periodically exchanged with peers\n"
+"by bundling them in a garlic message along with normal traffic from the "
+"related Destination.\n"
+"This allows an initial response, and later responses, to be sent to an "
+"appropriate Lease,\n"
+"without requiring any LeaseSet lookups, or requiring the communicating "
+"Destinations to have published LeaseSets at all."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:358
+msgid ""
+"The DatabaseStoreMessage should be sent to the floodfill that is closest\n"
+"to the current routing key for the RouterInfo or LeaseSet being stored.\n"
+"Currently, the closest floodfill is found by a search in the local "
+"database.\n"
+"Even if that floodfill is not actually closest, it will flood it "
+"\"closer\" by\n"
+"sending it to multiple other floodfills.\n"
+"This provides a high degree of fault-tolerance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:367
+msgid ""
+"In traditional Kademlia, a peer would do a \"find-closest\" search before"
+" inserting\n"
+"an item in the DHT to the closest target. As the verify operation will "
+"tend to\n"
+"discover closer floodfills if they are present, a router will quickly "
+"improve\n"
+"its knowledge of the DHT \"neighborhood\" for the RouterInfo and "
+"LeaseSets it regularly publishes.\n"
+"While I2NP does not define a \"find-closest\" message, if it becomes "
+"necessary,\n"
+"a router may simply do an iterative search for a key with the least "
+"significant bit flipped\n"
+"(i.e. key ^ 0x01) until no closer peers are received in the "
+"DatabaseSearchReplyMessages.\n"
+"This ensures that the true closest peer will be found even if a more-"
+"distant peer had\n"
+"the netdb item."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:380
+msgid "RouterInfo Storage to Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:381
+#, python-format
+msgid ""
+"A router publishes its own RouterInfo by directly connecting to a "
+"floodfill router\n"
+"and sending it a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
+"with a nonzero Reply Token. The message is not end-to-end garlic "
+"encrypted,\n"
+"as this is a direct connection, so there are no intervening routers\n"
+"(and no need to hide this data anyway).\n"
+"The floodfill router replies with a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
+"with the Message ID set to the value of the Reply Token."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:395
+msgid "LeaseSet Storage to Floodfills"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:396
+msgid ""
+"Storage of LeaseSets is much more sensitive than for RouterInfos, as a "
+"router\n"
+"must take care that the LeaseSet cannot be associated with the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:401
+#, python-format
+msgid ""
+"A router publishes a local LeaseSet by\n"
+"sending a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
+"with a nonzero Reply Token over an outbound client tunnel for that "
+"Destination.\n"
+"The message is end-to-end garlic encrypted using the Destination's "
+"Session Key Manager,\n"
+"to hide the message from the tunnel's outbound endpoint.\n"
+"The floodfill router replies with a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
+"with the Message ID set to the value of the Reply Token.\n"
+"This message is sent back to one of the client's inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:414
+msgid "Flooding"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:415
+#, python-format
+msgid ""
+"After a floodfill router receives a DatabaseStoreMessage containing a\n"
+"valid RouterInfo or LeaseSet which is newer than that previously stored "
+"in its\n"
+"local NetDb, it \"floods\" it.\n"
+"To flood a NetDb entry, it looks up several (currently %(floodsize)s) "
+"floodfill routers closest to the routing key\n"
+"of the NetDb entry. (The routing key is the SHA256 Hash of the "
+"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n"
+"By flooding to those closest to the key, not closest to itself, the "
+"floodfill ensures that the storage\n"
+"gets to the right place, even if the storing router did not have good "
+"knowledge of the\n"
+"DHT \"neighborhood\" for the routing key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:426
+#, python-format
+msgid ""
+"The floodfill then directly connects to each of those peers\n"
+"and sends it a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
+"with a zero Reply Token. The message is not end-to-end garlic encrypted,\n"
+"as this is a direct connection, so there are no intervening routers\n"
+"(and no need to hide this data anyway).\n"
+"The other routers do not reply or re-flood, as the Reply Token is zero."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:436
+msgid "RouterInfo and LeaseSet Lookup"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:437
+#, python-format
+msgid ""
+"The <a href=\"%(i2np)s\">I2NP</a> DatabaseLookupMessage is used to "
+"request a netdb entry from a floodfill router.\n"
+"Lookups are sent out one of the router's outbound exploratory tunnels.\n"
+"The replies are specified to return via one of the router's inbound "
+"exploratory tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:443
+msgid ""
+"Lookups are generally sent to the two \"good\" (the connection doesn't "
+"fail) floodfill routers closest to the requested key, in parallel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:447
+#, python-format
+msgid ""
+"If the key is found locally by the floodfill router, it responds with a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage.\n"
+"If the key is not found locally by the floodfill router, it responds with"
+" a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
+"containing a list of other floodfill routers close to the key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:455
+msgid ""
+"LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n"
+"RouterInfo lookups are not encrypted and thus are vulnerable to snooping "
+"by the outbound endpoint\n"
+"(OBEP) of the client tunnel. This is due to the expense of the ElGamal "
+"encryption.\n"
+"RouterInfo lookup encryption may be enabled in a future release."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:462
+msgid ""
+"As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage"
+" or a DatabaseSearchReplyMessage)\n"
+"will be encrypted by including the session key and tag in the lookup.\n"
+"This hides the reply from the inbound gateway (IBGW) of the reply tunnel."
+"\n"
+"Responses to RouterInfo lookups will be encrypted if we enable the lookup"
+" encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:469
+#, python-format
+msgid ""
+"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections "
+"2.2-2.3 for terms below in italics)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:473
+msgid ""
+"Due to the relatively small size of the network and the flooding "
+"redundancy of 8x,\n"
+"lookups are usually O(1) rather than O(log n) --\n"
+"a router is highly likely to know a floodfill router close enough to the "
+"key to get the answer on the first try.\n"
+"In releases prior to 0.8.9, routers used a lookup redundancy of two\n"
+"(that is, two lookups were performed in parallel to different peers), and"
+"\n"
+"neither <i>recursive</i> nor <i>iterative</i> routing for lookups was "
+"implemented.\n"
+"Queries were sent through <i>multiple routes simultaneously</i>\n"
+"to <i>reduce the chance of query failure</i>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:484
+msgid ""
+"As of release 0.8.9, <i>iterative lookups</i> are implemented with no "
+"lookup redundancy.\n"
+"This is a more efficient and reliable lookup that will work much better\n"
+"when not all floodfill peers are known, and it removes a serious\n"
+"limitation to network growth. As the network grows and each router knows "
+"only a small\n"
+"subset of the floodfill peers, lookups will become O(log n).\n"
+"Even if the peer does not return references closer to the key, the lookup"
+" continues with\n"
+"the next-closest peer, for added robustness, and to prevent a malicious "
+"floodfill from\n"
+"black-holing a part of the key space. Lookups continue until a total "
+"lookup timeout is reached,\n"
+"or the maximum number of peers is queried."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:496
+msgid ""
+"<i>Node IDs</i> are <i>verifiable</i> in that we use the router hash "
+"directly as both the node ID and the Kademlia key.\n"
+"Incorrect responses that are not closer to the search key are generally "
+"ignored.\n"
+"Given the current size of the network, a router has\n"
+"<i>detailed knowledge of the neighborhood of the destination ID space</i>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:505
+msgid "RouterInfo Storage Verification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:506
+#, python-format
+msgid ""
+"Note: RouterInfo verification is disabled as of release 0.9.7.1 to "
+"prevent\n"
+"the attack described in the paper\n"
+"<a href=\"%(egger2013)s\">Practical Attacks Against the I2P Network</a>.\n"
+"It is not clear if verification can be redesigned to be done safely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:513
+msgid ""
+"To verify a storage was successful, a router simply waits about 10 "
+"seconds,\n"
+"then sends a lookup to another floodfill router close to the key\n"
+"(but not the one the store was sent to).\n"
+"Lookups sent out one of the router's outbound exploratory tunnels.\n"
+"Lookups are end-to-end garlic encrypted to prevent snooping by the "
+"outbound endpoint(OBEP)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:521
+msgid "LeaseSet Storage Verification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:522
+msgid ""
+"To verify a storage was successful, a router simply waits about 10 "
+"seconds,\n"
+"then sends a lookup to another floodfill router close to the key\n"
+"(but not the one the store was sent to).\n"
+"Lookups sent out one of the outbound client tunnels for the destination "
+"of the LeaseSet being verified.\n"
+"To prevent snooping by the OBEP of the outbound tunnel,\n"
+"lookups are end-to-end garlic encrypted.\n"
+"The replies are specified to return via one of the client's inbound "
+"tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:532
+msgid ""
+"As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a "
+"DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
+"will be encrypted,\n"
+"to hide the reply from the inbound gateway (IBGW) of the reply tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:540
+msgid "Exploration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:541
+#, python-format
+msgid ""
+"<i>Exploration</i> is a special form of netdb lookup, where a router "
+"attempts to learn about\n"
+"new routers.\n"
+"It does this by sending a floodfill router a <a "
+"href=\"%(i2np)s\">I2NP</a> DatabaseLookupMessage, looking for a random "
+"key.\n"
+"As this lookup will fail, the floodfill would normally respond with a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage containing "
+"hashes of floodfill routers close to the key.\n"
+"This would not be helpful, as the requesting router probably already "
+"knows those floodfills,\n"
+"and it would be impractical to add ALL floodfill routers to the \"don't "
+"include\" field of the lookup.\n"
+"For an exploration query, the requesting router adds a router hash of all"
+" zeros to the\n"
+"\"don't include\" field of the DatabaseLookupMessage.\n"
+"The floodfill will then respond only with non-floodfill routers close to "
+"the requested key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:555
+msgid "Notes on Lookup Responses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:556
+msgid ""
+"The response to a lookup request is either a Database Store Message (on "
+"success) or a\n"
+"Database Search Reply Message (on failure). The DSRM contains a 'from' "
+"router hash field\n"
+"to indicate the source of the reply; the DSM does not.\n"
+"The DSRM 'from' field is unauthenticated and may be spoofed or invalid.\n"
+"There are no other response tags. Therefore, when making multiple "
+"requests in parallel, it is\n"
+"difficult to monitor the performance of the various floodfill routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:566
+msgid "MultiHoming"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:568
+msgid ""
+"Destinations may be hosted on multiple routers simultaneously, by using "
+"the same\n"
+"private and public keys (traditionally stored in eepPriv.dat files).\n"
+"As both instances will periodically publish their signed LeaseSets to the"
+" floodfill peers,\n"
+"the most recently published LeaseSet will be returned to a peer "
+"requesting a database lookup.\n"
+"As LeaseSets have (at most) a 10 minute lifetime, should a particular "
+"instance go down,\n"
+"the outage will be 10 minutes at most, and generally much less than that."
+"\n"
+"The multihoming function has been verified and is in use by several "
+"services on the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:578
+msgid "Threat Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:579
+#, python-format
+msgid ""
+"Also discussed on <a href=\"%(threatmodel)s#floodfill\">the threat model "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:583
+msgid ""
+"A hostile user may attempt to harm the network by\n"
+"creating one or more floodfill routers and crafting them to offer\n"
+"bad, slow, or no responses.\n"
+"Some scenarios are discussed below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:590
+msgid "General Mitigation Through Growth"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:591
+#, python-format
+msgid ""
+"There are currently around %(ffcount)s floodfill routers in the network.\n"
+"Most of the following attacks will become more difficult, or have less "
+"impact,\n"
+"as the network size and number of floodfill routers increase."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:598
+msgid "General Mitigation Through Redundancy"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:599
+#, python-format
+msgid ""
+"Via flooding, all netdb entries are stored on the %(floodsize)s floodfill"
+" routers closest to the key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:604
+msgid "Forgeries"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:605
+msgid ""
+"All netdb entries are signed by their creators, so no router may forge a\n"
+"RouterInfo or LeaseSet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:610
+msgid "Slow or Unresponsive"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:611
+#, python-format
+msgid ""
+"Each router maintains an expanded set of statistics in the\n"
+"<a href=\"%(peerselection)s\">peer profile</a> for each floodfill router,"
+"\n"
+"covering various quality metrics for that peer.\n"
+"The set includes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:618
+msgid "Average response time"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:619
+msgid "Percentage of queries answered with the data requested"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:620
+msgid "Percentage of stores that were successfully verified"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:621
+msgid "Last successful store"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:622
+msgid "Last successful lookup"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:623
+msgid "Last response"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:626
+msgid ""
+"Each time a router needs to make a determination on which floodfill "
+"router is closest to a key,\n"
+"it uses these metrics to determine which floodfill routers are \"good\".\n"
+"The methods, and thresholds, used to determine \"goodness\" are "
+"relatively new, and\n"
+"are subject to further analysis and improvement.\n"
+"While a completely unresponsive router will quickly be identified and "
+"avoided,\n"
+"routers that are only sometimes malicious may be much harder to deal with."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:636
+msgid "Sybil Attack (Full Keyspace)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:637
+#, python-format
+msgid ""
+"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\n"
+"by creating a large number of floodfill routers spread throughout the "
+"keyspace."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:642
+#, python-format
+msgid ""
+"(In a related example, a researcher recently created a\n"
+"<a href=\"%(url)s\">large number of Tor relays</a>.)\n"
+"If successful, this could be an effective DOS attack on the entire "
+"network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:648
+msgid ""
+"If the floodfills are not sufficiently misbehaving to be marked as "
+"\"bad\" using the peer profile\n"
+"metrics described above, this is a difficult scenario to handle.\n"
+"Tor's response can be much more nimble in the relay case, as the "
+"suspicious relays\n"
+"can be manually removed from the consensus.\n"
+"Some possible responses for the I2P network are listed below, however "
+"none of them is completely satisfactory:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:656
+msgid ""
+"Compile a list of bad router hashes or IPs, and announce the list through"
+" various means\n"
+"(console news, website, forum, etc.); users would have to manually "
+"download the list and\n"
+"add it to their local \"blacklist\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:661
+msgid ""
+"Ask everyone in the network to enable floodfill manually (fight Sybil "
+"with more Sybil)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:662
+msgid "Release a new software version that includes the hardcoded \"bad\" list"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:663
+msgid ""
+"Release a new software version that improves the peer profile metrics and"
+" thresholds,\n"
+"in an attempt to automatically identify the \"bad\" peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:667
+msgid ""
+"Add software that disqualifies floodfills if too many of them are in a "
+"single IP block"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:668
+msgid ""
+"Implement an automatic subscription-based blacklist controlled by a "
+"single individual or group.\n"
+"This would essentially implement a portion of the Tor \"consensus\" "
+"model.\n"
+"Unfortunately it would also give a single individual or group the power "
+"to\n"
+"block participation of any particular router or IP in the network,\n"
+"or even to completely shutdown or destroy the entire network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:677
+msgid "This attack becomes more difficult as the network size grows."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:683
+msgid "Sybil Attack (Partial Keyspace)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:684
+#, python-format
+msgid ""
+"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\n"
+"by creating a small number (8-15) of floodfill routers clustered closely "
+"in the keyspace,\n"
+"and distribute the RouterInfos for these routers widely.\n"
+"Then, all lookups and stores for a key in that keyspace would be directed"
+"\n"
+"to one of the attacker's routers.\n"
+"If successful, this could be an effective DOS attack on a particular "
+"eepsite, for example."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:693
+msgid ""
+"As the keyspace is indexed by the cryptographic (SHA256) Hash of the key,"
+"\n"
+"an attacker must use a brute-force method to repeatedly generate router "
+"hashes\n"
+"until he has enough that are sufficiently close to the key.\n"
+"The amount of computational power required for this, which is dependent "
+"on network\n"
+"size, is unknown."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:701
+msgid ""
+"As a partial defense against this attack,\n"
+"the algorithm used to determine Kademlia \"closeness\" varies over time.\n"
+"Rather than using the Hash of the key (i.e. H(k)) to determine closeness,"
+"\n"
+"we use the Hash of the key appended with the current date string, i.e. "
+"H(k + YYYYMMDD).\n"
+"A function called the \"routing key generator\" does this, which "
+"transforms the original key into a \"routing key\".\n"
+"In other words, the entire netdb keyspace \"rotates\" every day at UTC "
+"midnight.\n"
+"Any partial-keyspace attack would have to be regenerated every day, for\n"
+"after the rotation, the attacking routers would no longer be close\n"
+"to the target key, or to each other."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:713
+msgid ""
+"This attack becomes more difficult as the network size grows.\n"
+"However, recent research demonstrates that the keyspace rotation is not "
+"particularly effective.\n"
+"An attacker can precompute numerous router hashes in advance,\n"
+"and only a few routers are sufficient to \"eclipse\" a portion\n"
+"of the keyspace within a half hour after rotation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:721
+msgid ""
+"One consequence of daily keyspace rotation is that the distributed "
+"network database\n"
+"may become unreliable for a few minutes after the rotation --\n"
+"lookups will fail because the new \"closest\" router has not received a "
+"store yet.\n"
+"The extent of the issue, and methods for mitigation\n"
+"(for example netdb \"handoffs\" at midnight)\n"
+"are a topic for further study."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:731
+msgid "Bootstrap Attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:732
+msgid ""
+"An attacker could attempt to boot new routers into an isolated\n"
+"or majority-controlled network by taking over a reseed website,\n"
+"or tricking the developers into adding his reseed website\n"
+"to the hardcoded list in the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:739
+msgid "Several defenses are possible, and most of these are planned:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:743
+msgid ""
+"Disallow fallback from HTTPS to HTTP for reseeding.\n"
+"A MITM attacker could simply block HTTPS, then respond to the HTTP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:747
+msgid ""
+"Changing the reseed task to fetch a subset of RouterInfos from\n"
+"each of several reseed sites rather than using only a single site"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:751
+msgid ""
+"Creating an out-of-network reseed monitoring service that\n"
+"periodically polls reseed websites and verifies that the\n"
+"data are not stale or inconsistent with other views of the network"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:756
+msgid "Bundling reseed data in the installer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:759
+msgid "Query Capture"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:760
+#, python-format
+msgid ""
+"See also <a href=\"#lookup\">lookup</a>\n"
+"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections "
+"2.2-2.3 for terms below in italics)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:765
+msgid ""
+"Similar to a bootstrap attack, an attacker using a floodfill router could"
+" attempt to \"steer\"\n"
+"peers to a subset of routers controlled by him by returning their "
+"references."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:770
+msgid ""
+"This is unlikely to work via exploration, because exploration is a low-"
+"frequency task.\n"
+"Routers acquire a majority of their peer references through normal tunnel"
+" building activity.\n"
+"Exploration results are generally limited to a few router hashes,\n"
+"and each exploration query is directed to a random floodfill router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:777
+#, python-format
+msgid ""
+"As of release 0.8.9, <i>iterative lookups</i> are implemented.\n"
+"For floodfill router references returned in a\n"
+"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
+"response to a lookup,\n"
+"these references are followed if they are closer (or the next closest) to"
+" the lookup key.\n"
+"The requesting router does not trust that the references are\n"
+"closer to the key (i.e. they are <i>verifiably correct</i>.\n"
+"The lookup also does not stop when no closer key is found, but continues "
+"by querying the\n"
+"next-closet node, until the timeout or maximum number of queries is "
+"reached.\n"
+"This prevents a malicious floodfill from black-holing a part of the key "
+"space.\n"
+"Also, the daily keyspace rotation requires an attacker to regenerate a "
+"router info\n"
+"within the desired key space region.\n"
+"This design ensures that the query capture attack described in\n"
+"<a href=\"%(pdf)s\">Hashing it out in Public</a>\n"
+"is much more difficult."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:796
+msgid "DHT-Based Relay Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:797
+#, python-format
+msgid "(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Section 3)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:801
+#, python-format
+msgid ""
+"This doesn't have much to do with floodfill, but see\n"
+"the <a href=\"%(peerselection)s\">peer selection page</a>\n"
+"for a discussion of the vulnerabilities of peer selection for tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:807
+msgid "Information Leaks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:808
+#, python-format
+msgid ""
+"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymous and Secure "
+"Lookup</a> Section 3)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:812
+#, python-format
+msgid ""
+"This paper addresses weaknesses in the \"Finger Table\" DHT lookups used "
+"by Torsk and NISAN.\n"
+"At first glance, these do not appear to apply to I2P. First, the use of "
+"DHT by Torsk and NISAN\n"
+"is significantly different from that in I2P. Second, I2P's network "
+"database lookups are only\n"
+"loosely correlated to the <a href=\"%(peerselection)s\">peer "
+"selection</a> and\n"
+"<a href=\"%(tunnelrouting)s\">tunnel building</a> processes; only "
+"previously-known peers\n"
+"are used for tunnels.\n"
+"Also, peer selection is unrelated to any notion of DHT key-closeness."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:823
+msgid ""
+"Some of this may actually be more interesting when the I2P network gets "
+"much larger.\n"
+"Right now, each router knows a large proportion of the network, so "
+"looking up a particular\n"
+"Router Info in the network database is not strongly indicative of a "
+"future intent to use\n"
+"that router in a tunnel. Perhaps when the network is 100 times larger, "
+"the lookup may be\n"
+"more correlative. Of course, a larger network makes a Sybil attack that "
+"much harder."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:831
+#, python-format
+msgid ""
+"However, the general issue of DHT information leakage in I2P needs "
+"further investigation.\n"
+"The floodfill routers are in a position to observe queries and gather "
+"information.\n"
+"Certainly, at a level of <i>f</i> = 0.2 (20&#37; malicious nodes, as "
+"specifed in the paper)\n"
+"we expect that many of the Sybil threats we describe\n"
+"(<a href=\"%(threatmodel)s#sybil\">here</a>,\n"
+"<a href=\"#sybil\">here</a> and\n"
+"<a href=\"#sybil-partial\">here</a>)\n"
+"become problematic for several reasons."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:845
+msgid "Moved to the netdb discussion page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:849
+msgid "End-to-end encryption of additional netDb lookups and responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/network-database.html:853
+msgid "Better methods for tracking lookup responses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:2
+msgid "Peer Profiling and Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:3
+msgid "July 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:8
+msgid "Peer Profiling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:10
+#, python-format
+msgid ""
+"<b>Peer profiling</b> is the process of collecting data based on the "
+"<b>observed</b> performance\n"
+"of other routers or peers, and classifying those peers into groups.\n"
+"Profiling does <b>not</b> use any claimed performance data published by "
+"the peer itself\n"
+"in the <a href=\"%(netdb)s\">network database</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:17
+msgid "Profiles are used for two purposes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:19
+msgid "Selecting peers to relay our traffic through, which is discussed below"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:20
+#, python-format
+msgid ""
+"Choosing peers from the set of floodfill routers to use for network "
+"database storage and queries,\n"
+"which is discussed on the <a href=\"%(netdb)s\">network database</a> page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:27
+#: i2p2www/pages/site/docs/how/peer-selection.html:187
+#: i2p2www/pages/site/docs/tunnels/implementation.html:286
+msgid "Peer Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:28
+msgid ""
+"<b>Peer selection</b> is the process of choosing which routers\n"
+"on the network we want to relay our messages to go through (which peers "
+"will we \n"
+"ask to join our tunnels).  To accomplish this, we keep track of how each\n"
+"peer performs (the peer's \"profile\") and use that data to estimate how"
+" \n"
+"fast they are, how often they will be able to accept our requests, and \n"
+"whether they seem to be overloaded or otherwise unable to perform what\n"
+"they agree to reliably."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:38
+#, python-format
+msgid ""
+"Unlike some other anonymous networks, in I2P,\n"
+"claimed bandwidth is untrusted and is <b>only</b> used to avoid those "
+"peers\n"
+"advertising very low bandwidth insufficient for routing tunnels.\n"
+"All peer selection is done through profiling.\n"
+"This prevents simple attacks based on peers claiming high bandwidth\n"
+"in order to capture large numbers of tunnels.\n"
+"It also makes\n"
+"<a href=\"%(threatmodel)s#timing\">timing attacks</a>\n"
+"more difficult."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:50
+msgid ""
+"Peer selection is done quite frequently, as a router may maintain a large"
+" number\n"
+"of client and exploratory tunnels, and a tunnel lifetime is only 10 "
+"minutes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:56
+msgid "Further Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:57
+#, python-format
+msgid ""
+"For more information see the paper\n"
+"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous "
+"Network</a>\n"
+"presented at <a href=\"%(url)s\">PET-CON 2009.1</a>.\n"
+"See <a href=\"#notes\">below</a> for notes on minor changes since the "
+"paper was published."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:65
+msgid "Profiles"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:66
+#, python-format
+msgid ""
+"Each peer has a set of data points collected about them, including "
+"statistics \n"
+"about how long it takes for them to reply to a network database query, "
+"how \n"
+"often their tunnels fail, and how many new peers they are able to "
+"introduce \n"
+"us to, as well as simple data points such as when we last heard from them"
+" or\n"
+"when the last communication error occurred.  The specific data points "
+"gathered\n"
+"can be found in the <a href=\"%(url)s\">code</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:75
+msgid ""
+"Profiles are fairly small, a few KB. To control memory usage, the profile"
+" expiration time\n"
+"lessens as the number of profiles grows.\n"
+"Profiles are kept in memory until router shutdown, when they are written "
+"to disk.\n"
+"At startup, the profiles are read so the router need not reinitialize all"
+" profiles,\n"
+"thus allowing a router to quickly re-integrate into the network after "
+"startup."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:85
+msgid "Peer Summaries"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:86
+msgid ""
+"While the profiles themselves can be considered a summary of a peer's \n"
+"performance, to allow for effective peer selection we break each summary "
+"down \n"
+"into four simple values, representing the peer's speed, its capacity, how"
+" well \n"
+"integrated into the network it is, and whether it is failing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:93
+msgid "Speed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:94
+msgid ""
+"The speed calculation\n"
+"simply goes through the profile and estimates how much data we can\n"
+"send or receive on a single tunnel through the peer in a minute.  For "
+"this estimate it just looks at\n"
+"performance in the previous minute."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:101
+msgid "Capacity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:102
+msgid ""
+"The capacity calculation\n"
+"simply goes through the profile and estimates how many tunnels the peer\n"
+"would agree to participate in over a given time period.  For this "
+"estimate it looks at \n"
+"how many tunnel build requests\n"
+"the peer has accepted, rejected, and dropped, and how many\n"
+"of the agreed-to tunnels later failed.\n"
+"While the calculation is time-weighted so that recent activity counts "
+"more than later activity,\n"
+"statistics up to 48 hours old may be included."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:113
+msgid ""
+"Recognizing and avoiding unreliable and unreachable\n"
+"peers is critically important.\n"
+"Unfortunately, as the tunnel building and testing require the "
+"participation of several peers,\n"
+"it is difficult to positively identify the cause of a dropped build "
+"request or test failure.\n"
+"The router assigns a probability of failure to each of the\n"
+"peers, and uses that probability in the capacity calculation.\n"
+"Drops and test failures are weighted much higher than rejections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:123
+msgid "Peer organization"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:124
+msgid ""
+"As mentioned above, we drill through each peer's profile to come up with "
+"a \n"
+"few key calculations, and based upon those, we organize each peer into "
+"three\n"
+"groups - fast, high capacity, and standard."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:130
+msgid "The groupings are not mutually exclusive, nor are they unrelated:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:134
+msgid ""
+"A peer is considered \"high capacity\" if its capacity calculation meets "
+"or \n"
+"exceeds the median of all peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:138
+msgid ""
+"A peer is considered \"fast\" if they are already \"high capacity\" and "
+"their \n"
+"speed calculation meets or exceeds the median of all peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:142
+msgid "A peer is considered \"standard\" if it is not \"high capacity\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:145
+#, python-format
+msgid ""
+"These groupings are implemented in the router's\n"
+"<a href=\"%(url)s\">ProfileOrganizer</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:150
+msgid "Group size limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:151
+msgid "The size of the groups may be limited."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:156
+msgid ""
+"The fast group is limited to 30 peers.\n"
+"If there would be more, only the ones with the highest speed rating are "
+"placed in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:160
+msgid ""
+"The high capacity group is limited to 75 peers (including the fast group)"
+"\n"
+"If there would be more, only the ones with the highest capacity rating "
+"are placed in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:164
+msgid ""
+"The standard group has no fixed limit, but is somewhat smaller than the "
+"number of RouterInfos\n"
+"stored in the local network database.\n"
+"On an active router in today's network, there may be about 1000 "
+"RouterInfos and 500 peer profiles\n"
+"(including those in the fast and high capacity groups)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:172
+msgid "Recalculation and Stability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:173
+msgid ""
+"Summaries are recalculated, and peers are resorted into groups, every 45 "
+"seconds."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:177
+msgid ""
+"The groups tend to be fairly stable, that is, there is not much \"churn\""
+" in the rankings\n"
+"at each recalculation.\n"
+"Peers in the fast and high capacity groups get more tunnels build through"
+" them, which increases their speed and capacity ratings,\n"
+"which reinforces their presence in the group."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:188
+msgid "The router selects peers from the above groups to build tunnels through."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:193
+msgid "Peer Selection for Client Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:194
+msgid ""
+"Client tunnels are used for application traffic, such as for HTTP proxies"
+" and web servers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:198
+msgid ""
+"To reduce the susceptibility to <a href=\"http://blog.torproject.org/blog"
+"/one-cell-enough\">some attacks</a>,\n"
+"and increase performance,\n"
+"peers for building client tunnels are chosen randomly from the smallest "
+"group, which is the \"fast\" group.\n"
+"There is no bias toward selecting peers that were previously participants"
+" in a tunnel for the same client."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:206
+msgid "Peer Selection for Exploratory Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:207
+msgid ""
+"Exploratory tunnels are used for router administrative purposes, such as "
+"network database traffic\n"
+"and testing client tunnels.\n"
+"Exploratory tunnels are also used to contact previously unconnected "
+"routers, which is why\n"
+"they are called \"exploratory\".\n"
+"These tunnels are usually low-bandwidth."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:215
+msgid ""
+"Peers for building exploratory tunnels are generally chosen randomly from"
+" the standard group.\n"
+"If the success rate of these build attempts is low compared to the client"
+" tunnel build success rate,\n"
+"the router will select a weighted average of peers randomly from the high"
+" capacity group instead.\n"
+"This helps maintain a satisfactory build success rate even when network "
+"performance is poor.\n"
+"There is no bias toward selecting peers that were previously participants"
+" in an exploratory tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:223
+msgid ""
+"As the standard group includes a very large subset of all peers the "
+"router knows about,\n"
+"exploratory tunnels are essentially built through a random selection of "
+"all peers,\n"
+"until the build success rate becomes too low."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:231
+msgid "Restrictions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:232
+msgid ""
+"To prevent some simple attacks, and for performance, there are the "
+"following restrictions:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:236
+msgid "Two peers from the same /16 IP space may not be in the same tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:239
+msgid ""
+"A peer may participate in a maximum of 33&#37; of all tunnels created by "
+"the router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:242
+msgid "Peers with extremely low bandwidth are not used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:245
+msgid "Peers for which a recent connection attempt failed are not used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:252
+msgid "Peer Ordering in Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:253
+#, python-format
+msgid ""
+"Peers are ordered within tunnels to\n"
+"to deal with the <a href=\"%(pdf)s\">predecessor attack</a>\n"
+"<a href=\"%(pdf2008)s\">(2008 update)</a>.\n"
+"More information is on the <a href=\"%(tunnelimpl)s#ordering\">tunnel "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:268
+msgid "Continue to analyze an tune speed and capacity calculations as necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:271
+msgid ""
+"Implement a more aggressive ejection strategy if necessary to control "
+"memory usage as the network grows"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:274
+msgid "Evaluate group size limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:277
+msgid "Use GeoIP data to include or exclude certain peers, if configured"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:283
+#, python-format
+msgid ""
+"For those reading the paper\n"
+"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous "
+"Network</a>,\n"
+"please keep in mind the following minor changes in I2P since the paper's "
+"publication:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:289
+msgid "The Integration calculation is still not used"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:290
+msgid "In the paper, \"groups\" are called \"tiers\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:291
+msgid "The \"Failing\" tier is no longer used"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:292
+msgid "The \"Not Failing\" tier is now named \"Standard\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:301
+msgid "One Cell Enough"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:303
+msgid "Tor Entry Guards"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:305
+msgid "Murdoch 2007 Paper"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:307
+msgid "Tune-up for Tor"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/peer-selection.html:309
+msgid "Low-resource Routing Attacks Against Tor"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:2
+msgid "Introducing I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:5
+msgid "I2P: A scalable framework for anonymous communication"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:7
+msgid "Table of Contents"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:9
+#: i2p2www/pages/site/docs/how/tech-intro.html:24
+#: i2p2www/pages/site/docs/transport/ssu.html:280
+msgid "Introduction"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:11
+msgid "I2P Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:16
+#: i2p2www/pages/site/docs/how/tech-intro.html:401
+msgid "Transport protocols"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:17
+#: i2p2www/pages/site/docs/how/tech-intro.html:458
+msgid "Cryptography"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:25
+msgid ""
+"I2P is a scalable, self organizing, resilient packet switched anonymous \n"
+"network layer, upon which any number of different anonymity or security "
+"conscious \n"
+"applications can operate. Each of these applications may make their own "
+"anonymity, \n"
+"latency, and throughput tradeoffs without worrying about the proper "
+"implementation \n"
+"of a free route mixnet, allowing them to blend their activity with the "
+"larger \n"
+"anonymity set of users already running on top of I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:34
+msgid ""
+"Applications available already provide the full range of typical Internet"
+" activities -\n"
+"<b>anonymous</b> web browsing, web hosting, chat, file sharing, e-mail,\n"
+"blogging and content syndication, newsgroups, as well as several other "
+"applications under development."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:40
+msgid "Web browsing: using any existing browser that supports using a proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:41
+msgid "Chat: IRC, Jabber, <a href=\"#app.i2pmessenger\">I2P-Messenger</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:42
+msgid ""
+"File sharing: <a href=\"#app.i2psnark\">I2PSnark</a>, <a "
+"href=\"#app.robert\">Robert</a>, <a href=\"#app.imule\">iMule</a>, \n"
+"<a href=\"#app.i2phex\">I2Phex</a>, <a href=\"#app.pybit\">PyBit</a>, <a "
+"href=\"#app.i2pbt\">I2P-bt</a>\n"
+"and others."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:47
+msgid ""
+"E-mail: <a href=\"#app.i2pmail\">susimail</a> and <a href=\"#app.i2pbote"
+"\">I2P-Bote</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:48
+msgid ""
+"Blog: using e.g. the pebble plugin or the distributed blogging software "
+"<a href=\"#app.syndie\">Syndie</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:49
+msgid ""
+"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS "
+"cloud over I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:50
+msgid "Newsgroups: using any newsgroup reader that supports using a proxy."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:53
+msgid ""
+"Unlike web sites hosted within content distribution networks like <a "
+"href=\"#similar.freenet\">Freenet</a> \n"
+"or <a href=\"http://www.ovmj.org/GNUnet/\">GNUnet</a>, the services "
+"hosted on \n"
+"I2P are fully interactive - there are traditional web-style search "
+"engines, \n"
+"bulletin boards, blogs you can comment on, database driven sites, and "
+"bridges \n"
+"to query static systems like Freenet without needing to install it "
+"locally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:61
+msgid ""
+"With all of these anonymity enabled applications, I2P takes on the role \n"
+"of the message oriented middleware - applications say that they want to "
+"send \n"
+"some data to a cryptographic identifier (a \"destination\") and I2P takes"
+" care \n"
+"of making sure it gets there securely and anonymously. I2P also bundles a"
+" \n"
+"simple <a href=\"#app.streaming\">streaming</a> library to allow I2P's "
+"anonymous \n"
+"best-effort messages to transfer as reliable, in-order streams, "
+"transparently \n"
+"offering a TCP based congestion control algorithm tuned for the high "
+"bandwidth \n"
+"delay product of the network. While there have been several simple SOCKS "
+"proxies \n"
+"available to tie existing applications into the network, their value has "
+"been \n"
+"limited as nearly every application routinely exposes what, in an "
+"anonymous \n"
+"context, is sensitive information. The only safe way to go is to fully "
+"audit \n"
+"an application to ensure proper operation and to assist in that we "
+"provide \n"
+"a series of APIs in various languages which can be used to make the most "
+"out \n"
+"of the network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:78
+#, python-format
+msgid ""
+"I2P is not a research project - academic, commercial, or governmental, "
+"but \n"
+"is instead an engineering effort aimed at doing whatever is necessary to "
+"provide \n"
+"a sufficient level of anonymity to those who need it. It has been in "
+"active \n"
+"development since early 2003 with one full time developer and a dedicated"
+" \n"
+"group of part time contributors from all over the world. All of the work "
+"done \n"
+"on I2P is open source and freely available on the <a "
+"href=\"%(site)s\">website</a>, \n"
+"with the majority of the code released outright into the public domain, "
+"though \n"
+"making use of a few cryptographic routines under BSD-style licenses. The "
+"people \n"
+"working on I2P do not control what people release client applications "
+"under, \n"
+"and there are several GPL'ed applications available (<a "
+"href=\"#app.i2ptunnel\">I2PTunnel</a>, \n"
+"<a href=\"#app.i2pmail\">susimail</a>, <a "
+"href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.i2pbote\">I2P-"
+"Bote</a>, \n"
+"<a href=\"#app.i2phex\">I2Phex</a> and others.).\n"
+"<a href=\"%(halloffame)s\">Funding</a> for I2P comes entirely from "
+"donations,\n"
+"and does not receive any tax breaks in any jurisdiction at this time,\n"
+"as many of the developers are themselves anonymous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:96
+msgid "Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:98
+msgid ""
+"To understand I2P's operation, it is essential to understand a few key "
+"concepts. \n"
+"First, I2P makes a strict separation between the software participating "
+"in \n"
+"the network (a \"router\") and the anonymous endpoints (\"destinations\")"
+" associated \n"
+"with individual applications. The fact that someone is running I2P is not"
+" \n"
+"usually a secret. What is hidden is information on what the user is "
+"doing, \n"
+"if anything at all, as well as what router a particular destination is "
+"connected \n"
+"to. End users will typically have several local destinations on their "
+"router \n"
+"- for instance, one proxying in to IRC servers, another supporting the "
+"user's \n"
+"anonymous webserver (\"eepsite\"), another for an I2Phex instance, "
+"another for \n"
+"torrents, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:111
+msgid ""
+"Another critical concept to understand is the \"tunnel\".\n"
+"A tunnel is a directed path through an explicitly selected list of "
+"routers.\n"
+"Layered encryption is used, so each of the routers can only decrypt a "
+"single layer.\n"
+"The decrypted information contains the IP of the next router, along with\n"
+"the encrypted information to be forwarded.\n"
+"Each tunnel has a starting point (the first router, also known as "
+"\"gateway\")\n"
+"and an end point. Messages can be sent only in one way. To send messages "
+"back,\n"
+"another tunnel is required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:122
+#: i2p2www/pages/site/docs/tunnels/implementation.html:105
+msgid "Inbound and outbound tunnel schematic"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:124
+msgid "Figure 1: Two types of tunnels exist: inbound and outbound."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:127
+msgid ""
+"Two types of tunnels exist:\n"
+"<b>\"outbound\" tunnels</b> send messages away from the tunnel creator,\n"
+"while <b>\"inbound\" tunnels</b> bring messages to the tunnel creator.\n"
+"Combining these two tunnels allows users to send messages to each other.\n"
+"The sender (\"Alice\" in the above image) sets up an outbound tunnel,\n"
+"while the receiver (\"Bob\" in the above image) creates an inbound "
+"tunnel.\n"
+"The gateway of an inbound tunnel can receive messages from any other user"
+"\n"
+"and will send them on until the endpoint (\"Bob\").\n"
+"The endpoint of the outbound tunnel will need to send the message\n"
+"on to the gateway of the inbound tunnel.\n"
+"To do this, the sender (\"Alice\") adds instructions to her encrypted "
+"message.\n"
+"Once the endpoint of the outbound tunnel decrypts the message,\n"
+"it will have instructions to forward the message to the correct\n"
+"inbound gateway (the gateway to \"Bob\")."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:144
+msgid ""
+"A third critical concept to understand is I2P's <b>\"network "
+"database\"</b> (or \"netDb\") \n"
+"- a pair of algorithms used to share network metadata. The two types of "
+"metadata \n"
+"carried are <b>\"routerInfo\"</b> and <b>\"leaseSets\"</b> - the "
+"routerInfo gives routers the \n"
+"data necessary for contacting a particular router (their public keys, "
+"transport \n"
+"addresses, etc), while the leaseSet gives routers the information "
+"necessary \n"
+"for contacting a particular destination. A leaseSet contains a number of "
+"\"leases\".\n"
+"Each of this leases specifies a tunnel gateway, which allows reaching a "
+"specific destination.\n"
+"The full information contained in a lease:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:155
+msgid "Inbound gateway for a tunnel that allows reaching a specific destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:156
+msgid "Time when a tunnel expires."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:157
+msgid ""
+"Pair of public keys to be able to encrypt messages (to send through the "
+"tunnel and reach the destination)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:159
+msgid ""
+"Routers themselves send their routerInfo to the netDb directly, while "
+"leaseSets are sent through outbound tunnels\n"
+"(leaseSets need to be sent anonymously, to avoid correlating a router "
+"with his leaseSets)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:164
+msgid ""
+"We can combine the above concepts to build successful connections in the "
+"network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:168
+msgid ""
+"To build up her own inbound and outbound tunnels, Alice does a lookup in "
+"the netDb to collect routerInfo.\n"
+"This way, she gathers lists of peers she can use as hops in her tunnels.\n"
+"She can then send a build message to the first hop, requesting the "
+"construction of a tunnel and asking\n"
+"that router to send the construction message onward, until the tunnel has"
+" been constructed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:175
+msgid "Request information on other routers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:177
+msgid "Build tunnel using router information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:179
+msgid "Figure 2: Router information is used to build tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:182
+msgid ""
+"When Alice wants to send a message to Bob, she first does a lookup in the"
+" \n"
+"netDb to find Bob's leaseSet, giving her his current inbound tunnel "
+"gateways. \n"
+"She then picks one of her outbound tunnels and sends the message down it "
+"with \n"
+"instructions for the outbound tunnel's endpoint to forward the message on"
+" \n"
+"to one of Bob's inbound tunnel gateways. When the outbound tunnel "
+"endpoint \n"
+"receives those instructions, it forwards the message as requested, and "
+"when \n"
+"Bob's inbound tunnel gateway receives it, it is forwarded down the tunnel"
+" \n"
+"to Bob's router. If Alice wants Bob to be able to reply to the message, "
+"she \n"
+"needs to transmit her own destination explicitly as part of the message "
+"itself.\n"
+"This can be done by introducing a higher-level layer, which is done in "
+"the\n"
+"<a href=\"#app.streaming\">streaming</a> library.\n"
+"Alice may also cut down on the response time by bundling her most \n"
+"recent LeaseSet with the message so that Bob doesn't need to do a netDb "
+"lookup \n"
+"for it when he wants to reply, but this is optional."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:199
+msgid "Connect tunnels using LeaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:199
+msgid "Connect tunnels using leaseSets"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:201
+msgid "Figure 3: LeaseSets are used to connect outbound and inbound tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:204
+msgid ""
+"While the tunnels themselves have layered encryption to prevent "
+"unauthorized \n"
+"disclosure to peers inside the network (as the transport layer itself "
+"does \n"
+"to prevent unauthorized disclosure to peers outside the network), it is "
+"necessary \n"
+"to add an additional end to end layer of encryption to hide the message "
+"from \n"
+"the outbound tunnel endpoint and the inbound tunnel gateway. This \"<a "
+"href=\"#op.garlic\">garlic \n"
+"encryption</a>\" lets Alice's router wrap up multiple messages into a "
+"single \n"
+"\"garlic message\", encrypted to a particular public key so that "
+"intermediary \n"
+"peers cannot determine either how many messages are within the garlic, "
+"what \n"
+"those messages say, or where those individual cloves are destined. For "
+"typical \n"
+"end to end communication between Alice and Bob, the garlic will be "
+"encrypted \n"
+"to the public key published in Bob's leaseSet, allowing the message to be"
+" \n"
+"encrypted without giving out the public key to Bob's own router."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:219
+msgid ""
+"Another important fact to keep in mind is that I2P is entirely message "
+"based \n"
+"and that some messages may be lost along the way. Applications using I2P "
+"can \n"
+"use the message oriented interfaces and take care of their own congestion"
+" \n"
+"control and reliability needs, but most would be best served by reusing "
+"the \n"
+"provided <a href=\"#app.streaming\">streaming</a> library to view I2P as "
+"a streams \n"
+"based network."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:229
+msgid ""
+"Both inbound and outbound tunnels work along similar principles.\n"
+"The tunnel gateway accumulates a number of tunnel messages, eventually "
+"preprocessing \n"
+"them into something for tunnel delivery. Next, the gateway encrypts that "
+"preprocessed \n"
+"data and forwards it to the first hop. That peer and subsequent tunnel "
+"participants \n"
+"add on a layer of encryption after verifying that it isn't a duplicate "
+"before \n"
+"forward it on to the next peer. Eventually, the message arrives at the "
+"endpoint \n"
+"where the messages are split out again and forwarded on as requested. The"
+" \n"
+"difference arises in what the tunnel's creator does - for inbound "
+"tunnels, \n"
+"the creator is the endpoint and they simply decrypt all of the layers "
+"added, \n"
+"while for outbound tunnels, the creator is the gateway and they pre-"
+"decrypt \n"
+"all of the layers so that after all of the layers of per-hop encryption "
+"are \n"
+"added, the message arrives in the clear at the tunnel endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:244
+msgid ""
+"The choice of specific peers to pass on messages as well as their "
+"particular \n"
+"ordering is important to understanding both I2P's anonymity and "
+"performance \n"
+"characteristics. While the network database (below) has its own criteria "
+"for \n"
+"picking what peers to query and store entries on, tunnel creators may use"
+" any peers \n"
+"in the network in any order (and even any number of times) in a single "
+"tunnel. \n"
+"If perfect latency and capacity data were globally known, selection and "
+"ordering \n"
+"would be driven by the particular needs of the client in tandem with "
+"their \n"
+"threat model. Unfortunately, latency and capacity data is not trivial to "
+"gather \n"
+"anonymously, and depending upon untrusted peers to provide this "
+"information \n"
+"has its own serious anonymity implications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:257
+msgid ""
+"From an anonymity perspective, the simplest technique would be to pick "
+"peers \n"
+"randomly from the entire network, order them randomly and use those peers"
+" \n"
+"in that order for all eternity. From a performance perspective, the "
+"simplest \n"
+"technique would be to pick the fastest peers with the necessary spare "
+"capacity, \n"
+"spreading the load across different peers to handle transparent failover,"
+" \n"
+"and to rebuild the tunnel whenever capacity information changes. While "
+"the \n"
+"former is both brittle and inefficient, the later requires inaccessible "
+"information \n"
+"and offers insufficient anonymity. I2P is instead working on offering a "
+"range \n"
+"of peer selection strategies, coupled with anonymity aware measurement "
+"code \n"
+"to organize the peers by their profiles."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:270
+msgid ""
+"As a base, I2P is constantly profiling the peers with which it interacts"
+" \n"
+"with by measuring their indirect behavior - for instance, when a peer "
+"responds \n"
+"to a netDb lookup in 1.3 seconds, that round trip latency is recorded in "
+"the \n"
+"profiles for all of the routers involved in the two tunnels (inbound and "
+"outbound) \n"
+"through which the request and response passed, as well as the queried "
+"peer's \n"
+"profile. Direct measurement, such as transport layer latency or "
+"congestion, \n"
+"is not used as part of the profile, as it can be manipulated and "
+"associated \n"
+"with the measuring router, exposing them to trivial attacks. While "
+"gathering \n"
+"these profiles, a series of calculations are run on each to summarize its"
+" \n"
+"performance - its latency, capacity to handle lots of activity, whether "
+"they \n"
+"are currently overloaded, and how well integrated into the network they "
+"seem \n"
+"to be. These calculations are then compared for active peers to organize "
+"the \n"
+"routers into four tiers - fast and high capacity, high capacity, not "
+"failing, \n"
+"and failing. The thresholds for those tiers are determined dynamically, "
+"and \n"
+"while they currently use fairly simple algorithms, alternatives exist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:288
+msgid ""
+"Using this profile data, the simplest reasonable peer selection strategy"
+" \n"
+"is to pick peers randomly from the top tier (fast and high capacity), and"
+" \n"
+"this is currently deployed for client tunnels. Exploratory tunnels (used "
+"for \n"
+"netDb and tunnel management) pick peers randomly from the \"not failing\""
+" tier \n"
+"(which includes routers in 'better' tiers as well), allowing the peer to "
+"sample \n"
+"routers more widely, in effect optimizing the peer selection through "
+"randomized \n"
+"hill climbing. These strategies alone do however leak information "
+"regarding \n"
+"the peers in the router's top tier through predecessor and netDb "
+"harvesting \n"
+"attacks. In turn, several alternatives exist which, while not balancing "
+"the \n"
+"load as evenly, will address the attacks mounted by particular classes of"
+" \n"
+"adversaries."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:302
+msgid ""
+"By picking a random key and ordering the peers according to their XOR "
+"distance \n"
+"from it, the information leaked is reduced in predecessor and harvesting "
+"attacks \n"
+"according to the peers' failure rate and the tier's churn. Another simple"
+" \n"
+"strategy for dealing with netDb harvesting attacks is to simply fix the "
+"inbound \n"
+"tunnel gateway(s) yet randomize the peers further on in the tunnels. To "
+"deal \n"
+"with predecessor attacks for adversaries which the client contacts, the "
+"outbound \n"
+"tunnel endpoints would also remain fixed. The selection of which peer to "
+"fix \n"
+"on the most exposed point would of course need to have a limit to the "
+"duration, \n"
+"as all peers fail eventually, so it could either be reactively adjusted "
+"or \n"
+"proactively avoided to mimic a measured mean time between failures of "
+"other \n"
+"routers. These two strategies can in turn be combined, using a fixed "
+"exposed \n"
+"peer and an XOR based ordering within the tunnels themselves. A more "
+"rigid \n"
+"strategy would fix the exact peers and ordering of a potential tunnel, "
+"only \n"
+"using individual peers if all of them agree to participate in the same "
+"way \n"
+"each time. This varies from the XOR based ordering in that the "
+"predecessor \n"
+"and successor of each peer is always the same, while the XOR only makes "
+"sure \n"
+"their order doesn't change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:322
+#, python-format
+msgid ""
+"As mentioned before, I2P currently (release 0.8) includes the tiered \n"
+"random strategy above, with XOR-based ordering. A \n"
+"more detailed discussion of the mechanics involved in tunnel operation, "
+"management, \n"
+"and peer selection can be found in the <a href=\"%(tunnelimpl)s\">tunnel "
+"spec</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:330
+#, python-format
+msgid ""
+"As mentioned earlier, I2P's netDb works to share the network's metadata.\n"
+"This is detailed in <a href=\"%(netdb)s\">the network database</a> page,\n"
+"but a basic explanation is available below."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:336
+msgid ""
+"A percentage of I2P users are appointed as 'floodfill peers'.\n"
+"Currently, I2P installations that have a lot of bandwidth and are fast "
+"enough,\n"
+"will appoint themselves as floodfill as soon as the number of existing "
+"floodfill routers\n"
+"drops too low."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:343
+#, python-format
+msgid ""
+"Other I2P routers will store their data and lookup data by sending simple"
+" 'store' and 'lookup' queries to the floodfills.\n"
+"If a floodfill router receives a 'store' query, it will spread the "
+"information to other floodfill routers\n"
+"using the <a href=\"http://en.wikipedia.org/wiki/Kademlia\">Kademlia "
+"algorithm</a>.\n"
+"The 'lookup' queries currently function differently, to avoid an "
+"important\n"
+"<a href=\"%(netdb)s#lookup\">security issue</a>.\n"
+"When a lookup is done, the floodfill router will not forward the lookup "
+"to other peers,\n"
+"but will always answer by itself (if it has the requested data)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:353
+msgid "Two types of information are stored in the network database."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:357
+msgid ""
+"A <b>RouterInfo</b> stores information on a specific I2P router and how "
+"to contact it"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:358
+msgid ""
+"A <b>LeaseSet</b> stores information on a specific destination (e.g. I2P "
+"website, e-mail server...)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:360
+msgid ""
+"All of this information is signed by the publishing party and verified by"
+" any I2P router using or storing the information.\n"
+"In addition, the data contains timing information, to avoid storage of "
+"old entries and possible attacks.\n"
+"This is also why I2P bundles the necessary code for maintaining the "
+"correct time, occasionally querying some SNTP servers \n"
+"(the <a href=\"http://www.pool.ntp.org/\">pool.ntp.org</a> round robin by"
+" default)\n"
+"and detecting skew between routers at the transport layer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:368
+msgid "Some additional remarks are also important."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:373
+msgid "Unpublished and encrypted leasesets:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:374
+msgid ""
+"One could only want specific people to be able to reach a destination.\n"
+"This is possible by not publishing the destination in the netDb. You will"
+" however have to transmit the destination by other means.\n"
+"An alternative are the 'encrypted leaseSets'. These leaseSets can only be"
+" decoded by people with access to the decryption key."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:381
+msgid "Bootstrapping:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:382
+msgid ""
+"Bootstrapping the netDb is quite simple. Once a router manages to receive"
+" a single routerInfo of a reachable peer,\n"
+"it can query that router for references to other routers in the network.\n"
+"Currently, a number of users post their routerInfo files to a website to "
+"make this information available.\n"
+"I2P automatically connects to one of these websites to gather routerInfo "
+"files and bootstrap."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:390
+msgid "Lookup scalability:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:391
+msgid ""
+"Lookups in the I2P network are not forwarded to other netDb routers.\n"
+"Currently, this is not a major problem, since the network is not very "
+"large.\n"
+"However, as the network grows, not all routerInfo and leaseSet files will"
+" be present\n"
+"on each netDb router. This will cause a deterioration of the percentage "
+"of successful lookups.\n"
+"Because of this, refinements to the netDb will be done in the next "
+"releases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:402
+msgid ""
+"Communication between routers needs to provide confidentiality and "
+"integrity \n"
+"against external adversaries while authenticating that the router "
+"contacted \n"
+"is the one who should receive a given message. The particulars of how "
+"routers \n"
+"communicate with other routers aren't critical - three separate protocols"
+" \n"
+"have been used at different points to provide those bare necessities."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:410
+#, python-format
+msgid ""
+"I2P started with a TCP-based protocol which \n"
+"has since been disabled. Then, to accommodate the need for high degree "
+"communication \n"
+"(as a number of routers will end up speaking with many others), I2P moved"
+" \n"
+"from a TCP based transport to a <a href=\"%(ssu)s\">UDP-based one</a> - "
+"\"Secure \n"
+"Semireliable UDP\", or \"SSU\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:418
+#, python-format
+msgid "As described in the <a href=\"%(ssu)s\">SSU spec</a>:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:422
+msgid ""
+"The goal of this protocol is to provide secure, authenticated, \n"
+"semireliable and unordered message delivery, exposing only a minimal "
+"amount \n"
+"of data easily discernible to third parties. It should support high "
+"degree \n"
+"communication as well as TCP-friendly congestion control and may include"
+" \n"
+"PMTU detection. It should be capable of efficiently moving bulk data at "
+"rates \n"
+"sufficient for home users. In addition, it should support techniques for "
+"addressing \n"
+"network obstacles, like most NATs or firewalls."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:432
+#, python-format
+msgid ""
+"Following the introduction of SSU, after issues with congestion collapse"
+" \n"
+"appeared, a new NIO-based TCP transport called <a "
+"href=\"%(ntcp)s\">NTCP</a> \n"
+"was implemented. It is enabled by default for outbound connections only. "
+"Those \n"
+"who configure their NAT/firewall to allow inbound connections and specify"
+" \n"
+"the external host and port (dyndns/etc is ok) on /config.jsp can receive "
+"inbound \n"
+"connections. As NTCP is NIO based, so it doesn't suffer from the 1 thread"
+" \n"
+"per connection issues of the old TCP transport."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:442
+msgid ""
+"I2P supports multiple transports simultaneously. A particular transport \n"
+"for an outbound connection is selected with \"bids\". Each transport bids"
+" for \n"
+"the connection and the relative value of these bids assigns the priority."
+" \n"
+"Transports may reply with different bids, depending on whether there is "
+"already \n"
+"an established connection to the peer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:450
+#, python-format
+msgid ""
+"The current implementation ranks NTCP as the highest-priority transport \n"
+"for outbound connections in most situations. SSU is enabled for both "
+"outbound \n"
+"and inbound connections. Your firewall and your I2P router must be "
+"configured \n"
+"to allow inbound NTCP connections. For further information see the <a "
+"href=\"%(ntcp)s\">NTCP \n"
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:459
+msgid ""
+"A bare minimum set of cryptographic primitives are combined together to \n"
+"provide I2P's layered defenses against a variety of adversaries. At the "
+"lowest \n"
+"level, inter router communication is protected by the transport layer "
+"security \n"
+"- SSU encrypts each packet with AES256/CBC with both an explicit IV and "
+"MAC \n"
+"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a "
+"2048bit \n"
+"Diffie-Hellman exchange, station-to-station authentication with the other"
+" \n"
+"router's DSA key, plus each network message has their own hash for local "
+"integrity \n"
+"checking. <a href=\"#op.tunnels\">Tunnel</a> messages passed over the "
+"transports \n"
+"have their own layered AES256/CBC encryption with an explicit IV and "
+"verified \n"
+"at the tunnel endpoint with an additional SHA256 hash. Various other "
+"messages \n"
+"are passed along inside \"garlic messages\", which are encrypted with "
+"ElGamal/AES+SessionTags \n"
+"(explained below)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:474
+msgid "Garlic messages"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:475
+msgid ""
+"Garlic messages are an extension of \"onion\" layered encryption, "
+"allowing \n"
+"the contents of a single message to contain multiple \"cloves\" - fully "
+"formed \n"
+"messages alongside their own instructions for delivery. Messages are "
+"wrapped \n"
+"into a garlic message whenever the message would otherwise be passing in "
+"cleartext \n"
+"through a peer who should not have access to the information - for "
+"instance, \n"
+"when a router wants to ask another router to participate in a tunnel, "
+"they \n"
+"wrap the request inside a garlic, encrypt that garlic to the receiving "
+"router's \n"
+"2048bit ElGamal public key, and forward it through a tunnel. Another "
+"example \n"
+"is when a client wants to send a message to a destination - the sender's "
+"router \n"
+"will wrap up that data message (alongside some other messages) into a "
+"garlic, \n"
+"encrypt that garlic to the 2048bit ElGamal public key published in the "
+"recipient's \n"
+"leaseSet, and forward it through the appropriate tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:490
+msgid ""
+"The \"instructions\" attached to each clove inside the encryption layer "
+"includes \n"
+"the ability to request that the clove be forwarded locally, to a remote "
+"router, \n"
+"or to a remote tunnel on a remote router. There are fields in those "
+"instructions \n"
+"allowing a peer to request that the delivery be delayed until a certain "
+"time \n"
+"or condition has been met, though they won't be honored until the <a "
+"href=\"#future.variablelatency\">nontrivial \n"
+"delays</a> are deployed. It is possible to explicitly route garlic "
+"messages \n"
+"any number of hops without building tunnels, or even to reroute tunnel "
+"messages \n"
+"by wrapping them in garlic messages and forwarding them a number of hops "
+"prior \n"
+"to delivering them to the next hop in the tunnel, but those techniques "
+"are \n"
+"not currently used in the existing implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:503
+msgid "Session tags"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:504
+msgid ""
+"As an unreliable, unordered, message based system, I2P uses a simple "
+"combination \n"
+"of asymmetric and symmetric encryption algorithms to provide data "
+"confidentiality \n"
+"and integrity to garlic messages. As a whole, the combination is referred"
+" \n"
+"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to "
+"describe \n"
+"the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:543
+msgid ""
+"Session tags themselves have a very short lifetime, after which they are"
+" \n"
+"discarded if not used. In addition, the quantity stored for each key is "
+"limited, \n"
+"as are the number of keys themselves - if too many arrive, either new or "
+"old \n"
+"messages may be dropped. The sender keeps track whether messages using "
+"session \n"
+"tags are getting through, and if there isn't sufficient communication it "
+"may \n"
+"drop the ones previously assumed to be properly delivered, reverting back"
+" \n"
+"to the full expensive ElGamal encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:553
+msgid ""
+"One alternative is to transmit only a single session tag, and from that,"
+" \n"
+"seed a deterministic PRNG for determining what tags to use or expect. By "
+"keeping \n"
+"this PRNG roughly synchronized between the sender and recipient (the "
+"recipient \n"
+"precomputes a window of the next e.g. 50 tags), the overhead of "
+"periodically \n"
+"bundling a large number of tags is removed, allowing more options in the "
+"space/time \n"
+"tradeoff, and perhaps reducing the number of ElGamal encryptions "
+"necessary. \n"
+"However, it would depend upon the strength of the PRNG to provide the "
+"necessary \n"
+"cover against internal adversaries, though perhaps by limiting the amount"
+" \n"
+"of times each PRNG is used, any weaknesses can be minimized. At the "
+"moment, \n"
+"there are no immediate plans to move towards these synchronized PRNGs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:566
+msgid "Future"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:567
+msgid ""
+"While I2P is currently functional and sufficient for many scenarios, "
+"there \n"
+"are several areas which require further improvement to meet the needs of "
+"those \n"
+"facing more powerful adversaries as well as substantial user experience "
+"optimization."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:573
+msgid "Restricted route operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:574
+msgid ""
+"I2P is an overlay network designed to be run on top of a functional "
+"packet \n"
+"switched network, exploiting the end to end principle to offer anonymity "
+"and \n"
+"security. While the Internet no longer fully embraces the end to end "
+"principle\n"
+"(due to the usage of NAT), \n"
+"I2P does require a substantial portion of the network to be reachable - "
+"there \n"
+"may be a number of peers along the edges running using restricted routes,"
+" \n"
+"but I2P does not include an appropriate routing algorithm for the "
+"degenerate \n"
+"case where most peers are unreachable. It would, however work on top of a"
+" \n"
+"network employing such an algorithm."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:586
+msgid ""
+"Restricted route operation, where there are limits to what peers are "
+"reachable \n"
+"directly, has several different functional and anonymity implications, "
+"dependent \n"
+"upon how the restricted routes are handled. At the most basic level, "
+"restricted \n"
+"routes exist when a peer is behind a NAT or firewall which does not allow"
+" \n"
+"inbound connections. This was largely addressed in I2P 0.6.0.6 by "
+"integrating \n"
+"distributed hole punching into the transport layer, allowing people "
+"behind \n"
+"most NATs and firewalls to receive unsolicited connections without any "
+"configuration. \n"
+"However, this does not limit the exposure of the peer's IP address to "
+"routers \n"
+"inside the network, as they can simply get introduced to the peer through"
+" \n"
+"the published introducer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:599
+msgid ""
+"Beyond the functional handling of restricted routes, there are two levels"
+" \n"
+"of restricted operation that can be used to limit the exposure of one's "
+"IP \n"
+"address - using router-specific tunnels for communication, and offering "
+"'client \n"
+"routers'. For the former, routers can either build a new pool of tunnels "
+"or \n"
+"reuse their exploratory pool, publishing the inbound gateways to some of "
+"them \n"
+"as part of their routerInfo in place of their transport addresses. When a"
+" \n"
+"peer wants to get in touch with them, they see those tunnel gateways in "
+"the \n"
+"netDb and simply send the relevant message to them through one of the "
+"published \n"
+"tunnels. If the peer behind the restricted route wants to reply, it may "
+"do \n"
+"so either directly (if they are willing to expose their IP to the peer) "
+"or \n"
+"indirectly through their outbound tunnels. When the routers that the peer"
+" \n"
+"has direct connections to want to reach it (to forward tunnel messages, "
+"for \n"
+"instance), they simply prioritize their direct connection over the "
+"published \n"
+"tunnel gateway. The concept of 'client routers' simply extends the "
+"restricted \n"
+"route by not publishing any router addresses. Such a router would not "
+"even \n"
+"need to publish their routerInfo in the netDb, merely providing their "
+"self \n"
+"signed routerInfo to the peers that it contacts (necessary to pass the "
+"router's \n"
+"public keys). Both levels of restricted route operation are planned for "
+"I2P \n"
+"2.0."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:621
+msgid ""
+"There are tradeoffs for those behind restricted routes, as they would "
+"likely \n"
+"participate in other people's tunnels less frequently, and the routers "
+"which \n"
+"they are connected to would be able to infer traffic patterns that would "
+"not \n"
+"otherwise be exposed. On the other hand, if the cost of that exposure is "
+"less \n"
+"than the cost of an IP being made available, it may be worthwhile. This, "
+"of \n"
+"course, assumes that the peers that the router behind a restricted route "
+"contacts \n"
+"are not hostile - either the network is large enough that the probability"
+" \n"
+"of using a hostile peer to get connected is small enough, or trusted (and"
+" \n"
+"perhaps temporary) peers are used instead."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:633
+msgid "Variable latency"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:634
+msgid ""
+"Even though the bulk of I2P's initial efforts have been on low latency "
+"communication, \n"
+"it was designed with variable latency services in mind from the "
+"beginning. \n"
+"At the most basic level, applications running on top of I2P can offer the"
+" \n"
+"anonymity of medium and high latency communication while still blending "
+"their \n"
+"traffic patterns in with low latency traffic. Internally though, I2P can "
+"offer \n"
+"its own medium and high latency communication through the garlic "
+"encryption \n"
+"- specifying that the message should be sent after a certain delay, at a "
+"certain \n"
+"time, after a certain number of messages have passed, or another mix "
+"strategy. \n"
+"With the layered encryption, only the router that the clove exposed the "
+"delay \n"
+"request would know that the message requires high latency, allowing the "
+"traffic \n"
+"to blend in further with the low latency traffic. Once the transmission "
+"precondition \n"
+"is met, the router holding on to the clove (which itself would likely be "
+"a \n"
+"garlic message) simply forwards it as requested - to a router, to a "
+"tunnel, \n"
+"or, most likely, to a remote client destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:651
+msgid ""
+"There are a substantial number of ways to exploit this capacity for high"
+" \n"
+"latency comm in I2P, but for the moment, doing so has been scheduled for "
+"the \n"
+"I2P 3.0 release. In the meantime, those requiring the anonymity that high"
+" \n"
+"latency comm can offer should look towards the application layer to "
+"provide \n"
+"it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:659
+msgid "Open questions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:661
+msgid "How to get rid of the timing constraint?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:662
+msgid "Can we deal with the sessionTags more efficiently?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:663
+msgid ""
+"What, if any, batching/mixing strategies should be made available on the "
+"tunnels?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:664
+msgid ""
+"What other tunnel peer selection and ordering strategies should be "
+"available?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:667
+msgid "Similar systems"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:669
+msgid ""
+"I2P's architecture builds on the concepts of message oriented middleware,"
+" \n"
+"the topology of DHTs, the anonymity and cryptography of free route "
+"mixnets, \n"
+"and the adaptability of packet switched networking. The value comes not "
+"from \n"
+"novel concepts of algorithms though, but from careful engineering "
+"combining \n"
+"the research results of existing systems and papers. While there are a "
+"few \n"
+"similar efforts worth reviewing, both for technical and functional "
+"comparisons, \n"
+"two in particular are pulled out here - Tor and Freenet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:679
+#, python-format
+msgid "See also the <a href=\"%(comparisons)s\">Network Comparisons Page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:684
+#: i2p2www/pages/site/docs/how/tech-intro.html:749
+msgid "website"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:686
+msgid ""
+"At first glance, Tor and I2P have many functional and anonymity related \n"
+"similarities. While I2P's development began before we were aware of the "
+"early \n"
+"stage efforts on Tor, many of the lessons of the original onion routing "
+"and \n"
+"ZKS efforts were integrated into I2P's design. Rather than building an "
+"essentially \n"
+"trusted, centralized system with directory servers, I2P has a self "
+"organizing \n"
+"network database with each peer taking on the responsibility of profiling"
+" \n"
+"other routers to determine how best to exploit available resources. "
+"Another \n"
+"key difference is that while both I2P and Tor use layered and ordered "
+"paths \n"
+"(tunnels and circuits/streams), I2P is fundamentally a packet switched "
+"network, \n"
+"while Tor is fundamentally a circuit switched one, allowing I2P to "
+"transparently \n"
+"route around congestion or other network failures, operate redundant "
+"pathways, \n"
+"and load balance the data across available resources. While Tor offers "
+"the \n"
+"useful outproxy functionality by offering integrated outproxy discovery "
+"and \n"
+"selection, I2P leaves such application layer decisions up to applications"
+" \n"
+"running on top of I2P - in fact, I2P has even externalized the TCP-like "
+"streaming \n"
+"library itself to the application layer, allowing developers to "
+"experiment \n"
+"with different strategies, exploiting their domain specific knowledge to "
+"offer \n"
+"better performance."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:707
+msgid ""
+"From an anonymity perspective, there is much similarity when the core "
+"networks \n"
+"are compared. However, there are a few key differences. When dealing with"
+" \n"
+"an internal adversary or most external adversaries, I2P's simplex tunnels"
+" \n"
+"expose half as much traffic data than would be exposed with Tor's duplex "
+"circuits \n"
+"by simply looking at the flows themselves - an HTTP request and response "
+"would \n"
+"follow the same path in Tor, while in I2P the packets making up the "
+"request \n"
+"would go out through one or more outbound tunnels and the packets making "
+"up \n"
+"the response would come back through one or more different inbound "
+"tunnels. \n"
+"While I2P's peer selection and ordering strategies should sufficiently "
+"address \n"
+"predecessor attacks, should a switch to bidirectional tunnels be "
+"necessary,\n"
+"we could simply build an inbound and outbound tunnel along the same "
+"routers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:721
+msgid ""
+"Another anonymity issue comes up in Tor's use of telescopic tunnel "
+"creation, \n"
+"as simple packet counting and timing measurements as the cells in a "
+"circuit \n"
+"pass through an adversary's node exposes statistical information "
+"regarding \n"
+"where the adversary is within the circuit. I2P's unidirectional tunnel "
+"creation \n"
+"with a single message so that this data is not exposed. Protecting the "
+"position \n"
+"in a tunnel is important, as an adversary would otherwise be able to "
+"mount \n"
+"a series of powerful predecessor, intersection, and traffic confirmation "
+"attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:731
+msgid ""
+"Tor's support for a second tier of \"onion proxies\" does offer a non-"
+"trivial \n"
+"degree of anonymity while requiring a low cost of entry, while I2P will "
+"not \n"
+"offer this topology until <a href=\"#future.restricted\">2.0</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:737
+msgid ""
+"On the whole, Tor and I2P complement each other in their focus - Tor "
+"works \n"
+"towards offering high speed anonymous Internet outproxying, while I2P "
+"works \n"
+"towards offering a decentralized resilient network in itself. In theory, "
+"both \n"
+"can be used to achieve both purposes, but given limited development "
+"resources, \n"
+"they both have their strengths and weaknesses. The I2P developers have "
+"considered \n"
+"the steps necessary to modify Tor to take advantage of I2P's design, but "
+"concerns \n"
+"of Tor's viability under resource scarcity suggest that I2P's packet "
+"switching \n"
+"architecture will be able to exploit scarce resources more effectively."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:751
+msgid ""
+"Freenet played a large part in the initial stages of I2P's design - "
+"giving \n"
+"proof to the viability of a vibrant pseudonymous community completely "
+"contained \n"
+"within the network, demonstrating that the dangers inherent in outproxies"
+" \n"
+"could be avoided. The first seed of I2P began as a replacement "
+"communication \n"
+"layer for Freenet, attempting to factor out the complexities of a "
+"scalable, \n"
+"anonymous and secure point to point communication from the complexities "
+"of \n"
+"a censorship resistant distributed data store. Over time however, some of"
+" \n"
+"the anonymity and scalability issues inherent in Freenet's algorithms "
+"made \n"
+"it clear that I2P's focus should stay strictly on providing a generic "
+"anonymous \n"
+"communication layer, rather than as a component of Freenet. Over the "
+"years, \n"
+"the Freenet developers have come to see the weaknesses in the older "
+"design, \n"
+"prompting them to suggest that they will require a \"premix\" layer to "
+"offer \n"
+"substantial anonymity. In other words, Freenet needs to run on top of a "
+"mixnet \n"
+"such as I2P or Tor, with \"client nodes\" requesting and publishing data "
+"through \n"
+"the mixnet to the \"server nodes\" which then fetch and store the data "
+"according \n"
+"to Freenet's heuristic distributed data storage algorithms."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:770
+msgid ""
+"Freenet's functionality is very complementary to I2P's, as Freenet "
+"natively \n"
+"provides many of the tools for operating medium and high latency systems,"
+" \n"
+"while I2P natively provides the low latency mix network suitable for "
+"offering \n"
+"adequate anonymity. The logic of separating the mixnet from the "
+"censorship-\n"
+"resistant distributed data store still seems self-evident from an "
+"engineering, \n"
+"anonymity, security, and resource allocation perspective, so hopefully "
+"the \n"
+"Freenet team will pursue efforts in that direction, if not simply reusing"
+" \n"
+"(or helping to improve, as necessary) existing mixnets like I2P or Tor."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:781
+msgid ""
+"It is worth mentioning that there has recently been discussion and work \n"
+"by the Freenet developers on a \"globally scalable darknet\" using "
+"restricted \n"
+"routes between peers of various trust. While insufficient information has"
+" \n"
+"been made publicly available regarding how such a system would operate "
+"for \n"
+"a full review, from what has been said the anonymity and scalability "
+"claims \n"
+"seem highly dubious. In particular, the appropriateness for use in "
+"hostile \n"
+"regimes against state level adversaries has been tremendously overstated,"
+" \n"
+"and any analysis on the implications of resource scarcity upon the "
+"scalability \n"
+"of the network has seemingly been avoided. Further questions regarding "
+"susceptibility \n"
+"to traffic analysis, trust and other topics do exist, but a more in-depth"
+" \n"
+"review of this \"globally scalable darknet\" will have to wait until the "
+"Freenet \n"
+"team makes more information available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:797
+msgid ""
+"I2P itself doesn't really do much - it simply sends messages to remote "
+"destinations \n"
+"and receives messages targeting local destinations - most of the "
+"interesting \n"
+"work goes on at the layers above it. By itself, I2P could be seen as an "
+"anonymous \n"
+"and secure IP layer, and the bundled <a href=\"#app.streaming\">streaming"
+" library</a> \n"
+"as an implementation of an anonymous and secure TCP layer on top of it. "
+"Beyond \n"
+"that, <a href=\"#app.i2ptunnel\">I2PTunnel</a> exposes a generic TCP "
+"proxying \n"
+"system for either getting into or out of the I2P network, plus a variety "
+"of \n"
+"network applications provide further functionality for end users."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:808
+msgid "Streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:809
+msgid ""
+"The I2P streaming library can be viewed as a generic streaming interface "
+"(mirroring TCP sockets),\n"
+"and the implementation supports a <a "
+"href=\"http://en.wikipedia.org/wiki/Sliding_Window_Protocol\">sliding "
+"window protocol</a>\n"
+"with several optimizations, to take into account the high delay over I2P."
+"\n"
+"Individual streams may adjust the maximum packet size and \n"
+"other options, though the default of 4KB compressed seems a reasonable "
+"tradeoff \n"
+"between the bandwidth costs of retransmitting lost messages and the "
+"latency \n"
+"of multiple messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:819
+msgid ""
+"In addition, in consideration of the relatively high cost of subsequent \n"
+"messages, the streaming library's protocol for scheduling and delivering "
+"messages \n"
+"has been optimized to allow individual messages passed to contain as much"
+" \n"
+"information as is available. For instance, a small HTTP transaction "
+"proxied \n"
+"through the streaming library can be completed in a single round trip - "
+"the \n"
+"first message bundles a SYN, FIN and the small payload (an HTTP request "
+"typically \n"
+"fits) and the reply bundles the SYN, FIN, ACK and the small payload (many"
+" \n"
+"HTTP responses fit). While an additional ACK must be transmitted to tell "
+"the \n"
+"HTTP server that the SYN/FIN/ACK has been received, the local HTTP proxy "
+"can \n"
+"deliver the full response to the browser immediately."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:832
+msgid ""
+"On the whole, however, the streaming library bears much resemblance to an"
+" \n"
+"abstraction of TCP, with its sliding windows, congestion control "
+"algorithms \n"
+"(both slow start and congestion avoidance), and general packet behavior "
+"(ACK, \n"
+"SYN, FIN, RST, etc)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:839
+msgid "Naming library and addressbook"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:840
+#, python-format
+msgid ""
+"For more information see the <a href=\"%(naming)s\">Naming and "
+"Addressbook</a> page."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:844
+#: i2p2www/pages/site/docs/how/tech-intro.html:918
+#: i2p2www/pages/site/docs/how/tech-intro.html:965
+#: i2p2www/pages/site/docs/how/tech-intro.html:997
+#: i2p2www/pages/site/docs/how/tech-intro.html:1005
+#: i2p2www/pages/site/docs/how/tech-intro.html:1013
+#: i2p2www/pages/site/docs/how/tech-intro.html:1023
+#: i2p2www/pages/site/docs/how/tech-intro.html:1031
+#: i2p2www/pages/site/docs/how/tech-intro.html:1053
+#, python-format
+msgid "Developed by: %(dev)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:846
+msgid ""
+"Naming within I2P has been an oft-debated topic since the very beginning"
+" \n"
+"with advocates across the spectrum of possibilities. However, given I2P's"
+" \n"
+"inherent demand for secure communication and decentralized operation, the"
+" \n"
+"traditional DNS-style naming system is clearly out, as are \"majority "
+"rules\" \n"
+"voting systems. Instead, I2P ships with a generic naming library and a "
+"base \n"
+"implementation designed to work off a local name to destination mapping, "
+"as \n"
+"well as an optional add-on application called the \"addressbook\". The "
+"addressbook \n"
+"is a web-of-trust-driven secure, distributed, and human readable naming "
+"system, \n"
+"sacrificing only the call for all human readable names to be globally "
+"unique \n"
+"by mandating only local uniqueness. While all messages in I2P are "
+"cryptographically \n"
+"addressed by their destination, different people can have local "
+"addressbook \n"
+"entries for \"Alice\" which refer to different destinations. People can "
+"still \n"
+"discover new names by importing published addressbooks of peers specified"
+" \n"
+"in their web of trust, by adding in the entries provided through a third "
+"party, \n"
+"or (if some people organize a series of published addressbooks using a "
+"first \n"
+"come first serve registration system) people can choose to treat these "
+"addressbooks \n"
+"as name servers, emulating traditional DNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:866
+msgid ""
+"I2P does not promote the use of DNS-like services though, as the damage \n"
+"done by hijacking a site can be tremendous - and insecure destinations "
+"have \n"
+"no value. DNSsec itself still falls back on registrars and certificate "
+"authorities, \n"
+"while with I2P, requests sent to a destination cannot be intercepted or "
+"the \n"
+"reply spoofed, as they are encrypted to the destination's public keys, "
+"and \n"
+"a destination itself is just a pair of public keys and a certificate. "
+"DNS-style \n"
+"systems on the other hand allow any of the name servers on the lookup "
+"path \n"
+"to mount simple denial of service and spoofing attacks. Adding on a "
+"certificate \n"
+"authenticating the responses as signed by some centralized certificate "
+"authority \n"
+"would address many of the hostile nameserver issues but would leave open "
+"replay \n"
+"attacks as well as hostile certificate authority attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:880
+msgid ""
+"Voting style naming is dangerous as well, especially given the "
+"effectiveness \n"
+"of Sybil attacks in anonymous systems - the attacker can simply create an"
+" \n"
+"arbitrarily high number of peers and \"vote\" with each to take over a "
+"given \n"
+"name. Proof-of-work methods can be used to make identity non-free, but as"
+" \n"
+"the network grows the load required to contact everyone to conduct online"
+" \n"
+"voting is implausible, or if the full network is not queried, different "
+"sets \n"
+"of answers may be reachable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:890
+msgid ""
+"As with the Internet however, I2P is keeping the design and operation of"
+" \n"
+"a naming system out of the (IP-like) communication layer. The bundled "
+"naming \n"
+"library includes a simple service provider interface which alternate "
+"naming \n"
+"systems can plug into, allowing end users to drive what sort of naming "
+"tradeoffs \n"
+"they prefer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:899
+msgid ""
+"The old Syndie bundled with I2P has been replaced by the new Syndie which"
+"\n"
+"is distributed separately. For more information see the <a "
+"href=\"http://syndie.i2p2.de/\">Syndie</a>\n"
+"pages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:905
+msgid ""
+"Syndie is a safe, anonymous blogging / content publication / content "
+"aggregation \n"
+"system. It lets you create information, share it with others, and read "
+"posts \n"
+"from those you're interested in, all while taking into consideration your"
+" \n"
+"needs for security and anonymity. Rather than building its own content "
+"distribution \n"
+"network, Syndie is designed to run on top of existing networks, "
+"syndicating \n"
+"content through eepsites, Tor hidden services, Freenet freesites, normal "
+"websites, \n"
+"usenet newsgroups, email lists, RSS feeds, etc. Data published with "
+"Syndie \n"
+"is done so as to offer pseudonymous authentication to anyone reading or "
+"archiving \n"
+"it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:920
+msgid ""
+"I2PTunnel is probably I2P's most popular and versatile client "
+"application, \n"
+"allowing generic proxying both into and out of the I2P network. I2PTunnel"
+" \n"
+"can be viewed as four separate proxying applications - a \"client\" which"
+" receives \n"
+"inbound TCP connections and forwards them to a given I2P destination, an "
+"\"httpclient\" \n"
+"(aka \"eepproxy\") which acts like an HTTP proxy and forwards the "
+"requests to \n"
+"the appropriate I2P destination (after querying the naming service if "
+"necessary), \n"
+"a \"server\" which receives inbound I2P streaming connections on a "
+"destination \n"
+"and forwards them to a given TCP host+port, and an \"httpserver\" which "
+"extends \n"
+"the \"server\" by parsing the HTTP request and responses to allow safer "
+"operation. \n"
+"There is an additional \"socksclient\" application, but its use is not "
+"encouraged \n"
+"for reasons previously mentioned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:934
+msgid ""
+"I2P itself is not an outproxy network - the anonymity and security "
+"concerns \n"
+"inherent in a mix net which forwards data into and out of the mix have "
+"kept \n"
+"I2P's design focused on providing an anonymous network which capable of "
+"meeting \n"
+"the user's needs without requiring external resources. However, the "
+"I2PTunnel \n"
+"\"httpclient\" application offers a hook for outproxying - if the "
+"hostname requested \n"
+"doesn't end in \".i2p\", it picks a random destination from a user-"
+"provided \n"
+"set of outproxies and forwards the request to them. These destinations "
+"are \n"
+"simply I2PTunnel \"server\" instances run by volunteers who have "
+"explicitly \n"
+"chosen to run outproxies - no one is an outproxy by default, and running "
+"an \n"
+"outproxy doesn't automatically tell other people to proxy through you. "
+"While \n"
+"outproxies do have inherent weaknesses, they offer a simple proof of "
+"concept \n"
+"for using I2P and provide some functionality under a threat model which "
+"may \n"
+"be sufficient for some users."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:950
+msgid ""
+"I2PTunnel enables most of the applications in use. An \"httpserver\" "
+"pointing \n"
+"at a webserver lets anyone run their own anonymous website (or "
+"\"eepsite\") \n"
+"- a webserver is bundled with I2P for this purpose, but any webserver can"
+" \n"
+"be used. Anyone may run a \"client\" pointing at one of the anonymously "
+"hosted \n"
+"IRC servers, each of which are running a \"server\" pointing at their "
+"local \n"
+"IRCd and communicating between IRCds over their own \"client\" tunnels. "
+"End \n"
+"users also have \"client\" tunnels pointing at <a "
+"href=\"#app.i2pmail\">I2Pmail's</a> \n"
+"POP3 and SMTP destinations (which in turn are simply \"server\" instances"
+" pointing \n"
+"at POP3 and SMTP servers), as well as \"client\" tunnels pointing at "
+"I2P's CVS \n"
+"server, allowing anonymous development. At times people have even run "
+"\"client\" \n"
+"proxies to access the \"server\" instances pointing at an NNTP server."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:967
+msgid ""
+"i2p-bt is a port of the mainline python BitTorrent client to run both the"
+" \n"
+"tracker and peer communication over I2P. Tracker requests are forwarded "
+"through \n"
+"the eepproxy to eepsites specified in the torrent file while tracker "
+"responses \n"
+"refer to peers by their destination explicitly, allowing i2p-bt to open "
+"up \n"
+"a <a href=\"#app.streaming\">streaming lib</a> connection to query them "
+"for \n"
+"blocks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:976
+msgid ""
+"In addition to i2p-bt, a port of bytemonsoon has been made to I2P, making"
+" \n"
+"a few modifications as necessary to strip any anonymity-compromising "
+"information \n"
+"from the application and to take into consideration the fact that IPs "
+"cannot \n"
+"be used for identifying peers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:984
+msgid ""
+"I2PSnark developed: jrandom, et al, ported from <a\n"
+"href=\"http://www.klomp.org/mark/\">mjw</a>'s <a\n"
+"href=\"http://www.klomp.org/snark/\">Snark</a> client"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:990
+msgid ""
+"Bundled with the I2P install, I2PSnark offers a simple anonymous "
+"BitTorrent \n"
+"client with multitorrent capabilities, exposing all of the functionality "
+"through \n"
+"a plain HTML web interface."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:999
+#, python-format
+msgid ""
+"Robert is a Bittorrent client written in Python.\n"
+"It is hosted on <a "
+"href=\"http://%(bob)s/Robert.html\">http://%(bob)s/Robert.html</a> <!-- "
+"TODO: expand -->"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1007
+#, python-format
+msgid ""
+"PyBit is a Bittorrent client written in Python.\n"
+"It is hosted on <a href=\"%(pybit)s\">%(pybit)s</a> <!-- TODO: expand -->"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1015
+msgid ""
+"I2Phex is a fairly direct port of the Phex Gnutella filesharing client to"
+" \n"
+"run entirely on top of I2P. While it has disabled some of Phex's "
+"functionality, \n"
+"such as integration with Gnutella webcaches, the basic file sharing and "
+"chatting \n"
+"system is fully functional."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1025
+msgid ""
+"iMule is a fairly direct port of the aMule filesharing client \n"
+"running entirely inside I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1033
+#, python-format
+msgid ""
+"I2Pmail is more a service than an application - postman offers both "
+"internal \n"
+"and external email with POP3 and SMTP service through I2PTunnel instances"
+" \n"
+"accessing a series of components developed with mastiejaner, allowing "
+"people \n"
+"to use their preferred mail clients to send and receive mail "
+"pseudonymously. \n"
+"However, as most mail clients expose substantial identifying information,"
+" \n"
+"I2P bundles susi23's web based susimail client which has been built "
+"specifically \n"
+"with I2P's anonymity needs in mind. The I2Pmail/mail.i2p service offers "
+"transparent \n"
+"virus filtering as well as denial of service prevention with hashcash "
+"augmented \n"
+"quotas. In addition, each user has control of their batching strategy "
+"prior \n"
+"to delivery through the mail.i2p outproxies, which are separate from the "
+"mail.i2p \n"
+"SMTP and POP3 servers - both the outproxies and inproxies communicate "
+"with \n"
+"the mail.i2p SMTP and POP3 servers through I2P itself, so compromising "
+"those \n"
+"non-anonymous locations does not give access to the mail accounts or "
+"activity \n"
+"patterns of the user. At the moment the developers work on a "
+"decentralized \n"
+"mailsystem, called \"v2mail\". More information can be found on the "
+"eepsite \n"
+"<a href=\"http://%(postman)s/\">%(postman)s</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1055
+msgid ""
+"I2P-Bote is a distributed e-mail application. It does not use the "
+"traditional\n"
+"e-mail concept of sending an e-mail to a server and retrieving it from a "
+"server.\n"
+"Instead, it uses a Kademlia Distributed Hash Table to store mails.\n"
+"One user can push a mail into the DHT, while another can request the "
+"e-mail from the DHT.\n"
+"And all the mails sent within the I2P-Bote network are automatically "
+"encrypted end-to-end. <br>\n"
+"Furthermore, I2P-Bote offers a remailer function on top of I2P, for "
+"increased high-latency anonymity."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tech-intro.html:1065
+msgid ""
+"I2P-Messenger is an end-to-end encrypted serverless communication "
+"application.\n"
+"For communication between two users, they need to give each other their "
+"destination keys, to allow the other to connect.\n"
+"It supports file transfer and has a search for other users, based on "
+"Seedless."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:2
+msgid "I2P's Threat Model"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:3
+msgid "November 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:7
+msgid "low"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:8
+msgid "medium"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:9
+msgid "high"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:34
+msgid "Damage Potential"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:35
+msgid "Reliability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:36
+msgid "Exploitability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:37
+msgid "Affected Users"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:38
+msgid "Discoverability"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:39
+msgid "Severity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:40
+#: i2p2www/pages/site/docs/protocol/i2np.html:93
+msgid "Priority"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:45
+msgid "What do we mean by \"anonymous\"?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:47
+msgid ""
+"Your level of anonymity can be described as \"how hard it is for someone\n"
+"to find out information you don't want them to know?\" - who you are, "
+"where\n"
+"you are located, who you communicate with, or even when you communicate."
+"  \n"
+"\"Perfect\" anonymity is not a useful concept here - software will not "
+"make \n"
+"you indistinguishable from people that don't use computers or who are not"
+" on\n"
+"the Internet.  Instead, we are working to provide sufficient anonymity to"
+" meet the\n"
+"real needs of whomever we can - from those simply browsing websites, to "
+"those exchanging\n"
+"data, to those fearful of discovery by powerful organizations or states."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:58
+msgid ""
+"The question of whether I2P provides sufficient anonymity for your \n"
+"particular needs is a hard one, but this page will hopefully assist in \n"
+"answering that question by exploring how I2P operates under various "
+"attacks\n"
+"so that you may decide whether it meets your needs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:65
+msgid ""
+"We welcome further research and analysis on I2P's resistance to the "
+"threats described below.\n"
+"More review of existing literature (much of it focused on Tor) and "
+"original\n"
+"work focused on I2P is needed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:71
+msgid "Network Topology Summary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:72
+#, python-format
+msgid ""
+"I2P builds off the ideas of many <a href=\"%(comparisons)s\">other</a> \n"
+"<a href=\"%(links)s\">systems</a>, but a few key points should be kept in"
+" mind when \n"
+"reviewing related literature:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:78
+msgid ""
+"<b>I2P is a free route mixnet</b> - the message creator explicitly "
+"defines the\n"
+"path that messages will be sent out (the outbound tunnel), and the "
+"message \n"
+"recipient explicitly defines the path that messages will be received on "
+"(the\n"
+"inbound tunnel)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:84
+msgid ""
+"<b>I2P has no official entry and exit points</b> - all peers fully "
+"participate in the \n"
+"mix, and there are no network layer in- or out-proxies (however, at the \n"
+"application layer, a few proxies do exist)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:89
+msgid ""
+"<b>I2P is fully distributed</b> - there are no central controls or "
+"authorities.\n"
+"One could modify some routers to operate mix cascades (building tunnels "
+"and giving\n"
+"out the keys necessary to control the forwarding at the tunnel endpoint) "
+"or directory \n"
+"based profiling and selection, all without breaking compatibility with "
+"the rest of \n"
+"the network, but doing so is of course not necessary (and may even harm "
+"one's\n"
+"anonymity)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:99
+#, python-format
+msgid ""
+"We have documented plans to implement <a "
+"href=\"%(todo)s#stop\">nontrivial delays</a>\n"
+"and <a href=\"%(todo)s#batching\">batching strategies</a> \n"
+"whose existence is only known to the particular hop or tunnel gateway "
+"that \n"
+"receives the message, allowing a mostly low latency mixnet to provide "
+"cover \n"
+"traffic for higher latency communication (e.g. email).\n"
+"However we are aware that significant delays are required to provide "
+"meaningful\n"
+"protection, and that implementation of such delays will be a significant "
+"challenge.\n"
+"It is not clear at this time whether we will actually implement these "
+"delay features."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:110
+msgid ""
+"In theory, routers along the message path may inject an \n"
+"arbitrary number of hops before forwarding the message to the next peer, "
+"though\n"
+"the current implementation does not."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:117
+msgid "The Threat Model"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:118
+msgid ""
+"I2P design started in 2003, not long after the advent of\n"
+"<a href=\"http://www.onion-router.net\">[Onion Routing]</a>,\n"
+"<a href=\"http://freenetproject.org/\">[Freenet]</a>, and\n"
+"<a href=\"https://www.torproject.org/\">[Tor]</a>.\n"
+"Our design benefits substantially from the research published around that"
+" time.\n"
+"I2P uses several onion routing techniques, so we continue to benefit\n"
+"from the significant academic interest in Tor."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:128
+msgid ""
+"Taking from the attacks and analysis put forth in the \n"
+"<a href=\"http://freehaven.net/anonbib/topic.html\">anonymity "
+"literature</a> (largely \n"
+"<a href=\"http://citeseer.ist.psu.edu/454354.html\">Traffic Analysis: "
+"Protocols, Attacks, Design \n"
+"Issues and Open Problems</a>), the following briefly describes a wide "
+"variety \n"
+"of attacks as well as many of I2Ps defenses.  We update\n"
+"this list to include new attacks as they are identified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:137
+msgid ""
+"Included are some attacks that may be unique to I2P.\n"
+"We do not have good answers for all these attacks, however\n"
+"we continue to do research and improve our defenses."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:143
+msgid ""
+"In addition, many of these attacks are significantly easier than\n"
+"they should be, due to the modest size of the current network.\n"
+"While we are aware of some limitations that need to be addressed,\n"
+"I2P is designed to support hundreds of thousands, or millions, of\n"
+"participants.\n"
+"As we continue to spread the word and grow the network,\n"
+"these attacks will become much harder."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:153
+#, python-format
+msgid ""
+"The\n"
+"<a href=\"%(comparisons)s\">network comparisons</a> and\n"
+"<a href=\"%(garlicrouting)s\">\"garlic\" terminology</a> pages may also "
+"be helpful\n"
+"to review."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:182
+msgid "Index of Attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:184
+#: i2p2www/pages/site/docs/how/threat-model.html:204
+msgid "Brute force attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:185
+#: i2p2www/pages/site/docs/how/threat-model.html:248
+msgid "Timing attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:186
+#: i2p2www/pages/site/docs/how/threat-model.html:285
+msgid "Intersection attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:187
+#: i2p2www/pages/site/docs/how/threat-model.html:365
+msgid "Denial of service attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:188
+#: i2p2www/pages/site/docs/how/threat-model.html:464
+msgid "Tagging attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:189
+#: i2p2www/pages/site/docs/how/threat-model.html:482
+msgid "Partitioning attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:190
+#: i2p2www/pages/site/docs/how/threat-model.html:522
+msgid "Predecessor attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:191
+#: i2p2www/pages/site/docs/how/threat-model.html:567
+msgid "Harvesting attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:192
+#: i2p2www/pages/site/docs/how/threat-model.html:614
+msgid "Identification Through Traffic Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:193
+#: i2p2www/pages/site/docs/how/threat-model.html:674
+msgid "Sybil attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:194
+#: i2p2www/pages/site/docs/how/threat-model.html:723
+msgid "Buddy Exhaustion attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:195
+#: i2p2www/pages/site/docs/how/threat-model.html:748
+msgid "Cryptographic attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:196
+msgid "Floodfill attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:197
+#: i2p2www/pages/site/docs/how/threat-model.html:809
+msgid "Other Network Database attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:198
+msgid "Attacks on centralized resources"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:199
+#: i2p2www/pages/site/docs/how/threat-model.html:875
+msgid "Development attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:200
+msgid "Implementation attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:201
+#: i2p2www/pages/site/docs/how/threat-model.html:959
+msgid "Other Defenses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:208
+msgid ""
+"A brute force attack can be mounted by a global passive or active "
+"adversary, \n"
+"watching all the messages pass between all of the nodes and attempting to"
+" correlate\n"
+"which message follows which path.  Mounting this attack against I2P "
+"should be \n"
+"nontrivial, as all peers in the network are frequently sending messages "
+"(both\n"
+"end to end and network maintenance messages), plus an end to end message "
+"changes\n"
+"size and data along its path.  In addition, the external adversary does "
+"not have\n"
+"access to the messages either, as inter-router communication is both "
+"encrypted\n"
+"and streamed (making two 1024 byte messages indistinguishable from one "
+"2048 byte\n"
+"message)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:220
+msgid ""
+"However, a powerful attacker can use brute force to detect trends - if "
+"they \n"
+"can send 5GB to an I2P destination and monitor everyone's network "
+"connection,\n"
+"they can eliminate all peers who did not receive 5GB of data.  Techniques"
+" to \n"
+"defeat this attack exist, but may be prohibitively expensive (see: \n"
+"<a "
+"href=\"http://citeseer.ist.psu.edu/freedman02tarzan.html\">Tarzan</a>'s "
+"mimics\n"
+"or constant rate traffic).  Most users are not concerned with this "
+"attack, as \n"
+"the cost of mounting it are extreme (and often require illegal activity)."
+"  \n"
+"However, the attack is still possible, for example by an observer at\n"
+"a large ISP or an Internet exchange point.\n"
+"Those who want to defend against it \n"
+"would want to take appropriate countermeasures, such as\n"
+"setting low bandwidth limits, and using unpublished or encrypted "
+"leasesets for eepsites.\n"
+"Other countermeasures, such as nontrivial delays and restricted routes, "
+"are\n"
+"not currently implemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:237
+#, python-format
+msgid ""
+"As a partial defense against a single router or group of routers trying "
+"to route all the network's traffic,\n"
+"routers contain limits as to how many tunnels can be routed through a "
+"single peer.\n"
+"As the network grows, these limits are subject to further adjustment.\n"
+"Other mechanisms for peer rating, selection and avoidance\n"
+"are discussed on the\n"
+"<a href=\"%(peerselection)s\">peer selection page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:252
+msgid ""
+"I2P's messages are unidirectional and do not necessarily imply that a "
+"reply\n"
+"will be sent.  However, applications on top of I2P will most likely have\n"
+"recognizable patterns within the frequency of their messages - for "
+"instance, an \n"
+"HTTP request will be a small message with a large sequence of reply "
+"messages \n"
+"containing the HTTP response.  Using this data as well as a broad view of"
+" the \n"
+"network topology, an attacker may be able to disqualify some links as "
+"being too \n"
+"slow to have passed the message along."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:262
+msgid ""
+"This sort of attack is powerful, but its applicability to I2P is non "
+"obvious,\n"
+"as the variation on message delays due to queuing, message processing, "
+"and \n"
+"throttling will often meet or exceed the time of passing a message along "
+"a \n"
+"single link - even when the attacker knows that a reply will be sent as "
+"soon as\n"
+"the message is received.  There are some scenarios which will expose "
+"fairly \n"
+"automatic replies though - the streaming library does (with the SYN+ACK) "
+"as does the \n"
+"message mode of guaranteed delivery (with the "
+"DataMessage+DeliveryStatusMessage)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:272
+#, python-format
+msgid ""
+"Without protocol scrubbing or higher latency, global active adversaries "
+"can \n"
+"gain substantial information.  As such, people concerned with these "
+"attacks could\n"
+"increase the latency (using <a href=\"%(todo)s#stop\">nontrivial "
+"delays</a> or \n"
+"<a href=\"%(todo)s#batching\">batching strategies</a>), include protocol "
+"scrubbing, or\n"
+"other advanced tunnel routing <a "
+"href=\"%(todo)s#batching\">techniques</a>,\n"
+"but these are unimplemented in I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:281
+#, python-format
+msgid ""
+"References: <a href=\"%(pdf)s\">Low-Resource Routing Attacks Against "
+"Anonymous Systems</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:289
+msgid ""
+"Intersection attacks against low latency systems are extremely powerful -"
+"\n"
+"periodically make contact with the target and keep track of what peers "
+"are on\n"
+"the network.  Over time, as node churn occurs the attacker will gain \n"
+"significant information about the target by simply intersecting the sets "
+"of\n"
+"peers that are online when a message successfully goes through.  The cost"
+" of \n"
+"this attack is significant as the network grows, but may be feasible in "
+"some\n"
+"scenarios."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:299
+#, python-format
+msgid ""
+"In summary, if an attacker is at both ends of your tunnel at the same "
+"time,\n"
+"he may be successful.\n"
+"I2P does not have a full defense to this for low latency communication.\n"
+"This is an inherent weakness of low-latency onion routing.\n"
+"Tor provides a <a href=\"%(url)s\">similar disclaimer</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:307
+msgid "Partial defenses implemented in I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:311
+#, python-format
+msgid "<a href=\"%(tunnelimpl)s#ordering\">strict ordering</a> of peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:314
+#, python-format
+msgid ""
+"<a href=\"%(peerselection)s\">peer profiling and selection</a> from a "
+"small group that changes slowly"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:317
+msgid "Limits on the number of tunnels routed through a single peer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:320
+msgid ""
+"Prevention of peers from the same /16 IP range from being members of a "
+"single tunnel"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:323
+msgid ""
+"For eepsites or other hosted services, we support\n"
+"simultaneous hosting on multiple routers, or\n"
+"<a href=\"#intersection\">multihoming</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:330
+msgid ""
+"Even in total, these defenses are not a complete solution.\n"
+"Also, we have made some design choices that may significantly increase "
+"our vulnerability:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:335
+msgid "We do not use low-bandwidth \"guard nodes\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:338
+msgid ""
+"We use tunnel pools comprised of several tunnels, and traffic can shift "
+"from tunnel to tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:341
+msgid "Tunnels are not long-lived; new tunnels are built every 10 minutes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:344
+msgid ""
+"Tunnel lengths are configurable.\n"
+"While 3-hop tunnels are recommended for full protection, several "
+"applications and\n"
+"services use 2-hop tunnels by default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:351
+#, python-format
+msgid ""
+"In the future, it could\n"
+"for peers who can afford significant delays (per <a "
+"href=\"%(todo)s#stop\">nontrivial\n"
+"delays</a> and <a href=\"%(todo)s#batching\">batching strategies</a>).  "
+"In addition,\n"
+"this is only relevant for destinations that other people know about - a "
+"private\n"
+"group whose destination is only known to trusted peers does not have to "
+"worry,\n"
+"as an adversary can't \"ping\" them to mount the attack.</p>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:360
+#, python-format
+msgid "Reference: <a href=\"%(oce)s\">One Cell Enough</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:367
+msgid ""
+"There are a whole slew of denial of service attacks available against "
+"I2P,\n"
+"each with different costs and consequences:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:373
+msgid ""
+"<b>Greedy user attack:</b> This is simply\n"
+"people trying to consume significantly more resources than they are \n"
+"willing to contribute. The defense against this is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:379
+#, python-format
+msgid ""
+"Set defaults so that most users provide resources to the network.\n"
+"In I2P, users route traffic by default. In sharp distinction to\n"
+"<a href=\"%(comparisons)s\">other networks</a>,\n"
+"over 95&#37; of I2P users relay traffic for others."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:385
+msgid ""
+"Provide easy configuration options so that users may increase their\n"
+"contribution (share percentage) to the network. Display easy-to-"
+"understand\n"
+"metrics such as \"share ratio\" so that users may see what they are "
+"contributing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:390
+msgid ""
+"Maintain a strong community with blogs, forums, IRC, and other means of "
+"communication."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:397
+#, python-format
+msgid ""
+"<b>Starvation attack:</b> A hostile user may attempt to harm the network "
+"by\n"
+"creating a significant number of peers in the network who are not "
+"identified as\n"
+"being under control of the same entity (as with Sybil). These nodes then"
+" \n"
+"decide not to provide any resources to the network, causing existing "
+"peers \n"
+"to search through a larger network database or request more tunnels than"
+" \n"
+"should be necessary. \n"
+"Alternatively, the nodes may provide intermittent service by periodically"
+"\n"
+"dropping selected traffic, or refusing connections to certain peers.\n"
+"This behavior may be indistinguishable from that of a heavily-loaded or "
+"failing node.\n"
+"I2P addresses these issues by maintaining <a "
+"href=\"%(peerselection)s\">profiles</a> on the \n"
+"peers, attempting to identify underperforming ones and simply ignoring \n"
+"them, or using them rarely.\n"
+"We have significantly enhanced the\n"
+"ability to recognize and avoid troublesome peers; however there are still"
+"\n"
+"significant efforts required in this area."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:417
+#, python-format
+msgid ""
+"<b>Flooding attack:</b> A hostile user may attempt to flood the network,\n"
+"a peer, a destination, or a tunnel.  Network and peer flooding is "
+"possible,\n"
+"and I2P does nothing to prevent standard IP layer flooding.  The flooding"
+" of\n"
+"a destination with messages by sending a large number to the target's "
+"various\n"
+"inbound tunnel gateways is possible, but the destination will know this "
+"both\n"
+"by the contents of the message and because the tunnel's tests will fail."
+"  The\n"
+"same goes for flooding just a single tunnel.  I2P has no defenses for a "
+"network\n"
+"flooding attack.  For a destination and tunnel flooding attack, the "
+"target\n"
+"identifies which tunnels are unresponsive and builds new ones.  New code "
+"could\n"
+"also be written to add even more tunnels if the client wishes to handle "
+"the\n"
+"larger load.  If, on the other hand, the load is more than the client can"
+"\n"
+"deal with, they can instruct the tunnels to throttle the number of "
+"messages or\n"
+"bytes they should pass on (once the <a "
+"href=\"%(todo)s#batching\">advanced tunnel\n"
+"operation</a> is implemented)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:436
+msgid ""
+"<b>CPU load attack:</b> There are currently some methods for people to \n"
+"remotely request that a peer perform some cryptographically expensive \n"
+"operation, and a hostile attacker could use these to flood that peer with"
+"\n"
+"a large number of them in an attempt to overload the CPU.  Both using "
+"good \n"
+"engineering practices and potentially requiring nontrivial certificates \n"
+"(e.g. HashCash) to be attached to these expensive requests should "
+"mitigate\n"
+"the issue, though there may be room for an attacker to exploit various\n"
+"bugs in the implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:449
+#, python-format
+msgid ""
+"<b>Floodfill DOS attack:</b> A hostile user may attempt to harm the "
+"network by\n"
+"becoming a floodfill router. The current defenses against unreliable,\n"
+"intermittent, or malicious floodfill routers are poor.\n"
+"A floodfill router may provide bad or no response to lookups, and\n"
+"it may also interfere with inter-floodfill communication.\n"
+"Some defenses and\n"
+"<a href=\"%(peerselection)s\">peer profiling</a> are implemented,\n"
+"however there is much more to do.\n"
+"For more information see the\n"
+"<a href=\"%(netdb)s#threat\">network database page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:468
+#, python-format
+msgid ""
+"Tagging attacks - modifying a message so that it can later be identified"
+" \n"
+"further along the path - are by themselves impossible in I2P, as messages"
+" \n"
+"passed through tunnels are signed.  However, if an attacker is the "
+"inbound \n"
+"tunnel gateway as well as a participant further along in that tunnel, "
+"with\n"
+"collusion they can identify the fact that they are in the same tunnel "
+"(and \n"
+"prior to adding <a href=\"%(todo)s#tunnelId\">unique hop ids</a> and "
+"other updates,\n"
+"colluding peers within the same tunnel can recognize that fact without "
+"any \n"
+"effort).  An attacker in an outbound tunnel and any part of an inbound "
+"tunnel cannot \n"
+"collude however, as the tunnel encryption pads and modifies the data "
+"separately\n"
+"for the inbound and outbound tunnels.  External attackers cannot do "
+"anything,\n"
+"as the links are encrypted and messages signed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:486
+msgid ""
+"Partitioning attacks - finding ways to segregate (technically or "
+"analytically)\n"
+"the peers in a network - are important to keep in mind when dealing with "
+"a \n"
+"powerful adversary, since the size of the network plays a key role in "
+"determining\n"
+"your anonymity.  Technical partitioning by cutting links between peers to"
+" create\n"
+"fragmented networks is addressed by I2P's built in network database, "
+"which \n"
+"maintains statistics about various peers so as to allow any existing "
+"connections\n"
+"to other fragmented sections to be exploited so as to heal the network.  "
+"However,\n"
+"if the attacker does disconnect all links to uncontrolled peers, "
+"essentially\n"
+"isolating the target, no amount of network database healing will fix it."
+"  At\n"
+"that point, the only thing the router can hope to do is notice that a "
+"significant\n"
+"number of previously reliable peers have become unavailable and alert the"
+" client\n"
+"that it is temporarily disconnected (this detection code is not "
+"implemented at\n"
+"the moment)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:502
+#, python-format
+msgid ""
+"Partitioning the network analytically by looking for differences in how "
+"routers \n"
+"and destinations behave and grouping them accordingly is also a very "
+"powerful\n"
+"attack.  For instance, an attacker <a href=\"#harvesting\">harvesting</a>"
+" the network\n"
+"database will know when a particular destination has 5 inbound tunnels in"
+" their\n"
+"LeaseSet while others have only 2 or 3, allowing the adversary to "
+"potentially \n"
+"partition clients by the number of tunnels selected.  Another partition "
+"is \n"
+"possible when dealing with the <a href=\"%(todo)s#stop\">nontrivial "
+"delays</a> and \n"
+"<a href=\"%(todo)s#batching\">batching strategies</a>, as the tunnel "
+"gateways and the\n"
+"particular hops with non-zero delays will likely stand out.  However, "
+"this data\n"
+"is only exposed to those specific hops, so to partition effectively on "
+"that \n"
+"matter, the attacker would need to control a significant portion of the "
+"network\n"
+"(and still that would only be a probabilistic partition, as they wouldn't"
+" know\n"
+"which other tunnels or messages have those delays)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:518
+#, python-format
+msgid ""
+"Also discussed on the <a href=\"%(netdb)s#threat\">network database "
+"page</a> (bootstrap attack)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:526
+msgid ""
+"The predecessor attack is passively gathering statistics in an attempt to"
+" see\n"
+"what peers are 'close' to the destination by participating in their "
+"tunnels and\n"
+"keeping track of the previous or next hop (for outbound or inbound "
+"tunnels, \n"
+"respectively).  Over time, using a perfectly random sample of peers and "
+"random\n"
+"ordering, an attacker would be able to see which peer shows up as "
+"'closer' \n"
+"statistically more than the rest, and that peer would in turn be where "
+"the\n"
+"target is located."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:536
+#, python-format
+msgid ""
+"I2P avoids this in four ways: first, the peers selected to participate in"
+"\n"
+"tunnels are not randomly sampled throughout the network - they are "
+"derived from\n"
+"the <a href=\"%(peerselection)s\">peer selection</a> algorithm which "
+"breaks them\n"
+"into tiers.  Second, with <a href=\"%(tunnelimpl)s#ordering\">strict "
+"ordering</a> of peers\n"
+"in a tunnel, the fact that a peer shows up more frequently does not mean "
+"they're\n"
+"the source.  Third, with <a href=\"%(tunnelimpl)s#length\">permuted "
+"tunnel length</a>\n"
+"(not enabled by default)\n"
+"even 0 hop tunnels can provide plausible deniability as the occasional \n"
+"variation of the gateway will look like normal tunnels.  Fourth, with \n"
+"<a href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a> "
+"(unimplemented), only the peer with\n"
+"a restricted connection to the target will ever contact the target, while"
+" \n"
+"attackers will merely run into that gateway."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:553
+#, python-format
+msgid ""
+"The current <a href=\"%(tunnelcreation)s\">tunnel build method</a>\n"
+"was specifically designed to combat the predecessor attack.\n"
+"See also <a href=\"#intersection\">the intersection attack</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:559
+#, python-format
+msgid ""
+"References: <a href=\"%(pdf2008)s\">%(pdf2008)s</a>\n"
+"which is an update to the 2004 predecessor attack paper\n"
+"<a href=\"%(pdf2004)s\">%(pdf2004)s</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:571
+msgid ""
+"\"Harvesting\" means compiling a list of users running I2P.\n"
+"It can be used for legal attacks and to help\n"
+"other attacks by simply running a peer, seeing who it connects to, and \n"
+"harvesting whatever references to other peers it can find."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:578
+msgid ""
+"I2P itself is not designed with effective defenses against\n"
+"this attack, since there is the distributed network database \n"
+"containing just this information.\n"
+"The following factors make the attack somewhat harder in practice:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:585
+msgid ""
+"Network growth will make it more difficult to obtain a given proportion "
+"of the network"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:588
+msgid "Floodfill routers implement query limits as DOS protection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:591
+msgid ""
+"\"Hidden mode\", which prevents a router from publishing its information "
+"to the netDb,\n"
+"(but also prevents it from relaying data) is not widely used now but "
+"could be."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:597
+#, python-format
+msgid ""
+"In future implementations,\n"
+"<a href=\"%(todo)s#nat\">basic</a> and \n"
+"<a href=\"%(todo)s#fullRestrictedRoutes\">comprehensive</a> restricted "
+"routes,\n"
+"this attack loses much of its power, as the \"hidden\" peers do not "
+"publish their\n"
+"contact addresses in the network database - only the tunnels through "
+"which \n"
+"they can be reached (as well as their public keys, etc)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:606
+msgid ""
+"In the future, routers could use GeoIP to identify if they are in a "
+"particular\n"
+"country where identification as an I2P node would be risky.\n"
+"In that case, the router could automatically enable hidden mode, or\n"
+"enact other restricted route methods."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:618
+#, python-format
+msgid ""
+"By inspecting the traffic into and out of a router, a malicious ISP\n"
+"or state-level firewall could identify that a computer is running I2P.\n"
+"As discussed <a href=\"#harvesting\">above</a>, I2P is not specifically "
+"designed\n"
+"to hide that a computer is running I2P. However, several design decisions"
+" made\n"
+"in the design of the\n"
+"<a href=\"%(transport)s\">transport layer and protocols</a>\n"
+"make it somewhat difficult to identify I2P traffic:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:628
+msgid "Random port selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:631
+msgid "Point-to-Point Encryption of all traffic"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:634
+msgid ""
+"DH key exchange with no protocol bytes or other unencrypted constant "
+"fields"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:637
+#, python-format
+msgid ""
+"Simultaneous use of both\n"
+"<a href=\"%(ntcp)s\">TCP</a> and\n"
+"<a href=\"%(ssu)s\">UDP</a> transports.\n"
+"UDP may be much harder for some Deep Packet Inspection (DPI) equipment to"
+" track."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:645
+msgid ""
+"In the near future, we plan to directly address traffic analysis issues "
+"by further obfuscation of I2P transport protocols, possibly including:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:649
+msgid ""
+"Padding at the transport layer to random lengths, especially during the "
+"connection handshake"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:652
+msgid ""
+"Study of packet size distribution signatures, and additional padding as "
+"necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:655
+msgid ""
+"Development of additional transport methods that mimic SSL or other "
+"common protocols"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:658
+msgid ""
+"Review of padding strategies at higher layers to see how they affect "
+"packet sizes at the transport layer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:661
+msgid ""
+"Review of methods implemented by various state-level firewalls to block "
+"Tor"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:664
+msgid "Working directly with DPI and obfuscation experts"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:669
+#, python-format
+msgid ""
+"Reference: <a href=\"%(pdf)s\">Breaking and Improving Protocol "
+"Obfuscation</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:678
+msgid ""
+"Sybil describes a category of attacks where the adversary creates "
+"arbitrarily\n"
+"large numbers of colluding nodes and uses the increased numbers to help \n"
+"mounting other attacks.  For instance, if an attacker is in a network "
+"where peers\n"
+"are selected randomly and they want an 80&#37; chance to be one of those "
+"peers, they\n"
+"simply create five times the number of nodes that are in the network and "
+"roll \n"
+"the dice.  When identity is free, Sybil can be a very potent technique "
+"for a \n"
+"powerful adversary.  The primary technique to address this is simply to "
+"make \n"
+"identity 'non free' - <a "
+"href=\"http://www.pdos.lcs.mit.edu/tarzan/\">Tarzan</a>\n"
+"(among others) uses the fact that IP addresses are limited, while \n"
+"IIP used \n"
+"<a href=\"http://www.hashcash.org/\">HashCash</a> to 'charge' for "
+"creating a new\n"
+"identity.  We currently have not implemented any particular technique to "
+"address\n"
+"Sybil, but do include placeholder certificates in the router's and \n"
+"destination's data structures which can contain a HashCash certificate of"
+" \n"
+"appropriate value when necessary (or some other certificate proving "
+"scarcity)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:696
+msgid "Requiring HashCash Certificates in various places has two major problems:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:700
+msgid "Maintaining backward compatibility"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:703
+msgid ""
+"The classic HashCash problem -\n"
+"selecting HashCash values that are meaningful proofs of work on high-end "
+"machines,\n"
+"while still being feasible on low-end machines such as mobile devices."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:710
+msgid ""
+"Various limitations on the number of routers in a given IP range restrict"
+"\n"
+"the vulnerability to attackers that don't have the ability to put "
+"machines\n"
+"in several IP blocks.\n"
+"However, this is not a meaningful defense against a powerful adversary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:717
+#, python-format
+msgid ""
+"See the <a href=\"%(netdb)s#threat\">network database page</a>\n"
+"for more Sybil discussion."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:727
+#, python-format
+msgid ""
+"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymouns and Secure "
+"Lookup</a> Section 5.2)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:731
+#, python-format
+msgid ""
+"By refusing to accept or forward tunnel build requests, except to a "
+"colluding peer, a router could ensure\n"
+"that a tunnel is formed wholly from its set of colluding routers.\n"
+"The chances of success are enhanced if there is a large number of "
+"colluding routers,\n"
+"i.e. a <a href=\"#sybil\">Sybil attack</a>.\n"
+"This is somewhat mitigated by our\n"
+"<a href=\"%(peerselection)s\">peer profiling</a> methods used to monitor "
+"the performance\n"
+"of peers.\n"
+"However, this is a powerful attack as the number of routers approaches\n"
+"<i>f</i> = 0.2, or 20&#37; malicious nodes, as specifed in the paper.\n"
+"The malicous routers could also maintain connections to the target router"
+" and provide\n"
+"excellent forwarding bandwidth for traffic over those connections, in an "
+"attempt\n"
+"to manipulate the profiles managed by the target and appear attractive.\n"
+"Further research and defenses may be necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:752
+#, python-format
+msgid ""
+"We use strong cryptography with long keys, and\n"
+"we assume the security of the industry-standard cryptographic primitives "
+"used in I2P, as documented\n"
+"<a href=\"%(cryptography)s\">on the low-level cryptography page</a>. \n"
+"Security features include the immediate detection of \n"
+"altered messages along the path, the inability to decrypt messages not "
+"addressed to you,\n"
+"and defense against man-in-the-middle attacks.\n"
+"The key sizes chosen in 2003 were quite conservative at the time, and are"
+" still longer than\n"
+"those used in <a href=\"https://torproject.org/\">other anonymity "
+"networks</a>.\n"
+"We don't think the current key lengths are our biggest weakness,\n"
+"especially for traditional, non-state-level adversaries;\n"
+"bugs and the small size of the network are much more worrisome.\n"
+"Of course, all cryptographic algorithms eventually become obsolete due to"
+"\n"
+"the advent of faster processors, cryptographic research, and advancements"
+" in\n"
+"methods such as rainbow tables, clusters of video game hardware, etc.\n"
+"Unfortunately, I2P was not designed with easy mechanisms to lengthen keys"
+" or change\n"
+"shared secret values while maintaining backward compatibility."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:771
+#, python-format
+msgid ""
+"Upgrading the various data structures and protocols to support longer "
+"keys\n"
+"will have to be tackled eventually, and this will be a\n"
+"<a href=\"%(cryptography)s\">major undertaking</a>, just as it will be "
+"for \n"
+"<a href=\"https://torproject.org/\">others</a>.\n"
+"Hopefully, through careful planning, we can minimize the disruption, and\n"
+"implement mechanisms to make it easier for future transitions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:780
+msgid ""
+"In the future, several I2P protocols and data structures\n"
+"support securely padding messages to arbitrary sizes, so messages could "
+"be made constant\n"
+"size or garlic messages could be modified randomly so that some cloves "
+"appear to contain\n"
+"more subcloves than they actually do.  At the moment, however, garlic, "
+"tunnel, and \n"
+"end to end messages include simple random padding."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:790
+msgid "Floodfill Anonymity attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:794
+#, python-format
+msgid ""
+"In addition to the floodfill DOS attacks described\n"
+"<a href=\"#ffdos\">above</a>, floodfill routers are uniquely positioned\n"
+"to learn about network participants, due to their role\n"
+"in the netDb, and the high frequency of communication with those "
+"participants.\n"
+"This is somewhat mitigated because floodfill routers only manage a "
+"portion\n"
+"of the total keyspace, and the keyspace rotates daily, as explained \n"
+"on the <a href=\"%(netdb)s#threat\">network database page</a>.\n"
+"The specific mechanisms by which routers communicate with floodfills have"
+" been\n"
+"<a href=\"%(netdb)s#delivery\">carefully designed</a>.\n"
+"However, these threats should be studied further.\n"
+"The specific potential threats and corresponding defenses are a topic for"
+" future research."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:810
+#, python-format
+msgid ""
+"A hostile user may attempt to harm the network by\n"
+"creating one or more floodfill routers and crafting them to offer\n"
+"bad, slow, or no responses.\n"
+"Several scenarios are discussed on the\n"
+"<a href=\"%(netdb)s#threat\">network database page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:820
+msgid "Central Resource Attacks"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:824
+msgid ""
+"There are a few centralized or limited resources (some inside I2P, some "
+"not)\n"
+"that could be attacked or used as a vector for attacks.\n"
+"The absence of jrandom starting November 2007, followed by the loss of "
+"the i2p.net hosting service in January 2008,\n"
+"highlighted numerous centralized resources in the development and "
+"operation of the I2P network,\n"
+"most of which are now distributed.\n"
+"Attacks on externally-reachable resources mainly affect the ability of "
+"new users to find us,\n"
+"not the operation of the network itself."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:834
+#, python-format
+msgid ""
+"The <a href=\"%(site)s\">website</a> is mirrored and uses DNS round-robin"
+" for external public access."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:837
+#, python-format
+msgid ""
+"Routers now support <a href=\"%(faq)s#reseed\">multiple external reseed "
+"locations</a>,\n"
+"however more reseed hosts may be needed, and the handling of unreliable "
+"or malicious\n"
+"reseed hosts may need improvement."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:842
+msgid ""
+"Routers now support multiple update file locations.\n"
+"A malicious update host could feed a huge file, need to limit the size."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:846
+msgid "Routers now support multiple default trusted update signers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:849
+msgid ""
+"Routers now better handle <a href=\"#ffdos\">multiple unreliable "
+"floodfill peers</a>.\n"
+"Malicious floodfills <a href=\"#ffdos\">needs</a> <a "
+"href=\"#floodfill\">more</a> study."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:853
+#, python-format
+msgid ""
+"The code is now stored in a <a href=\"%(monotone)s\">distributed source "
+"control system</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:856
+msgid ""
+"Routers rely on a single news host, but there is a hardcoded backup URL "
+"pointing to a different host.\n"
+"A malicious news host could feed a huge file, need to limit the size."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:860
+#, python-format
+msgid ""
+"<a href=\"%(naming)s\">Naming system services</a>, including addressbook "
+"subscription providers, add-host services,\n"
+"and jump services, could be malicious. Substantial protections for "
+"subscriptions were implemented\n"
+"in release 0.6.1.31, with additional enhancements in subsequent releases."
+"\n"
+"However, all naming services require some measure of trust, see\n"
+"<a href=\"%(naming)s\">the naming page</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:867
+msgid ""
+"We remain reliant on the DNS service for i2p2.de, losing this would cause"
+" substantial\n"
+"disruption in our ability to attract new users,\n"
+"and would shrink the network (in the short-to-medium term), just as the "
+"loss of i2p.net did."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:879
+msgid ""
+"These attacks aren't directly on the network, but instead go after its "
+"development team \n"
+"by either introducing legal hurdles on anyone contributing to the "
+"development\n"
+"of the software, or by using whatever means are available to get the "
+"developers to \n"
+"subvert the software.  Traditional technical measures cannot defeat these"
+" attacks, and\n"
+"if someone threatened the life or livelihood of a developer (or even just"
+" issuing a \n"
+"court order along with a gag order, under threat of prison), we would "
+"have a big problem."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:888
+msgid "However, two techniques help defend against these attacks:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:892
+#, python-format
+msgid ""
+"All components of the network must be open source to enable inspection, "
+"verification, \n"
+"modification, and improvement.  If a developer is compromised, once it is"
+" noticed \n"
+"the community should demand explanation and cease to accept that "
+"developer's work.\n"
+"All checkins to our <a href=\"%(monotone)s\">distributed source control "
+"system</a>\n"
+"are cryptographically signed, and the release packagers use a trust-list "
+"system\n"
+"to restrict modifications to those previously approved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:900
+#, python-format
+msgid ""
+"Development over the network itself, allowing developers to stay "
+"anonymous but still \n"
+"secure the development process.  All I2P development can occur through "
+"I2P - using\n"
+"a <a href=\"%(monotone)s\">distributed source control system</a>,\n"
+"a distributed source control system, IRC chat,\n"
+"public web servers,\n"
+"discussion forums (forum.i2p), and the software distribution sites,\n"
+"all available within I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:911
+msgid ""
+"We also maintain relationships with various organizations that offer "
+"legal advice,\n"
+"should any defense be necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:916
+msgid "Implementation attacks (bugs)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:920
+msgid ""
+"Try as we might, most nontrivial applications include errors in the "
+"design or \n"
+"implementation, and I2P is no exception.  There may be bugs that could be"
+" exploited to \n"
+"attack the anonymity or security of the communication running over I2P in"
+" unexpected \n"
+"ways.  To help withstand attacks against the design or protocols in use, "
+"we publish \n"
+"all designs and documentation and solicit review and criticism with \n"
+"the hope that many eyes will improve the system.\n"
+"We do not believe in\n"
+"<a href=\"http://www.haystacknetwork.com/\">security through "
+"obscurity</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:931
+msgid ""
+"In addition, the code is being \n"
+"treated the same way, with little aversion towards reworking or throwing "
+"out \n"
+"something that isn't meeting the needs of the software system (including "
+"ease of \n"
+"modification).  Documentation for the design and implementation of the "
+"network and \n"
+"the software components are an essential part of security, as without "
+"them it is \n"
+"unlikely that developers would be willing to spend the time to learn the "
+"software \n"
+"enough to identify shortcomings and bugs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:941
+msgid ""
+"Our software is likely, in particular, to contain bugs related to denial "
+"of service\n"
+"through out-of-memory errors (OOMs), cross-site-scripting (XSS) issues  "
+"in the router console,\n"
+"and other vulnerabilities to non-standard inputs via the various "
+"protocols."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:947
+#, python-format
+msgid ""
+"I2P is still a small network with a small development community and "
+"almost no\n"
+"interest from academic or research groups.\n"
+"Therefore we lack the analysis that\n"
+"<a href=\"https://torproject.org/\">other anonymity networks</a>\n"
+"may have received. We continue to recruit people to\n"
+"<a href=\"%(volunteer)s\">get involved</a> and help."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:960
+msgid "Blocklists"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:961
+msgid ""
+"To some extent, I2P could be enhanced to avoid peers operating at IP "
+"addresses\n"
+"listed in a blocklist. Several blocklists are commonly available in "
+"standard formats,\n"
+"listing anti-P2P organizations, potential state-level adversaries, and "
+"others."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:967
+msgid ""
+"To the extent that active peers actually do show up in the actual "
+"blocklist,\n"
+"blocking by only a subset of peers would tend to segment the network,\n"
+"exacerbate reachability problems, and decrease overall reliability.\n"
+"Therefore we would want to agree on a particular blocklist and\n"
+"enable it by default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:975
+msgid ""
+"Blocklists are only a part (perhaps a small part) of an array of defenses"
+"\n"
+"against maliciousness.\n"
+"In large part the profiling system does a good job of measuring\n"
+"router behavior so that we don't need to trust anything in netDb.\n"
+"However there is more that can be done. For each of the areas in the\n"
+"list above there are improvements we can make in detecting badness."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:984
+msgid ""
+"If a blocklist is hosted at a central location with automatic updates\n"
+"the network is vulnerable to a\n"
+"<a href=\"#central\">central resource attack</a>.\n"
+"Automatic subscription to a list gives the list provider the power to "
+"shut\n"
+"the i2p network down. Completely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/threat-model.html:992
+msgid ""
+"Currently, a default blocklist is distributed with our software,\n"
+"listing only the IPs of past DOS sources.\n"
+"There is no automatic update mechanism.\n"
+"Should a particular IP range implement serious attacks on the I2P "
+"network,\n"
+"we would have to ask people to update their blocklist manually through\n"
+"out-of-band mechanisms such as forums, blogs, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:2
+#, fuzzy
+msgid "Tunnel Routing"
+msgstr "Обзор туннельной маршрутизации"
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:3
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:3
+msgid "July 2011"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:7
+msgid ""
+"This page contains an overview of I2P tunnel terminology and operation, "
+"with\n"
+"links to more technical pages, details, and specifications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:12
+#, python-format
+msgid ""
+"As briefly explained in the <a href=\"%(intro)s\">introduction</a>, I2P "
+"builds virtual \"tunnels\" -\n"
+"temporary and unidirectional paths through a sequence of routers.  These"
+" \n"
+"tunnels are classified as either inbound tunnels (where everything \n"
+"given to it goes towards the creator of the tunnel) or outbound tunnels\n"
+"(where the tunnel creator shoves messages away from them).  When Alice\n"
+"wants to send a message to Bob, she will (typically) send it out one of\n"
+"her existing outbound tunnels with instructions for that tunnel's "
+"endpoint\n"
+"to forward it to the gateway router for one of Bob's current inbound \n"
+"tunnels, which in turn passes it to Bob."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:25
+msgid "Alice connecting through her outbound tunnel to Bob via his inbound tunnel"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:27
+msgid "Outbound Gateway"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:28
+msgid "Outbound Participant"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:29
+#: i2p2www/pages/site/docs/tunnels/implementation.html:131
+msgid "Outbound Endpoint"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:30
+#: i2p2www/pages/site/docs/tunnels/implementation.html:140
+msgid "Inbound Gateway"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:31
+msgid "Inbound Participant"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:32
+msgid "Inbound Endpoint"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:36
+msgid "Tunnel vocabulary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:38
+#, python-format
+msgid ""
+"<b>Tunnel gateway</b> - the first router in a tunnel.  For inbound "
+"tunnels,\n"
+"this is the one mentioned in the LeaseSet published in the\n"
+"<a href=\"%(netdb)s\">network database</a>.  For outbound tunnels, the\n"
+"gateway is the originating router.  (e.g. both A and D above)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:44
+msgid ""
+"<b>Tunnel endpoint</b> - the last router in a tunnel.  (e.g. both C and F"
+" above)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:45
+msgid ""
+"<b>Tunnel participant</b> - all routers in a tunnel except for the "
+"gateway or\n"
+"endpoint (e.g. both B and E above)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:49
+msgid ""
+"<b>n-Hop tunnel</b> - a tunnel with a specific number of inter-router "
+"jumps, e.g.:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:51
+msgid "<b>0-hop tunnel</b> - a tunnel where the gateway is also the endpoint"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:52
+msgid ""
+"<b>1-hop tunnel</b> - a tunnel where the gateway talks directly to the "
+"endpoint"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:53
+msgid ""
+"<b>2-(or more)-hop tunnel</b> - a tunnel where there is at least one "
+"intermediate\n"
+"tunnel participant. (the above diagram includes two 2-hop tunnels - one\n"
+"outbound from Alice, one inbound to Bob)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:60
+#, python-format
+msgid ""
+"<b>Tunnel ID</b> - A <a href=\"%(commonstructures)s#type_TunnelId\">4 "
+"byte integer</a>\n"
+"different for each hop in a tunnel, and unique among all tunnels on a "
+"router.\n"
+"Chosen randomly by the tunnel creator."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:67
+msgid "Tunnel Build Information"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:68
+#, python-format
+msgid ""
+"Routers performing the three roles (gateway, participant, endpoint) are "
+"given\n"
+"different pieces of data in the initial\n"
+"<a href=\"%(tunnelcreation)s\">Tunnel Build Message</a>\n"
+"to accomplish their tasks:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:75
+msgid "The tunnel gateway gets:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:77
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:97
+#, python-format
+msgid ""
+"<b>tunnel encryption key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
+"encrypting\n"
+"messages and instructions to the next hop"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:81
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:101
+#, python-format
+msgid ""
+"<b>tunnel IV key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
+"double-encrypting\n"
+"the IV to the next hop"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:85
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:105
+#, python-format
+msgid ""
+"<b>reply key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> for "
+"encrypting\n"
+"the reply to the tunnel build request"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:89
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:109
+msgid ""
+"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
+"request"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:90
+msgid "<b>tunnel id</b> - 4 byte integer (inbound gateways only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:91
+msgid ""
+"<b>next hop</b> - what router is the next one in the path (unless this is"
+" a 0-hop tunnel, and the gateway is also the endpoint)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:92
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:112
+msgid "<b>next tunnel id</b> - The tunnel ID on the next hop"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:95
+msgid "All intermediate tunnel participants get:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:110
+msgid "<b>tunnel id</b> - 4 byte integer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:111
+msgid "<b>next hop</b> - what router is the next one in the path"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:115
+msgid "The tunnel endpoint gets:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:117
+#, python-format
+msgid ""
+"<b>tunnel encryption key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
+"encrypting\n"
+"messages and instructions to the the endpoint (itself)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:121
+#, python-format
+msgid ""
+"<b>tunnel IV key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for "
+"double-encrypting\n"
+"the IV to the endpoint (itself)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:125
+#, python-format
+msgid ""
+"<b>reply key</b> - an <a "
+"href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> for "
+"encrypting\n"
+"the reply to the tunnel build request (outbound endpoints only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:129
+msgid ""
+"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
+"request (outbound endpoints only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:130
+msgid "<b>tunnel id</b> - 4 byte integer (outbound endpoints only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:131
+msgid ""
+"<b>reply router</b> - the inbound gateway of the tunnel to send the reply"
+" through (outbound endpoints only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:132
+msgid ""
+"<b>reply tunnel id</b> - The tunnel ID of the reply router (outbound "
+"endpoints only)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:137
+#, python-format
+msgid ""
+"Details are in the\n"
+"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:142
+msgid "Tunnel pooling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:143
+#, python-format
+msgid ""
+"Several tunnels for a particular purpose may be grouped into a \"tunnel "
+"pool\",\n"
+"as described in the\n"
+"<a href=\"%(tunnelimpl)s#tunnel.pooling\">tunnel specification</a>.\n"
+"This provides redundancy and additional bandwidth.\n"
+"The pools used by the router itself are called \"exploratory tunnels\".\n"
+"The pools used by applications are called \"client tunnels\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:154
+msgid "Tunnel length"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:155
+#, python-format
+msgid ""
+"As mentioned above, each client requests that their router provide "
+"tunnels to\n"
+"include at least a certain number of hops.\n"
+"The decision as to how many routers\n"
+"to have in one's outbound and inbound tunnels has an important effect "
+"upon the\n"
+"latency, throughput, reliability, and anonymity provided by I2P - the "
+"more peers\n"
+"that messages have to go through, the longer it takes to get there and "
+"the more\n"
+"likely that one of those routers will fail prematurely.  The less routers"
+" in a\n"
+"tunnel, the easier it is for an adversary to mount traffic analysis "
+"attacks and\n"
+"pierce someone's anonymity.\n"
+"Tunnel lengths are specified by clients via\n"
+"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
+"The maximum number of hops in a tunnel is 7."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:171
+msgid "0-hop tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:172
+msgid ""
+"With no remote routers in a tunnel, the user has very basic plausible\n"
+"deniability (since no one knows for sure that the peer that sent them the"
+"\n"
+"message wasn't simply just forwarding it on as part of the tunnel). "
+"However, it\n"
+"would be fairly easy to mount a statistical analysis attack and notice "
+"that\n"
+"messages targeting a specific destination are always sent through a "
+"single\n"
+"gateway.  Statistical analysis against outbound 0-hop tunnels are more "
+"complex,\n"
+"but could show similar information (though would be slightly harder to "
+"mount)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:182
+msgid "1-hop tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:183
+#, python-format
+msgid ""
+"With only one remote router in a tunnel, the user has both plausible\n"
+"deniability and basic anonymity, as long as they are not up against an "
+"internal\n"
+"adversary (as described on <a href=\"%(threatmodel)s\">threat model</a>)."
+" However,\n"
+"if the adversary ran a sufficient number of routers such that the single "
+"remote\n"
+"router in the tunnel is often one of those compromised ones, they would "
+"be able\n"
+"to mount the above statistical traffic analysis attack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:192
+msgid "2-hop tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:193
+msgid ""
+"With two or more remote routers in a tunnel, the costs of mounting the "
+"traffic\n"
+"analysis attack increases, since many remote routers would have to be "
+"compromised\n"
+"to mount it."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:199
+msgid "3-hop (or more) tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:200
+#, python-format
+msgid ""
+"To reduce the susceptibility to <a href=\"%(url)s\">some attacks</a>,\n"
+"3 or more hops are recommended for the highest level of protection.\n"
+"<a href=\"%(url)s\">Recent studies</a>\n"
+"also conclude that more than 3 hops does not provide additional "
+"protection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:208
+msgid "Tunnel default lengths"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:209
+#, python-format
+msgid ""
+"The router uses 2-hop tunnels by default for its exploratory tunnels.\n"
+"Client tunnel defaults are set by the application, using\n"
+"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
+"Most applications use 2 or 3 hops as their default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:218
+msgid "Tunnel testing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:219
+#, python-format
+msgid ""
+"All tunnels are periodically tested by their creator by sending a\n"
+"DeliveryStatusMessage out an outbound tunnel and bound for another "
+"inbound tunnel\n"
+"(testing both tunnels at once).  If either fails a number of consecutive "
+"tests, it is marked as no longer\n"
+"functional. If it was used for a client's inbound tunnel, a new leaseSet\n"
+"is created.\n"
+"Tunnel test failures are also reflected in the\n"
+"<a href=\"%(peerselection)s#capacity\">capacity rating in the peer "
+"profile</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:230
+msgid "Tunnel creation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:231
+#, python-format
+msgid ""
+"Tunnel creation is handled by <a href=\"%(garlicrouting)s\">garlic "
+"routing</a>\n"
+"a Tunnel Build Message to a router, requesting that they participate in "
+"the\n"
+"tunnel (providing them with all of the appropriate information, as above,"
+" along\n"
+"with a certificate, which right now is a 'null' cert, but will support "
+"hashcash\n"
+"or other non-free certificates when necessary).\n"
+"That router forwards the message to the next hop in the tunnel.\n"
+"Details are in the\n"
+"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:245
+#, python-format
+msgid ""
+"Multi-layer encryption is handled by <a href=\"%(garlicrouting)s\">garlic"
+" encryption</a>\n"
+"of tunnel messages.\n"
+"Details are in the\n"
+"<a href=\"%(tunnelimpl)s\">tunnel specification</a>.\n"
+"The IV of each hop is encrypted with a separate key as explained there."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:257
+msgid ""
+"Other tunnel test techniques could be used, such as\n"
+"garlic wrapping a number of tests into cloves, testing individual tunnel\n"
+"participants separately, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:263
+msgid "Move to 3-hop exploratory tunnels defaults."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:267
+msgid ""
+"In a distant future release,\n"
+"options specifying the pooling, mixing, and chaff generation settings may"
+" be implemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:272
+msgid ""
+"In a distant future release,\n"
+"limits on the quantity and size of messages allowed during the\n"
+"tunnel's lifetime may be implemented (e.g. no more than 300 messages or\n"
+"1MB per minute)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:284
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:15
+msgid "Tunnel specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:286
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:17
+msgid "Tunnel creation specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:288
+msgid "Unidirectional tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:290
+msgid "Tunnel message specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:292
+msgid "Garlic routing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:294
+msgid "ElGamal/AES+SessionTag"
+msgstr ""
+
+#: i2p2www/pages/site/docs/how/tunnel-routing.html:296
+msgid "I2CP options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:6
+msgid ""
+"The I2P Client Protocol (I2CP) exposes a strong separation of concerns "
+"between\n"
+"the router and any client that wishes to communicate over the network.  "
+"It enables\n"
+"secure and asynchronous messaging by sending and receiving messages over "
+"a \n"
+"single TCP socket.\n"
+"With I2CP, a client application tells the\n"
+"router who they are (their \"destination\"), what anonymity, reliability,"
+" and \n"
+"latency tradeoffs to make, and where to send messages.  In turn the "
+"router uses\n"
+"I2CP to tell the client when any messages have arrived, and to request "
+"authorization\n"
+"for some tunnels to be used."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:18
+#, python-format
+msgid ""
+"The protocol itself is implemented in Java, to provide the\n"
+"<a href=\"%(url)s\">Client SDK</a>.\n"
+"This SDK is exposed in the i2p.jar package, which implements the client-"
+"side of I2CP.\n"
+"Clients should never need to access the router.jar package, which "
+"contains the\n"
+"router itself and the router-side of I2CP.\n"
+"There is also a <a href=\"%(libi2cp)s\">C library implementation</a>.\n"
+"A non-Java client would also have to implement the\n"
+"<a href=\"%(streaming)s\">streaming library</a> for TCP-style connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:31
+#, python-format
+msgid ""
+"Applications can take advantage of the base I2CP plus the \n"
+"<a href=\"%(streaming)s\">streaming</a> and <a "
+"href=\"%(datagrams)s\">datagram</a> libraries\n"
+"by using the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> or <a "
+"href=\"%(bob)s\">BOB</a> protocols,\n"
+"which do not require clients to deal with any sort of cryptography.\n"
+"Also, clients may access the network by one of several proxies -\n"
+"HTTP, CONNECT, and SOCKS 4/4a/5.\n"
+"Alternatively, Java clients may access those libraries in "
+"ministreaming.jar and streaming.jar.\n"
+"So there are several options for both Java and non-Java applications."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:43
+#, python-format
+msgid ""
+"Client-side end-to-end encryption (encrypting the data over the I2CP "
+"connection)\n"
+"was disabled in I2P release 0.6,\n"
+"leaving in place the <a href=\"%(elgamalaes)s\">ElGamal/AES end-to-end "
+"encryption</a>\n"
+"which is implemented in the router.\n"
+"The only cryptography that client libraries must still implement is\n"
+"<a href=\"%(cryptography)s#DSA\">DSA public/private key signing</a>\n"
+"for <a href=\"%(i2cp)s#msg_CreateLeaseSet\">LeaseSets</a> and\n"
+"<a href=\"%(i2cp)s#struct_SessionConfig\">Session Configurations</a>, and"
+" management of those keys."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:56
+msgid ""
+"In a standard I2P installation, port 7654 is used by external java "
+"clients to communicate\n"
+"with the local router via I2CP.\n"
+"By default, the router binds to address 127.0.0.1. To bind to 0.0.0.0, "
+"set the\n"
+"router advanced configuration option "
+"<tt>i2cp.tcp.bindAllInterfaces=true</tt> and restart.\n"
+"Clients in the same JVM as the router pass messages directly to the "
+"router\n"
+"through an internal JVM interface."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:65
+#, python-format
+msgid ""
+"The router also supports external connections over SSL.\n"
+"While SSL is not the default, it is strongly recommended for any traffic "
+"that may\n"
+"be exposed to the open Internet. The authorization user/password (if "
+"any), the\n"
+"<a href=\"%(commonstructures)s#type_PrivateKey\">Private Key</a> and\n"
+"<a href=\"%(commonstructures)s#type_SigningPrivateKey\">Signing Private "
+"Key</a> for the\n"
+"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>\n"
+"are all transmitted in-the-clear unless SSL is enabled."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:75
+msgid "I2CP Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:76
+#, python-format
+msgid "Now on the <a href=\"%(i2cp)s\">I2CP Specification page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:81
+msgid "I2CP Initialization"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:82
+#, python-format
+msgid ""
+"When a client connects to the router, it first sends a single protocol "
+"version byte (0x2A).\n"
+"Then it sends a <a href=\"%(i2cp)s#msg_GetDate\">GetDate Message</a> and "
+"waits for the <a href=\"%(i2cp)s#msg_SetDate\">SetDate Message</a> "
+"response.\n"
+"Next, it sends a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession "
+"Message</a> containing the session configuration.\n"
+"It next awaits a <a href=\"%(i2cp)s#msg_RequestLeaseSet\">RequestLeaseSet"
+" Message</a> from the router, indicating that inbound tunnels\n"
+"have been built, and responds with a CreateLeaseSetMessage containing the"
+" signed LeaseSet.\n"
+"The client may now initiate or receive connections from other I2P "
+"destinations."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:91
+msgid "I2CP Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:92
+#, python-format
+msgid ""
+"The following options are traditionally passed to the router via\n"
+"a <a href=\"%(i2cp)s#struct_SessionConfig\">SessionConfig</a> contained "
+"in a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession Message</a> or "
+"a <a href=\"%(i2cp)s#msg_ReconfigureSession\">ReconfigureSession "
+"Message</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:98
+msgid "Router-side Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:103
+#: i2p2www/pages/site/docs/protocol/i2cp.html:446
+msgid "As Of Release"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:104
+#: i2p2www/pages/site/docs/protocol/i2cp.html:447
+msgid "Recommended Arguments"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:105
+#: i2p2www/pages/site/docs/protocol/i2cp.html:448
+msgid "Allowable Range"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:113
+#: i2p2www/pages/site/docs/protocol/i2cp.html:126
+#: i2p2www/pages/site/docs/protocol/i2cp.html:135
+#: i2p2www/pages/site/docs/protocol/i2cp.html:144
+#: i2p2www/pages/site/docs/protocol/i2cp.html:153
+#: i2p2www/pages/site/docs/protocol/i2cp.html:168
+#: i2p2www/pages/site/docs/protocol/i2cp.html:183
+#: i2p2www/pages/site/docs/protocol/i2cp.html:192
+#: i2p2www/pages/site/docs/protocol/i2cp.html:240
+#: i2p2www/pages/site/docs/protocol/i2cp.html:252
+#: i2p2www/pages/site/docs/protocol/i2cp.html:264
+#, python-format
+msgid "number from %(from)s to %(to)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:114
+#: i2p2www/pages/site/docs/protocol/i2cp.html:136
+#: i2p2www/pages/site/docs/protocol/i2cp.html:145
+#: i2p2www/pages/site/docs/protocol/i2cp.html:154
+#: i2p2www/pages/site/docs/protocol/i2cp.html:169
+#: i2p2www/pages/site/docs/protocol/i2cp.html:241
+#: i2p2www/pages/site/docs/protocol/i2cp.html:253
+#: i2p2www/pages/site/docs/protocol/i2cp.html:265
+#: i2p2www/pages/site/docs/protocol/i2cp.html:538
+#, python-format
+msgid "%(from)s to %(to)s"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:116
+msgid ""
+"Number of tunnels in.\n"
+"Limit was increased from 6 to 16 in release 0.9; however, numbers higher "
+"than 6 are not\n"
+"currently recommended, as this is untested and is incompatible with older"
+" releases."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:127
+#: i2p2www/pages/site/docs/protocol/i2cp.html:184
+#: i2p2www/pages/site/docs/protocol/i2cp.html:193
+msgid "No limit"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:129
+msgid "Number of tunnels out"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:138
+msgid "Length of tunnels in"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:147
+msgid "Length of tunnels out"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:156
+msgid ""
+"Random amount to add or subtract to the length of tunnels in.\n"
+"A positive number x means add a random amount from 0 to x inclusive.\n"
+"A negative number -x means add a random amount from -x to x inclusive.\n"
+"The router will limit the total length of the tunnel to 0 to 7 inclusive."
+"\n"
+"The default variance was 1 prior to release 0.7.6."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:171
+msgid ""
+"Random amount to add or subtract to the length of tunnels out.\n"
+"A positive number x means add a random amount from 0 to x inclusive.\n"
+"A negative number -x means add a random amount from -x to x inclusive.\n"
+"The router will limit the total length of the tunnel to 0 to 7 inclusive."
+"\n"
+"The default variance was 1 prior to release 0.7.6."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:186
+msgid "Number of redundant fail-over for tunnels in"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:195
+msgid "Number of redundant fail-over for tunnels out"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:204
+msgid ""
+"Name of tunnel - generally used in routerconsole, which will\n"
+"use the first few characters of the Base64 hash of the destination by "
+"default."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:216
+msgid "Name of tunnel - generally ignored unless inbound.nickname is unset."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:225
+msgid "If incoming zero hop tunnel is allowed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:234
+msgid "If outgoing zero hop tunnel is allowed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:243
+#: i2p2www/pages/site/docs/protocol/i2cp.html:255
+msgid ""
+"Number of IP bytes to match to determine if\n"
+"two routers should not be in the same tunnel. 0 to disable."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:267
+msgid ""
+"Priority adjustment for outbound messages.\n"
+"Higher is higher priority."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:279
+msgid "Should generally be set to true for clients and false for servers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:288
+msgid ""
+"Guaranteed is disabled;\n"
+"None implemented in 0.8.1; the streaming lib default is None as of 0.8.1,"
+" the client side default is None as of 0.9.4"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:300
+#: i2p2www/pages/site/docs/protocol/i2cp.html:579
+msgid ""
+"If true, the router just sends the MessagePayload instead\n"
+"of sending a MessageStatus and awaiting a ReceiveMessageBegin."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:312
+msgid ""
+"Comma-separated list of Base 64 Hashes of peers to build tunnels through;"
+" for debugging only"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:321
+msgid ""
+"For authorization, if required by the router.\n"
+"If the client is running in the same JVM as a router, this option is not "
+"required.\n"
+"Warning - username and password are sent in the clear to the router, "
+"unless using SSL (i2cp.SSL=true).\n"
+"Authorization is only recommended when using SSL."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:343
+msgid ""
+"Number of ElGamal/AES Session Tags to send at a time.\n"
+"For clients with relatively low bandwidth per-client-pair (IRC, some UDP "
+"apps), this may be set lower."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:355
+msgid ""
+"Minimum number of ElGamal/AES Session Tags before we send more.\n"
+"Recommended: approximately tagsToSend * 2/3"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:367
+msgid ""
+"Set to false to disable ever bundling a reply LeaseSet.\n"
+"For clients that do not publish their LeaseSet, this option must be true\n"
+"for any reply to be possible. \"true\" is also recommended for multihomed"
+" servers\n"
+"with long connection times."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:374
+msgid ""
+"Setting to \"false\" may save significant outbound bandwidth, especially "
+"if\n"
+"the client is configured with a large number of inbound tunnels (Leases)."
+"\n"
+"If replies are still required, this may shift the bandwidth burden to\n"
+"the far-end client and the floodfill.\n"
+"There are several cases where \"false\" may be appropriate:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:382
+msgid "Unidirectional communication, no reply required"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:383
+msgid "LeaseSet is published and higher reply latency is acceptable"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:384
+msgid ""
+"LeaseSet is published, client is a \"server\", all connections are "
+"inbound\n"
+"so the connecting far-end destination obviously has the leaseset already."
+"\n"
+"Connections are either short, or it is acceptable for latency on a long-"
+"lived\n"
+"connection to temporarily increase while the other end re-fetches the "
+"LeaseSet\n"
+"after expiration.\n"
+"HTTP servers may fit these requirements."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:402
+msgid ""
+"Any other options prefixed with \"inbound.\" are stored\n"
+"in the \"unknown options\" properties of the inbound tunnel pool's "
+"settings."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:414
+msgid ""
+"Any other options prefixed with \"outbound.\" are stored\n"
+"in the \"unknown options\" properties of the outbound tunnel pool's "
+"settings."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:421
+msgid ""
+"Note: Large quantity, length, or variance settings may cause significant "
+"performance or reliability problems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:425
+#, python-format
+msgid ""
+"Note: As of release 0.7.7, option names and values must use UTF-8 "
+"encoding.\n"
+"This is primarily useful for nicknames.\n"
+"Prior to that release, options with multi-byte characters were corrupted."
+"\n"
+"Since options are encoded in a <a "
+"href=\"%(commonstructures)s#type_Mapping\">Mapping</a>,\n"
+"all option names and values are limited to 255 bytes (not characters) "
+"maximum."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:433
+msgid ""
+"The following options are interpreted on the client side,\n"
+"and will be interpreted if passed to the I2PSession via the "
+"I2PClient.createSession() call.\n"
+"The streaming lib should also pass these options through to I2CP.\n"
+"Other implementations may have different defaults."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:441
+msgid "Client-side Options"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:459
+msgid ""
+"Router hostname.\n"
+"If the client is running in the same JVM as a router, this option is "
+"ignored, and the client connects to that router internally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:471
+msgid ""
+"Router I2CP port.\n"
+"If the client is running in the same JVM as a router, this option is "
+"ignored, and the client connects to that router internally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:483
+msgid ""
+"Connect to the router using SSL.\n"
+"If the client is running in the same JVM as a router, this option is "
+"ignored, and the client connects to that router internally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:495
+msgid "Gzip outbound data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:504
+msgid "Reduce tunnel quantity when idle"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:513
+msgid "Close I2P session when idle"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:520
+#: i2p2www/pages/site/docs/protocol/i2cp.html:529
+#, python-format
+msgid "%(num)s minimum"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:522
+msgid "(ms) Idle time required (default 20 minutes, minimum 5 minutes)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:531
+msgid "(ms) Idle time required (default 30 minutes)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:540
+msgid "Tunnel quantity when reduced (applies to both inbound and outbound)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:549
+msgid "Encrypt the lease"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:558
+msgid "Base64 SessionKey (44 characters)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:567
+msgid ""
+"Guaranteed is disabled;\n"
+"None implemented in 0.8.1; None is the default as of 0.9.4"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:586
+msgid ""
+"Note: All arguments, including numbers, are strings. True/false values "
+"are case-insensitive strings.\n"
+"Anything other than case-insensitive \"true\" is interpreted as false.\n"
+"All option names are case-sensitive."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:592
+msgid "I2CP Payload Data Format and Multiplexing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:593
+#, python-format
+msgid ""
+"The end-to-end messages handled by I2CP (i.e. the data sent by the client"
+" in a\n"
+"<a href=\"%(i2cp)s#msg_SendMessage\">SendMessageMessage</a>\n"
+"and received by the client in a\n"
+"<a href=\"%(i2cp)s#msg_MessagePayload\">MessagePayloadMessage</a>)\n"
+"are gzipped with a standard 10-byte gzip\n"
+"header beginning with 0x1F 0x8B 0x08 as\n"
+"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC "
+"1952</a>.\n"
+"As of release 0.7.1, I2P uses ignored portions of the gzip header to "
+"include\n"
+"protocol, from-port, and to-port information, thus supporting streaming "
+"and\n"
+"datagrams on the same destination, and allowing query/response using "
+"datagrams\n"
+"to work reliably in the presence of multiple channels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:607
+msgid ""
+"The gzip function cannot be completely turned off, however setting "
+"i2cp.gzip=false\n"
+"turns the gzip effort setting to 0, which may save a little CPU."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:613
+#: i2p2www/pages/site/docs/protocol/i2np.html:32
+msgid "Bytes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:614
+msgid "Content"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:619
+msgid "Gzip header"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:624
+msgid "Gzip flags"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:629
+msgid "I2P Source port (Gzip mtime)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:634
+msgid "I2P Destination port (Gzip mtime)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:639
+msgid "Gzip xflags"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:644
+msgid "I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:648
+msgid ""
+"Data integrity is verified with the standard gzip CRC-32 as\n"
+"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC 1952</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:656
+msgid ""
+"The current authorization mechanism could be modified to use hashed "
+"passwords."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:660
+msgid ""
+"The Signing Private Keys is included in the Create Lease Set message,\n"
+"it is not required. Revocation is unimplemented.\n"
+"It should be replaced with random data or removed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2cp.html:666
+#, python-format
+msgid ""
+"Some improvements may be able to use messages previously defined but not "
+"implemented.\n"
+"For reference, here is the\n"
+"<a href=\"%(pdf1)s\">I2CP Protocol Specification Version 0.9</a>\n"
+"(PDF) dated August 28, 2003.\n"
+"That document also references the\n"
+"<a href=\"%(pdf2)s\">Common Data Structures Specification Version 0.9</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:2
+msgid "I2P Network Protocol"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:3
+msgid "June 2013"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:6
+msgid ""
+"The I2P Network Protocol (I2NP),\n"
+"which is sandwiched between I2CP and the various I2P transport protocols,"
+" manages the\n"
+"routing and mixing of messages between routers, as well as the selection "
+"of what\n"
+"transports to use when communicating with a peer for which there are "
+"multiple\n"
+"common transports supported."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:14
+msgid "I2NP Definition"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:15
+msgid ""
+"I2NP (I2P Network Protocol) messages can be used for one-hop, router-to-"
+"router, point-to-point messages.\n"
+"By encrypting and wrapping messages in other messages, they can be sent "
+"in a secure way\n"
+"through multiple hops to the ultimate destination.\n"
+"Priority is only used locally at the origin, i.e. when queuing for "
+"outbound delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:22
+#, python-format
+msgid ""
+"The priorities listed below may not be current and are subject to change."
+"\n"
+"See the <a href=\"%(outnetmessage)s\">OutNetMessage Javadocs</a>\n"
+"for the current priority settings.\n"
+"Priority queueing implementation may vary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:29
+msgid "Message Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:32
+#: i2p2www/pages/site/docs/spec/streaming.html:35
+msgid "Field"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:33
+msgid "Unique ID"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:34
+msgid "Expiration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:35
+#: i2p2www/pages/site/docs/protocol/i2np.html:92
+msgid "Payload Length"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:36
+msgid "Checksum"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:37
+msgid "Payload"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:40
+#, python-format
+msgid ""
+"While the maximum payload size is nominally 64KB, the size is further "
+"constrained by the\n"
+"method of fragmenting I2NP messages into multiple 1KB tunnel messages as "
+"described on\n"
+"<a href=\"%(tunnelimpl)s\">the tunnel implementation page</a>.\n"
+"The maximum number of fragments is 64, and the message may not be "
+"perfectly aligned,\n"
+"So the message must nominally fit in 63 fragments."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:48
+msgid ""
+"The maximum size of an initial fragment is 956 bytes (assuming TUNNEL "
+"delivery mode);\n"
+"the maximum size of a follow-on fragment is 996 bytes.\n"
+"Therefore the maximum size is approximately 956 + (62 * 996) = 62708 "
+"bytes, or 61.2 KB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:54
+msgid ""
+"In addition, the transports may have additional restrictions.\n"
+"NTCP currently limits to 16KB - 6 = 16378 bytes but this will be "
+"increased in a future release.\n"
+"The SSU limit is approximately 32 KB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:60
+msgid ""
+"Note that these are not the limits for datagrams that the client sees, as"
+" the\n"
+"router may bundle a reply leaseset and/or session tags together with the "
+"client message\n"
+"in a garlic message. The leaseset and tags together may add about 5.5KB.\n"
+"Therefore the current datagram limit is about 10KB. This limit will be\n"
+"increased in a future release."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:68
+msgid "Message Types"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:69
+msgid ""
+"Higher-numbered priority is higher priority.\n"
+"The majority of traffic is TunnelDataMessages (priority 400),\n"
+"so anything above 400 is essentially high priority, and\n"
+"anything below is low priority.\n"
+"Note also that many of the messages are generally routed\n"
+"through exploratory tunnels, not client tunnels, and\n"
+"therefore may not be in the same queue unless the\n"
+"first hops happen to be on the same peer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:80
+msgid ""
+"Also, not all message types are sent unencrypted.\n"
+"For example, when testing a tunnel, the router wraps a\n"
+"DeliveryStatusMessage, which is wrapped in a GarlicMessage,\n"
+"which is wrapped in a DataMessage."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:90
+msgid "Message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:91
+#: i2p2www/pages/site/docs/spec/common-structures.html:117
+#: i2p2www/pages/site/docs/spec/common-structures.html:146
+#: i2p2www/pages/site/docs/spec/common-structures.html:175
+msgid "Type"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:94
+msgid "Comments"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:102
+msgid "May vary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:108
+msgid ""
+"Size is 65 + 32*(number of hashes) where typically, the hashes for\n"
+"three floodfill routers are returned."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:117
+msgid "Varies"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:119
+msgid ""
+"Priority may vary.\n"
+"Size is 898 bytes for a typical 2-lease leaseSet.\n"
+"RouterInfo structures are compressed, and size varies; however\n"
+"there is a continuing effort to reduce the amount of data published in a "
+"RouterInfo\n"
+"as we approach release 1.0."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:133
+msgid "Priority may vary on a per-destination basis"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:143
+msgid ""
+"Used for message replies, and for testing tunnels - generally wrapped in "
+"a GarlicMessage"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:151
+msgid ""
+"Generally wrapped in a DataMessage -\n"
+"but when unwrapped, given a priority of 100 by the forwarding router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:178
+msgid ""
+"The most common message. Priority for tunnel participants, outbound "
+"endpoints, and inbound gateways was\n"
+"reduced to 200 as of release 0.6.1.33.\n"
+"Outbound gateway messages (i.e. those originated locally) remains at 400."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:198
+msgid "Shorter TunnelBuildMessage as of 0.7.12"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:206
+msgid "Shorter TunnelBuildReplyMessage as of 0.7.12"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:209
+#, python-format
+msgid "Others listed in <a href=\"%(pdf)s\">2003 Spec</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:215
+msgid "Obsolete, Unused"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:219
+msgid "Full Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:220
+#, python-format
+msgid ""
+"<a href=\"%(i2npspec)s\">On the I2NP Specification page</a>.\n"
+"See also the\n"
+"<a href=\"%(commonstructures)s\">Common Data Structure Specification "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/i2np.html:227
+msgid ""
+"It isn't clear whether the current priority scheme is generally "
+"effective,\n"
+"and whether the priorities for various messages should be adjusted "
+"further.\n"
+"This is a topic for further research, analysis and testing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:2
+msgid "Protocol Stack"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:7
+#, python-format
+msgid ""
+"Here is the protocol stack for I2P.\n"
+"See also the <a href=\"%(docs)s\">Index to Technical Documentation</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:12
+msgid ""
+"Each of the layers in the stack provides extra capabilities.\n"
+"The capabilities are listed below, starting at the bottom of the protocol"
+" stack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:18
+msgid "Internet Layer:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:20
+msgid ""
+"IP: Internet Protocol, allow addressing hosts on the regular internet and"
+" routing packets across the internet using best-effort delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:23
+msgid "Transport Layer:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:25
+msgid ""
+"TCP: Transmission Control Protocol, allow reliable, in-order delivery of "
+"packets across the internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:27
+msgid ""
+"UDP: User Datagram Protocol, allow unreliable, out-of-order delivery of "
+"packets across the internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:30
+msgid ""
+"<b>I2P Transport Layer:</b> provide encrypted connections between 2 I2P "
+"routers. These are not anonymous yet, this is strictly a hop-to-hop "
+"connection.\n"
+"Two protocols are implemented to provide these capabilities. NTCP builds "
+"on top of TCP, while SSU uses UDP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:35
+msgid "NIO-based TCP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:37
+msgid "Secure Semi-reliable UDP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:40
+msgid "<b>I2P Tunnel Layer:</b> provide full encrypted tunnel connections."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:42
+#, python-format
+msgid ""
+"<a href=\"%(tunnelmessage)s\">Tunnel messages</a>: tunnel messages are "
+"large messages containing encrypted I2NP (see below) messages and "
+"encrypted instructions for their delivery.\n"
+"The encryption is layered. The first hop will decrypt the tunnel message "
+"and read a part. Another part can still be encrypted (with another key),"
+"\n"
+"so it will be forwarded."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:48
+#, python-format
+msgid ""
+"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are"
+" used to pass messages through multiple routers. These I2NP messages are "
+"combined in tunnel messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:53
+msgid ""
+"<b>I2P Garlic Layer:</b> provide encrypted and anonymous end-to-end I2P "
+"message delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:55
+#, python-format
+msgid ""
+"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are"
+" wrapped in each other and used to ensure encryption between two tunnels "
+"and are passed along from source to destination, keeping both anonymous."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:61
+msgid ""
+"The following layers are strictly speaking no longer part of the I2P "
+"Protocol stack, they are not part of the core 'I2P router' functionality."
+"\n"
+"However, each of these layers adds additional functionality, to allow "
+"applications simple and convenient I2P usage."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:67
+msgid ""
+"<b>I2P Client Layer:</b> allow any client to use I2P functionality, "
+"without requiring the direct use of the router API."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:69
+#, python-format
+msgid ""
+"<a href=\"%(i2cp)s\">I2CP</a>: I2P Client Protocol, allows secure and "
+"asynchronous messaging over I2P by communicating messages over the I2CP "
+"TCP socket."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:74
+msgid ""
+"<b>I2P End-to-end Transport Layer:</b> allow TCP- or UDP-like "
+"functionality on top of I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:76
+#, python-format
+msgid ""
+"<a href=\"%(streaming)s\">Streaming Library</a>: an implementation of "
+"TCP-like streams over I2P. This allows easier porting of existing "
+"applications to I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:80
+#, python-format
+msgid ""
+"<a href=\"%(datagrams)s\">Datagram Library</a>: an implementation of UDP-"
+"like messages over I2P. This allows easier porting of existing "
+"applications to I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:85
+msgid ""
+"<b>I2P Application Interface Layer:</b> additional (optional) libraries "
+"allowing easier implementations on top of I2P."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:93
+msgid "<b>I2P Application Proxy Layer:</b> proxy systems."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:95
+#, python-format
+msgid "HTTP Client/Server, IRC Client, <a href=\"%(socks)s\">SOCKS</a>, Streamr"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:99
+msgid ""
+"Finally, what could be considered the <b>'I2P application layer'</b>, is "
+"a large number of applications on top of I2P.\n"
+"We can order this based on the I2P stack layer they use."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:104
+msgid "<b>Streaming/datagram applications</b>: i2psnark, Syndie, i2phex..."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:105
+msgid "<b>SAM/BOB applications</b>: IMule, i2p-bt, i2prufus, Robert..."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:106
+#, python-format
+msgid ""
+"<b>Other I2P applications</b>: Syndie, EepGet, <a "
+"href=\"%(plugins)s\">plugins</a>..."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:107
+msgid ""
+"<b>Regular applications</b>: Jetty, Apache, Monotone, CVS, browsers, "
+"e-mail..."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:111
+msgid "I2P Network stack"
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:113
+msgid "Figure 1: The layers in the I2P Network stack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/protocol/index.html:118
+msgid "Note: SAM/SAMv2 can use both the streaming lib and datagrams."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:2
+msgid "Blockfile and Hosts Database Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:3
+msgid "January 2012"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:7
+#, python-format
+msgid ""
+"This document specifies\n"
+"the I2P blockfile file format\n"
+"and the tables in the hostsdb.blockfile used by the Blockfile <a "
+"href=\"%(naming)s\">Naming Service</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:13
+msgid ""
+"The blockfile provides fast Destination lookup in a compact format. While"
+" the blockfile page overhead is substantial,\n"
+"the destinations are stored in binary rather than in Base 64 as in the "
+"hosts.txt format.\n"
+"In addition, the blockfile provides the capability of arbitrary metadata "
+"storage\n"
+"(such as added date, source, and comments) for each entry.\n"
+"The metadata may be used in the future to provide advanced addressbook "
+"features.\n"
+"The blockfile storage requirement is a modest increase over the hosts.txt"
+" format, and the blockfile provides\n"
+"approximately 10x reduction in lookup times."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:23
+#, python-format
+msgid ""
+"A blockfile is simply on-disk storage of multiple sorted maps (key-value "
+"pairs),\n"
+"implemented as skiplists.\n"
+"The blockfile format is adopted from the\n"
+"<a href=\"%(url)s\">Metanotion Blockfile Database</a>.\n"
+"First we will define the file format, then the use of that format by the "
+"BlockfileNamingService."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:31
+msgid "Blockfile Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:32
+msgid ""
+"The original blockfile spec was modified to add magic numbers to each "
+"page.\n"
+"The file is structured in 1024-byte pages. Pages are numbered starting "
+"from 1.\n"
+"The \"superblock\" is always at page 1, i.e. starting at byte 0 in the "
+"file.\n"
+"The metaindex skiplist is always at page 2, i.e. starting at byte 1024 in"
+" the file."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:39
+msgid ""
+"All 2-byte integer values are unsigned.\n"
+"All 4-byte integer values (page numbers) are signed and negative values "
+"are illegal."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:44
+msgid ""
+"The database is designed to be opened and accessed by a single thread.\n"
+"The BlockfileNamingService provides synchronization."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:49
+msgid "Superblock format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:64
+msgid "Skip list block page format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:79
+msgid ""
+"Skip level block page format is as follows.\n"
+"All levels have a span. Not all spans have levels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:94
+msgid ""
+"Skip span block page format is as follows.\n"
+"Key/value structures are sorted by key within each span and across all "
+"spans.\n"
+"Key/value structures are sorted by key within each span.\n"
+"Spans other than the first span may not be empty."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:111
+msgid "Span Continuation block page format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:122
+msgid ""
+"Key/value structure format is as follows.\n"
+"Key and value lengths must not be split across pages, i.e. all 4 bytes "
+"must be on the same page.\n"
+"If there is not enough room the last 1-3 bytes of a page are unused and "
+"the lengths will\n"
+"be at offset 8 in the continuation page.\n"
+"Key and value data may be split across pages.\n"
+"Max key and value lengths are 65535 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:138
+msgid "Free list block page format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:150
+msgid "Free page block format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:159
+msgid ""
+"The metaindex (located at page 2) is a mapping of US-ASCII strings to "
+"4-byte integers.\n"
+"The key is the name of the skiplist and the value is the page index of "
+"the skiplist."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:164
+msgid "Blockfile Naming Service Tables"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:165
+msgid ""
+"The tables created and used by the BlockfileNamingService are as follows."
+"\n"
+"The maximum number of entries per span is 16."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:170
+msgid "Properties Skiplist"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:171
+#, python-format
+msgid ""
+"%(INFO)s is the master database skiplist with String/Properties key/value"
+" entries containing only one entry:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:183
+msgid "Reverse Lookup Skiplist"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:184
+#, python-format
+msgid ""
+"%(REVERSE)s is the reverse lookup skiplist with Integer/Properties "
+"key/value entries\n"
+"    (as of database version 2):"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:198
+msgid "hosts.txt, userhosts.txt, and privatehosts.txt Skiplists"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:199
+msgid ""
+"For each host database, there is a skiplist containing\n"
+"the hosts for that database.\n"
+"The keys/values in these skiplists are as follows:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:210
+msgid "The DestEntry Properties typically contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/blockfile.html:219
+msgid "Hostname keys are stored in lower-case and always end in \".i2p\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:2
+#, fuzzy
+msgid "Common structures Specification"
+msgstr "Спецификация основных структур данных"
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:3
+#: i2p2www/pages/site/docs/spec/configuration.html:3
+#, fuzzy
+msgid "January 2014"
+msgstr "Май 2013"
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:6
+#, python-format
+msgid ""
+"This document describes some data types common to all I2P protocols, like"
+"\n"
+"<a href=\"%(i2np)s\">I2NP</a>, <a href=\"%(i2cp)s\">I2CP</a>,\n"
+"<a href=\"%(ssu)s\">SSU</a>, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:16
+msgid "Represents a non-negative integer.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:19
+#: i2p2www/pages/site/docs/spec/common-structures.html:30
+#: i2p2www/pages/site/docs/spec/common-structures.html:40
+#: i2p2www/pages/site/docs/spec/common-structures.html:53
+#: i2p2www/pages/site/docs/spec/common-structures.html:68
+#: i2p2www/pages/site/docs/spec/common-structures.html:81
+#: i2p2www/pages/site/docs/spec/common-structures.html:93
+#: i2p2www/pages/site/docs/spec/common-structures.html:105
+#: i2p2www/pages/site/docs/spec/common-structures.html:134
+#: i2p2www/pages/site/docs/spec/common-structures.html:163
+#: i2p2www/pages/site/docs/spec/common-structures.html:192
+#: i2p2www/pages/site/docs/spec/common-structures.html:204
+#: i2p2www/pages/site/docs/spec/common-structures.html:216
+#: i2p2www/pages/site/docs/spec/common-structures.html:228
+#: i2p2www/pages/site/docs/spec/common-structures.html:384
+#: i2p2www/pages/site/docs/spec/common-structures.html:467
+#: i2p2www/pages/site/docs/spec/common-structures.html:520
+#: i2p2www/pages/site/docs/spec/common-structures.html:575
+#: i2p2www/pages/site/docs/spec/common-structures.html:622
+#: i2p2www/pages/site/docs/spec/common-structures.html:757
+#: i2p2www/pages/site/docs/spec/common-structures.html:820
+#: i2p2www/pages/site/docs/spec/streaming.html:35
+msgid "Contents"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:20
+msgid "1 to 8 bytes in network byte order representing an unsigned integer\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:26
+msgid ""
+"The number of milliseconds since midnight on January 1, 1970 in the GMT "
+"timezone.\n"
+"If the number is 0, the date is undefined or null.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:31
+msgid "8 byte <a href=\"#type_Integer\">Integer</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:37
+msgid "Represents a UTF-8 encoded string.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:41
+msgid ""
+"1 or more bytes where the first byte is the number of bytes (not "
+"characters!)\n"
+"in the string and the remaining 0-255 bytes are the non-null terminated "
+"UTF-8 encoded character array.\n"
+"Length limit is 255 bytes (not characters). Length may be 0.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:49
+msgid ""
+"A boolean value, supporting null/unknown representation\n"
+"0=false, 1=true, 2=unknown/null\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:54
+msgid "1 byte <a href=\"#type_Integer\">Integer</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:58
+msgid "Deprecated - unused\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:64
+#, python-format
+msgid ""
+"This structure is used in ElGamal encryption, representing only the "
+"exponent, not the primes, which are constant and defined in\n"
+"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:69
+#: i2p2www/pages/site/docs/spec/common-structures.html:82
+msgid "256 bytes\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:77
+#, python-format
+msgid ""
+"This structure is used in ElGamal decryption, representing only the "
+"exponent, not the primes which are constant and defined in\n"
+"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:90
+msgid "This structure is used for AES256 encryption and decryption.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:94
+#: i2p2www/pages/site/docs/spec/common-structures.html:193
+#: i2p2www/pages/site/docs/spec/common-structures.html:205
+msgid "32 bytes\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:102
+msgid "This structure is used for verifying signatures.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:106
+msgid ""
+"Key type and length are inferred from context or are specified in the Key"
+" Certificate of a Destination.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:109
+#: i2p2www/pages/site/docs/spec/common-structures.html:138
+#: i2p2www/pages/site/docs/spec/common-structures.html:167
+msgid "The default type is DSA-160.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:112
+#: i2p2www/pages/site/docs/spec/common-structures.html:141
+#: i2p2www/pages/site/docs/spec/common-structures.html:170
+msgid ""
+"As of release 0.9.11, other types may be supported, depending on context."
+"\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:117
+#: i2p2www/pages/site/docs/spec/common-structures.html:146
+#: i2p2www/pages/site/docs/spec/common-structures.html:175
+msgid "Length (bytes)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:131
+msgid "This structure is used for creating signatures.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:135
+msgid "Key type and length are specified when created.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:160
+msgid "This structure represents the signature of some data.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:164
+msgid "Signature type and length are inferred from the type of key used.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:189
+msgid "Represents the SHA256 of some data.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:201
+msgid "A random number\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:213
+msgid "Defines an identifier that is unique to each router in a tunnel.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:217
+msgid "4 byte <a href=\"#type_Integer\">Integer</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:225
+msgid ""
+"A certificate is a container for various receipts or proof of works used "
+"throughout the I2P network.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:229
+msgid ""
+"1 byte <a href=\"#type_Integer\">Integer</a> specifying certificate type,"
+" followed by a 2 <a href=\"#type_Integer\">Integer</a> specifying the "
+"size of the certificate payload, then that many bytes.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:256
+msgid ""
+"For <a href=\"#struct_RouterIdentity\">Router Identities</a>, the "
+"Certificate is always NULL, no others are currently implemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:260
+#, python-format
+msgid ""
+"For <a href=\"%(i2np)s#struct_GarlicClove\">Garlic Cloves</a>, the "
+"Certificate is always NULL, no others are currently implemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:264
+#, python-format
+msgid ""
+"For <a href=\"%(i2np)s#msg_Garlic\">Garlic Messages</a>, the Certificate "
+"is always NULL, no others are currently implemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:268
+msgid ""
+"For <a href=\"#struct_Destination\">Destinations</a>, the Certificate may"
+" be non-NULL,\n"
+"however non-NULL certs are not widely used, and any checking is left to "
+"the application-level."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:274
+msgid "Certificate Types"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:298
+msgid "Key Certificates"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:381
+msgid "A set of key/value mappings or properties\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:385
+msgid "A 2-byte size Integer followed by a series of String=String; pairs\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:412
+msgid ""
+"The encoding isn't optimal - we either need the '=' and ';' characters, "
+"or the string lengths, but not both"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:416
+msgid ""
+"Some documentation says that the strings may not include '=' or ';' but "
+"this encoding supports them"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:420
+msgid ""
+"Strings are defined to be UTF-8 but in the current implementation, I2CP "
+"uses UTF-8 but I2NP does not.\n"
+"For example,\n"
+"UTF-8 strings in a RouterInfo options mapping in a I2NP Database Store "
+"Message will be corrupted."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:426
+msgid ""
+"The encoding allows duplicate keys, however in any usage where the "
+"mapping is signed,\n"
+"duplicates may cause a signature failure."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:431
+msgid ""
+"Mappings contained in I2NP messages (i.e. in a RouterAddress or "
+"RouterInfo)\n"
+"must be sorted by key so that the signature will be invariant.\n"
+"Duplicate keys are not allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:437
+#, python-format
+msgid ""
+"Mappings contained in an <a href=\"%(i2cp)s#struct_SessionConfig\">I2CP "
+"SessionConfig</a>\n"
+"must be sorted by key so that the signature will be invariant.\n"
+"Duplicate keys are not allowed."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:443
+msgid ""
+"While it is application-dependent, keys and values are generally case-"
+"sensitive."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:447
+msgid ""
+"Key and value string length limits are 255 bytes (not characters) each, "
+"plus the length byte. Length byte may be 0."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:451
+msgid ""
+"Total length limit is 65535 bytes, plus the 2 byte size field, or 65537 "
+"total."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:460
+msgid "Common structure specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:464
+msgid "Defines the way to uniquely identify a particular router\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:468
+msgid ""
+"<a href=\"#type_PublicKey\">PublicKey</a> followed by <a "
+"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
+"href=\"#type_Certificate\">Certificate</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:505
+msgid ""
+"The certificate for a RouterIdentity is currently unused and is always "
+"NULL."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:517
+msgid ""
+"A Destination defines a particular endpoint to which messages can be "
+"directed for secure delivery.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:521
+msgid ""
+"<a href=\"#type_PublicKey\">PublicKey</a> followed by a <a "
+"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
+"href=\"#type_Certificate\">Certificate</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:572
+msgid ""
+"Defines the authorization for a particular tunnel to receive messages "
+"targeting a <a href=\"#struct_Destination\">Destination</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:576
+msgid ""
+"SHA256 <a href=\"#type_Hash\">Hash</a> of the\n"
+"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> of the gateway "
+"router, then the <a href=\"#type_TunnelId\">TunnelId</a>, and finally an "
+"end <a href=\"#type_Date\">Date</a>\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:607
+msgid "Total size: 44 bytes"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:617
+msgid ""
+"Contains all of the currently authorized <a "
+"href=\"#struct_Lease\">Lease</a>s for a particular <a "
+"href=\"#struct_Destination\">Destination</a>, the <a "
+"href=\"#type_PublicKey\">PublicKey</a> to which garlic messages can be "
+"encrypted,\n"
+"and then the <a href=\"#type_SigningPublicKey\">public key</a> that can "
+"be used to revoke this particular version of the structure. The <a "
+"href=\"#struct_LeaseSet\">LeaseSet</a> is one of the two structures "
+"stored in the network database(\n"
+"the other being <a href=\"#struct_RouterInfo\">RouterInfo</a>), and is "
+"keyed under the SHA256 of the contained <a "
+"href=\"#struct_Destination\">Destination</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:623
+msgid ""
+"<a href=\"#struct_Destination\">Destination</a>, followed by a <a "
+"href=\"#type_PublicKey\">PublicKey</a> for encryption, then a <a "
+"href=\"#type_SigningPublicKey\">SigningPublicKey</a> which can be used to"
+" revoke this version of the <a href=\"#struct_LeaseSet\">LeaseSet</a>,\n"
+"then a 1 byte <a href=\"#type_Integer\">Integer</a> specifying how many "
+"<a href=\"#struct_Lease\">Lease</a> structures are in the set, followed "
+"by the actual <a href=\"#struct_Lease\">Lease</a> structures and finally "
+"a <a href=\"#type_Signature\">Signature</a>  of the previous\n"
+"bytes signed by the <a href=\"#struct_Destination\">Destination's</a> <a "
+"href=\"#type_SigningPrivateKey\">SigningPrivateKey</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:715
+msgid ""
+"The public key of the destination was used for the old i2cp-to-i2cp "
+"encryption\n"
+"which was disabled in version 0.6, it is currently unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:720
+#, python-format
+msgid ""
+"The encryption key is used for end-to-end <a "
+"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption.\n"
+"It is currently generated anew at every router startup, it is not "
+"persistent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:725
+msgid ""
+"The signature may be verified using the signing public key of the "
+"destination."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:729
+msgid ""
+"The signing_key is currently unused. It was intended for LeaseSet "
+"revocation, which is unimplemented.\n"
+"It is currently generated anew at every router startup, it is not "
+"persistent."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:733
+msgid ""
+"The earliest expiration of all the Leases is treated as the timestamp or "
+"version of the LeaseSet.\n"
+"Routers will generally not accept a store of a LeaseSet unless it is "
+"\"newer\" than the current one.\n"
+"Take care when publishing a new LeaseSet where the oldest Lease is the "
+"same as the oldest Lease\n"
+"in the previous LeaseSet. The publishing router should generally "
+"increment the expiration\n"
+"of the oldest Lease by at least 1 ms in that case."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:740
+msgid ""
+"Prior to release 0.9.7, when included in a DatabaseStore Message sent by "
+"the originating router,\n"
+"the router set all the published leases' expirations to the same value, "
+"that of the\n"
+"earliest lease. As of release 0.9.7, the router publishes the actual "
+"lease expiration for each lease.\n"
+"This is an implementation detail and not part of the structures "
+"specification."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:754
+msgid ""
+"This structure defines the means to contact a router through a transport "
+"protocol.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:758
+msgid ""
+"1 byte <a href=\"#type_Integer\">Integer</a> defining the relative cost "
+"of using the address, where 0 is free and 255 is expensive, followed by "
+"the expiration <a href=\"#type_Date\">Date</a> after which the address "
+"should not be used, or if null, the address never expires.\n"
+"After that comes a <a href=\"#type_String\">String</a> defining the "
+"transport protocol this router address uses. Finally there is a <a "
+"href=\"#type_Mapping\">Mapping</a> containing all of the transport "
+"specific options necessary to establish the connection, such as\n"
+"IP address, port number, email address, URL, etc.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:793
+msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:797
+msgid ""
+"Expiration is currently unused, always null (all zeroes)).\n"
+"As of release 0.9.3, the expiration is assumed zero and not stored, so "
+"any non-zero expiration\n"
+"will fail in the RouterInfo signature verification.\n"
+"Implementing expiration (or another use for these bytes) will be a "
+"backwards-incompatible change.\n"
+"Routers MUST set this field to all zeros."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:805
+msgid ""
+"The following options, while not required, are standard and expected to "
+"be present in most router addresses:\n"
+"\"host\" (an IPv4 or IPv6 address or host name) and \"port\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:816
+msgid ""
+"Defines all of the data that a router wants to publish for the network to"
+" see. The <a href=\"#struct_RouterInfo\">RouterInfo</a> is one of two "
+"structures stored in the network database(the other being <a "
+"href=\"#struct_LeaseSet\">LeaseSet</a>, and is keyed under the SHA256 of"
+"\n"
+"the contained <a href=\"#struct_RouterIdentity\">RouterIdentity</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:821
+msgid ""
+"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> followed by the <a "
+"href=\"#type_Date\">Date</a>, when the entry was published\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:901
+msgid ""
+"The peer_size Integer may be followed by a list of that many router "
+"hashes.\n"
+"This is currently unused. It was intended for a form of restricted "
+"routes, which is unimplemented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:906
+msgid ""
+"The signature may be verified using the signing public key of the "
+"router_ident."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:910
+#, python-format
+msgid ""
+"See <a href=\"%(netdb)s#routerInfo\">the network database page</a>\n"
+"for standard options that are expected to be present in all router infos."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/common-structures.html:920
+#, python-format
+msgid ""
+"Defined in the <a href=\"%(tunnelmessage)s#delivery\">Tunnel Message "
+"Specification</a>.\n"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:2
+msgid "Configuration File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:7
+msgid ""
+"This page provides a general specification of I2P configuration files,\n"
+"used by the router and various applications.\n"
+"It also gives an overview of the information contained in the various "
+"files,\n"
+"and links to detailed documentation where available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:15
+msgid "General Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:16
+#, python-format
+msgid ""
+"An I2P configuration file is formatted as specified in\n"
+"<a href=\"%(url)s\">Java Properties</a>\n"
+"with the following exceptions:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:22
+msgid "Encoding must be UTF-8"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:23
+msgid ""
+"Does not use or recognize any escapes, including '\\', so lines may not "
+"be continued"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:24
+msgid "'#' or ';' starts a comment, but '!' does not"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:25
+msgid ""
+"'#' starts a comment in any position but ';' must be in column 1 to start"
+" a comment"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:26
+msgid "Leading and trailing whitespace is not trimmed on keys"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:27
+msgid "Leading and trailing whitespace is trimmed on values"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:28
+msgid "'=' is the only key-termination character (not ':' or whitespace)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:29
+msgid ""
+"Lines without '=' are ignored. As of release 0.9.10, keys with a value of"
+" \"\" are supported."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:30
+msgid ""
+"As there are no escapes, keys may not contain '#', '=', or '\\n', or "
+"start with ';'"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:31
+msgid ""
+"As there are no escapes, values may not contain '#' or '\\n', or start or"
+" end with '\\r' or whitespace"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:34
+msgid ""
+"The file need not be sorted, but most applications do sort by key when\n"
+"writing to the file, for ease of reading and manual editing."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:39
+#, python-format
+msgid ""
+"Reads and writes are implemented in\n"
+"<a href=\"%(url)s\">DataHelper loadProps() and storeProps()</a>.\n"
+"Note that the file format is significantly different than the\n"
+"serialized format for I2P protocols specified in\n"
+"<a href=\"%(commonstructures)s#type_Mapping\">Mapping</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:48
+msgid "Core library and router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:50
+msgid "Clients"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:51
+msgid "Configured via /configclients in the router console."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:136
+msgid "Logger"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:137
+msgid "Configured via /configlogging in the router console."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:160
+msgid "Individual Plugin"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:161
+#, python-format
+msgid "See <a href=\"%(pluginspec)s\">the plugin specification</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:166
+msgid "Enable/disable for each installed plugin."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:170
+msgid "Router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:171
+msgid "Configured via /configadvanced in the router console."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:175
+msgid "Applications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:178
+msgid "See documentation in SusiDNS."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:183
+msgid "Configured via the application gui."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:188
+msgid "Configured via the /i2ptunnel application in the router console."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:192
+msgid "Router Console"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:193
+msgid "The router console uses the router.config file."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/configuration.html:198
+msgid "See post on zzz.i2p."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:2
+msgid "Datagram Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:6
+msgid "See the Datagrams page for an overview of the Datagrams API."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:12
+msgid "Non-Repliable Datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:13
+msgid ""
+"Non-repliable datagrams have no 'from' address and are not authenticated."
+"\n"
+"They are also called \"raw\" datagrams.\n"
+"Strictly speaking, they are not \"datagrams\" at all, they are just raw "
+"data.\n"
+"They are not handled by the datagram API.\n"
+"However, SAM and the I2PTunnel classes support \"raw datagrams\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:21
+msgid "Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:31
+#, python-format
+msgid ""
+"The practical length is limited by lower layers of protocols - the\n"
+"<a href=\"%(tunnelmessage)s#notes\">tunnel message spec</a>\n"
+"limits messages to about 61.2 KB and the\n"
+"<a href=\"%(transports)s\">transports</a>\n"
+"currently limit messages to about 32 KB, although this may be raised in "
+"the future."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:40
+msgid "Repliable Datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:41
+msgid ""
+"Repliable datagrams contain a 'from' address and a signature. These add "
+"427 bytes of overhead."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:91
+#, python-format
+msgid ""
+"The practical length is limited by lower layers of protocols - the\n"
+"<a href=\"%(transports)s\">transports</a>\n"
+"currently limit messages to about 32 KB, so the data length here is "
+"limited to about\n"
+"31.5 KB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/datagrams.html:97
+msgid "See important notes above about the reliability of large datagrams."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:2
+msgid "GeoIP File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:8
+msgid ""
+"This page specifies the format of the various GeoIP files,\n"
+"used by the router to look up a country for an IP."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:14
+msgid "Country Name (countries.txt) Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:15
+msgid ""
+"This format is easily generated from data files available from many "
+"public sources.\n"
+"For example:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:33
+msgid "IPv4 (geoip.txt) Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:34
+msgid ""
+"This format is borrowed from Tor and is easily generated from data files "
+"available from many public sources.\n"
+"For example:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:54
+msgid "IPv6 (geoipv6.dat.gz) Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:55
+msgid ""
+"This is a compressed binary format designed for I2P.\n"
+"The file is gzipped. Ungzipped format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/geoip.html:71
+msgid "NOTES:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:2
+msgid "Streaming Library Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:6
+msgid "See the Streaming page for an overview of the Streaming Library."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:11
+msgid "Packet Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:12
+msgid "The format of a single packet in the streaming protocol is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:35
+msgid "Length"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:83
+msgid "Flags and Option Data Fields"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/streaming.html:84
+msgid ""
+"The flags field above specifies some metadata about the packet, and in\n"
+"turn may require certain additional data to be included.  The flags are\n"
+"as follows. Any data structures specified must be added to the options "
+"area\n"
+"in the given order."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:2
+msgid "I2P Software Update Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:7
+msgid ""
+"I2P uses a simple, yet secure, system for automated software update.\n"
+"The router console periodically pulls a news file from a configurable I2P"
+" URL.\n"
+"There is a hardcoded backup URL pointing to the project website, in case\n"
+"the default project news host goes down."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:14
+msgid ""
+"The contents of the news file are displayed on the home page of the "
+"router console.\n"
+"In addition, the news file contains the most recent version number of the"
+" software.\n"
+"If the version is higher than the router's version number, it will\n"
+"display an indication to the user that an update is available."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:21
+msgid ""
+"The router may optionally download, or download and install, the new "
+"version\n"
+"if configured to do so."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:26
+msgid "News File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:27
+msgid "The news.xml file may contain the following elements:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:35
+msgid ""
+"Parameters in the i2p.release entry are as follows.\n"
+"All keys are case-insensitive. All values must be enclosed in double "
+"quotes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:73
+msgid ""
+"The elements may be included inside XML comments to prevent "
+"interpretation by browsers.\n"
+"The i2p.release element and version are required. All others are "
+"optional.\n"
+"NOTE: Due to parser limitations an entire element must be on a single "
+"line."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:80
+msgid "Update File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:81
+msgid ""
+"As of release 0.9.9, the signed update file, named i2pupdate.su3, will\n"
+"use the \"su3\" file format specified below.\n"
+"Approved release signers will use 4096-bit RSA keys.\n"
+"The X.509 public key certificates for these signers are distributed in "
+"the router installation packages.\n"
+"The updates may contain certificates for new, approved signers, and/or "
+"contain\n"
+"a list of certificates to delete for revocation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:91
+msgid "Old Update File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:92
+msgid "This format is obsolte as of release 0.9.9."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:95
+msgid ""
+"The signed update file, traditionally named i2pupdate.sud,\n"
+"is simply a zip file with a prepended 56 byte header.\n"
+"The header contains:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:101
+#, python-format
+msgid ""
+"A 40-byte <a href=\"%(commonstructures)s#type_signature\">DSA "
+"signature</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:104
+msgid "A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:109
+#, python-format
+msgid ""
+"The signature covers only the zip archive - not the prepended version.\n"
+"The signature must match one of the <a "
+"href=\"%(commonstructures)s#type_SigningPublicKey\">DSA public keys</a> "
+"configured into the router,\n"
+"which has a hardcoded default list of keys of the current project release"
+" managers."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:115
+msgid ""
+"For version comparison purposes, version fields contain [0-9]*, field "
+"separators are\n"
+"'-', '_', and '.', and all other characters are ignored."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:120
+msgid ""
+"As of version 0.8.8, the version must also be specified as a zip file "
+"comment in UTF-8,\n"
+"without the trailing zeroes.\n"
+"The updating router verifes that the version in the header (not covered "
+"by the signature)\n"
+"matches the version in the zip file comment, which is covered by the "
+"signature.\n"
+"This prevents spoofing of the version number in the header."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:128
+msgid "Download and Installation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:129
+msgid ""
+"The router first downloads the header of the update file from one in a "
+"configurable list of I2P URLs,\n"
+"using the built-in HTTP client and proxy,\n"
+"and checks that the version is newer.\n"
+"This prevents the problem of update hosts that do not have the latest "
+"file.\n"
+"The router then downloads the full update file.\n"
+"The router verifies that the update file version is newer before "
+"installation.\n"
+"It also, of course, verifies the signature, and\n"
+"verifes that the zip file comment matches the header version, as "
+"explained above."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:140
+msgid "The zip file is extracted in the base $I2P installation directory."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:144
+msgid ""
+"As of release 0.7.12, the router supports Pack200 decompression.\n"
+"Files inside the zip archive with a .jar.pack or .war.pack suffix\n"
+"are transparently decompressed to a .jar or .war file.\n"
+"Update files containing .pack files are traditionally named with a '.su2'"
+" suffix.\n"
+"Pack200 shrinks the update files by about 60&#37;."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:152
+msgid ""
+"As of release 0.8.7, the router will delete the libjbigi.so and "
+"libjcpuid.so files\n"
+"if the zip archive contains a lib/jbigi.jar file, so that the new files "
+"will\n"
+"be extracted from jbigi.jar."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:158
+msgid ""
+"As of release 0.8.12, if the zip archive contains a file deletelist.txt, "
+"the router will\n"
+"delete the files listed there. The format is:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:163
+msgid "One file name per line"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:164
+msgid ""
+"All file names are relative to the installation directory; no absolute "
+"file names allowed, no files starting with \"..\""
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:165
+msgid "Comments start with '#'"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:168
+msgid "The router will then delete the deletelist.txt file."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:173
+msgid "New \"su3\" Update File Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:175
+msgid ""
+"This specification is used for router updates and reseed data as of "
+"release 0.9.9."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:179
+msgid "Issues with the previous .sud/.su2 format:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:181
+msgid "No magic number or flags"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:184
+msgid "No way to specify compression, pack200 or not, or signing algo"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:187
+msgid ""
+"Version is not covered by signature, so it is enforced by requiring it\n"
+"to be in the zip file comment (for router files) or in the plugin.config\n"
+"file (for plugins)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:192
+msgid "Signer not specified so verifier must try all known keys"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:195
+msgid "Signature-before-data format requires two passes to generate file"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:201
+msgid "Goals:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:204
+msgid "Fix above problems"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:207
+msgid "Migrate to more secure signature algorithm"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:210
+msgid ""
+"Keep version info in same format and offset for compatibility with\n"
+"existing version checkers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:216
+msgid "Specification:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:275
+msgid "All unused fields must be set to 0 for compatibility with future versions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:282
+msgid ""
+"The network will eventually grow too large for update over HTTP.\n"
+"The built-in BitTorrent client, i2psnark, may be used as a distributed "
+"update method.\n"
+"This development effort is ongoing and should be completed by late 2013."
+msgstr ""
+
+#: i2p2www/pages/site/docs/spec/updates.html:287
+msgid ""
+"The router update mechanism is part of the web router console.\n"
+"There is currently no provision for updates of an embedded router lacking"
+" the router console."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:2
+msgid "Transport Overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:6
+msgid "Transports in I2P"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:8
+msgid ""
+"A \"transport\" in I2P is a method for direct, point-to-point "
+"communication\n"
+"between two routers.\n"
+"Transports must provide confidentiality and integrity \n"
+"against external adversaries while authenticating that the router "
+"contacted \n"
+"is the one who should receive a given message."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:16
+msgid ""
+"I2P supports multiple transports simultaneously.\n"
+"There are two transports currently implemented:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:21
+#, python-format
+msgid "<a href=\"%(ntcp)s\">NTCP</a>, a Java New I/O (NIO) TCP transport"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:22
+#, python-format
+msgid " <a href=\"%(ssu)s\">SSU</a>, or Secure Semireliable UDP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:25
+msgid ""
+"Each provides a \"connection\" paradigm, with authentication,\n"
+"flow control, acknowledgments and retransmission."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:31
+msgid "Transport Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:33
+msgid "The transport subsystem in I2P provides the following services:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:37
+#, python-format
+msgid ""
+"Reliable delivery of <a href=\"%(i2np)s\">I2NP</a> messages.\n"
+"Transports support I2NP message delivery ONLY.\n"
+"They are not general-purpose data pipes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:42
+msgid ""
+"Maintain a set of router addresses, one or more for each transport,\n"
+"that the router publishes as its global contact information (the "
+"RouterInfo).\n"
+"Each transport may connect using one of these addresses, which may be\n"
+"IPv4 or (as of version 0.9.8) IPv6."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:48
+msgid "Selection of the best transport for each outgoing message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:49
+msgid "Queueing of outbound messages by priority"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:50
+msgid ""
+"Bandwidth limiting, both outbound and inbound, according to router "
+"configuration"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:51
+msgid "Setup and teardown of transport connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:52
+msgid "Encryption of point-to-point communications"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:53
+msgid ""
+"Maintenance of connection limits for each transport, implementation of "
+"various thresholds for these limits,\n"
+"and communication of threshold status to the router so it may make "
+"operational changes based on the status"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:57
+msgid "Firewall port opening using UPnP (Universal Plug and Play)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:58
+msgid "Cooperative NAT/Firewall traversal"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:59
+msgid ""
+"Local IP detection by various methods, including UPnP, inspection of "
+"incoming connections, and enumeration of network devices"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:60
+msgid ""
+"Coordination of firewall status and local IP, and changes to either, "
+"among the transports"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:61
+#: i2p2www/pages/site/docs/transport/ssu.html:32
+msgid ""
+"Communication of firewall status and local IP, and changes to either, to "
+"the router and the user interface"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:62
+msgid ""
+"Determination of a consensus clock, which is used to periodically update "
+"the router's clock, as a backup for NTP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:63
+msgid ""
+"Maintenance of status for each peer, including whether it is connected, "
+"whether it was recently connected,\n"
+"and whether it was reachable in the last attempt"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:67
+msgid "Qualification of valid IP addresses according to a local rule set"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:68
+msgid ""
+"Honoring the automated and manual lists of banned peers maintained by the"
+" router,\n"
+"and refusing outbound and inbound connections to those peers"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:75
+msgid "Transport Addresses"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:77
+msgid ""
+"The transport subsystem maintains a set of router addresses, each of "
+"which lists a transport method, IP, and port.\n"
+"These addresses constitute the advertised contact points, and are "
+"published by the router to the network database.\n"
+"Addresses may also contain an arbitrary set of additional options."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:83
+msgid "Typical scenarios are:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:85
+msgid ""
+"A router has no published addresses, so it is considered \"hidden\" and "
+"cannot receive incoming connections"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:86
+#, python-format
+msgid ""
+"A router is firewalled, and therefore publishes an SSU address which "
+"contains a list of cooperating\n"
+"peers or \"introducers\" who will assist in NAT traversal (see <a "
+"href=\"%(ssu)s\">the SSU spec</a> for details)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:90
+msgid ""
+"A router is not firewalled or its NAT ports  are open; it publishes both "
+"NTCP and SSU addresses containing\n"
+"directly-accessible IP and ports."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:96
+msgid "Transport Selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:98
+#, python-format
+msgid ""
+"The transport system delivers <a href=\"%(i2np)s\">I2NP messages</a> "
+"only. The transport selected for any message is\n"
+"independent of the upper-layer protocols and contents (router or client "
+"messages, whether an external application was using\n"
+"TCP or UDP to connect to I2P, whether the upper layer was using\n"
+"<a href=\"%(streaming)s\">the streaming library</a>\n"
+"streaming\n"
+"or\n"
+"<a href=\"%(datagrams)s\">datagrams</a>,\n"
+"datagrams\n"
+"etc.)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:112
+msgid ""
+"For each outgoing message, the transport system solicits \"bids\" from "
+"each transport.\n"
+"The transport bidding the lowest (best) value wins the bid and receives "
+"the message for delivery.\n"
+"A transport may refuse to bid."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:118
+msgid "Whether a transport bids, and with what value, depend on numerous factors:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:122
+msgid "Configuration of transport preferences"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:123
+msgid "Whether the transport is already connected to the peer"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:124
+msgid ""
+"The number of current connections compared to various connection limit "
+"thresholds"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:125
+msgid "Whether recent connection attempts to the peer have failed"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:126
+msgid ""
+"The size of the message, as different transports have different size "
+"limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:127
+msgid ""
+"Whether the peer can accept incoming connections for that transport, as "
+"advertised in its RouterInfo"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:128
+msgid "Whether the connection would be indirect (requiring introducers) or direct"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:129
+msgid "The peer's transport preference, as advertised in its RouterInfo"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:132
+msgid ""
+"In general, the bid values are selected so that two routers are only "
+"connected by a single transport\n"
+"at any one time. However, this is not a requirement."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:139
+msgid "New Transports and Future Work"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:141
+msgid "Additional transports may be developed, including:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:146
+msgid "A TLS/SSH look-alike transport"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:147
+msgid ""
+"An \"indirect\" transport for routers that are not reachable by all other"
+" routers (one form of \"restricted routes\")"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:150
+msgid ""
+"Work continues on adjusting default connection limits for each transport."
+"\n"
+"I2P is designed as a \"mesh network\", where it is assumed that any "
+"router can connect to any other router.\n"
+"This assumption may be broken by routers that have exceeded their "
+"connection limits, and by\n"
+"routers that are behind restrictive state firewalls (restricted routes)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:157
+msgid ""
+"The current connection limits are higher for SSU than for NTCP, based on "
+"the assumption that\n"
+"the memory requirements for an NTCP connection are higher than that for "
+"SSU.\n"
+"However, as NTCP buffers are partially in the kernel and SSU buffers are "
+"on the Java heap,\n"
+"that assumption is difficult to verify."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/index.html:164
+#, python-format
+msgid ""
+"Analyze <a href=\"%(pdf)s\">Breaking and Improving Protocol "
+"Obfuscation</a>\n"
+"and see how transport-layer padding may improve things."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:2
+msgid "NTCP (NIO-based TCP)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:6
+#, python-format
+msgid ""
+"NTCP is one of two <a href=\"%(transports)s\">transports</a> currently "
+"implemented in I2P.\n"
+"The other is <a href=\"%(ssu)s\">SSU</a>.\n"
+"NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n"
+"Java NIO (new I/O) does not suffer from the 1 thread per connection "
+"issues of the old TCP transport.\n"
+"NTCP-over-IPv6 is supported as of version 0.9.8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:14
+msgid ""
+"By default, NTCP uses the IP/Port\n"
+"auto-detected by SSU. When enabled on config.jsp,\n"
+"SSU will notify/restart NTCP when the external address changes\n"
+"or when the firewall status changes.\n"
+"Now you can enable inbound TCP without a static IP or dyndns service."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:22
+msgid ""
+"The NTCP code within I2P is relatively lightweight (1/4 the size of the "
+"SSU code)\n"
+"because it uses the underlying Java TCP transport for reliable delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:28
+msgid "NTCP Protocol Specification"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:30
+msgid "Standard Message Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:31
+msgid ""
+"After establishment,\n"
+"the NTCP transport sends individual I2NP messages, with a simple "
+"checksum.\n"
+"The unencrypted message is encoded as follows:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:41
+msgid ""
+"The data is then AES/256/CBC encrypted. The session key for the "
+"encryption\n"
+"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
+"The establishment between two routers is implemented in the "
+"EstablishState class\n"
+"and detailed below.\n"
+"The IV for AES/256/CBC encryption is the last 16 bytes of the previous "
+"encrypted message."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:49
+msgid ""
+"0-15 bytes of padding are required to bring the total message length\n"
+"(including the six size and checksum bytes) to a multiple of 16.\n"
+"The maximum message size is currently 16 KB.\n"
+"Therefore the maximum data size is currently 16 KB - 6, or 16378 bytes.\n"
+"The minimum data size is 1."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:57
+msgid "Time Sync Message Format"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:58
+msgid ""
+"One special case is a metadata message where the sizeof(data) is 0.  In\n"
+"that case, the unencrypted message is encoded as:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:69
+msgid ""
+"Total length: 16 bytes. The time sync message is sent at approximately 15"
+" minute intervals.\n"
+"The message is encrypted just as standard messages are."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:75
+msgid "Checksums"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:76
+#, python-format
+msgid ""
+"The standard and time sync messages use the Adler-32 checksum\n"
+"as defined in the <a href=\"%(rfc1950)s\">ZLIB Specification</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:82
+msgid "Establishment Sequence"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:83
+msgid ""
+"In the establish state, there is a 4-phase message sequence to exchange "
+"DH keys and signatures.\n"
+"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
+"Then, DSA signatures of the critical data are exchanged to confirm the "
+"connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:97
+msgid "Legend:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:98
+msgid "256 byte DH public keys"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:102
+msgid "timestamps (4 bytes, seconds since epoch)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:103
+msgid "32 byte Session key"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:104
+msgid "2 byte size of Alice identity to follow"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:107
+msgid "DH Key Exchange"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:108
+#, python-format
+msgid ""
+"The initial 2048-bit DH key exchange\n"
+"uses the same shared prime (p) and generator (g) as that used for I2P's\n"
+"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:114
+msgid ""
+"The DH key exchange consists of a number of steps, displayed below.\n"
+"The mapping between these steps and the messages sent between I2P "
+"routers,\n"
+"is marked in bold."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:120
+msgid ""
+"Alice generates a secret integer x. She then calculates <code>X = g^x mod"
+" p</code>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:121
+msgid "Alice sends X to Bob <b>(Message 1)</b>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:122
+msgid ""
+"Bob generates a secret integer y. He then calculates <code>Y = g^y mod "
+"p</code>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:123
+msgid "Bob sends Y to Alice.<b>(Message 2)</b>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:124
+msgid "Alice can now compute <code>sessionKey = Y^x mod p</code>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:125
+msgid "Bob can now compute <code>sessionKey = X^y mod p</code>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:126
+msgid ""
+"Both Alice and Bob now have a shared key <code>sessionKey = g^(x*y) mod "
+"p</code>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:128
+#, python-format
+msgid ""
+"The sessionKey is then used to exchange identities in <b>Message 3</b> "
+"and <b>Message 4</b>.\n"
+"The exponent (x and y) length for the DH exchange is documented on the\n"
+"<a href=\"%(crypto)s#exponent\">cryptography page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:134
+msgid "Message 1 (Session Request)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:135
+#, python-format
+msgid ""
+"This is the DH request. Alice already has Bob's\n"
+"<a href=\"%(commonstructures)s#struct_RouterIdentity\">Router "
+"Identity</a>,\n"
+"IP address, and port, as contained in his\n"
+"<a href=\"%(commonstructures)s#struct_RouterInfo\">Router Info</a>,\n"
+"which was published to the\n"
+"<a href=\"%(netdb)s\">network database</a>.\n"
+"Alice sends Bob:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:148
+#: i2p2www/pages/site/docs/transport/ntcp.html:191
+#: i2p2www/pages/site/docs/transport/ntcp.html:271
+#: i2p2www/pages/site/docs/transport/ntcp.html:354
+msgid "Size:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:150
+msgid "Contents:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:168
+msgid "256 byte X from Diffie Hellman"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:170
+#, python-format
+msgid ""
+"SHA256 Hash(X) xored with SHA256 Hash(Bob's <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:177
+#: i2p2www/pages/site/docs/transport/ntcp.html:258
+#: i2p2www/pages/site/docs/transport/ntcp.html:335
+msgid "Notes:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:178
+msgid ""
+"Bob verifies HXxorHI using his own router hash. If it does not verify,\n"
+"Alice has contacted the wrong router, and Bob drops the connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:184
+msgid "Message 2 (Session Created)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:185
+msgid "This is the DH reply. Bob sends Alice:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:193
+#: i2p2www/pages/site/docs/transport/ntcp.html:273
+#: i2p2www/pages/site/docs/transport/ntcp.html:356
+msgid "Unencrypted Contents:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:215
+#: i2p2www/pages/site/docs/transport/ntcp.html:249
+msgid "256 byte Y from Diffie Hellman"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:217
+msgid "SHA256 Hash(X concatenated with Y)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:220
+#: i2p2www/pages/site/docs/transport/ntcp.html:305
+msgid "4 byte timestamp (seconds since the epoch)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:222
+msgid "12 bytes random data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:227
+#: i2p2www/pages/site/docs/transport/ntcp.html:317
+#: i2p2www/pages/site/docs/transport/ntcp.html:384
+msgid "Encrypted Contents:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:251
+#, python-format
+msgid ""
+"48 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH "
+"session key and\n"
+"                  the last 16 bytes of Y as the IV"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:259
+msgid ""
+"Alice may drop the connection if the clock skew with Bob is too high as "
+"calculated using tsB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:264
+msgid "Message 3 (Session Confirm A)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:265
+msgid ""
+"This contains Alice's router identity, and a DSA signature of the "
+"critical data. Alice sends Bob:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:299
+msgid "2 byte size of Alice's router identity to follow (should always be 387)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:301
+#, python-format
+msgid ""
+"Alice's 387 byte <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:307
+msgid "15 bytes random data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:309
+#, python-format
+msgid ""
+"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA "
+"signature</a> of the following concatenated data:\n"
+"             X, Y, Bob's <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, "
+"tsA, tsB.\n"
+"             Alice signs it with the <a "
+"href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing "
+"key</a> associated with the <a "
+"href=\"%(commonstructures)s#type_SigningPublicKey\">public signing "
+"key</a> in her <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:327
+#, python-format
+msgid ""
+"448 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH"
+" session key and\n"
+"                  the last 16 bytes of HXxorHI (i.e., the last 16 bytes "
+"of message #1) as the IV"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:337
+msgid "Bob verifies the signature, and on failure, drops the connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:340
+msgid ""
+"Bob may drop the connection if the clock skew with Alice is too high as "
+"calculated using tsA."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:347
+msgid "Message 4 (Session Confirm B)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:348
+msgid "This is a DSA signature of the critical data. Bob sends Alice:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:373
+#, python-format
+msgid ""
+"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA "
+"signature</a> of the following concatenated data:\n"
+"             X, Y, Alice's <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, "
+"tsA, tsB.\n"
+"             Bob signs it with the <a "
+"href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing "
+"key</a> associated with the <a "
+"href=\"%(commonstructures)s#type_SigningPublicKey\">public signing "
+"key</a> in his <a "
+"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:379
+msgid "8 bytes random data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:394
+#, python-format
+msgid ""
+"48 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH "
+"session key and\n"
+"                  the last 16 bytes of the encrypted contents of message "
+"#2 as the IV"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:402
+msgid "Alice verifies the signature, and on failure, drops the connection."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:409
+msgid "After Establishment"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:410
+msgid ""
+"The connection is established, and standard or time sync messages may be "
+"exchanged.\n"
+"All subsequent messages are AES encrypted using the negotiated DH session"
+" key.\n"
+"Alice will use the last 16 bytes of the encrypted contents of message #3 "
+"as the next IV.\n"
+"Bob will use the last 16 bytes of the encrypted contents of message #4 as"
+" the next IV."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:419
+msgid "Check Connection Message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:420
+msgid ""
+"Alternately, when Bob receives a connection, it could be a\n"
+"check connection (perhaps prompted by Bob asking for someone\n"
+"to verify his listener).\n"
+"Check Connection is not currently used.\n"
+"However, for the record, check connections are formatted as follows.\n"
+"A check info connection will receive 256 bytes containing:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:429
+msgid "32 bytes of uninterpreted, ignored data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:430
+msgid "1 byte size"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:431
+msgid ""
+"that many bytes making up the local router's IP address (as reached by "
+"the remote side)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:432
+msgid "2 byte port number that the local router was reached on"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:433
+msgid ""
+"4 byte i2p network time as known by the remote side (seconds since the "
+"epoch)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:434
+msgid "uninterpreted padding data, up to byte 223"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:435
+msgid ""
+"xor of the local router's identity hash and the SHA256 of bytes 32 "
+"through bytes 223"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:439
+msgid "Discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:440
+#, python-format
+msgid "Now on the <a href=\"%(ntcpdisc)s\">NTCP Discussion Page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:446
+msgid "The maximum message size should be increased to approximately 32 KB."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:450
+msgid ""
+"A set of fixed packet sizes may be appropriate to further hide the data \n"
+"fragmentation to external adversaries, but the tunnel, garlic, and end to"
+" \n"
+"end padding should be sufficient for most needs until then.\n"
+"However, there is currently no provision for padding beyond the next "
+"16-byte boundary,\n"
+"to create a limited number of message sizes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:458
+msgid ""
+"Memory utilization (including that of the kernel) for NTCP should be "
+"compared to that for SSU."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:462
+msgid ""
+"Can the establishment messages be randomly padded somehow, to frustrate\n"
+"identification of I2P traffic based on initial packet sizes?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ntcp.html:467
+msgid "Review and possibly disable 'check connection'"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:2
+msgid "Secure Semireliable UDP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:8
+#, python-format
+msgid ""
+"SSU (also called \"UDP\" in much of the I2P documentation and user "
+"interfaces)\n"
+"is one of two <a href=\"%(transports)s\">transports</a> currently "
+"implemented in I2P.\n"
+"The other is <a href=\"%(ntcp)s\">NTCP</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:14
+msgid ""
+"SSU is the newer of the two transports,\n"
+"introduced in I2P release 0.6.\n"
+"In a standard I2P installation, the router uses both NTCP and SSU for "
+"outbound connections.\n"
+"SSU-over-IPv6 is supported as of version 0.9.8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:21
+msgid "SSU Services"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:23
+msgid ""
+"Like the NTCP transport, SSU provides reliable, encrypted, connection-"
+"oriented, point-to-point data transport.\n"
+"Unique to SSU, it also provides IP detection and NAT traversal services, "
+"including:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:29
+msgid ""
+"Cooperative NAT/Firewall traversal using <a "
+"href=\"#introduction\">introducers</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:30
+msgid ""
+"Local IP detection by inspection of incoming packets and <a "
+"href=\"#peerTesting\">peer testing</a>"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:31
+msgid ""
+"Communication of firewall status and local IP, and changes to either to "
+"NTCP"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:36
+msgid "Protocol Details"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:38
+msgid "Congestion control"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:40
+msgid ""
+"SSU's need for only semireliable delivery, TCP-friendly operation,\n"
+"and the capacity for high throughput allows a great deal of latitude in\n"
+"congestion control.  The congestion control algorithm outlined below is\n"
+"meant to be both efficient in bandwidth as well as simple to implement."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:47
+msgid ""
+"Packets are scheduled according to the router's policy, taking care\n"
+"not to exceed the router's outbound capacity or to exceed the measured \n"
+"capacity of the remote peer.  The measured capacity operates along the\n"
+"lines of TCP's slow start and congestion avoidance, with additive "
+"increases\n"
+"to the sending capacity and multiplicative decreases in face of "
+"congestion.\n"
+"Unlike for TCP, routers may give up on some messages after\n"
+"a given period or number of retransmissions while continuing to transmit"
+" \n"
+"other messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:58
+msgid ""
+"The congestion detection techniques vary from TCP as well, since each \n"
+"message has its own unique and nonsequential identifier, and each message"
+"\n"
+"has a limited size - at most, 32KB.  To efficiently transmit this "
+"feedback\n"
+"to the sender, the receiver periodically includes a list of fully ACKed \n"
+"message identifiers and may also include bitfields for partially received"
+"\n"
+"messages, where each bit represents the reception of a fragment.  If \n"
+"duplicate fragments arrive, the message should be ACKed again, or if the\n"
+"message has still not been fully received, the bitfield should be \n"
+"retransmitted with any new updates."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:70
+msgid ""
+"The current implementation does not pad the packets to\n"
+"any particular size, but instead just places a single message fragment "
+"into\n"
+"a packet and sends it off (careful not to exceed the MTU)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:77
+msgid ""
+"As of router version 0.8.12,\n"
+"two MTU values are used for IPv4: 620 and 1484.\n"
+"The MTU value is adjusted based on the percentage of packets that are "
+"retransmitted."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:83
+msgid ""
+"For both MTU values, it is desirable that (MTU &#37; 16) == 12, so that\n"
+"the payload portion after the 28-byte IP/UDP header is a multiple of\n"
+"16 bytes, for encryption purposes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:89
+msgid ""
+"For the small MTU value, it is desirable to pack a 2646-byte\n"
+"Variable Tunnel Build Message efficiently into multiple packets;\n"
+"with a 620-byte MTU, it fits into 5 packets with nicely."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:95
+msgid ""
+"Based on measurements, 1492 fits nearly all reasonably small I2NP "
+"messages\n"
+"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going "
+"to fit\n"
+"into a live network MTU anyway)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:101
+msgid ""
+"The MTU values were 608 and 1492 for releases 0.8.9 - 0.8.11.\n"
+"The large MTU was 1350 prior to release 0.8.9."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:106
+msgid ""
+"The maximum receive packet size\n"
+"is 1571 bytes as of release 0.8.12.\n"
+"For releases 0.8.9 - 0.8.11 it was 1535 bytes.\n"
+"Prior to release 0.8.9 it was 2048 bytes."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:113
+msgid ""
+"As of release 0.9.2, if a router's network interface MTU is less than "
+"1484,\n"
+"it will publish that in the network database, and other routers should\n"
+"honor that when a connection is established."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:119
+msgid ""
+"For IPv6, the minimum MTU is 1280. The IPv6 IP/UDP header is 48 bytes,\n"
+"so we use an MTU where (MTN &#37; 16 == 0), which is true for 1280.\n"
+"The maximum IPv6 MTU is 1472."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:125
+msgid "Message Size Limits"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:126
+msgid ""
+"While the maximum message size is nominally 32KB, the practical\n"
+"limit differs. The protocol limits the number of fragments to 7 bits, or "
+"128.\n"
+"The current implementation, however, limits each message to a maximum of "
+"64 fragments,\n"
+"which is sufficient for 64 * 534 = 33.3 KB when using the 608 MTU.\n"
+"Due to overhead for bundled LeaseSets and session keys, the practical "
+"limit\n"
+"at the application level is about 6KB lower, or about 26KB.\n"
+"Further work is necessary to raise the UDP transport limit above 32KB.\n"
+"For connections using the larger MTU, larger messages are possible."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:137
+msgid "Keys"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:139
+msgid ""
+"All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.\n"
+"The MAC and session keys are negotiated as part of the DH exchange, used\n"
+"for the HMAC and encryption, respectively.  Prior to the DH exchange, \n"
+"the publicly knowable introKey is used for the MAC and encryption."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:146
+msgid ""
+"When using the introKey, both the initial message and any subsequent\n"
+"reply use the introKey of the responder (Bob) - the responder does \n"
+"not need to know the introKey of the requester (Alice).  The DSA \n"
+"signing key used by Bob should already be known to Alice when she \n"
+"contacts him, though Alice's DSA key may not already be known by \n"
+"Bob."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:155
+msgid ""
+"Upon receiving a message, the receiver checks the \"from\" IP address and"
+" port\n"
+"with all established sessions - if there are matches,\n"
+"that session's MAC keys are tested in the HMAC.  If none\n"
+"of those verify or if there are no matching IP addresses, the \n"
+"receiver tries their introKey in the MAC.  If that does not verify,\n"
+"the packet is dropped.  If it does verify, it is interpreted \n"
+"according to the message type, though if the receiver is overloaded,\n"
+"it may be dropped anyway."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:166
+msgid ""
+"If Alice and Bob have an established session, but Alice loses the \n"
+"keys for some reason and she wants to contact Bob, she may at any \n"
+"time simply establish a new session through the SessionRequest and\n"
+"related messages.  If Bob has lost the key but Alice does not know\n"
+"that, she will first attempt to prod him to reply, by sending a \n"
+"DataMessage with the wantReply flag set, and if Bob continually \n"
+"fails to reply, she will assume the key is lost and reestablish a \n"
+"new one."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:177
+#, python-format
+msgid ""
+"For the DH key agreement,\n"
+"<a href=\"%(rfc3526)s\">RFC3526</a> 2048bit\n"
+"MODP group (#14) is used:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:187
+#, python-format
+msgid ""
+"These are the same p and g used for I2P's\n"
+"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:192
+msgid "Replay prevention"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:194
+msgid ""
+"Replay prevention at the SSU layer occurs by rejecting packets \n"
+"with exceedingly old timestamps or those which reuse an IV.  To\n"
+"detect duplicate IVs, a sequence of Bloom filters are employed to\n"
+"\"decay\" periodically so that only recently added IVs are detected."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:201
+msgid ""
+"The messageIds used in DataMessages are defined at layers above\n"
+"the SSU transport and are passed through transparently.  These IDs\n"
+"are not in any particular order - in fact, they are likely to be\n"
+"entirely random.  The SSU layer makes no attempt at messageId \n"
+"replay prevention - higher layers should take that into account."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:209
+msgid "Addressing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:211
+msgid ""
+"To contact an SSU peer, one of two sets of information is necessary:\n"
+"a direct address, for when the peer is publicly reachable, or an\n"
+"indirect address, for using a third party to introduce the peer.\n"
+"There is no restriction on the number of addresses a peer may have."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:223
+msgid ""
+"Each of the addresses may also expose a series of options - special\n"
+"capabilities of that particular peer.  For a list of available\n"
+"capabilities, see <a href=\"#capabilities\">below</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:229
+#, python-format
+msgid ""
+"The addresses, options, and capabilities are published in the <a "
+"href=\"%(netdb)s\">network database</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:234
+msgid "Direct Session Establishment"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:235
+msgid ""
+"Direct session establishment is used when no third party is required for "
+"NAT traversal.\n"
+"The message sequence is as follows:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:240
+msgid "Connection establishment (direct)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:241
+msgid ""
+"Alice connects directly to Bob.\n"
+"IPv6 is supported as of version 0.9.8."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:256
+#, python-format
+msgid ""
+"After the SessionConfirmed message is received, Bob sends a small\n"
+"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">DeliveryStatus message</a>\n"
+"as a confirmation.\n"
+"In this message, the 4-byte message ID is set to a random number, and the"
+"\n"
+"8-byte \"arrival time\" is set to the current network-wide ID, which is 2"
+"\n"
+"(i.e. 0x0000000000000002)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:265
+#, python-format
+msgid ""
+"After the status message is sent, the peers exchange\n"
+"<a href=\"%(i2npspec)s#msg_DatabaseStore\">DatabaseStore messages</a>\n"
+"containing their\n"
+"<a href=\"%(commonstructures)s#struct_RouterInfo\">RouterInfos</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:273
+msgid ""
+"It does not appear that the type of the status message or its contents "
+"matters.\n"
+"It was originally added becasue the DatabaseStore message was delayed\n"
+"several seconds; since the store is now sent immediately, perhaps\n"
+"the status message can be eliminated."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:282
+msgid ""
+"Introduction keys are delivered through an external channel \n"
+"(the network database, where they are identical to the router Hash for "
+"now)\n"
+"and must be used when establishing a session key.  For the indirect\n"
+"address, the peer must first contact the relayhost and ask them for\n"
+"an introduction to the peer known at that relayhost under the given\n"
+"tag.  If possible, the relayhost sends a message to the addressed\n"
+"peer telling them to contact the requesting peer, and also gives \n"
+"the requesting peer the IP and port on which the addressed peer is\n"
+"located.  In addition, the peer establishing the connection must \n"
+"already know the public keys of the peer they are connecting to (but\n"
+"not necessary to any intermediary relay peer)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:296
+msgid ""
+"Indirect session establishment by means of a third party introduction\n"
+"is necessary for efficient NAT traversal.  Charlie, a router behind a\n"
+"NAT or firewall which does not allow unsolicited inbound UDP packets,\n"
+"first contacts a few peers, choosing some to serve as introducers.  Each\n"
+"of these peers (Bob, Bill, Betty, etc) provide Charlie with an "
+"introduction\n"
+"tag - a 4 byte random number - which he then makes available to the "
+"public\n"
+"as methods of contacting him.  Alice, a router who has Charlie's "
+"published\n"
+"contact methods, first sends a RelayRequest packet to one or more of the"
+" \n"
+"introducers, asking each to introduce her to Charlie (offering the \n"
+"introduction tag to identify Charlie).  Bob then forwards a RelayIntro\n"
+"packet to Charlie including Alice's public IP and port number, then sends"
+"\n"
+"Alice back a RelayResponse packet containing Charlie's public IP and port"
+"\n"
+"number.  When Charlie receives the RelayIntro packet, he sends off a "
+"small\n"
+"random packet to Alice's IP and port (poking a hole in his NAT/firewall),"
+"\n"
+"and when Alice receives Bob's RelayResponse packet, she begins a new \n"
+"full direction session establishment with the specified IP and port."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:323
+msgid "Connection establishment (indirect using an introducer)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:325
+msgid "Alice first connects to introducer Bob, who relays the request to Charlie."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:343
+msgid ""
+"After the hole punch, the session is established between Alice and "
+"Charlie as in a direct establishment."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:355
+msgid "Peer testing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:357
+msgid ""
+"The automation of collaborative reachability testing for peers is\n"
+"enabled by a sequence of PeerTest messages.  With its proper \n"
+"execution, a peer will be able to determine their own reachability\n"
+"and may update its behavior accordingly.  The testing process is \n"
+"quite simple:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:376
+msgid ""
+"Each of the PeerTest messages carry a nonce identifying the\n"
+"test series itself, as initialized by Alice.  If Alice doesn't \n"
+"get a particular message that she expects, she will retransmit\n"
+"accordingly, and based upon the data received or the messages\n"
+"missing, she will know her reachability.  The various end states\n"
+"that may be reached are as follows:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:386
+msgid ""
+"If she doesn't receive a response from Bob, she will retransmit\n"
+"up to a certain number of times, but if no response ever arrives,\n"
+"she will know that her firewall or NAT is somehow misconfigured, \n"
+"rejecting all inbound UDP packets even in direct response to an\n"
+"outbound packet.  Alternately, Bob may be down or unable to get \n"
+"Charlie to reply."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:395
+msgid ""
+"If Alice doesn't receive a PeerTest message with the \n"
+"expected nonce from a third party (Charlie), she will retransmit\n"
+"her initial request to Bob up to a certain number of times, even\n"
+"if she has received Bob's reply already.  If Charlie's first message \n"
+"still doesn't get through but Bob's does, she knows that she is\n"
+"behind a NAT or firewall that is rejecting unsolicited connection\n"
+"attempts and that port forwarding is not operating properly (the\n"
+"IP and port that Bob offered up should be forwarded)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:406
+msgid ""
+"If Alice receives Bob's PeerTest message and both of Charlie's\n"
+"PeerTest messages but the enclosed IP and port numbers in Bob's \n"
+"and Charlie's second messages don't match, she knows that she is \n"
+"behind a symmetric NAT, rewriting all of her outbound packets with\n"
+"different 'from' ports for each peer contacted.  She will need to\n"
+"explicitly forward a port and always have that port exposed for \n"
+"remote connectivity, ignoring further port discovery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:416
+msgid ""
+"If Alice receives Charlie's first message but not his second,\n"
+"she will retransmit her PeerTest message to Charlie up to a \n"
+"certain number of times, but if no response is received she knows\n"
+"that Charlie is either confused or no longer online."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:424
+msgid ""
+"Alice should choose Bob arbitrarily from known peers who seem\n"
+"to be capable of participating in peer tests.  Bob in turn should\n"
+"choose Charlie arbitrarily from peers that he knows who seem to be\n"
+"capable of participating in peer tests and who are on a different\n"
+"IP from both Bob and Alice.  If the first error condition occurs\n"
+"(Alice doesn't get PeerTest messages from Bob), Alice may decide\n"
+"to designate a new peer as Bob and try again with a different nonce."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:434
+msgid ""
+"Alice's introduction key is included in all of the PeerTest \n"
+"messages so that she doesn't need to already have an established\n"
+"session with Bob and so that Charlie can contact her without knowing\n"
+"any additional information.  Alice may go on to establish a session\n"
+"with either Bob or Charlie, but it is not required."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:452
+msgid "Transmission window, ACKs and Retransmissions"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:453
+#, python-format
+msgid ""
+"The DATA message may contain ACKs of full messages and\n"
+"partial ACKs of individual fragments of a message. See\n"
+"the data message section of\n"
+"<a href=\"%(ssuspec)s\">the protocol specification page</a>\n"
+"for details."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:461
+#, python-format
+msgid ""
+"The details of windowing, ACK, and retransmission strategies are not "
+"specified\n"
+"here. See the Java code for the current implementation.\n"
+"During the establishment phase, and for peer testing, routers\n"
+"should implement exponential backoff for retransmission.\n"
+"For an established connection, routers should implement\n"
+"an adjustable transmission window, RTT estimate and timeout, similar to "
+"TCP\n"
+"or <a href=\"%(streaming)s\">streaming</a>.\n"
+"See the code for initial, min and max parameters."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:473
+msgid "Security"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:474
+msgid ""
+"UDP source addresses may, of course, be spoofed.\n"
+"Additionally, the IPs and ports contained inside specific\n"
+"SSU messages (RelayRequest, RelayResponse, RelayIntro, PeerTest)\n"
+"may not be legitimate.\n"
+"Also, certain actions and responses may need to be rate-limited."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:482
+msgid ""
+"The details of validation are not specified\n"
+"here. Implementers should add defenses where appropriate."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:488
+msgid "Peer capabilities"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:492
+msgid ""
+"If the peer address contains the 'B' capability, that means \n"
+"they are willing and able to participate in peer tests as\n"
+"a 'Bob' or 'Charlie'."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:498
+msgid ""
+"If the peer address contains the 'C' capability, that means\n"
+"they are willing and able to serve as an introducer - serving\n"
+"as a Bob for an otherwise unreachable Alice."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:507
+msgid ""
+"Analysis of current SSU performance, including assessment of window size "
+"adjustment\n"
+"and other parameters, and adjustment of the protocol implementation to "
+"improve\n"
+"performance, is a topic for future work."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:513
+msgid ""
+"The current implementation repeatedly sends acknowledgments for the same "
+"packets,\n"
+"which unnecessarily increases overhead."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:518
+msgid ""
+"The default small MTU value of 620 should be analyzed and possibly "
+"increased.\n"
+"The current MTU adjustment strategy should be evaluated.\n"
+"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? "
+"Probably not."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:524
+msgid "The protocol should be extended to exchange MTUs during the setup."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:528
+msgid "Rekeying is currently unimplemented and may never be."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:532
+msgid ""
+"The potential use of the 'challenge' fields in RelayIntro and "
+"RelayResponse,\n"
+"and use of the padding field in SessionRequest and SessionCreated, is "
+"undocumented."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:537
+msgid ""
+"Instead of a single fragment per packet, a more efficient\n"
+"strategy may be to bundle multiple message fragments into the same "
+"packet,\n"
+"so long as it doesn't exceed the MTU."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:543
+msgid ""
+"A set of fixed packet sizes may be appropriate to further hide the data \n"
+"fragmentation to external adversaries, but the tunnel, garlic, and end to"
+" \n"
+"end padding should be sufficient for most needs until then."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:549
+msgid ""
+"Why are introduction keys the same as the router hash, should it be "
+"changed, would there be any benefit?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:553
+msgid "Capacities appear to be unused."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:557
+msgid ""
+"Signed-on times in SessionCreated and SessionConfirmed appear to be "
+"unused or unverified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:562
+msgid "Implementation Diagram"
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:563
+msgid ""
+"This diagram\n"
+"should accurately reflect the current implementation, however there may "
+"be small differences."
+msgstr ""
+
+#: i2p2www/pages/site/docs/transport/ssu.html:571
+msgid "Now on the SSU specification page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:2
+msgid "Tunnel Implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:3
+msgid "October 2010"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:7
+msgid "This page documents the current tunnel implementation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:9
+msgid "Tunnel overview"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:11
+msgid ""
+"Within I2P, messages are passed in one direction through a virtual\n"
+"tunnel of peers, using whatever means are available to pass the \n"
+"message on to the next hop.  Messages arrive at the tunnel's \n"
+"</i>gateway</i>, get bundled up and/or fragmented into fixed-size tunnel "
+"messages, \n"
+"and are forwarded on to the next hop in the tunnel, which processes and "
+"verifies\n"
+"the validity of the message and sends it on to the next hop, and so on, "
+"until\n"
+"it reaches the tunnel endpoint.  That <i>endpoint</i> takes the messages\n"
+"bundled up by the gateway and forwards them as instructed - either\n"
+"to another router, to another tunnel on another router, or locally."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:23
+msgid ""
+"Tunnels all work the same, but can be segmented into two different\n"
+"groups - inbound tunnels and outbound tunnels.  The inbound tunnels\n"
+"have an untrusted gateway which passes messages down towards the \n"
+"tunnel creator, which serves as the tunnel endpoint.  For outbound \n"
+"tunnels, the tunnel creator serves as the gateway, passing messages\n"
+"out to the remote endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:32
+msgid ""
+"The tunnel's creator selects exactly which peers will participate\n"
+"in the tunnel, and provides each with the necessary configuration\n"
+"data.  They may have any number of hops.\n"
+"It is the intent to make\n"
+"it hard for either participants or third parties to determine the length "
+"of \n"
+"a tunnel, or even for colluding participants to determine whether they "
+"are a\n"
+"part of the same tunnel at all (barring the situation where colluding "
+"peers are\n"
+"next to each other in the tunnel)."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:43
+msgid ""
+"In practice, a series of tunnel pools are used for different\n"
+"purposes - each local client destination has its own set of inbound\n"
+"tunnels and outbound tunnels, configured to meet its anonymity and\n"
+"performance needs.  In addition, the router itself maintains a series\n"
+"of pools for participating in the network database and for managing\n"
+"the tunnels themselves."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:52
+msgid ""
+"I2P is an inherently packet switched network, even with these \n"
+"tunnels, allowing it to take advantage of multiple tunnels running \n"
+"in parallel, increasing resilience and balancing load.  Outside of\n"
+"the core I2P layer, there is an optional end to end streaming library \n"
+"available for client applications, exposing TCP-esque operation,\n"
+"including message reordering, retransmission, congestion control, etc."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:61
+#, python-format
+msgid ""
+"An overview of I2P tunnel terminology is\n"
+"<a href=\"%(tunnelrouting)s\">on the tunnel overview page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:66
+msgid "Tunnel Operation (Message Processing)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:69
+#, python-format
+msgid ""
+"After a tunnel is built, <a href=\"%(i2np)s\">I2NP messages</a> are "
+"processed and passed through it.\n"
+"Tunnel operation has four distinct processes, taken on by various \n"
+"peers in the tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:75
+msgid ""
+"First, the tunnel gateway accumulates a number\n"
+"of I2NP messages and preprocesses them into tunnel messages for\n"
+"delivery."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:80
+msgid ""
+"Next, that gateway encrypts that preprocessed data, then\n"
+"forwards it to the first hop."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:84
+msgid ""
+"That peer, and subsequent tunnel \n"
+"participants, unwrap a layer of the encryption, verifying that it isn't\n"
+"a duplicate, then forward it on to the next peer."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:89
+msgid ""
+"Eventually, the tunnel messages arrive at the endpoint where the I2NP "
+"messages\n"
+"originally bundled by the gateway are reassembled and forwarded on as \n"
+"requested."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:96
+msgid ""
+"Intermediate tunnel participants do not know whether they are in an\n"
+"inbound or an outbound tunnel; they always \"encrypt\" for the next hop.\n"
+"Therefore, we take advantage of symmetric AES encryption\n"
+"to \"decrypt\" at the outbound tunnel gateway,\n"
+"so that the plaintext is revealed at the outbound endpoint."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:110
+msgid "Role"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:111
+msgid "Preprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:112
+msgid "Encryption Operation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:113
+msgid "Postprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:117
+msgid "Outbound Gateway (Creator)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:118
+#: i2p2www/pages/site/docs/tunnels/implementation.html:141
+msgid "Fragment, Batch, and Pad"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:119
+msgid "Iteratively encrypt (using decryption operations)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:120
+#: i2p2www/pages/site/docs/tunnels/implementation.html:127
+#: i2p2www/pages/site/docs/tunnels/implementation.html:143
+#: i2p2www/pages/site/docs/tunnels/implementation.html:150
+msgid "Forward to next hop"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:124
+#: i2p2www/pages/site/docs/tunnels/implementation.html:147
+msgid "Participant"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:126
+msgid "Decrypt (using an encryption operation)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:133
+msgid "Decrypt (using an encryption operation) to reveal plaintext tunnel message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:134
+msgid "Reassemble Fragments, Forward as instructed to Inbound Gateway or Router"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:142
+#: i2p2www/pages/site/docs/tunnels/implementation.html:149
+msgid "Encrypt"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:154
+msgid "Inbound Endpoint (Creator)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:156
+msgid "Iteratively decrypt to reveal plaintext tunnel message"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:157
+msgid "Reassemble Fragments, Receive data"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:163
+msgid "Gateway Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:164
+msgid "Message Preprocessing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:166
+#, python-format
+msgid ""
+"A tunnel gateway's function is to fragment and pack\n"
+"<a href=\"%(i2np)s\">I2NP messages</a> into fixed-size\n"
+"<a href=\"%(tunnelmessage)s\">tunnel messages</a>\n"
+"and encrypt the tunnel messages.\n"
+"Tunnel messages contain the following:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:174
+msgid "A 4 byte Tunnel ID"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:175
+msgid "A 16 byte IV (initialization vector)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:176
+msgid "A checksum"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:177
+msgid "Padding, if necessary"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:178
+msgid "One or more { delivery instruction, I2NP message fragment } pairs"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:181
+msgid ""
+"Tunnel IDs are 4 byte numbers used at each hop - participants know what\n"
+"tunnel ID to listen for messages with and what tunnel ID they should be "
+"forwarded\n"
+"on as to the next hop, and each hop chooses the tunnel ID which they "
+"receive messages\n"
+"on.  Tunnels themselves are short-lived (10 minutes).\n"
+"Even if subsequent tunnels are built using the same sequence of \n"
+"peers, each hop's tunnel ID will change."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:190
+msgid ""
+"To prevent adversaries from tagging the messages along the path by "
+"adjusting\n"
+"the message size, all tunnel messages are a fixed 1024 bytes in size.  To"
+" accommodate \n"
+"larger I2NP messages as well as to support smaller ones more efficiently,"
+" the\n"
+"gateway splits up the larger I2NP messages into fragments contained "
+"within each\n"
+"tunnel message.  The endpoint will attempt to rebuild the I2NP message "
+"from the\n"
+"fragments for a short period of time, but will discard them as necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:199
+#, python-format
+msgid ""
+"Details are in the\n"
+"<a href=\"%(tunnelmessage)s\">tunnel message specification</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:205
+msgid "Gateway Encryption"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:207
+msgid ""
+"After the preprocessing of messages into a padded payload, the gateway "
+"builds\n"
+"a random 16 byte IV value, iteratively encrypting it and the tunnel "
+"message as\n"
+"necessary, and forwards the tuple {tunnelID, IV, encrypted tunnel "
+"message} to the next hop."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:213
+msgid ""
+"How encryption at the gateway is done depends on whether the tunnel is an"
+"\n"
+"inbound or an outbound tunnel.  For inbound tunnels, they simply select a"
+" random\n"
+"IV, postprocessing and updating it to generate the IV for the gateway and"
+" using \n"
+"that IV along side their own layer key to encrypt the preprocessed data."
+"  For outbound \n"
+"tunnels they must iteratively decrypt the (unencrypted) IV and "
+"preprocessed \n"
+"data with the IV and layer keys for all hops in the tunnel.  The result "
+"of the outbound\n"
+"tunnel encryption is that when each peer encrypts it, the endpoint will "
+"recover \n"
+"the initial preprocessed data."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:225
+msgid "Participant Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:227
+msgid ""
+"When a peer receives a tunnel message, it checks that the message came "
+"from\n"
+"the same previous hop as before (initialized when the first message comes"
+" through\n"
+"the tunnel).  If the previous peer is a different router, or if the "
+"message has\n"
+"already been seen, the message is dropped.  The participant then encrypts"
+" the \n"
+"received IV with AES256/ECB using their IV key to determine the current "
+"IV, uses \n"
+"that IV with the participant's layer key to encrypt the data, encrypts "
+"the \n"
+"current IV with AES256/ECB using their IV key again, then forwards the "
+"tuple \n"
+"{nextTunnelId, nextIV, encryptedData} to the next hop.  This double "
+"encryption\n"
+"of the IV (both before and after use) help address a certain class of\n"
+"confirmation attacks."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:240
+msgid ""
+"Duplicate message detection is handled by a decaying Bloom filter on "
+"message\n"
+"IVs.  Each router maintains a single Bloom filter to contain the XOR of "
+"the IV and\n"
+"the first block of the message received for all of the tunnels it is "
+"participating\n"
+"in, modified to drop seen entries after 10-20 minutes (when the tunnels "
+"will have\n"
+"expired).  The size of the bloom filter and the parameters used are "
+"sufficient to\n"
+"more than saturate the router's network connection with a negligible "
+"chance of \n"
+"false positive.  The unique value fed into the Bloom filter is the XOR of"
+" the IV \n"
+"and the first block so as to prevent nonsequential colluding peers in the"
+" tunnel \n"
+"from tagging a message by resending it with the IV and first block "
+"switched."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:253
+msgid "Endpoint Processing"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:255
+msgid ""
+"After receiving and validating a tunnel message at the last hop in the "
+"tunnel,\n"
+"how the endpoint recovers the data encoded by the gateway depends upon "
+"whether \n"
+"the tunnel is an inbound or an outbound tunnel.  For outbound tunnels, "
+"the \n"
+"endpoint encrypts the message with its layer key just like any other "
+"participant, \n"
+"exposing the preprocessed data.  For inbound tunnels, the endpoint is "
+"also the \n"
+"tunnel creator so they can merely iteratively decrypt the IV and message,"
+" using the \n"
+"layer and IV keys of each step in reverse order."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:265
+msgid ""
+"At this point, the tunnel endpoint has the preprocessed data sent by the "
+"gateway,\n"
+"which it may then parse out into the included I2NP messages and forwards "
+"them as\n"
+"requested in their delivery instructions."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:272
+msgid "Tunnel Building"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:274
+msgid ""
+"When building a tunnel, the creator must send a request with the "
+"necessary\n"
+"configuration data to each of the hops and wait for all of them to agree "
+"before\n"
+"enabling the tunnel.  The requests are encrypted so that only the peers "
+"who need\n"
+"to know a piece of information (such as the tunnel layer or IV key) has "
+"that\n"
+"data.  In addition, only the tunnel creator will have access to the "
+"peer's\n"
+"reply.  There are three important dimensions to keep in mind when "
+"producing\n"
+"the tunnels: what peers are used (and where), how the requests are sent "
+"(and \n"
+"replies received), and how they are maintained."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:288
+msgid ""
+"Beyond the two types of tunnels - inbound and outbound - there are two "
+"styles\n"
+"of peer selection used for different tunnels - exploratory and client.\n"
+"Exploratory tunnels are used for both network database maintenance and "
+"tunnel\n"
+"maintenance, while client tunnels are used for end to end client messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:296
+msgid "Exploratory tunnel peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:298
+msgid ""
+"Exploratory tunnels are built out of a random selection of peers from a "
+"subset\n"
+"of the network.  The particular subset varies on the local router and on "
+"what their\n"
+"tunnel routing needs are.  In general, the exploratory tunnels are built "
+"out of\n"
+"randomly selected peers who are in the peer's \"not failing but active\" "
+"profile\n"
+"category.  The secondary purpose of the tunnels, beyond merely tunnel "
+"routing,\n"
+"is to find underutilized high capacity peers so that they can be promoted"
+" for\n"
+"use in client tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:308
+#, python-format
+msgid ""
+"Exploratory peer selection is discussed further on the\n"
+"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:314
+msgid "Client tunnel peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:316
+msgid ""
+"Client tunnels are built with a more stringent set of requirements - the "
+"local\n"
+"router will select peers out of its \"fast and high capacity\" profile "
+"category so\n"
+"that performance and reliability will meet the needs of the client "
+"application.\n"
+"However, there are several important details beyond that basic selection "
+"that \n"
+"should be adhered to, depending upon the client's anonymity needs."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:324
+#, python-format
+msgid ""
+"Client peer selection is discussed further on the\n"
+"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:329
+msgid "Peer Ordering within Tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:331
+#, python-format
+msgid ""
+"Peers are ordered within tunnels to deal with the\n"
+"<a href=\"%(pdf)s\">predecessor attack</a>\n"
+"<a href=\"%(pdf2008)s\">(2008 update)</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:338
+msgid ""
+"To frustrate the predecessor \n"
+"attack, the tunnel selection keeps the peers selected in a strict order -"
+"\n"
+"if A, B, and C are in a tunnel for a particular tunnel pool, the hop "
+"after A is always B, and the hop after\n"
+"B is always C."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:345
+msgid ""
+"Ordering is implemented by generating a random 32-byte key for each\n"
+"tunnel pool at startup.\n"
+"Peers should not be able to guess the ordering, or an attacker could\n"
+"craft two router hashes far apart to maximize the chance of being at both"
+"\n"
+"ends of a tunnel.\n"
+"Peers are sorted by XOR distance of the\n"
+"SHA256 Hash of (the peer's hash concatenated with the random key) from "
+"the random key"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:360
+msgid ""
+"Because each tunnel pool uses a different random key, ordering is "
+"consistent\n"
+"within a single pool but not between different pools.\n"
+"New keys are generated at each router restart."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:367
+msgid "Request delivery"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:369
+#, python-format
+msgid ""
+"A multi-hop tunnel is built using a single build message which is "
+"repeatedly\n"
+"decrypted and forwarded. In the terminology of\n"
+"<a href=\"%(pdf)s\">Hashing it out in Public</a>,\n"
+"this is \"non-interactive\" telescopic tunnel building."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:376
+#, python-format
+msgid ""
+"This tunnel request preparation, delivery, and response method is\n"
+"<a href=\"%(tunnelcreation)s\">designed</a> to reduce the number of\n"
+"predecessors exposed, cuts the number of messages transmitted, verifies "
+"proper\n"
+"connectivity, and avoids the message counting attack of traditional "
+"telescopic\n"
+"tunnel creation.\n"
+"(This method, which sends messages to extend a tunnel through the "
+"already-established\n"
+"part of the tunnel, is termed \"interactive\" telescopic tunnel building "
+"in\n"
+"the \"Hashing it out\" paper.)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:387
+#, python-format
+msgid ""
+"The details of tunnel request and response messages, and their "
+"encryption,\n"
+"<a href=\"%(tunnelcreation)s\">are specified here</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:392
+msgid ""
+"Peers may reject tunnel creation requests for a variety of reasons, "
+"though\n"
+"a series of four increasingly severe rejections are known: probabilistic "
+"rejection\n"
+"(due to approaching the router's capacity, or in response to a flood of "
+"requests), \n"
+"transient overload, bandwidth overload, and critical failure.  When "
+"received, \n"
+"those four are interpreted by the tunnel creator to help adjust their "
+"profile of\n"
+"the router in question."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:401
+#, python-format
+msgid ""
+"For more information on peer profiling, see the\n"
+"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:407
+msgid "Tunnel Pools"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:409
+#, python-format
+msgid ""
+"To allow efficient operation, the router maintains a series of tunnel "
+"pools,\n"
+"each managing a group of tunnels used for a specific purpose with their "
+"own\n"
+"configuration.  When a tunnel is needed for that purpose, the router "
+"selects one\n"
+"out of the appropriate pool at random.  Overall, there are two "
+"exploratory tunnel\n"
+"pools - one inbound and one outbound - each using the router's default "
+"configuration.\n"
+"In addition, there is a pair of pools for each local destination -\n"
+"one inbound and one outbound tunnel pool.  Those pools use the "
+"configuration specified\n"
+"when the local destination connects to the router via <a "
+"href=\"%(i2cp)s\">I2CP</a>, or the router's defaults if\n"
+"not specified."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:421
+#, python-format
+msgid ""
+"Each pool has within its configuration a few key settings, defining how "
+"many\n"
+"tunnels to keep active, how many backup tunnels to maintain in case of "
+"failure,\n"
+"how long the tunnels should be, whether those\n"
+"lengths should be randomized, as \n"
+"well as any of the other settings allowed when configuring individual "
+"tunnels.\n"
+"Configuration options are specified on the <a href=\"%(i2cp)s\">I2CP "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:431
+msgid "Tunnel Lengths and Defaults"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:433
+msgid "On the tunnel overview page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:435
+msgid "Anticipatory Build Strategy and Priority"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:437
+msgid ""
+"Tunnel building is expensive, and tunnels expire a fixed time after they "
+"are built.\n"
+"However, when a pool that runs out of tunnels, the Destination is "
+"essentially dead.\n"
+"In addition, tunnel build success rate may vary greatly with both local "
+"and global\n"
+"network conditions.\n"
+"Therefore, it is important to maintain an anticipatory, adaptive build "
+"strategy\n"
+"to ensure that new tunnels are successfully built before they are needed,"
+"\n"
+"without building an excess of tunnels, building them too soon,\n"
+"or consuming too much CPU or bandwidth creating and sending the encrypted"
+" build messages."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:448
+msgid ""
+"For each tuple {exploratory/client, in/out, length, length variance}\n"
+"the router maintains statistics on the time required for a successful\n"
+"tunnel build.\n"
+"Using these statistics, it calculates how long before a tunnel's "
+"expiration\n"
+"it should start attempting to build a replacement.\n"
+"As the expiration time approaches without a successful replacement,\n"
+"it starts multiple build attempts in parallel, and then\n"
+"will increase the number of parallel attempts if necessary."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:459
+msgid ""
+"To cap bandwidth and CPU usage,\n"
+"the router also limits the maximum number of build attempts outstanding\n"
+"across all pools.\n"
+"Critical builds (those for exploratory tunnels, and for pools that have\n"
+"run out of tunnels) are prioritized."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:468
+msgid "Tunnel Message Throttling"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:470
+msgid ""
+"Even though the tunnels within I2P bear a resemblance to a circuit "
+"switched\n"
+"network, everything within I2P is strictly message based - tunnels are "
+"merely\n"
+"accounting tricks to help organize the delivery of messages.  No "
+"assumptions are\n"
+"made regarding reliability or ordering of messages, and retransmissions "
+"are left\n"
+"to higher levels (e.g. I2P's client layer streaming library).  This "
+"allows I2P\n"
+"to take advantage of throttling techniques available to both packet "
+"switched and\n"
+"circuit switched networks.  For instance, each router may keep track of "
+"the \n"
+"moving average of how much data each tunnel is using, combine that with "
+"all of \n"
+"the averages used by other tunnels the router is participating in, and be"
+" able\n"
+"to accept or reject additional tunnel participation requests based on its"
+" \n"
+"capacity and utilization.  On the other hand, each router can simply drop"
+" \n"
+"messages that are beyond its capacity, exploiting the research used on "
+"the \n"
+"normal Internet."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:486
+msgid ""
+"In the current implementation, routers implement a\n"
+"weighted random early discard (WRED) strategy.\n"
+"For all participating routers (internal participant, inbound gateway, and"
+" outbound endpoint),\n"
+"the router will start randomly dropping a portion of messages as the\n"
+"bandwidth limits are approached.\n"
+"As traffic gets closer to, or exceeds, the limits, more messages are "
+"dropped.\n"
+"For an internal participant, all messages are fragmented and padded and "
+"therefore are the same size.\n"
+"At the inbound gateway and outbound endpoint, however, the dropping "
+"decision is made\n"
+"on the full (coalesced) message, and the message size is taken into "
+"account.\n"
+"Larger messages are more likely to be dropped.\n"
+"Also, messages are more likely to be dropped at the outbound endpoint "
+"than the inbound gateway,\n"
+"as those messages are not as \"far along\" in their journey and thus the "
+"network cost of\n"
+"dropping those messages is lower."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:504
+msgid "Mixing/batching"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:506
+msgid ""
+"What strategies could be used at the gateway and at each hop for "
+"delaying,\n"
+"reordering, rerouting, or padding messages?  To what extent should this "
+"be done\n"
+"automatically, how much should be configured as a per tunnel or per hop "
+"setting,\n"
+"and how should the tunnel's creator (and in turn, user) control this "
+"operation?\n"
+"All of this is left as unknown, to be worked out for a distant future "
+"release."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:515
+msgid "Padding"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:516
+msgid ""
+"The padding strategies can be used on a variety of levels, addressing the"
+"\n"
+"exposure of message size information to different adversaries.\n"
+"The current fixed tunnel message size is 1024 bytes.  Within this "
+"however, the fragmented\n"
+"messages themselves are not padded by the tunnel at all, though for end "
+"to end \n"
+"messages, they may be padded as part of the garlic wrapping."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/implementation.html:526
+msgid ""
+"WRED strategies have a significant impact on end-to-end performance,\n"
+"and prevention of network congestion collapse.\n"
+"The current WRED strategy should be carefully evaluated and improved."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/old-implementation.html:2
+msgid "Old Tunnel Implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/old-implementation.html:5
+#, python-format
+msgid ""
+"Note: Obsolete - NOT used!  Replaced in 0.6.1.10 - see <a "
+"href=\"%(tunnelimpl)s\">here</a> for the current implementation"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7
+msgid ""
+"This page describes the origins and design of I2P's unidirectional "
+"tunnels.\n"
+"For further infomrmation see:"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:13
+msgid "Tunnel overview page"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:19
+msgid "Tunnel design discussion"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:21
+msgid "Peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:23
+msgid "Meeting 125 (~13:12-13:30)"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:28
+msgid "Review"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:30
+msgid ""
+"While we aren't aware of any published research on the advantages of \n"
+"unidirecdtional tunnels,\n"
+"they appear to make it harder to detect a \n"
+"request/response pattern, which is quite possible to detect over a \n"
+"bidirectional tunnel.\n"
+"Several apps and protocols, notably HTTP,\n"
+"do transfer data in such manner. Having the traffic follow the same \n"
+"route to its destination and back could make it easier for an \n"
+"attacker who has only timing and traffic volume data to infer the path a"
+" \n"
+"tunnel is taking.\n"
+"Having the response come back along a different path arguably \n"
+"makes it harder."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:45
+msgid ""
+"When dealing with \n"
+"an internal adversary or most external adversaries, I2P's undirectional "
+"tunnels\n"
+"expose half as much traffic data than would be exposed with bidirectional"
+" circuits\n"
+"by simply looking at the flows themselves - an HTTP request and response "
+"would \n"
+"follow the same path in Tor, while in I2P the packets making up the "
+"request \n"
+"would go out through one or more outbound tunnels and the packets making "
+"up \n"
+"the response would come back through one or more different inbound "
+"tunnels."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55
+msgid ""
+"The strategy of using two separate tunnels for inbound and outbound\n"
+"communication is not the only technique available, and it does have "
+"anonymity\n"
+"implications.  On the positive side, by using separate tunnels it lessens"
+" the\n"
+"traffic data exposed for analysis to participants in a tunnel - for "
+"instance,\n"
+"peers in an outbound tunnel from a web browser would only see the traffic"
+" of\n"
+"an HTTP GET, while the peers in an inbound tunnel would see the payload \n"
+"delivered along the tunnel.  With bidirectional tunnels, all participants"
+" would\n"
+"have access to the fact that e.g. 1KB was sent in one direction, then "
+"100KB\n"
+"in the other.  On the negative side, using unidirectional tunnels means "
+"that\n"
+"there are two sets of peers which need to be profiled and accounted for, "
+"and\n"
+"additional care must be taken to address the increased speed of "
+"predecessor\n"
+"attacks.  The tunnel pooling and building process\n"
+"(peer selection and ordering strategies)\n"
+"should minimize the worries of the predecessor attack."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:73
+msgid "Anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
+#, python-format
+msgid ""
+"A recent <a href=\"%(pdf)s\">paper by Hermann and Grothoff</a>\n"
+"declared that I2P's unidirectional tunnels \"seems to be a bad design "
+"decision\"."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80
+msgid ""
+"The paper's main point is that\n"
+"deanonymizations on unidirectional tunnels take a longer time, which is "
+"an \n"
+"advantage, but that an attacker can be more certain in the unidirectional"
+" case. \n"
+"Therefore, the paper claims it isn't an advantage at all, but a "
+"disadvantage, at least\n"
+"with long-living eepsites."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88
+msgid ""
+"This conclusion is not fully supported by the paper. Unidirectional "
+"tunnels clearly \n"
+"mitigate other attacks and it's not clear how to trade off the risk of "
+"the \n"
+"attack in the paper\n"
+"with attacks on a bidirectional tunnel architecture."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:95
+msgid ""
+"This conclusion is based on an arbitrary certainty vs. time weighting \n"
+"(tradeoff) that may not be applicable in all cases. For \n"
+"example, somebody could make a list of possible IPs then issue subpoenas "
+"to \n"
+"each. Or the attacker could DDoS each in turn and via a simple \n"
+"intersection attack see if the eepsite goes down or is slowed down. So "
+"close \n"
+"may be good enough, or time may be more important."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104
+msgid ""
+"The conclusion is based on a specific weighting of the importance of "
+"certainty \n"
+"vs. time, and that weighting may be wrong, and it's definitely debatable,"
+" \n"
+"especially in a real world with subpoenas, search warrants, and other "
+"methods \n"
+"available for final confirmation."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:111
+msgid ""
+"A full analysis of the tradeoffs of unidirectional vs. bidirectional \n"
+"tunnels is clearly outside the scope of the paper, and has not been done"
+" \n"
+"elsewhere. For example, how does this attack compare to the numerous "
+"possible \n"
+"timing attacks published about onion-routed networks? Clearly the authors"
+" have not\n"
+"done that analysis, if it's even possible to do it\n"
+"effectively."
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120
+msgid ""
+"Tor uses bidirectional tunnels and has had a lot of academic review. I2P"
+" \n"
+"uses unidirectional tunnels and has had very little review. Does the lack"
+" of a \n"
+"research paper defending unidirectional tunnels mean that it is a poor "
+"design \n"
+"choice, or just that it needs more study? Timing attacks and \n"
+"distributed attacks are difficult to defend against in both I2P and Tor. "
+"The \n"
+"design intent (see references above) was that unidirectional tunnels are "
+"more \n"
+"resistant to timing attacks. However, the paper presents a somewhat "
+"different type of timing \n"
+"attack. Is this attack, innovative as it is, sufficient to label I2P's \n"
+"tunnel architecture (and thus I2P as a whole) a \"bad design\", and by \n"
+"implication clearly inferior to Tor, or is it just a design alternative "
+"that \n"
+"clearly needs further investigation and analysis? There are several other"
+" reasons \n"
+"to consider I2P currently inferior to Tor and other projects (small "
+"network \n"
+"size, lack of funding, lack of review) but is unidirectional tunnels "
+"really a \n"
+"reason?"
+msgstr ""
+
+#: i2p2www/pages/site/docs/tunnels/unidirectional.html:137
+msgid ""
+"In summary, \"bad design decision\" is apparently (since the paper does\n"
+"not label bidirectional tunnels \"bad\") shorthand for \"unidirectional \n"
+"tunnels are unequivocally inferior to bidirectional tunnels\", yet this \n"
+"conclusion is not supported by the paper."
+msgstr ""
+
+#~ msgid "How does I2P work"
+#~ msgstr "Как работает I2P"
+
+#~ msgid "Naming in I2P"
+#~ msgstr "Именование в I2P"
+
+#~ msgid "I2P Plugins"
+#~ msgstr "Плагины I2P"
+
+#~ msgid "A Gentle Introduction"
+#~ msgstr ""
+
+#~ msgid "Tunnel Overview"
+#~ msgstr ""
+
+#~ msgid "I2P Blockfile Specification"
+#~ msgstr ""
+
+#~ msgid "Common structure Specification"
+#~ msgstr ""
+
+#~ msgid "Data types Specification"
+#~ msgstr ""
+
+#~ msgid "SSU Transport"
+#~ msgstr ""
+
+#~ msgid ""
+#~ msgstr ""
+
+#~ msgid "128 bytes\n"
+#~ msgstr ""
+
+#~ msgid "20 bytes\n"
+#~ msgstr ""
+
+#~ msgid "40 bytes\n"
+#~ msgstr ""
+
diff --git a/i2p2www/translations/he/LC_MESSAGES/get-involved.po b/i2p2www/translations/he/LC_MESSAGES/get-involved.po
new file mode 100644
index 0000000000000000000000000000000000000000..94219df96718b6c59389a406362792cdd87e5aab
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/get-involved.po
@@ -0,0 +1,5691 @@
+# Russian translations for I2P.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# IOException <opexob@yandex.ru>, 2013
+# sassy <sassy.but.classic@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2014-01-09 19:32+0000\n"
+"PO-Revision-Date: 2014-01-08 02:30+0000\n"
+"Last-Translator: str4d <str4d@i2pmail.org>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/pages/site/get-involved/donate.html:2
+#: i2p2www/pages/site/get-involved/index.html:77
+msgid "Donate"
+msgstr "Пожертвовать"
+
+#: i2p2www/pages/site/get-involved/donate.html:4
+msgid ""
+"Thank you for your interest in contributing to I2P!\n"
+"The details of how you\n"
+"can make your contribution are provided below."
+msgstr ""
+"Спасибо за ваш интерес проявленный к поддержке проекта I2P!\n"
+"Подробности о том как вы\n"
+"можете сделать свой вклад приведены ниже."
+
+#: i2p2www/pages/site/get-involved/donate.html:11
+#: i2p2www/pages/site/get-involved/donate.html:27
+#, python-format
+msgid ""
+"As of %(date)s, eche|on has been running a\n"
+"<a href=\"%(coinurl)s\">%(cointype)s</a> account for the I2P project.\n"
+"If you'd like to donate using %(cointype)s, just transfer your\n"
+"desired amount of coins to the account <b>%(account)s</b>\n"
+"and leave eche|on a note if you'd like your donation to be\n"
+"mentioned on the I2P webpage."
+msgstr ""
+"C %(date)s, eche|on завел аккаунт\n"
+"<a href=\"%(coinurl)s\">%(cointype)s</a> для проекта I2P.\n"
+"Если вам не нравится жертвовать, используя %(cointype)s, просто "
+"перечислите\n"
+"желаемое количество монет на аккаунт <b>%(account)s</b>\n"
+"и оставьте eche|on запись, если вы хотите, чтобы ваше пожертвование\n"
+"было упомянуто на веб-странице I2P."
+
+#: i2p2www/pages/site/get-involved/donate.html:22
+#: i2p2www/pages/site/get-involved/donate.html:38
+msgid "For easy usage, use the QR code below!"
+msgstr "Для простоты, используйте этот QR код!"
+
+#: i2p2www/pages/site/get-involved/donate.html:44
+#, python-format
+msgid "You can donate direct via PayPal to the account \"%(account)s\"."
+msgstr "Вы можете пожертвовать на прямую через PayPal на аккаунт \"%(account)s\"."
+
+#: i2p2www/pages/site/get-involved/donate.html:50
+msgid "One time donation:"
+msgstr "Разовое пожертвование:"
+
+#: i2p2www/pages/site/get-involved/donate.html:64
+msgid "Donate 10 &euro;/month for 12 months:"
+msgstr "Жертвовать по 10 &euro;/месяц в течение 12 месяцев:"
+
+#: i2p2www/pages/site/get-involved/donate.html:72
+#: i2p2www/pages/site/get-involved/donate.html:84
+#: i2p2www/pages/site/get-involved/donate.html:96
+#: i2p2www/pages/site/get-involved/donate.html:108
+msgid "I2P donation "
+msgstr "пожертвовать I2P"
+
+#: i2p2www/pages/site/get-involved/donate.html:78
+msgid "Donate 20 &euro;/month for 12 months:"
+msgstr "Жертвовать по 20 &euro;/месяц в течение 12 месяцев:"
+
+#: i2p2www/pages/site/get-involved/donate.html:90
+msgid "Donate 30 &euro;/month for 12 months:"
+msgstr "Жертвовать по 30 &euro;/месяц в течение 12 месяцев:"
+
+#: i2p2www/pages/site/get-involved/donate.html:102
+msgid "Donate 50 &euro;/month for 12 months:"
+msgstr "Жертвовать по 50 &euro;/месяц в течение 12 месяцев:"
+
+#: i2p2www/pages/site/get-involved/donate.html:117
+msgid "Flattr this"
+msgstr "Через Flattr"
+
+#: i2p2www/pages/site/get-involved/donate.html:122
+msgid ""
+"If you want to keep more or less anonymous, the option to send money via "
+"mail is also available. But it is less secure\n"
+"as the envelope can be lost on the way to us."
+msgstr ""
+"Если вы хотите более или менее сохранить анонимность, вы можете отправить"
+" деньги почтой. Однако это менее безопасно\n"
+"так как конверт может потеряться по пути к нам. "
+
+#: i2p2www/pages/site/get-involved/donate.html:126
+#, python-format
+msgid ""
+"If you'd like to donate via  snail mail, send an email to <a "
+"href=\"mailto:%(email)s?subject=information about snailmail "
+"donation\">%(email)s</a>\n"
+" and you'll receive an email with instructions detailing how to proceed."
+msgstr ""
+"Если вы хотите сделать пожертвование по средствам бумажной почты, "
+"отправьте электронное письмо на адрес <a "
+"href=\"mailto:%(email)s?subject=information about snailmail "
+"donation\">%(email)s</a>\n"
+" и в ответ вы получите письмо с подробными инструкциями как это "
+"осуществить."
+
+#: i2p2www/pages/site/get-involved/donate.html:131
+#, python-format
+msgid ""
+"In the meantime, feel free to take a look at the generous donations that "
+"have been\n"
+"given in support of the I2P Project at the <a "
+"href=\"%(halloffame)s\">hall of fame</a>."
+msgstr ""
+"А пока, вы можете взглянуть на щедрые пожертвования\n"
+"сделанные проекту I2P в <a href=\"%(halloffame)s\">зале славы</a>."
+
+#: i2p2www/pages/site/get-involved/index.html:2
+msgid "Get Involved!"
+msgstr "Присоединяйтесь!"
+
+#: i2p2www/pages/site/get-involved/index.html:4
+msgid "We need your help!"
+msgstr "Нам нужна ваша помощь!"
+
+#: i2p2www/pages/site/get-involved/index.html:5
+msgid ""
+"To get involved, please feel free to join us on the #i2p IRC channel (on\n"
+"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or "
+"irc.postman.i2p)."
+msgstr ""
+"Что бы принять участие, не стесняясь заходите на наш IRC канал #i2p (на "
+"сервере\n"
+"irc.freenode.net, или в сети I2P на серверах irc.freshcoffee.i2p или "
+"irc.postman.i2p)."
+
+#: i2p2www/pages/site/get-involved/index.html:9
+#, python-format
+msgid ""
+"If you're interested in joining our <a href=\"%(team)s\">team</a>, please"
+" get in\n"
+"touch as we're always looking for eager contributors!"
+msgstr ""
+"Если вы хотите присоединить к нашей <a href=\"%(team)s\">команде</a>, "
+"пожалуйста, свяжитесь с нами, так как мы постоянно ищем новых активных "
+"участников."
+
+#: i2p2www/pages/site/get-involved/index.html:13
+msgid ""
+"We need help in many areas, and you don't need to know Java to "
+"contribute!\n"
+"Here's a list to help you get started!"
+msgstr ""
+"Нам нужна помощь по многим направлениям, поэтому вам не обязательно знать"
+" язык Java, чтобы оказать помощь!\n"
+"Вот список, который поможет вам начать!"
+
+#: i2p2www/pages/site/get-involved/index.html:18
+msgid "Spread the Word!"
+msgstr "Расскажите о нас!"
+
+#: i2p2www/pages/site/get-involved/index.html:19
+msgid ""
+"Tell people about I2P on forums, blogs, and comments to articles.\n"
+"Fix up the Wikipedia article about I2P in your language.\n"
+"Tell your friends."
+msgstr ""
+"Рассказывайте людям о I2P на форумах, в блогах и в комментариях к "
+"статьям.\n"
+"Исправляйте и дополняйте статьи о I2P в Википедии на вашем языке.\n"
+"Расскажите своим друзьям."
+
+#: i2p2www/pages/site/get-involved/index.html:24
+msgid "Testing"
+msgstr "Тестирование"
+
+#: i2p2www/pages/site/get-involved/index.html:25
+#, python-format
+msgid ""
+"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
+"and report results on #i2p or as bugs on <a href=\"%(trac)s\">Trac</a>."
+msgstr ""
+"Запустите последние сборки из <a href=\"%(monotone)s\">monotone</a> \n"
+"и отправьте результаты на #i2p или, в качестве сообщения об ошибке на <a "
+"href=\"%(trac)s\">Trac</a>."
+
+#: i2p2www/pages/site/get-involved/index.html:30
+msgid "Documentation"
+msgstr "Документация"
+
+#: i2p2www/pages/site/get-involved/index.html:31
+msgid ""
+"Help fix the parts of the website that are outdated or incomplete.\n"
+"Translate pages into other languages."
+msgstr ""
+"Помогите исправить разделы сайта, содержащие устаревшую или неполную "
+"информацию.\n"
+"Переводите страницы на другие языки."
+
+#: i2p2www/pages/site/get-involved/index.html:35
+msgid "Pictures"
+msgstr "Изображения"
+
+#: i2p2www/pages/site/get-involved/index.html:36
+msgid "Make some more pictures, fix the old ones on the website"
+msgstr "Добавьте больше картинок, обновите устаревшие на сайте"
+
+#: i2p2www/pages/site/get-involved/index.html:39
+msgid "Content"
+msgstr "Контент"
+
+#: i2p2www/pages/site/get-involved/index.html:40
+msgid "Make an eepsite! Add some content! Contribute to the community!"
+msgstr "Создайте eep-сайт! Добавьте содержимое! Сделайте вклад в сообщество!"
+
+#: i2p2www/pages/site/get-involved/index.html:43
+msgid "Services"
+msgstr "Службы"
+
+#: i2p2www/pages/site/get-involved/index.html:44
+msgid ""
+"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
+"a naming service, a search engine, an eepsite monitor... many of these\n"
+"aren't that hard."
+msgstr ""
+"Запустите службу на eep-сайте. Это может быть прокси-сервер, форум, "
+"трекер, служба имён, поисковый сервис, мониторинг eep-сайтов... много "
+"всего и это не так уж сложно."
+
+#: i2p2www/pages/site/get-involved/index.html:49
+msgid "Applications"
+msgstr "Программы"
+
+#: i2p2www/pages/site/get-involved/index.html:50
+#, python-format
+msgid ""
+"Write or port applications for I2P! There's some guidelines and\n"
+"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
+msgstr ""
+"Создавайте или портируйте программы для I2P! Вы найдёте несколько "
+"руководств и список идей на <a href=\"%(apps)s\">странице приложений</a>."
+
+#: i2p2www/pages/site/get-involved/index.html:54
+msgid "Coding"
+msgstr "Программируйте"
+
+#: i2p2www/pages/site/get-involved/index.html:55
+#, python-format
+msgid ""
+"There's plenty to do if you know Java or are ready to learn.\n"
+"Check for open tickets on <a href=\"%(trac)s\">Trac</a>\n"
+"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
+"some ideas on where to start.\n"
+"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
+msgstr ""
+"Есть много дел, если вы знаете Java или готовы его изучать.\n"
+"Проверьте открытые тикеты на <a href=\"%(trac)s\">Trac</a> \n"
+"или список TODO на <a href=\"http://%(zzz)s\">%(zzz)s</a>, \n"
+"чтобы понять с чего начать.\n"
+"Подробнее смотрите <a href=\"%(newdevs)s\">руководство нового "
+"разработчика</a>."
+
+#: i2p2www/pages/site/get-involved/index.html:64
+msgid "Translation"
+msgstr "Перевод"
+
+#: i2p2www/pages/site/get-involved/index.html:65
+#, python-format
+msgid ""
+"Help translate the website and the software into your language.\n"
+"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
+msgstr ""
+"Помогите перевести веб-сайт и программное обеспечение на ваш язык.\n"
+"Обратитесь к <a href=\"%(newtrans)s\">руководству переводчика</a> для "
+"подробностей."
+
+#: i2p2www/pages/site/get-involved/index.html:69
+msgid "Analysis"
+msgstr "Анализ"
+
+#: i2p2www/pages/site/get-involved/index.html:70
+#, python-format
+msgid ""
+"Study or test the code to look for vulnerabilities.\n"
+"Both anonymity vulnerabilities from the various\n"
+"<a href=\"%(threatmodel)s\">threat models</a>,\n"
+"and DOS and other weaknesses due to securities holes,\n"
+"need researching."
+msgstr ""
+"Изучайте или тестируйте исходный код для выявления уязвимостей.\n"
+"И различные <a href=\"%(threatmodel)s\">модели угроз</a> деанонимизации,\n"
+"и DOS, и другие проблемы безопасности требуют тщательного изучения."
+
+#: i2p2www/pages/site/get-involved/roadmap.html:2
+msgid "Roadmap"
+msgstr "План разработки"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:7
+msgid ""
+"Include some seed data in the distribution so a central reseed location "
+"isn't required?"
+msgstr ""
+"Включить дополнительные начальные данные в дистрибутив, т.о. не будет "
+"необходимости в централизованной начальной загрузке?"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:10
+#, python-format
+msgid ""
+"Reachability Mapping / handle peers partially reachable / enhanced <a "
+"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
+msgstr ""
+"Отображение доступности / обработка частично доступны узлов / улучшить <a"
+" href=\"%(todo)s#fullRestrictedRoutes\">ограниченные маршруты</a>"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:13
+msgid "Improve help pages and website"
+msgstr "Улучшить страницы помощи и веб-сайт"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:14
+msgid "More translations"
+msgstr "Больше переводов"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:15
+msgid "SSU disconnect message"
+msgstr "Сообщение о разрыве соединения SSU"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:16
+msgid "Iterative floodfill lookups"
+msgstr "Итеративный поиск floodfill"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:21
+msgid "Full review of anonymity issues and other vulnerabilities"
+msgstr "Полный пересмотр вопросов анонимности и других уязвимостей"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:22
+msgid ""
+"Reduce memory usage, remove debugging overhead, make it run better on "
+"slow and embedded machines"
+msgstr ""
+"Уменьшить использование памяти, убрать накладные расходы на отладку, "
+"улучшить запуск на медленных устройствах и встраиваемых системах"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:25
+msgid "Docs"
+msgstr "Документация"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:30
+msgid "Full restricted routes"
+msgstr "Полностью ограниченные маршруты"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:35
+msgid "Tunnel mixing and padding"
+msgstr "Смешивание и изменение размера туннелей"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:36
+msgid "User defined message delays"
+msgstr "Задержка сообщений, определяемая пользователем"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:39
+#, python-format
+msgid ""
+"Please see the <a href=\"%(todo)s\">TODO</a> list for more detailed info "
+"about some of these tasks."
+msgstr ""
+"Больше информации по этим задачам можно увидеть здесь: <a "
+"href=\"%(todo)s\">TODO</a>."
+
+#: i2p2www/pages/site/get-involved/todo.html:2
+msgid "I2P Project Targets"
+msgstr "Цели проекта I2P"
+
+#: i2p2www/pages/site/get-involved/todo.html:4
+#, python-format
+msgid ""
+"Below is a more detailed (yet still incomplete) discussion of the major "
+"areas\n"
+"of future development on the core I2P network, spanning the plausibly "
+"planned\n"
+"releases. This does not include stego transports, porting to wireless "
+"devices,\n"
+"or tools to secure the local machine, nor does it include client "
+"applications\n"
+"that will be essential in I2P's success. There are probably other things "
+"that\n"
+"will come up, especially as I2P gets more peer review, but these are the "
+"main\n"
+"'big things'. See also <a href=\"%(roadmap)s\">the roadmap</a>. Want to "
+"help?\n"
+"<a href=\"%(volunteer)s\">Get involved</a>!"
+msgstr ""
+"Ниже приведено более детальное (еще не завершенное) обсуждение основных "
+"областей\n"
+"будущей разработки ядра сети I2P, охватывающее планируемые\n"
+"релизы. Оно не включает в себя транспорт stego, портирование на "
+"беспроводные устройства,\n"
+"или способы обезопасить локальную машину, также не включает в себя "
+"клиентские приложения,\n"
+"что будет иметь важное значение для успеха I2P. Возможно, появятся и "
+"другие вещи,\n"
+"особенно, когда на I2P будет больше рецензий, но нижеприведенное - это "
+"главные\n"
+"'большие вещи'. Смотрите также <a href=\"%(roadmap)s\">roadmap</a>. "
+"Хотите помочь?\n"
+"<a href=\"%(volunteer)s\">Участвуй</a>!"
+
+#: i2p2www/pages/site/get-involved/todo.html:15
+#: i2p2www/pages/site/get-involved/todo.html:53
+msgid "Core functionality"
+msgstr "Основная функциональность"
+
+#: i2p2www/pages/site/get-involved/todo.html:15
+#: i2p2www/pages/site/get-involved/todo.html:27
+#: i2p2www/pages/site/get-involved/todo.html:51
+msgid "link"
+msgstr "ссылка"
+
+#: i2p2www/pages/site/get-involved/todo.html:17
+#: i2p2www/pages/site/get-involved/todo.html:56
+msgid "NAT/Firewall bridging via 1-hop restricted routes"
+msgstr "Преодоление NAT/Firewall в ограниченных маршрутах с 1 прыжком"
+
+#: i2p2www/pages/site/get-involved/todo.html:20
+#: i2p2www/pages/site/get-involved/todo.html:129
+msgid "High degree transport layer with UDP, NBIO, or NIO"
+msgstr "Высокоуровневый маршрут с UDP, NBIO, or NIO"
+
+#: i2p2www/pages/site/get-involved/todo.html:23
+#: i2p2www/pages/site/get-involved/todo.html:217
+msgid "NetworkDB and profile tuning and ejection policy for large nets"
+msgstr "NetworkDB, настройка профиля и политика исключения для больших сетей"
+
+#: i2p2www/pages/site/get-involved/todo.html:27
+#: i2p2www/pages/site/get-involved/todo.html:241
+msgid "Security / anonymity"
+msgstr "Безопасность / анонимность"
+
+#: i2p2www/pages/site/get-involved/todo.html:29
+#: i2p2www/pages/site/get-involved/todo.html:244
+msgid ""
+"Per-hop tunnel id &amp; new permuted TunnelVerificationStructure "
+"encryption"
+msgstr ""
+"Идентификатор туннеля для каждого прыжка &amp; переменное шифрование "
+"TunnelVerificationStructure"
+
+#: i2p2www/pages/site/get-involved/todo.html:32
+#: i2p2www/pages/site/get-involved/todo.html:294
+msgid "Strict ordering of participants within tunnels"
+msgstr "Строгая последовательность участников в туннеле"
+
+#: i2p2www/pages/site/get-involved/todo.html:35
+msgid "Randomly permuted tunnel lengths"
+msgstr "Случайное изменение длины туннеля"
+
+#: i2p2www/pages/site/get-involved/todo.html:38
+#: i2p2www/pages/site/get-involved/todo.html:356
+msgid "Full blown n-hop restricted routes with optional trusted links"
+msgstr ""
+"Полностью разорванные n-прыжковые ограниченные маршруты с необязательными"
+" доверенными ссылками"
+
+#: i2p2www/pages/site/get-involved/todo.html:41
+#: i2p2www/pages/site/get-involved/todo.html:375
+msgid "Hashcash for routerIdentity, destination, and tunnel request"
+msgstr "Hashcash для запросов идентификатора маршрута, пункта назначения и туннеля"
+
+#: i2p2www/pages/site/get-involved/todo.html:44
+#: i2p2www/pages/site/get-involved/todo.html:404
+msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
+msgstr ""
+"Расширенные операции над туннелем "
+"(пакетирование/смешивание/регулирование/изменение размера)"
+
+#: i2p2www/pages/site/get-involved/todo.html:47
+#: i2p2www/pages/site/get-involved/todo.html:441
+msgid "Stop &amp; go mix w/ garlics &amp; tunnels"
+msgstr "Задержка совместно с чесночной маршрутизацией &amp; туннелями"
+
+#: i2p2www/pages/site/get-involved/todo.html:51
+#: i2p2www/pages/site/get-involved/todo.html:455
+msgid "Performance"
+msgstr "Производительность"
+
+#: i2p2www/pages/site/get-involved/todo.html:61
+msgid "Implemented in I2P 0.6.0.6"
+msgstr "Реализовано в I2P 0.6.0.6"
+
+#: i2p2www/pages/site/get-involved/todo.html:62
+msgid ""
+"The functionality of allowing routers to fully participate within the "
+"network \n"
+"while behind firewalls and NATs that they do not control requires some "
+"basic \n"
+"restricted route operation (since those peers will not be able to receive"
+" \n"
+"inbound connections). To do this successfully, you consider peers one of"
+" \n"
+"two ways:"
+msgstr ""
+"Функциональность, позволяющая маршрутизатору, находящемуся за "
+"брандмауэром или NAT, \n"
+"которые он не контролирует, полностью взаимодействовать с сетью, "
+"нуждается в некоторых основных\n"
+"операциях ограниченного маршрута (т.к. эти узлы не смогут принимать \n"
+"входящие подключения). Для этого мы считаем, что узлы могут быть одного\n"
+"из двух возможных типов:"
+
+#: i2p2www/pages/site/get-involved/todo.html:72
+msgid ""
+"<b>Peers who have reachable interfaces</b> - these peers do not need to \n"
+"do anything special"
+msgstr ""
+"<b>Узлы, имеющие доступные интерфейсы</b> - этим узлам не нужно \n"
+"делать ничего особенного"
+
+#: i2p2www/pages/site/get-involved/todo.html:76
+msgid ""
+"<b>Peers who do not have reachable interfaces</b> - these peers must "
+"build \n"
+"a tunnel pointing at them where the gateway is one of the peers they have"
+" \n"
+"established a connection with who has both a publicly reachable interface"
+" \n"
+"and who has agreed to serve as their 'introducer'."
+msgstr ""
+"<b>Узлы, не имеющие доступных интерфейсов</b> - эти узлы должны построить"
+" \n"
+"туннель, указывающий на них, где шлюзом выступает один из узлов, с "
+"которым \n"
+"они установили соединение, последний должен иметь доступный для всех "
+"интерфейс \n"
+"и согласиться служить их 'представителем'."
+
+#: i2p2www/pages/site/get-involved/todo.html:84
+msgid ""
+"To do this, peers who have no IP address simply connect to a few peers, \n"
+"build a tunnel through them, and publish a reference to those tunnels "
+"within \n"
+"their RouterInfo structure in the network database."
+msgstr ""
+"Чтобы сделать это, узлы, у которых нет IP адреса, просто подключаются к "
+"нескольким узлам, \n"
+"строят туннель между ними, и публикуют ссылку на эти туннели внутри \n"
+"их структуры RouterInfo в базе данных сети."
+
+#: i2p2www/pages/site/get-involved/todo.html:89
+msgid ""
+"When someone wants to contact any particular router, they first must get"
+" \n"
+"its RouterInfo from the network database, which will tell them whether "
+"they \n"
+"can connect directly (e.g. the peer has a publicly reachable interface) \n"
+"or whether they need to contact them indirectly. Direct connections occur"
+" \n"
+"as normal, while indirect connections are done through one of the "
+"published \n"
+"tunnels."
+msgstr ""
+"Когда кто-нибудь хочет обратиться к определенному маршрутизатору, сначала"
+" он должен получить \n"
+"RouterInfo этого маршрутизатора из базы данных сети, который подскажет - "
+"можно ли ему \n"
+"подключиться напрямую (т.к. узел имеет общедоступный интерфейс) \n"
+"или нет. Прямые подключения устанавливаются\n"
+"обычным способом, в то время как непрямые соединения устанавливаются "
+"через один из опубликованных \n"
+"туннелей."
+
+#: i2p2www/pages/site/get-involved/todo.html:97
+msgid ""
+"When a router just wants to get a message or two to a specific hidden "
+"peer, \n"
+"they can just use the indirect tunnel for sending the payload. However, \n"
+"if the router wants to talk to the hidden peer often (for instance, as "
+"part \n"
+"of a tunnel), they will send a garlic routed message through the indirect"
+" \n"
+"tunnel to that hidden peer which unwraps to contain a message which "
+"should \n"
+"be sent to the originating router. That hidden peer then establishes an \n"
+"outbound connection to the originating router and from then on, those two"
+" \n"
+"routers can talk to each other directly over that newly established "
+"direct \n"
+"connection."
+msgstr ""
+"Когда маршрутизатор хочет доставить всего одно или два сообщения "
+"определенному скрытому узлу, \n"
+"он может использовать непрямой туннель для отправки трафика. Тем не "
+"менее, \n"
+"если маршрутизатор  хочет часто общаться со скрытым узлом (например, как "
+"с частью \n"
+"туннеля), он отправит чесночно маршрутизированное сообщение через "
+"непрямой \n"
+"туннель этому скрытому узлу, которое распаковывается до сообщения, \n"
+"которое должно быть послано исходному маршрутизатору. Затем этот скрытый "
+"узел устанавливает \n"
+"исходящее соединение с исходным маршрутизатором, и, затем, эти два "
+"маршрутизатора \n"
+"могут общаться друг с другом напрямую через это новое установленное \n"
+"прямое соединение."
+
+#: i2p2www/pages/site/get-involved/todo.html:108
+msgid ""
+"Of course, that only works if the originating peer can receive "
+"connections \n"
+"(they aren't also hidden). However, if the originating peer is hidden, "
+"they \n"
+"can simply direct the garlic routed message to come back to the "
+"originating \n"
+"peer's inbound tunnel."
+msgstr ""
+"Конечно, это работает только если исходный узел может принимать "
+"подключения \n"
+"(он не скрыт). Тем не менее, если исходный узел скрыт, он \n"
+"может направить чесночно маршрутизированное сообщение обратно исходному \n"
+"узлу по его входящему туннелю."
+
+#: i2p2www/pages/site/get-involved/todo.html:114
+msgid ""
+"This is not meant to provide a way for a peer's IP address to be "
+"concealed, \n"
+"merely as a way to let people behind firewalls and NATs fully operate "
+"within \n"
+"the network. Concealing the peer's IP address adds a little more work, as"
+" \n"
+"described <a href=\"#fullRestrictedRoutes\">below.</a>"
+msgstr ""
+"Это не способ скрыть IP адреса узлов, наоборот - этот способ позволяет "
+"людям \n"
+"за брандмауэром или NAT полноценно пользоваться сетью. \n"
+"Сокрытие IP адресов узлов добавляет немного больше работы, как\n"
+"описано <a href=\"#fullRestrictedRoutes\">ниже.</a>"
+
+#: i2p2www/pages/site/get-involved/todo.html:120
+msgid ""
+"With this technique, any router can participate as any part of a tunnel."
+" \n"
+"For efficiency purposes, a hidden peer would be a bad choice for an "
+"inbound \n"
+"gateway, and within any given tunnel, two neighboring peers wouldn't want"
+" \n"
+"to be hidden. But that is not technically necessary."
+msgstr ""
+"Таким способом любой маршрутизатор может выступать любой частью туннеля."
+" \n"
+"С точки зрения эффективности, скрытый узел будет плохим вариантом в "
+"качестве \n"
+"входящего шлюза, и внутри любого туннеля два соседних узлане захотят \n"
+"быть скрытыми. Но технически это не важно."
+
+#: i2p2www/pages/site/get-involved/todo.html:132
+msgid "Both UDP and NIO have been Implemented in I2P"
+msgstr "И UDP, и NIO были реализованы в I2P"
+
+#: i2p2www/pages/site/get-involved/todo.html:133
+msgid ""
+"Standard TCP communication in Java generally requires blocking socket \n"
+"calls, and to keep a blocked socket from hanging the entire system, those"
+" \n"
+"blocking calls are done on their own threads. Our current TCP transport \n"
+"is implemented in a naive fashion - for each peer we are talking to, we \n"
+"have one thread reading and one thread writing. The reader thread simply"
+" \n"
+"loops a bunch of read() calls, building I2NP messages and adding them \n"
+"to our internal inbound message queue, and the writer thread pulls "
+"messages \n"
+"off a per-connection outbound message queue and shoves the data through \n"
+"write() calls."
+msgstr ""
+"В Java для стандартного соединения TCP обычно требуется блокирующий вызов"
+" сокета,\n"
+"и, чтобы предотвратить подвисание системы этим блокированным сокетом,\n"
+"эти блокирующие вызовы выполняются в их собственных потоках. Наш текущий "
+"транспорт TCP\n"
+"реализуется в родном виде - для каждого узла, к которому мы обращаемся,\n"
+"мы имеем один поток для чтения и один для записи. Читающий поток "
+"выполняет\n"
+"цикл вызовов read(), строит сообщение I2NP и добавляет его \n"
+"во внутреннюю очередь входящих сообщений, а записывающий поток вытягивает"
+"\n"
+"сообщения из очереди исходящих сообщений каждого соединения и пропихивает"
+" данные \n"
+"вызовом write()."
+
+#: i2p2www/pages/site/get-involved/todo.html:144
+msgid ""
+"We do this fairly efficiently, from a CPU perspective - at any time, \n"
+"almost all of these threads are sitting idle, blocked waiting for "
+"something \n"
+"to do. However, each thread consumes real resources (on older Linux "
+"kernels, \n"
+"for instance, each thread would often be implemented as a fork()'ed "
+"process). \n"
+"As the network grows, the number of peers each router will want to talk \n"
+"with will increase (remember, I2P is fully connected, meaning that any \n"
+"given peer should know how to get a message to any other peer, and "
+"restricted \n"
+"route support will probably not significantly reduce the number of "
+"connections \n"
+"necessary). This means that with a 100,000 router network, each router \n"
+"will have up to 199,998 threads just to deal with the TCP connections!"
+msgstr ""
+"Мы делаем это довольно эффективно, с точки зрения CPU - в любой момент "
+"времени \n"
+"почти все эти потоки ничего не делают, блокированные в ожидании работы. \n"
+"Тем не менее, каждый поток потребляет реальные системные ресурсы (на "
+"старых ядрах Linux,\n"
+"например, каждый поток будет реализован как fork()-нутый процесс). \n"
+"С ростом сети число узлов, с которым маршрутизатор захочет общаться, \n"
+"будет увеличиваться (запомните, I2P - полностью связана, это означает что"
+" любой\n"
+"узел должен знать как доставить сообщение любому другому узлу, и "
+"поддержка \n"
+"ограниченного маршрута, возможно, не существенно уменьшит число "
+"необходимых\n"
+" соединений). Это означает, что в сети с 100,000 маршрутизаторов, каждый "
+"маршрутизатор \n"
+"будет иметь 199,998 потоков только для поддержки TCP соединений!"
+
+#: i2p2www/pages/site/get-involved/todo.html:156
+msgid ""
+"Obviously, that just won't work. We need to use a transport layer that \n"
+"can scale. In Java, we have two main camps:"
+msgstr ""
+"Очевидно, это просто не будет работать. Мы должны использовать "
+"масштабируемый \n"
+"транспортный уровень. В Java у нас есть два основных лагеря:"
+
+#: i2p2www/pages/site/get-involved/todo.html:161
+#, python-format
+msgid ""
+"Implemented in I2P 0.6 (\"SSU\") as documented <a "
+"href=\"%(ssu)s\">elsewhere</a>"
+msgstr ""
+"Реализованный в I2P 0.6 (\"SSU\"), согласно <a "
+"href=\"%(ssu)s\">описанию</a>"
+
+#: i2p2www/pages/site/get-involved/todo.html:164
+msgid ""
+"Sending and receiving UDP datagrams is a connectionless operation - if \n"
+"we are communicating with 100,000 peers, we simply stick the UDP packets"
+" \n"
+"in a queue and have a single thread pulling them off the queue and "
+"shoving \n"
+"them out the pipe (and to receive, have a single thread pulling in any \n"
+"UDP packets received and adding them to an inbound queue)."
+msgstr ""
+"Отправка и получение дейтаграмм UDP - это операция без установления "
+"соединения - если\n"
+"мы общаемся с 100,000 узлами, мы просто собираем пакеты UDP \n"
+"в очередь и, имеем один поток, извлекающий их из очереди, и отправляющий"
+" \n"
+"их в канал соединения (и, для получения, имеем один поток принимающий "
+"любые \n"
+"пакеты UDP и добавляющий их во входящую очередь)."
+
+#: i2p2www/pages/site/get-involved/todo.html:171
+msgid ""
+"However, moving to UDP means losing the benefits of TCP's ordering, "
+"congestion \n"
+"control, MTU discovery, etc. Implementing that code will take significant"
+" \n"
+"work, however I2P doesn't need it to be as strong as TCP. Specifically, \n"
+"a while ago I was taking some measurements in the simulator and on the \n"
+"live net, and the vast majority of messages transferred would fit easily"
+" \n"
+"within a single unfragmented UDP packet, and the largest of the messages"
+" \n"
+"would fit within 20-30 packets. As mule pointed out, TCP adds a "
+"significant \n"
+"overhead when dealing with so many small packets, as the ACKs are within"
+" \n"
+"an order of magnitude in size. With UDP, we can optimize the transport \n"
+"for both efficiency and resilience by taking into account I2P's "
+"particular \n"
+"needs."
+msgstr ""
+"Тем не менее, движение в сторону UDP означает потерю преимуществ TCP: \n"
+"очередности, контроля блокировок, определения MTU и т.д. Реализация этого"
+" \n"
+"кода - это значительная работа, тем не менее, I2P не должна быть такой же"
+" устойчивой, как TCP.\n"
+"Конкретно, недавно я собирал метрики в симуляторе и в живой сети, \n"
+"и подавляющее большинство переданных сообщений легко уместилось бы \n"
+"в одном нефрагментированном пакете UDP, а самое большое из сообщений \n"
+"уместилось бы в 20-30 пакетах. Как показал mule, TCP добавляет "
+"значительные \n"
+"накладные расходы в случае большого количества маленьких пакетов, т.к. "
+"ACK \n"
+"влияют на увеличение размера. С UDP мы можем оптимизировать транспорт\n"
+"и для эффективности, и для эластичности, с учетом частных потребностей "
+"I2P."
+
+#: i2p2www/pages/site/get-involved/todo.html:184
+msgid "It will be a lot of work though."
+msgstr "И все таки, предстоит выполнить много работы."
+
+#: i2p2www/pages/site/get-involved/todo.html:187
+msgid "NIO or NBIO"
+msgstr "NIO или NBIO"
+
+#: i2p2www/pages/site/get-involved/todo.html:188
+msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")"
+msgstr "NIO реализовано в I2P 0.6.1.22 (\"NTCP\")"
+
+#: i2p2www/pages/site/get-involved/todo.html:191
+msgid ""
+"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java"
+" \n"
+"developers to take advantage of the operating system's nonblocking IO \n"
+"capabilities - allowing you to maintain a large number of concurrent IO \n"
+"operations without requiring a separate thread for each. There is much \n"
+"promise with this approach, as we can scalable handle a large number of \n"
+"concurrent connections and we don't have to write a mini-TCP stack with \n"
+"UDP. However, the NIO packages have not proven themselves to be battle-"
+"ready, \n"
+"as the Freenet developer's found. In addition, requiring NIO support "
+"would \n"
+"mean we can't run on any of the open source JVMs like <a "
+"href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
+"as <a href=\"http://www.classpath.org/\">GNU/Classpath</a> has only "
+"limited \n"
+"support for NIO. <i>(note: this may not be the case anymore, as there \n"
+"has been some progress on Classpath's NIO, but it is an unknown "
+"quantity)</i>"
+msgstr ""
+"В Java 1.4 был представлен набор пакетов \"New I/O\", позволяющий "
+"разработчикам \n"
+"Java получить преимущество возможностей неблокирующих системных вызовов "
+"I/O,\n"
+"позволяющих выполнять большое количество конкурирующих операций \n"
+"ввода/вывода, не требующих отдельного потока для каждой операции. \n"
+"Это многообещающая возможность, т.к. мы можем масштабируемо работать с "
+"большим количеством\n"
+"конкурирующих соединений, и на не нужно писать мини-TCP стек с UDP. \n"
+"Тем не менее, пакеты NIO не доказали свою боеспособность, \n"
+"как было обнаружено разработчиками Freenet. Кроме того, необходимость "
+"поддержки NIO \n"
+"означала бы, что мы не можем запуститься на любой JVM с открытым исходным"
+" кодом, как <a href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
+"т.к. только <a href=\"http://www.classpath.org/\">GNU/Classpath</a> имеет"
+" ограниченную \n"
+"поддержку NIO. <i>(к сведению: это может быть уже не так, так как \n"
+"в Classpath'ах NIO был достигнут некоторый прогресс, но пока ничего "
+"определенного)</i>"
+
+#: i2p2www/pages/site/get-involved/todo.html:205
+#, python-format
+msgid ""
+"Another alternative along the same lines is the <a href=\"%(link)s\">Non"
+" \n"
+"Blocking I/O</a> package - essentially a cleanroom NIO implementation \n"
+"(written before NIO was around). It works by using some native OS code \n"
+"to do the nonblocking IO, passing off events through Java. It seems to \n"
+"be working with Kaffe, though there doesn't seem to be much development \n"
+"activity on it lately (likely due to 1.4's NIO deployment)."
+msgstr ""
+"Другая альтернатива по той же схеме - это пакет <a href=\"%(link)s\">Non"
+" \n"
+"Blocking I/O</a> - по сути подчищенная реализация NIO (написанная до "
+"появления NIO). Он использует некоторый родной код OS, \n"
+"чтобы выполнять неблокирующие вызовы IO, пропуская события через Java. "
+"Кажется, \n"
+"оно работает с Kaffe, хотя, похоже, в последнее время разработка ведется\n"
+"не очень активно (вероятно, это связано с разработкой NIO 1.4)."
+
+#: i2p2www/pages/site/get-involved/todo.html:220
+msgid ""
+"Within the current network database and profile management "
+"implementation, \n"
+"we have taken the liberty of some practical shortcuts. For instance, we \n"
+"don't have the code to drop peer references from the K-buckets, as we \n"
+"don't have enough peers to even plausibly fill any of them, so instead, \n"
+"we just keep the peers in whatever bucket is appropriate. Another example"
+" \n"
+"deals with the peer profiles - the memory required to maintain each "
+"peer's \n"
+"profile is small enough that we can keep thousands of full blown profiles"
+" \n"
+"in memory without problems. While we have the capacity to use trimmed \n"
+"down profiles (which we can maintain 100s of thousands in memory), we \n"
+"don't have any code to deal with moving a profile from a \"minimal "
+"profile\" \n"
+"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to"
+" simply \n"
+"eject a profile altogether. It just wouldn't be practical to write that \n"
+"code yet, since we aren't going to need it for a while."
+msgstr ""
+"В рамках реализации нынешней базы данных сети и управления профилями\n"
+"мы используем несколько практичных упрощений. Например, у нас нет\n"
+"кода, реализующего удаление узла из K-bucket'ов, т.к. у нас нет "
+"достаточного \n"
+"количества узлов, чтобы даже приблизительно заполнить все bucket'ы, "
+"вместо этого, \n"
+"мы просто храним узлы в любых подходящих bucket'ах. Другой пример - \n"
+"работа с профилями узлов - размер памяти, необходимой для хранения "
+"профиля \n"
+"каждого узла, достаточно мал, так что мы можем хранить тысячи полных "
+"профилей \n"
+"в памяти без проблем. До тех пор пока у нас есть возможность использовать"
+" \n"
+"урезанные профили (мы можем хранить их 100-ми тысяч в памяти), \n"
+"у нас нет кода для преобразования профиля из \"минимального профиля\" \n"
+"в \"полный профиль\", из \"полного профиля\" в \"минимальный профиль\", "
+"или просто \n"
+"для выбрасывания обоих профилей. Пока написание такого кода не будет \n"
+"иметь практического значения, т.к. в ближайшее время он не будет нам "
+"нужен."
+
+#: i2p2www/pages/site/get-involved/todo.html:235
+msgid ""
+"That said, as the network grows we are going to want to keep these "
+"considerations \n"
+"in mind. We will have some work to do, but we can put it off for later."
+msgstr ""
+"Как было упомянут, с ростом сети мы будем помнить об этих моментах. \n"
+"У нас есть над чем поработать, но мы можем отложить это на потом."
+
+#: i2p2www/pages/site/get-involved/todo.html:247
+#: i2p2www/pages/site/get-involved/todo.html:331
+#, python-format
+msgid ""
+"Addressed in I2P 0.5 as documented <a "
+"href=\"%(tunnelimpl)s\">elsewhere</a>"
+msgstr ""
+"Планируется реализовать в I2P 0.5 согласно <a "
+"href=\"%(tunnelimpl)s\">описанию</a>"
+
+#: i2p2www/pages/site/get-involved/todo.html:250
+msgid ""
+"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n"
+"going to Dave, then to Charlie, then Bob, and finally Alice "
+"(A&lt;--B&lt;--C&lt;--D&lt;--E), \n"
+"all five of them will know they are participating in tunnel \"123\", as \n"
+"the messages are tagged as such. What we want to do is give each hop "
+"their \n"
+"own unique tunnel hop ID - Charlie will receive messages on tunnel 234 \n"
+"and forward them to tunnel 876 on Bob. The intent is to prevent Bob or \n"
+"Charlie from knowing that they are in Alice's tunnel, as if each hop in \n"
+"the tunnel had the same tunnel ID, collusion attacks aren't much work."
+msgstr ""
+"Сейчас, если Alice строит входящий туннель с четырьмя отрезками, \n"
+"начиная от Elvis, к Dave, затем к Charlie, затем к Bob, и, наконец, к "
+"Alice  \n"
+"(A&lt;--B&lt;--C&lt;--D&lt;--E), то все четверо будут знать, что они "
+"общаются через туннель \n"
+"\"123\", как это указано в сообщении. Что мы хотим сделать, так это дать "
+"каждому отрезку \n"
+"уникальный ID отрезка туннеля - Chrlie получить сообщение по туннелю 234"
+" \n"
+"и перенаправит его в туннель 876 к Bob. Это нужно для того, чтобы  Bob "
+"или \n"
+"Charlie не знали что они находятся в туннеле Alice - из-за того что "
+"каждый прыжок \n"
+"в туннеле имеет один и тот же ID туннеля, и атака сговором - collusion "
+"attack - не сработает."
+
+#: i2p2www/pages/site/get-involved/todo.html:260
+msgid ""
+"Adding a unique tunnel ID per hop isn't hard, but by itself, "
+"insufficient. \n"
+"If Dave and Bob are under the control of the same attacker, they wouldn't"
+" \n"
+"be able to tell they are in the same tunnel due to the tunnel ID, but \n"
+"would be able to tell by the message bodies and verification structures \n"
+"by simply comparing them. To prevent that, the tunnel must use layered \n"
+"encryption along the path, both on the payload of the tunneled message \n"
+"and on the verification structure (used to prevent simple tagging "
+"attacks). \n"
+"This requires some simple modifications to the TunnelMessage, as well \n"
+"as the inclusion of per-hop secret keys delivered during tunnel creation"
+" \n"
+"and given to the tunnel's gateway. We must fix a maximum tunnel length \n"
+"(e.g. 16 hops) and instruct the gateway to encrypt the message to each \n"
+"of the 16 delivered secret keys, in reverse order, and to encrypt the \n"
+"signature of the hash of the (encrypted) payload at each step. The "
+"gateway \n"
+"then sends that 16-step encrypted message, along with a 16-step and "
+"16-wide \n"
+"encrypted mapping to the first hop, which then decrypts the mapping and \n"
+"the payload with their secret key, looking in the 16-wide mapping for \n"
+"the entry associated with their own hop (keyed by the per-hop tunnel ID)"
+" \n"
+"and verifying the payload by checking it against the associated signed \n"
+"hash."
+msgstr ""
+"Добавить уникальный ID туннеля для каждого прыжка не сложно, но этого не "
+"достаточно. \n"
+"Если Dave и Bob контролируются одним атакующим, они не смогут сказать \n"
+"что они в одном туннеле из-за ID туннелей, но это можно выяснить по "
+"содержимому сообщений \n"
+"и структуре верификации, просто сравнив их. Чтобы избежать этого, туннель"
+" \n"
+"должен использовать слоеное шифрование на всем пути, и над содержимым "
+"сообщения, \n"
+"и над структурой верификации (необходимо для предотвращения простой атаки"
+" по меткам - tagging attack). \n"
+"Для этого необходимо немного модифицировать TunnelMessage, а также \n"
+"добавить секретные ключи прыжков, отправленные во время создания туннеля,"
+" \n"
+"и отданные шлюзу туннеля. Мы должны зафиксировать максимальную длину "
+"туннеля \n"
+"(например, 16 отрезков), и сказать шлюзу шифровать сообщения для каждого"
+" \n"
+"из 16 секретных ключей, в обратном порядке, и зашифровать \n"
+"подпись хеша (шифрованного) содержимого на каждом шаге. Затем шлюз \n"
+"отсылает эти 16-кратно зашифрованное сообщение, вместе с 16-кратным и "
+"16-wide \n"
+"зашифрованным маппингом в первый прыжок, который дешифрует маппинг и \n"
+"содержимое своим секретным ключом, ищет в 16-wide маппинге "
+"ассоциированную \n"
+"с его прыжком информацию (по ключу ID отрезка туннеля) \n"
+"и верифицирует содержимое по связанному с ним подписанному \n"
+"хешу."
+
+#: i2p2www/pages/site/get-involved/todo.html:281
+msgid ""
+"The tunnel gateway does still have more information than the other peers"
+" \n"
+"in the tunnel, and compromising both the gateway and a tunnel participant"
+" \n"
+"would allow those peers to collude, exposing the fact that they are both"
+" \n"
+"in the same tunnel. In addition, neighboring peers know that they are \n"
+"in the same tunnel anyway, as they know who they send the message to (and"
+" \n"
+"with IP-based transports without restricted routes, they know who they \n"
+"got it from). However, the above two techniques significantly increase \n"
+"the cost of gaining meaningful samples when dealing with longer tunnels."
+msgstr ""
+"Шлюз туннеля все еще имеет больше информации, чем другие узлы \n"
+"в туннеле, и одновременное компрометирование шлюза и участника туннеля \n"
+"позволит этим узлам сговориться, раскрывая тот факт, что они оба "
+"находятся \n"
+"в одном туннеле. Также, в любом случае, соседние узлы знают, что они в "
+"одном \n"
+"и том же туннеле, поскольку они знают кому они отсылают сообщение \n"
+"(и с основанным на IP транспортом без ограниченных маршрутов они знают \n"
+"от кого они их получили). Тем не менее, оба описанных выше метода "
+"значительно \n"
+"увеличивают стоимость получения значимых образцов, когда мы имеем дело с "
+"длинными туннелями."
+
+#: i2p2www/pages/site/get-involved/todo.html:297
+msgid "Implemented in release 0.6.2"
+msgstr "Реализовано в 0.6.2"
+
+#: i2p2www/pages/site/get-involved/todo.html:300
+#, python-format
+msgid ""
+"As Connelly <a href=\"%(link)s\">proposed</a> to deal with the\n"
+"<a href=\"%(pdf1)s\">predecessor attack</a> <a href=\"%(pdf2)s\">(2008\n"
+"update)</a>, keeping the order of peers within our tunnels consistent \n"
+"(aka whenever Alice creates a tunnel with both Bob and Charlie in it, \n"
+"Bob's next hop is always Charlie), we address the issue as Bob doesn't \n"
+"get to substantially sample Alice's peer selection group. We may even \n"
+"want to explicitly allow Bob to participate in Alice's tunnels in only \n"
+"one way - receiving a message from Dave and sending it to Charlie - and \n"
+"if any of those peers are not available to participate in the tunnel (due"
+" \n"
+"to overload, network disconnection, etc), avoid asking Bob to participate"
+" \n"
+"in any tunnels until they are back online."
+msgstr ""
+"Как <a href=\"%(link)s\">предложил</a> Connelly, чтобы разобраться с\n"
+"<a href=\"%(pdf1)s\">атакой предшественника</a> <a "
+"href=\"%(pdf2)s\">(обновление от 2008)</a>, сохраняя очередность узлов в "
+"туннеле постоянной \n"
+"(aka когда бы Alice ни создала туннель одновременно с Bob и Charlie, \n"
+"следующий прыжок Bob'а всегда приведет его к Charlie), мы определяем что "
+"Bob никогда \n"
+"не войдет в группу выбора узлов Alice. Мы даже можем \n"
+"разрешить Bob'e взаимодействовать с тунеллями Alice только \n"
+"одним способом - получать сообщения от Dave и отсылать их Charlie - и \n"
+"если любой из этих узлов не доступен для образования туннеля (из-за \n"
+"перегрузки, обрыва связи, и т.д.), не позволять Bob'у учавствовать \n"
+"в любом туннеле до тех пор, пока они не станут доступны."
+
+#: i2p2www/pages/site/get-involved/todo.html:315
+msgid ""
+"More analysis is necessary for revising the tunnel creation - at the \n"
+"moment, we simply select and order randomly within the peer's top tier \n"
+"of peers (ones with fast + high capacity)."
+msgstr ""
+"Для пересмотра процесса создания туннеля необходим более глубокий анализ "
+"- \n"
+"сейчас мы просто выбираем и сортируем случайным образом верхушку списка "
+"узлов (по скорости + большой вместимости)."
+
+#: i2p2www/pages/site/get-involved/todo.html:320
+msgid ""
+"Adding a strict ordering to peers in a tunnel also improves the anonymity"
+" \n"
+"of peers with 0-hop tunnels, as otherwise the fact that a peer's gateway"
+" \n"
+"is always the same would be particularly damning. However, peers with \n"
+"0-hop tunnels may want to periodically use a 1-hop tunnel to simulate \n"
+"the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n"
+"duration) minutes, use a 1-hop tunnel)."
+msgstr ""
+"Введение жесткой очередности узлов в туннеле также улучшает анонимность \n"
+"узлов в 0-прыжковых туннелях, тогда как, в другом случае, тот факт, что "
+"шлюз узла \n"
+"всегда будет одним и тем же, будет особенно губительным. Тем не менее, "
+"узлы \n"
+"с 0-прыжковыми туннелями периодически могут хотеть использовать "
+"1-прыжковый туннель, чтобы симулировать \n"
+"ошибку в обычно надежном узле (и так каждые MTBF*(длительность туннеля) \n"
+"минут, используя 1-прыжковый туннель)."
+
+#: i2p2www/pages/site/get-involved/todo.html:337
+msgid ""
+"Without tunnel length permutation, if someone were to somehow detect that"
+" \n"
+"a destination had a particular number of hops, it might be able to use "
+"that \n"
+"information to identify the router the destination is located on, per the"
+" \n"
+"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n"
+"receives a tunnel message from Charlie and forwards it to Alice, Bob "
+"knows \n"
+"Alice is the final router in the tunnel. If Bob were to identify what "
+"destination \n"
+"that tunnel served (by means of colluding with the gateway and harvesting"
+" \n"
+"the network database for all of the LeaseSets), he would know the router"
+" \n"
+"on which that destination is located (and without restricted routes, that"
+" \n"
+"would mean what IP address the destination is on)."
+msgstr ""
+"Без изменения длины туннеля, если кто-то как-то обнаружит, что \n"
+"до пункта назначения определенное число хопов, это может быть "
+"использовано \n"
+"для обнаружения местоположения маршрутизатора во время атаки "
+"предшественника. \n"
+"Например, если у всех есть 2-прыжковый туннель, и если Bob \n"
+"получает сообщение от Charlie и пересылает его Alice, то Bob знает - \n"
+"Alice - это конечный маршрутизатор в туннеле. Если Bob выяснил, куда "
+"приводит \n"
+"этот туннель (путем сговора со шлюзом и сбора \n"
+"базы данных сети для всех LeaseSets), он узнает маршрутизатор, на которым"
+" \n"
+"расположен пункт назначения (и без ограниченных маршрутов это будет "
+"указывать \n"
+"на IP адрес пункта назначения)."
+
+#: i2p2www/pages/site/get-involved/todo.html:349
+msgid ""
+"It is to counter user behavior that tunnel lengths should be permuted, \n"
+"using algorithms based on the length requested (for example, the 1/MTBF \n"
+"length change for 0-hop tunnels outlined above)."
+msgstr ""
+"Изменяемая длина туннелей должна противостоять поведению пользователей, \n"
+"используя алгоритмы, основанные на длине (для примера, изменение \n"
+"длины на 1/MTBF для 0-прыжковых туннелей, описанных выше)."
+
+#: i2p2www/pages/site/get-involved/todo.html:359
+msgid ""
+"The restricted route functionality described before was simply a "
+"functional \n"
+"issue - how to let peers who would not otherwise be able to communicate \n"
+"do so. However, the concept of allowing restricted routes includes "
+"additional \n"
+"capabilities. For instance, if a router absolutely cannot risk "
+"communicating \n"
+"directly with any untrusted peers, they can set up trusted links through"
+" \n"
+"those peers, using them to both send and receive all of its messages. \n"
+"Those hidden peers who want to be completely isolated would also refuse \n"
+"to connect to peers who attempt to get them to (as demonstrated by the \n"
+"garlic routing technique outlined before) - they can simply take the "
+"garlic \n"
+"clove that has a request for delivery to a particular peer and tunnel \n"
+"route that message out one of the hidden peer's trusted links with "
+"instructions \n"
+"to forward it as requested."
+msgstr ""
+"Функциональность ограниченных маршрутов, описанная ранее, была просто \n"
+"способом - дать возможность подключаться узлам, которые не могут сделать"
+" \n"
+"это иначе. Тем не менее, концепция ограниченных маршрутов добавляет "
+"дополнительные \n"
+"возможности. Например, если маршрутизатор не может рисковать, подключаясь"
+" \n"
+"напрямую к любым ненадежным узлам, он может установить доверенные ссылки"
+" \n"
+"через эти узлы, используя их для отправки и получения всех сообщений. \n"
+"Скрытые узлы, которые хотят быть абсолютно изолированными, также будут \n"
+"избегать подключений к узлам, которые хотят достучаться до них (как ранее"
+" продемонстрировано \n"
+"методом чесночной маршрутизацией) - они могут взять один чесночный "
+"зубчик, \n"
+"который требуется доставить определенному узлу, и маршрутизировать \n"
+"это сообщение в туннель, через доверенную ссылку одного из скрытых узлов"
+" \n"
+"с предписанием переслать его согласно запросу."
+
+#: i2p2www/pages/site/get-involved/todo.html:378
+#, python-format
+msgid ""
+"Within the network, we will want some way to deter people from consuming"
+" \n"
+"too many resources or from creating so many peers to mount a <a "
+"href=\"%(link)s\">Sybil</a> \n"
+"attack. Traditional techniques such as having a peer see who is "
+"requesting \n"
+"a resource or running a peer aren't appropriate for use within I2P, as \n"
+"doing so would compromise the anonymity of the system. Instead, we want \n"
+"to make certain requests \"expensive\"."
+msgstr ""
+"В рамках сети, мы хотим удержать людей от выделения слишком большого \n"
+"количества ресурсов, или от создания слишком большого количества узлов "
+"для осуществления \n"
+"атаки <a href=\"%(link)s\">Sybil</a>. Традиционный подход с наличием "
+"узла, просматривающего кто запрашивает \n"
+"ресурс, или запуск узла, не подходящего для использования в I2P, \n"
+"скомпрометирует анонимность системы. Вместо этого мы хотим \n"
+"сделать такие запросы \"дорогостоящими\"."
+
+#: i2p2www/pages/site/get-involved/todo.html:386
+msgid ""
+"<a href=\"http://www.hashcash.org/\">Hashcash</a> is one technique that \n"
+"we can use to anonymously increase the \"cost\" of doing certain "
+"activities, \n"
+"such as creating a new router identity (done only once on installation),"
+" \n"
+"creating a new destination (done only once when creating a service), or \n"
+"requesting that a peer participate in a tunnel (done often, perhaps 2-300"
+" \n"
+"times per hour). We don't know the \"correct\" cost of each type of "
+"certificate \n"
+"yet, but with some research and experimentation, we could set a base "
+"level \n"
+"that is sufficiently expensive while not an excessive burden for people \n"
+"with few resources."
+msgstr ""
+"<a href=\"http://www.hashcash.org/\">Hashcash</a> - один из методов, "
+"который \n"
+"мы можем использовать для анонимного увеличения \"стоимости\" такой "
+"активности, \n"
+"использование идентификатора нового маршрутизатора (выполняется только "
+"один раз во время установки),\n"
+"создание нового пункта назначения (выполняется только один раз когда "
+"создаем сервис),\n"
+"или запрос на участие узла в туннеле (выполняется часто, возможно 2-300 \n"
+"раз в час). Нам пока неизвестна \"точная\" стоимость каждого типа "
+"удостоверения, \n"
+"но после исследований и экспериментов, мы можем установить начальный "
+"уровень, \n"
+"который будет достаточно дорогостоящим и не будет сильно обременять людей"
+" \n"
+"с ограниченными ресурсами."
+
+#: i2p2www/pages/site/get-involved/todo.html:397
+msgid ""
+"There are a few other algorithms that we can explore for making those \n"
+"requests for resources \"nonfree\", and further research on that front is"
+" \n"
+"appropriate."
+msgstr ""
+"Есть еще несколько других алгоритмов, которые мы можем использовать \n"
+"для \"удорожания\" подобных запросов, и дальнейшие исследования \n"
+"на этом фронте являются целесообразными."
+
+#: i2p2www/pages/site/get-involved/todo.html:407
+#, python-format
+msgid ""
+"To powerful passive external observers as well as large colluding "
+"internal \n"
+"observers, standard tunnel routing is vulnerable to traffic analysis "
+"attacks \n"
+"- simply watching the size and frequency of messages being passed between"
+" \n"
+"routers. To defend against these, we will want to essentially turn some \n"
+"of the tunnels into its own mix cascade - delaying messages received at \n"
+"the gateway and passing them in batches, reordering them as necessary, \n"
+"and injecting dummy messages (indistinguishable from other \"real\" "
+"tunnel \n"
+"messages by peers in the path). There has been a significant amount of \n"
+"<a href=\"%(pdf)s\">research</a> \n"
+"on these algorithms that we can lean on prior to implementing the various"
+" \n"
+"tunnel mixing strategies."
+msgstr ""
+"Для мощных пассивных внешних наблюдателей, так же как и для больших "
+"сговоров \n"
+"внутренних наблюдателей, стандартная туннельная маршрутизация уязвима для"
+" атак с анализом трафика - \n"
+"простое наблюдение за размером и частотой сообщений, передаваемых между \n"
+"маршрутизаторами. Чтобы защититься от этого мы хотим скомпоновать \n"
+"некоторые туннели в смешанный каскад - задерживая сообщения, полученные \n"
+"на шлюзе и отправляя их в группы, при необходимости пересортировывая их,"
+" \n"
+"внедряя пустые сообщения (неотличимые для узлов от других \"реальных\" \n"
+"туннельных сообщений). Было выполнено колоссальное количество \n"
+"<a href=\"%(pdf)s\">исследований</a> \n"
+"этих алгоритмов, на которые мы можем опираться при реализации \n"
+"различных стратегий смешивания туннелей."
+
+#: i2p2www/pages/site/get-involved/todo.html:420
+msgid ""
+"In addition to the anonymity aspects of more varied tunnel operation, \n"
+"there is a functional dimension as well. Each peer only has a certain \n"
+"amount of data they can route for the network, and to keep any particular"
+" \n"
+"tunnel from consuming an unreasonable portion of that bandwidth, they \n"
+"will want to include some throttles on the tunnel. For instance, a tunnel"
+" \n"
+"may be configured to throttle itself after passing 600 messages (1 per \n"
+"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n"
+"last minute). Excess messages may be delayed or summarily dropped. With \n"
+"this sort of throttling, peers can provide ATM-like QoS support for their"
+" \n"
+"tunnels, refusing to agree to allocate more bandwidth than the peer has \n"
+"available."
+msgstr ""
+"Наряду с аспектами анонимности большего количества операций над "
+"туннелями, \n"
+"есть и функциональная составляющая. У каждого узла есть определенное \n"
+"количество данных, которые он может маршрутизировать для сети, и чтобы "
+"уберечь определенный \n"
+"туннель от необоснованного использования полосы пропускания, \n"
+"они захотят добавить некий регулятор в туннель. Например, туннель \n"
+"может быть сконфигурирован на самоограничение после прохождения 600 "
+"сообщений \n"
+"(1 в секунду), 2.4МБ (4КБ/с), или по достижении некоего изменяемого "
+"порога (8КБ/с \n"
+"за последнюю минуту). Избыточные сообщения могут быть задержаны, или "
+"отброшены. \n"
+"С таким регулированием узлы могут обеспечить поддержку QoS типа ATM \n"
+"для их туннелей, избегая выделения полосы пропускания большей, чем \n"
+"доступно узлу."
+
+#: i2p2www/pages/site/get-involved/todo.html:433
+msgid ""
+"In addition, we may want to implement code to dynamically reroute tunnels"
+" \n"
+"to avoid failed peers or to inject additional hops into the path. This \n"
+"can be done by garlic routing a message to any particular peer in a "
+"tunnel \n"
+"with instructions to redefine the next-hop in the tunnel."
+msgstr ""
+"Также, мы можем реализовать код, динамически перемаршрутизирующий "
+"туннели, \n"
+"чтобы уберечься от ошибочных узлов или добавить дополнительные хопы в "
+"маршрут. \n"
+"Это можно сделать, чесночно маршрутизировав сообщение для определенного "
+"узла в туннеле, \n"
+"с предписанием переопределить следующий прыжок в туннеле."
+
+#: i2p2www/pages/site/get-involved/todo.html:444
+msgid ""
+"Beyond the per-tunnel batching and mixing strategy, there are further \n"
+"capabilities for protecting against powerful attackers, such as allowing"
+" \n"
+"each step in a garlic routed path to define a delay or window in which \n"
+"it should be forwarded on. This would enable protections against the long"
+" \n"
+"term intersection attack, as a peer could send a message that looks "
+"perfectly \n"
+"standard to most peers that pass it along, except at any peers where the"
+" \n"
+"clove exposed includes delay instructions."
+msgstr ""
+"Наряду с методами смешивания и объединения туннелей, есть еще \n"
+"возможности для защиты от мощных атак, например, разрешить \n"
+"каждому шагу на пути чесночного маршрута определять задержку или окно, с "
+"которыми \n"
+"должна работать маршрутизация. Это позволит защититься от долгих \n"
+"атак пересечением, т.к. узел может отослать сообщение, которое выглядит "
+"как \n"
+"вполне стандартное для большинства узлов, через которые оно проходит, за "
+"исключением тех узлов, где \n"
+"зубчик подвергается добавлению инструкций по задержке."
+
+#: i2p2www/pages/site/get-involved/todo.html:456
+#, python-format
+msgid ""
+"Performance related improvements are listed on the\n"
+"<a href=\"%(futureperf)s\">Performance</a> page."
+msgstr ""
+"Улучшения, связанные с производительностью, перечислены на странице <a "
+"href=\"%(futureperf)s\">Производительность</a>."
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2
+msgid "Bounty Arabic translation of webpage and router console"
+msgstr "Поощряемый перевод на арабский веб-сайта и консоли маршрутизатора"
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3
+#: i2p2www/pages/site/get-involved/bounties/index.html:118
+msgid "Arabic translation"
+msgstr "Арабский перевод"
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P echelon set out this bounty for translation\n"
+"of the I2P web page and I2P router console into Arabic."
+msgstr ""
+"Чтобы расширить использование I2P и привлечь больше людей\n"
+"в эшелон I2P мы поощряем за перевод\n"
+"веб-сайта I2P и консоли маршрутизатора на арабский."
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12
+msgid "This bounty is set into 2 subparts:"
+msgstr "Награда состоит из 2 частей:"
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14
+msgid "Part 1 is translation of the webpage."
+msgstr "Часть 1 - перевод веб-страницы."
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17
+msgid ""
+"For collecting the bounty of 20 BTC you need to translate the following "
+"pages:"
+msgstr "Чтобы получить 20 биткойнов вам нужно перевести эти страницы:"
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25
+msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada."
+msgstr ""
+"Эта работа была выполнена hamada и награду в 20 биткойнов была выплачена "
+"hamada."
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27
+msgid ""
+"Part 2 is the translation of the router console. The router console was\n"
+"partly translated and the bounty of 80 BTC was paid to hamada."
+msgstr ""
+"Часть 2 - перевод консоли маршрутизатора. Консоль маршрутизатора была \n"
+"частично переведена и награда в 80 биткойнов была выплачена hamada."
+
+#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34
+msgid "Judge is echelon."
+msgstr "Судья - echelon."
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2
+msgid "Bounty creating a I2P native Bitcoin client"
+msgstr "Награда за создание родного I2P клиента Bitcoin"
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3
+msgid "BTC I2P native client"
+msgstr "Родной I2P клиент BTC"
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P this bounty is to create a I2P native Bitcoin client. \n"
+"It should integrate with other client via the I2P network and via "
+"gateways to\n"
+"the existant bitcoin network."
+msgstr ""
+"Ради будущего I2P и для привлечения большего количества людей\n"
+"в I2P награда выплачивается за создание родного I2P клиента Bitcoin. \n"
+"Он должен интегрироваться с другими клиентами через сеть I2P и через "
+"шлюзы \n"
+"в существующую сеть bitcoin."
+
+#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15
+msgid "Judge is psychonaut who donated the first 30 &euro; to this bounty."
+msgstr "Судья - psychonaut, пожертвовавший первые 30 &euro; на эту награду."
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:2
+msgid "Bounty datastorage"
+msgstr "Хранилище данных наград"
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:3
+msgid "datastore"
+msgstr "хранилище данных"
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:6
+msgid ""
+"To improve I2P's usage and to be independent of routers \n"
+"online status we want a datastorage as a extension to I2P.\n"
+"Like in Freenet the datastorage should be distributed and every\n"
+"participating node should be able to configure his options.\n"
+"The files should be saved in chunks and at least 2-3 times to\n"
+"obtain redundancy. Usage of storage space should be auto balanced.\n"
+"As it is a extra application, it should work flawless within I2P and\n"
+"cooperate nice with the I2P router. Maybe a integration within the\n"
+"webpage/router could be done."
+msgstr ""
+"Для улучшения использования I2P и для независимости от сетевого статуса \n"
+"маршрутизаторов, нам нужно хранилище данных в качестве расширения к I2P.\n"
+"Как и в Freenet хранилище данных должно быть распределенным и каждый\n"
+"участвующий узел должен иметь возможность управлять его настройками.\n"
+"Файлы должны сохраняться в памяти по крайней мере 2-3 раза \n"
+"для достижения избыточности. Использование места в хранилище должно "
+"автоматически балансироваться.\n"
+"Поскольку это дополнительное приложение, оно должно безупречно работать в"
+" I2P \n"
+"и взаимодействовать с маршрутизатором I2P. Возможно понадобится \n"
+"интеграция с веб-страницей/маршрутизатором."
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:17
+msgid ""
+"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n"
+"\"eepsites in datastorage\"."
+msgstr ""
+"Эта награда связана с двумя другими: \"Frost для I2P\" и \"Eepsites в "
+"хранилище данных\"."
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:21
+msgid ""
+"The frost for I2P datastorage bounty is paid for a frost like program \n"
+"with which files/messages are stored into database and got from database."
+"\n"
+"It needs to work with a GUI."
+msgstr ""
+"Награда за Frost для хранилища данных I2P выплачивается за программу типа"
+" Frost, \n"
+"которая хранит файлы/сообщения в базе данных, и достает их оттуда.\n"
+"Она должна работать с GUI."
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:26
+msgid ""
+"The eepsite served out of I2P datastorage extends a I2P router to send\n"
+"out eepsites out of the I2P datastorage. All files for eepsites need to "
+"be\n"
+"saved inside of datastorage and are taken from it.\n"
+"Extension:\n"
+"For better integration all datastorage participants could serve that "
+"eepsite."
+msgstr ""
+"Eepsite для хранилища данных I2P расширяет маршрутизатор I2P, \n"
+"для отправки eepsites из хранилища данных I2P. Все файлы для eepsites "
+"должны \n"
+"хранится в хранилище и извлекаться из него.\n"
+"Расширение:\n"
+"Для лучшей интеграции все участники хранилища данных должны обслуживать "
+"eepsite."
+
+#: i2p2www/pages/site/get-involved/bounties/datastore.html:36
+msgid ""
+"For bounties to be declared done and paid, we need the program AND the "
+"source.\n"
+"Source and code need to be licensed under a free license (free to change "
+"and \n"
+"free to distribute)."
+msgstr ""
+"Для выплаты награды нам необходима программа И исходники.\n"
+"Исходники и программа должны распространяться по свободной лицензии "
+"(свободное \n"
+"изменение и распространение)."
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2
+msgid "Bounty I2P package in Debian and Ubuntu mirrors"
+msgstr "Награда за пакет I2P в зеркалах Debian и Ubuntu"
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3
+msgid "I2P Ubuntu/Debian package"
+msgstr "Ubuntu/Debian пакет I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6
+msgid ""
+"For the future of I2P and in order to attract more people\n"
+"to I2P, this bounty was set for including an I2P package into the Ubuntu "
+"and Debian \n"
+"archive mirrors.\n"
+"To claim this bounty, the I2P router package needs to be available from\n"
+"Ubuntu and Debian archive mirrors and Debian bug \n"
+"<a href=\"http://bugs.debian.org/cgi-"
+"bin/bugreport.cgi?bug=448638\">448638</a> \n"
+"needs to be closed successfully."
+msgstr ""
+"Ради будущего I2P и для привлечения большего количества людей\n"
+"к I2P, эта награда установлена за включение пакета I2P в зеркала архивов"
+" \n"
+"Ubuntu и Debian. \n"
+"Для получения этой награды, пакет маршрутизатора I2P должен быть доступен"
+" на архивных зеркалах Ubuntu и Debian, и Debian баг \n"
+"<a href=\"http://bugs.debian.org/cgi-"
+"bin/bugreport.cgi?bug=448638\">448638</a> \n"
+"должен быть успешно закрыт."
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2
+msgid "Bounty I2PHex code implementation"
+msgstr "Награда за реализацию кода I2PHex"
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3
+msgid "i2phex code implementation"
+msgstr "Реализация кода I2PHex"
+
+#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2PHex P2P ArneBab setout the bounty for implementing actual\n"
+"Phex code onto I2PHex."
+msgstr ""
+"Для улучшения использования I2P и привлечения большего количества людей \n"
+"к I2PHex P2P ArneBab установил награду за реализацию актуального \n"
+"кода Phex в I2PHex."
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:2
+msgid "Bounties for I2P"
+msgstr "Награды за I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:5
+msgid ""
+"While we always gratefully accept any contributions of code, \n"
+"documentation, and the like, there are other ways to help I2P move \n"
+"forward.  As with any open source project, our goals would be achieved "
+"more \n"
+"rapidly if we were able to support all of our contributors to work on \n"
+"I2P full time.  However, as with any open source project, that's not a \n"
+"possibility.  Instead, we are making use of a bounty system, whereby \n"
+"anyone can get support for working on something that people want \n"
+"implemented, and people who want to contribute to I2P can be assured that"
+" \n"
+"their support goes to what they care about."
+msgstr ""
+"Мы всегда с благодарностью принимаем любую помощь в написании кода, \n"
+"документации, и т.п., но есть и другие способы помочь продвижению I2P. \n"
+"Как и во всех проектах с открытым исходным кодом, наша цель будет "
+"достигнута \n"
+"быстрее, если мы сможем мотивировать всех наших участников работать \n"
+"над I2P полный рабочий день. Но, как в любом проекте с открытым исходным "
+"кодом, \n"
+"это не возможно. Вместо этого мы создали систему поощрений, благодаря \n"
+"которой все мотивируются за работу над тем, что люди хотят реализовать, \n"
+"и люди, которые хотят пожертвовать средства на I2P могут быть уверены, "
+"что \n"
+"их пожертвования пойдут на то, что им нужно."
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:17
+msgid ""
+"We are also keeping open the ability for people who want to support I2P \n"
+"but don't have strong feelings about the bounties available.  Those "
+"people\n"
+"can simply put their trust in the I2P team to do what we feel is best by\n"
+"donating to a catch-all general fund that will be used as deemed \n"
+"necessary - allocated to various bounties, covering incidentals (hosting,"
+" \n"
+"etc), and the like."
+msgstr ""
+"Мы также оставляем возможность людям, которые хотят поддержать I2P, \n"
+"даже если они не уверены насчет необходимых поощрений. Эти люди \n"
+"просто могут довериться команде I2P, которая работает над тем, что мы "
+"считаем \n"
+"наиболее важным, и жертвовать в общий фонд, который мы будем использовать"
+" \n"
+"по необходимости - распределять на несколько наград, покрывать расходы \n"
+"(хостинг и т.д.), и т.п."
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:26
+msgid "Current bounties"
+msgstr "Текущие награды"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:91
+#: i2p2www/pages/site/get-involved/bounties/index.html:104
+msgid "Name"
+msgstr "Имя"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:91
+#: i2p2www/pages/site/get-involved/bounties/index.html:104
+msgid "Status"
+msgstr "Статус"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:91
+msgid "Judge"
+msgstr "Судья"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:91
+msgid "Dev"
+msgstr "Разработчик"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:29
+#: i2p2www/pages/site/get-involved/bounties/index.html:91
+msgid "Bounty"
+msgstr "Награда"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:31
+msgid "Frost for I2P datastorage"
+msgstr "Frost для хранилища данных I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:32
+#: i2p2www/pages/site/get-involved/bounties/index.html:39
+#: i2p2www/pages/site/get-involved/bounties/index.html:46
+#: i2p2www/pages/site/get-involved/bounties/index.html:53
+#: i2p2www/pages/site/get-involved/bounties/index.html:74
+#: i2p2www/pages/site/get-involved/bounties/index.html:81
+msgid "Proposal in development"
+msgstr "Предложено для разработки"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:34
+#: i2p2www/pages/site/get-involved/bounties/index.html:41
+#: i2p2www/pages/site/get-involved/bounties/index.html:48
+#: i2p2www/pages/site/get-involved/bounties/index.html:55
+#: i2p2www/pages/site/get-involved/bounties/index.html:76
+#: i2p2www/pages/site/get-involved/bounties/index.html:96
+msgid "vacant"
+msgstr "свободно"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:38
+msgid "Eepsites served out of I2P datastorage"
+msgstr "Eepsites для хранилища данных I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:45
+msgid "Backporting Phex code onto I2PHex"
+msgstr "Портирование кода Phex в i2Phex"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:52
+msgid "I2P package in Debian and Ubuntu mirrors"
+msgstr "Пакет I2P на зеркалах Debian и Ubuntu"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:59
+msgid "Bitcoin client for I2P"
+msgstr "Биткойн клиент для I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:60
+msgid "Done, phase of verification"
+msgstr "Выполнено, выполняется верификация"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:66
+msgid "Unit tests and Multi-router Simulation"
+msgstr "Юнит тестирование и симулирование мульти-роутера"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:67
+msgid "Partly done, partly in work, partly still open"
+msgstr "Частично выполнено, частично работает, частично еще в работе"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:88
+msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding"
+msgstr ""
+"Выплата награды задерживается из-за jrandom AWOL и отсутствия "
+"финансирования"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:93
+msgid "Bundling bounties"
+msgstr "Объединение наград"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:94
+msgid "Proposed"
+msgstr "Предложено"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:101
+msgid "Claimed bounties"
+msgstr "Заявленные награды"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:104
+msgid "Dev team"
+msgstr "Команда разработчиков"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:106
+msgid "Make I2P IPv6 native"
+msgstr "Сделать I2P IPv6 нативным"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:113
+msgid "Setting up a SILC server"
+msgstr "Установка сервера SILC"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:123
+msgid "Datastore over I2P"
+msgstr "Хранилище данных над I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:128
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3
+msgid "Russian translation"
+msgstr "Русский перевод"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:133
+msgid "Swarming file transfer"
+msgstr "Сегментированная передача файлов"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:138
+msgid "Streaming library window size"
+msgstr "Размер окна потоковой библиотеки"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:143
+msgid "IRC connect time monitor"
+msgstr "Контроль времени подключения IRC"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:148
+msgid "Unit tests (part 1)"
+msgstr "Юнит тестирование (часть1)"
+
+#: i2p2www/pages/site/get-involved/bounties/index.html:160
+msgid ""
+"Dev lists anyone who may already be working on the bounty - collaboration"
+" is\n"
+"preferred, so if you're interested in working on it, please contact one "
+"of the\n"
+"people listed!"
+msgstr ""
+"Перечислены все, кто уже работает за награду - сотрудничество является \n"
+"предпочтительным, так что если вы заинтересованы в этой работе, \n"
+"пожалуйста, свяжитесь с перечисленными людьми!"
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2
+msgid "Bounty I2P IPv6 native"
+msgstr "Награда за нативный I2P IPv6"
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3
+msgid "native IPv6 I2P"
+msgstr "нативный IPv6 I2P"
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n"
+"To claim this bounty, the I2P router needs to run full on native\n"
+"IPv6 connections like it does on IPv4."
+msgstr ""
+"Ради будущего I2P и привлечения большего количества людей \n"
+"в I2P, я снимаю награду за vuze и предлагаю награду за IPv6.\n"
+"Награда выплачивается за реализацию полной поддержки нативного \n"
+"IPv6 в маршрутизаторе I2P, как это сделано для IPv4."
+
+#: i2p2www/pages/site/get-involved/bounties/ipv6.html:17
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20
+msgid ""
+"For bounties to be declared done and paid, we need the plugin AND the "
+"source.\n"
+"Source and code need to be licensed under a free license (free to change "
+"and \n"
+"free to distribute)."
+msgstr ""
+"Чтобы награда числилась завершенной и выплаченной необходимо предоставить"
+" плагин И исходники.\n"
+"Исходники должны быть предоставлены по свободной лицензии (свободное \n"
+"изменение и распространение)."
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:2
+msgid "NetDB Backend"
+msgstr "Бэкенд NetDB"
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:3
+msgid "netDB backend"
+msgstr "Бэкенд netDB"
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:7
+msgid ""
+"The current NetDB implementation (namely the FloodFill system)\n"
+"needs to be extended with another backend to improve reliability,\n"
+"reduce attack surface and solve the scalability issue for the \n"
+"coming years."
+msgstr ""
+"Текущую реализацию NetDB (а точнее, систему FloodFill) \n"
+"нужно расширить другим бэкендом для улучшения надежности, \n"
+"уменьшения поверхности атаки и решения вопросов масштабирования \n"
+"в ближайшие годы."
+
+#: i2p2www/pages/site/get-involved/bounties/netdb.html:14
+msgid ""
+"A solution likely based on a DHT will be investigated and \n"
+"finally implemented."
+msgstr ""
+"Будет рассмотрено и наконец-то реализовано решение на основе \n"
+"DHT."
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2
+msgid "Bounty russian translation of webpage and router console"
+msgstr "Награда за русский перевод веб-страниц и консоли маршрутизатора"
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P a anonymous donator set out the bounty for translation\n"
+"of the I2P web page and I2P router console into russian language."
+msgstr ""
+"Для улучшения использования I2P и привлечения большего количества людей \n"
+"в I2P анонимный даритель установил награду за перевод \n"
+"веб-страниц I2P и консоли маршрутизатора I2P на русский язык."
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17
+msgid ""
+"For collecting the bounty of $115 USD you need to translate the following"
+" pages:"
+msgstr ""
+"Для получения награды в $115 USD вам необходимо перевести следующие "
+"страницы:"
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30
+msgid ""
+"Part 2 is the translation of the router console. The whole router console"
+" needs\n"
+"to be translated to collect the bounty of $115 USD."
+msgstr ""
+"Часть 2 - перевод консоли маршрутизатора. Вся консоль маршрутизатора \n"
+"должны быть переведена для получения награды в $115 USD."
+
+#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37
+msgid "Judge is the russian donor."
+msgstr "Судья - русский даритель."
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:2
+msgid "Bounty migrate I2P IRC to SILC"
+msgstr "Награда за миграцию I2P IRC на SILC"
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:3
+msgid "I2P silc server"
+msgstr "I2P silc сервер"
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:7
+msgid ""
+"For a future of I2P and attract more people\n"
+"into I2P this bounty is to setup and host a I2P SILC server.   \n"
+"This will allow people to send files over their messaging servers and "
+"have intrinsic security built into the protocol."
+msgstr ""
+"Ради будущего I2P и привлечения большего количества людей \n"
+"к I2P эта награда была назначена за установку и размещение сервера I2P "
+"SILC. \n"
+"Это позволит людям отправлять файлы через свои сервера сообщения, причем "
+"безопасность будет реализована в протоколе."
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:12
+msgid ""
+"A silc server needs to be set up and run for at least 3 month time to get"
+" payed. \n"
+"A second server should be set up, to."
+msgstr ""
+"Для выплаты сервер silc должен быть установлен и проработать не менее 3 "
+"месяцев. \n"
+"Также должен быть установлен второй сервер."
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:16
+msgid ""
+"Bounty was withdrawn and money donated to returningnovice and general "
+"fund."
+msgstr "Награда была отменена и пожертвованные деньги переданы в общий фонд."
+
+#: i2p2www/pages/site/get-involved/bounties/silc.html:22
+msgid "Judge is An Anonymous Secret Society, society@mail.i2p."
+msgstr "Судья - An Anonymous Secret Society, society@mail.i2p."
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3
+msgid "Syndie development"
+msgstr "Разработка Syndie"
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7
+msgid ""
+"Beside of I2P we want to encourage users\n"
+"to care more about anonymity and security. As I2P is a low \n"
+"latency network with its natural limits, the software SYNDIE\n"
+"can overcome some of these limits and provide better anonymity\n"
+"for people who really need it."
+msgstr ""
+"При помощи I2P мы хотим воодушевить пользователей больше \n"
+"заботиться об анонимности и безопасности. Поскольку I2P - это сеть с "
+"низкими задержками и своими ограничениями, ПО SYNDIE \n"
+"может преодолеть некоторые из этих ограничений и предоставить лучшую "
+"анонимность \n"
+"людям, которым это действительно нужно."
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14
+msgid ""
+"For our bad sake the syndie project was out of development for \n"
+"quite a long time yet (5 years). To get a fresh and new built \n"
+"with needed bugfixes we set out this bounty. Also syndie needs\n"
+"some enhancements and a better GUI for users to work with it.\n"
+"Current bounty sum is 50 Bitcoin."
+msgstr ""
+"На нашу беду проект syndie перестал разрабатываться \n"
+"довольно давно (5 лет). Чтобы получить свежую сборку \n"
+"с необходимыми исправлениями мы установили эту награду, также syndie "
+"нуждается \n"
+"в некотором совершенствовании и лучшем GUI для пользователей.\n"
+"Текущий размер награды - 50 биткойнов."
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:22
+msgid ""
+"The latest Syndie coding rally did improve the situation of the\n"
+"Syndie package dramatically. A new Syndie package with bugfixes\n"
+"was created and made available on different webpages.\n"
+"As a result of this work, the bounty sum was reduced and\n"
+"the withdrawn money moved to the IPv6 bounty."
+msgstr ""
+"Последние доработки Syndie существенным образом улучшили \n"
+"ситуацию с пакетом Syndie. Был создан новый пакет Syndie с \n"
+"исправлениями, он доступен на разных веб-страницах.\n"
+"В результате, награда была уменьшена и сэкономленные \n"
+"деньги были переведены в награду за IPv6."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2
+msgid "Bounty unittests"
+msgstr "Награда за юнит тесты"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3
+msgid "unit test"
+msgstr "Юнит тесты"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7
+msgid ""
+"To improve I2P's maintainability, we want to have a solid set of\n"
+"automated unit tests for the critical code.  While we do have some\n"
+"unit tests at the moment, they are ad-hoc and partly unfinished.  \n"
+"This bounty is for someone to check the existing tests and move over\n"
+"old ones to jUnit, automate their execution, extend them to provide \n"
+"better code coverage, and publish the report online.  Its a massive \n"
+"effort, but can be broken down into phases, listed below (phase 2 \n"
+"must occur first, but further phases may happen in any order).\n"
+"As this needs some reading of code, it is the best start point for\n"
+"new devs to get a good overview of I2P code and coding. A good job\n"
+"for college students, interns or anyone who is just interested."
+msgstr ""
+"Чтобы улучшить удобство эксплуатации I2P нам необходим набор \n"
+"автоматизированных юнит тестов для критичного кода. На данный момент \n"
+"у нас есть несколько юнит тестов, они специфичны и частично не закончены."
+" \n"
+"Эту награду получить тот, кто проверить имеющиеся тесты и переведет \n"
+"старые тесты на jUnit, автоматизирует их выполнение, расширит их для \n"
+"покрытия большей части кода, и опубликует отчеты. Это большой фронт "
+"работ, \n"
+"но его можно разбить на фазы, перечисленные ниже (фаза 2 \n"
+"должна завершиться раньше, а последующий фазы могут идти в любом "
+"порядке). \n"
+"Так как для этого нужно читать код, это будет лучшим начинанием для \n"
+"новых разработчиков, и позволит хорошо вникнуть в код и разработку I2P.\n"
+"Это замечательная работа для студентов, интернов и для всех, кто "
+"заинтересован."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20
+msgid ""
+"Take care! Jobs and bounties shuffled a bit!\n"
+"Phase 6,7 and 8 are still open!"
+msgstr ""
+"Будьте внимательны! Работа и награды были немного перемешаны!\n"
+"Фазы 6, 7 и 8 все еще открыты!"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112
+#, python-format
+msgid "Phase %(phase)s:"
+msgstr "Фаза %(phase)s:"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27
+msgid "CI jenkins and IRC bot"
+msgstr "CI jenkins и IRC bot"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114
+#, python-format
+msgid "Bounty: %(euro)s &euro;"
+msgstr "Награда: %(euro)s &euro;"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29
+msgid "server runs and this section is blocked"
+msgstr "сервер запущен и этот раздел заблокирован"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31
+msgid ""
+"To collect this bounty, a continuous integration server (Jenkins,\n"
+"old name was Hudson) must be set up and a connected IRC bot needs \n"
+"to set up in the channel #i2p-dev on IRC2p network to print out\n"
+"results of build tests.<br>\n"
+"The server needs to be run long term."
+msgstr ""
+"Чтобы получить эту награду, должен быть установлен сервер непрерывной "
+"интеграции \n"
+"(Jenkins, старое название Hudson), также должен быть установлен IRC bot и"
+" подключен  \n"
+"к каналу #i2p-dev в сети IRC2p для вывода \n"
+"результатов тестов сборки.<br>\n"
+"Сервер должен быть запущен на продолжительное время."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41
+msgid "Check existing SDK tests"
+msgstr "Тесты проверки существующего SDK"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69
+msgid "paid to str4d"
+msgstr "выплачено str4d"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45
+#, python-format
+msgid ""
+"To collect this bounty, the existing SDK tests must be checked \n"
+"and made to work again. The need to be integrated into the ant \n"
+"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g."
+" \n"
+"<a href=\"%(clover)s\">Clover</a>).  The ant script\n"
+"must be capable of generating test status results as a web page, \n"
+"which will be published online."
+msgstr ""
+"Чтобы получить эту награду нужно проверить имеющийся SDK \n"
+"и заставить его работать. Нужно интегрировать в скрипты ant \n"
+"(\"ant test\"), и увязать с утилитой покрытия кода (например, \n"
+"<a href=\"%(clover)s\">Clover</a>). Скрипт ant \n"
+"должен уметь генерировать результаты тестирования в виде веб-страницы, \n"
+"которая будет опубликована в сети."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56
+msgid "SDK test coverage"
+msgstr "Покрытие тестами SDK"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80
+msgid "paid to unittests dev team"
+msgstr "выплачено команде разработчиков юнит тестов"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60
+msgid ""
+"To collect this bounty, the automated unit tests of the SDK \n"
+"(i2p/core/java/src) must work again."
+msgstr ""
+"Для выплаты этой награды автоматизированные юнит тесты SDK \n"
+"(i2p/core/java/src) должны опять заработать."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67
+msgid "Router test migration"
+msgstr "Тест миграции маршрутизатора"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71
+msgid ""
+"As with phase 2, the existing unit tests for the router must be\n"
+"moved over to the automated system."
+msgstr ""
+"В фазе 2, существующий юнит тесты маршрутизатора должны быть \n"
+"перемещены в автоматизированную систему."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78
+msgid "Router test coverage"
+msgstr "Покрытие тестами маршрутизатора"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82
+msgid ""
+"To collect this bounty, the automated unit tests of the router \n"
+"(i2p/router/java/src) must work again."
+msgstr ""
+"Для выплаты этой награды автоматизированные юнит тесты маршрутизатора \n"
+"(i2p/router/java/src) должны опять заработать."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89
+msgid "Streaming lib tests"
+msgstr "Тесты потоковой библиотеки"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94
+msgid ""
+"To collect this bounty, a new set of unit tests must meet a \n"
+"measured code coverage of 90&#37; of the streaming lib \n"
+"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
+msgstr ""
+"Чтобы получить эту награду, новый набор юнит тестов должен \n"
+"соответствовать измеренному покрытию кода 90&#37; потоковой библиотеки \n"
+"(i2p/apps/ministreaming/ и i2p/apps/streaming/)."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102
+msgid "Unit tests coverage"
+msgstr "Покрытие юнит тестами"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106
+msgid ""
+"To collect this bounty, all above unit tests must meet the 100&#37;\n"
+"coverage marker (except for log statements)."
+msgstr ""
+"Чтобы получить эту награду, все вышеперечисленные юнит тесты должны "
+"соответствовать \n"
+"маркеру покрытия 100&#37; (исключая блок логирования)"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113
+msgid "MultiRouter simulation"
+msgstr "Симуляция MultiRouter"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115
+msgid "will be split in more sub-tasks"
+msgstr "будет разбито на несколько подзадач"
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117
+msgid ""
+"To collect this bounty, the existing in-memory multi-router\n"
+"simulation must be checked, made work again and extend to simulate\n"
+"lots of routers in memory on a single machine. This bounty will\n"
+"be split in more fine grained subworks."
+msgstr ""
+"Чтобы получить эту награду не жно проверить работу симулятора \n"
+"мульти-маршрутизатора, работающего в памяти, заставить его снова работать"
+" \n"
+"и расширить симуляцию на множество маршрутизаторов в памяти на одном "
+"компьютере. \n"
+"Награда будет разбита на несколько более мелких подзадач."
+
+#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126
+msgid ""
+"Judge on all these works is the donor and donor decides if a phase is\n"
+"called succesfull done and money can be paid."
+msgstr ""
+"Судит все это donor, и donor решает завершена ли фаза \n"
+"удачно и нужно ли выплатить деньги."
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2
+msgid "Bounty I2P vuze plugin"
+msgstr "Награда за I2P плагин vuze"
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3
+msgid "vuze plugin"
+msgstr "плагин vuze"
+
+#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6
+msgid ""
+"To improve I2P usage and attract more people\n"
+"into I2P torrent P2P I setout the bounty for a working I2P vuze\n"
+"plugin.\n"
+"The plugin needs to be official and submitted to vuze for publication\n"
+"on their webpage/repository for plugins.\n"
+"It should be easy to install and configured, work smooth and flawless.\n"
+"Configuration should be friendly to starters and made easy to be "
+"anonymous.\n"
+"It should work with *.b32.i2p destinations as with signed (516++ bits) \n"
+"destinations."
+msgstr ""
+"Чтобы улучшить использование I2P и привлечь больше людей \n"
+"в P2P торрент сеть I2P, я назначил эту награду за работающий плагин \n"
+"vuze I2P.\n"
+"Плагин должен быть официальным и предоставлен для публикации на \n"
+"веб-странице и в хранилище плагинов vuze.\n"
+"Он должен легко устанавливаться и настраиваться, работать без сучка без "
+"задоринки.\n"
+"Настройка должна быть понятна новичку, и поддерживать анонимность.\n"
+"Он должен работать с адресами *.b32.i2p и с подписанными (516++ bits)\n"
+"пунктами назначения."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:2
+msgid "Application Development"
+msgstr "Разработка приложений"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:3
+msgid "May 2013"
+msgstr "Май 2013"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:6
+msgid "Application Development Guide"
+msgstr "Руководство по разработке приложений"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:8
+msgid "Contents"
+msgstr "Содержание"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:10
+#: i2p2www/pages/site/get-involved/develop/applications.html:16
+msgid "Why write I2P-specific code?"
+msgstr "Зачем писать код под I2P?"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:11
+#: i2p2www/pages/site/get-involved/develop/applications.html:102
+msgid "Important concepts"
+msgstr "Важные понятия"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:12
+#: i2p2www/pages/site/get-involved/develop/applications.html:190
+msgid "Development options"
+msgstr "Варианты развития"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:13
+#: i2p2www/pages/site/get-involved/develop/applications.html:303
+msgid "Start developing - a simple guide"
+msgstr "Начни разработку - простой путеводитель"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:18
+#, python-format
+msgid ""
+"There are multiple ways to use applications in I2P.\n"
+"Using <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n"
+"you can use regular applications without needing to program explicit I2P "
+"support.\n"
+"This is very effective for client-server scenario's,\n"
+"where you need to connect to a single website.\n"
+"You can simply create a tunnel using I2PTunnel to connect to that "
+"website, as shown in <a href=\"#tunnel.serverclient\">Figure 1</a>."
+msgstr ""
+"Есть несколько способов использования приложений в I2P.\n"
+"С <a href=\"%(i2ptunnel)s\">I2PTunnel</a>\n"
+"вы можете использовать обычные приложения, которые не поддерживают I2P.\n"
+"Это очень полезно для схемы клиент-сервер,\n"
+"когда вам нужно подключиться к одному веб-сайту.\n"
+"Вы можете просто создать туннель, используя I2PTunnel, чтобы подключиться"
+" к этому веб-сайту, как показано на рисунке <a "
+"href=\"#tunnel.serverclient\">Figure 1</a>."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:26
+msgid ""
+"If your application is distributed, it will require connections to a "
+"large amount of peers.\n"
+"Using I2PTunnel, you will need to create a new tunnel for each peer you "
+"want to contact,\n"
+"as shown in <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
+"This process can of course be automated, but running a lot of I2PTunnel "
+"instances creates a large amount of overhead.\n"
+"In addition, with many protocols you will need to force everyone to \n"
+"use the same set of ports for all peers - e.g. if you want to reliably "
+"run DCC \n"
+"chat, everyone needs to agree that port 10001 is Alice, port 10002 is "
+"Bob, port \n"
+"10003 is Charlie, and so on, since the protocol includes TCP/IP specific "
+"information\n"
+"(host and port)."
+msgstr ""
+"Если ваше приложение распределенное, ему придется подключаться к большому"
+" количеству узлов.\n"
+"Используя I2PTunnel, вам придется создавать новый туннель для каждого "
+"узла, с которым вы хотите взаимодействовать,\n"
+"как показано на <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
+"Конечно, этот процесс можно автоматизировать, но запуск большого "
+"количества экземпляров I2PTunnel создает большую нагрузку.\n"
+"Кроме того, с большим количеством протоколов, вам придется заставить всех"
+" \n"
+"использовать один порт для всех узлов, т.к., если вы хотите использовать "
+"DCC \n"
+"чат, то все должны согласиться, что порт 10001 - это Alice, порт 10002 - "
+"Bob, порт \n"
+"10003 - Charlie, и т.д., т.к. протокл содержит специфичную для TCP/IP "
+"информацию \n"
+"(хост и порт)."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:37
+msgid ""
+"General network applications often send a lot of additional data that "
+"could be used to identify users.\n"
+"Hostnames, port numbers, time zones, character sets, etc. are often sent "
+"without informing the user.\n"
+"As such, designing the network protocol specifically with anonymity in "
+"mind\n"
+"can avoid compromising user identities."
+msgstr ""
+"Типичное сетевое приложение часто отсылает кучу дополнительных данных, "
+"которые могут быть использованы для идентификации пользователей.\n"
+"Имена компьютеров, номера портов, временные зоны, наборы символов, и т.д."
+" часто отсылаются без уведомления пользователя.\n"
+"Поэтому, проектирование сетевого протокола, поддерживающего анонимность,"
+" \n"
+"поможет избежать нарушения идентификации пользователя."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:43
+msgid ""
+"There are also efficiency considerations to review when determining how "
+"to \n"
+"interact on top of I2P.  The streaming library and things built on top of"
+" it\n"
+"operate with handshakes similar to TCP, while the core I2P protocols "
+"(I2NP and I2CP)\n"
+"are strictly message based (like UDP or in some instances raw IP).  The "
+"important\n"
+"distinction is that with I2P, communication is operating over a long fat "
+"network - \n"
+"each end to end message will have nontrivial latencies, but may contain "
+"payloads \n"
+"of up to several KB.  An application that needs a simple request and "
+"response can get rid\n"
+"of any state and drop the latency incurred by the startup and teardown "
+"handshakes\n"
+"by using (best effort) datagrams without having to worry about MTU "
+"detection or \n"
+"fragmentation of messages."
+msgstr ""
+"Также нужно рассмотреть вопросы эффективности при определении \n"
+"способов взаимодействия на верхнем уровне I2P. Потоковая библиотека и "
+"вещи, основанные на ней, \n"
+"используют процедуру handshake, подобную TCP, в то время как базовые "
+"протоколы I2P (I2NP и I2CP)\n"
+"жестко завязаны на сообщения (как UDP или некоторые версии raw IP). "
+"Важным отличием I2P \n"
+"является то, что связь устанавливается над большой разнорожной сетью - \n"
+"каждое сообщение будет иметь нетривиальные задержки, хотя его размер "
+"может \n"
+"быть всего несколько килобайт. Приложение, которому нужен простой запрос "
+"и ответ, может \n"
+"избавиться от любого состояния и отбросить задержку, установленную во "
+"время запуска, и игнорировать handshake, \n"
+"используя (в лучшем случае) дейтаграммы, не беспокоясь об определении MTU"
+" или \n"
+"фрагментации сообщений."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:57
+#: i2p2www/pages/site/get-involved/develop/applications.html:59
+msgid ""
+"Creating a server-client connection using I2PTunnel only requires "
+"creating a single tunnel."
+msgstr ""
+"Для создания подключения клиент-сервер при использовании I2PTunnel нужно "
+"создать всего лишь один туннель."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:59
+msgid "Figure 1:"
+msgstr "Рисунок 1:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:64
+#: i2p2www/pages/site/get-involved/develop/applications.html:66
+msgid ""
+"Setting up connections for a peer-to-peer applications requires a very "
+"large amount of tunnels."
+msgstr ""
+"Установка соединения для приложений точка-точка требует большого "
+"количества туннелей."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:66
+msgid "Figure 2:"
+msgstr "Рисунок 2:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:70
+msgid "In summary, a number of reasons to write I2P-specific code:"
+msgstr "Итого, причины для написания кода под I2P:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:74
+msgid ""
+"Creating a large amount of I2PTunnel instances consumes a non-trivial "
+"amount of resources,\n"
+"which is problematic for distributed applications (a new tunnel is "
+"required for each peer)."
+msgstr ""
+"Для создание большого количества экземпляров I2PTunnel требуется "
+"нетривиальное количество ресурсов, \n"
+"что проблематично для распределенных приложений (новый туннель требуется "
+"для каждого узла)."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:78
+msgid ""
+"General network protocols often send a lot of additional data that can be"
+" used to identify users.\n"
+"Programming specifically for I2P allows the creation of a network "
+"protocol\n"
+"that does not leak such information, keeping users anonymous and secure."
+msgstr ""
+"Основные сетевые протоколы часто отсылают много дополнительных данных, "
+"которые могут быть использованы для идентификации пользователей.\n"
+"Программирование специально под I2P позволяет создавать сетевой протокол,"
+" \n"
+"который не раскрывает подобную информацию, охраняя анонимность и "
+"безопасность пользователя."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:83
+msgid ""
+"Network protocols designed for use on the regular internet can be "
+"inefficient\n"
+"on I2P, which is a network with a much higher latency."
+msgstr ""
+"Сетевые протоколы, разработанные для использования в обычном интернете, "
+"могут быть неэффективными \n"
+"в сети I2P, которая является сетью с гораздо большими задержками."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:90
+#, python-format
+msgid ""
+"I2P supports a standard <a href=\"%(plugins)s\">plugins interface</a> for"
+" developers\n"
+"so that applications may be easily integrated and distributed."
+msgstr ""
+"I2P поддерживает стандартный <a href=\"%(plugins)s\">интерфейс "
+"плагинов</a> для разработчиков, \n"
+"так что эти приложения легко могут быть интегрированы и распространены."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:96
+msgid ""
+"Applications written in Java and accessible/runnable\n"
+"using an HTML interface via the standard webapps/app.war\n"
+"may be considered for inclusion in the i2p distribution."
+msgstr ""
+"Приложения, написанные на Java и доступные/запускаемые \n"
+"из интерфейса HTML с использованием стандартного webapps/app.war\n"
+"могут быть включены в дистрибутив i2p."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:104
+msgid "There are a few changes that require adjusting to when using I2P:"
+msgstr ""
+"Есть несколько вещей, которые нужно отрегулировать для использования в "
+"I2P:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:108
+msgid "Destination ~= host+port"
+msgstr "Пункт назначения ~= хост+порт"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:110
+msgid ""
+"An application running on I2P sends messages from and receives messages "
+"to a\n"
+"unique cryptographically secure end point - a \"destination\".  In TCP or"
+" UDP\n"
+"terms, a destination could (largely) be considered the equivalent of a "
+"hostname\n"
+"plus port number pair, though there are a few differences."
+msgstr ""
+"Приложение, выполняемое в I2P отправляет и принимает сообщения через \n"
+"уникальную зашифрованную безопасную точку обмена - \"пункт назначения\". "
+"В терминах \n"
+"TCP или UDP, пункт назначения может (грубо) быть эквивалентом пары "
+"название хоста \n"
+"+ номер порта, хотя есть некоторые отличия."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:118
+msgid ""
+"An I2P destination itself is a cryptographic construct - all data sent to"
+" one is \n"
+"encrypted as if there were universal deployment of IPsec with the "
+"(anonymized)\n"
+"location of the end point signed as if there were universal deployment of"
+" DNSSEC."
+msgstr ""
+"Пункт назначения I2P сам по себе это криптографическая конструкция - все "
+"данные, отправляемые в него \n"
+"шифруются, как если бы существовал универсальный IPsec с "
+"(анонимизированным)\n"
+"расположением точки обмена, подписанной универсальным DNSSEC."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:123
+msgid ""
+"I2P destinations are mobile identifiers - they can be moved from one I2P "
+"router\n"
+"to another (or it can even \"multihome\" - operate on multiple routers at"
+"\n"
+"once).  This is quite different from the TCP or UDP world where a single "
+"end point (port)\n"
+"must stay on a single host."
+msgstr ""
+"Пункты назначения I2P - это мобильные идентификаторы - они могут "
+"перемещаться с одного I2P маршрутизатора \n"
+"на другой (или он может быть \"multihome\" - работать на нескольких "
+"маршрутизаторах \n"
+"одновременно). Это сильно отличается от TCP или UDP, в которых отдельная "
+"точка обмена (порт) \n"
+"должна оставаться на отдельном хосте."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:130
+msgid ""
+"I2P destinations are ugly and large - behind the scenes, they contain a "
+"2048 bit ElGamal\n"
+"public key for encryption, a 1024 bit DSA public key for signing, and a "
+"variable size \n"
+"certificate, which may contain proof of work or blinded data."
+msgstr ""
+"Пункты назначения I2P уродливы и огромны - за кулисами, они могут "
+"содержать 2048 битный \n"
+"публичный ключ ElGamal для шифрования, 1024 битный публичный ключ DSA для"
+" подписания, и сертификат \n"
+"переменного размера, который может содержать подтверждение или слепые "
+"данные."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:135
+#, python-format
+msgid ""
+"There are existing ways to refer to these large and ugly destinations by "
+"short\n"
+"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not "
+"guarantee\n"
+"globally uniqueness (since they're stored locally in a database on each "
+"person's machine)\n"
+"and the current mechanism is not especially scalable nor secure (updates "
+"to the host list are\n"
+"managed using \"subscriptions\" to naming services).\n"
+"There may be some secure, human readable, scalable, and globally \n"
+"unique, naming system some day, but applications shouldn't depend upon it"
+" being in place,\n"
+"since there are those who don't think such a beast is possible.\n"
+"<a href=\"%(naming)s\">Further information on the naming system</a> is "
+"available."
+msgstr ""
+"Существует способ обратиться к этим уродливым и огромным пунктам "
+"назначения \n"
+"по короткому и привлекательному имени (например, \"irc.duck.i2p\"), но "
+"этот метод не гарантирует \n"
+"глобальной уникальности (поскольку они хранятся локально в базе данных на"
+" каждом компьютере) \n"
+"и текущий механизм не является ни масштабируемым, ни безопасным "
+"(обновления списка хостов \n"
+"управляются через \"подписки\" к серверам имен).\n"
+"Возможно, когда-нибудь будет существовать безопасная, удобочитаемая, "
+"масштабируемая и глобально \n"
+"уникальная система имен, но приложения не должны зависеть от ее "
+"появления, \n"
+"поскольку есть те, кто сомневается в том, что такая зверюга может "
+"существовать.\n"
+"<a href=\"%(naming)s\">Еще больше информации по системе имен</a>."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:149
+#, python-format
+msgid ""
+"While most applications do not need to distinguish protocols and ports,\n"
+"I2P <em>does</em> support them. Complex applications may specify a "
+"protocol,\n"
+"from port, and to port, on a per-message basis, to multiplex traffic on\n"
+"a single destination.\n"
+"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
+"Simple applications operate by listening for \"all protocols\" on \"all "
+"ports\" of a destination."
+msgstr ""
+"В то время как большинству приложений не нужно распознавать протоколы и "
+"порты,\n"
+"I2P <em>поддерживает</em> их. Сложные приложения могут указывать "
+"протокол,\n"
+"порт источника и назначения, основываясь на сообщении, чтобы "
+"мультиплицировать \n"
+"трафик в один пункт назначения.\n"
+"Подробнее смотри на <a href=\"%(datagrams)s\">странице дейтаграмм</a>.\n"
+"Простые приложения прослушивают \"все протоколы\" на \"всех портах\" "
+"пункта назначения."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:158
+msgid "Anonymity and confidentiality"
+msgstr "Анонимность и конфиденциальность"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:160
+msgid ""
+"I2P has transparent end to end encryption\n"
+"and authentication for all data passed over the network - if Bob sends to"
+" Alice's destination,\n"
+"only Alice's destination can receive it, and if Bob is using the "
+"datagrams or streaming \n"
+"library, Alice knows for certain that Bob's destination is the one who "
+"sent the data."
+msgstr ""
+"В I2P используются прозрачные \"end to end\" шифрование \n"
+"и аутентификация для всех данных, передаваемых по сети - если Bob "
+"отправляет в пункт назначения Alice,\n"
+"только пункт назначения Alice может это получить, и, если Bob использует "
+"библиотеку \n"
+"дейтаграмм или потоковую, Alice знает наверняка, что именно пункт "
+"назначения Bob'а отправил данные."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:167
+msgid ""
+"Of course, I2P transparently anonymizes the\n"
+"data sent between Alice and Bob, but it does nothing to anonymize the "
+"content of what they\n"
+"send.  For instance, if Alice sends Bob a form with her full name, "
+"government IDs, and \n"
+"credit card numbers, there is nothing I2P can do.  As such, protocols and"
+" applications should \n"
+"keep in mind what information they are trying to protect and what "
+"information they are willing\n"
+"to expose."
+msgstr ""
+"Естественно, I2P прозрачно анонимизирует данные, \n"
+"пересылаемые между Alice и Bob, но он не делает ничего для "
+"анонимизирования содержимого того, \n"
+"что они отсылают. Например, если Alice отправляет Bob'у форму с ее "
+"именем, персональным ID и \n"
+"номера кредиток, то I2P тут уж ничего не поделает. Т.о., протоколы и "
+"приложения обязаны \n"
+"помнить - какую информацию они должны защищать и какую \n"
+"разглашать."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:176
+msgid "I2P datagrams can be up to several KB"
+msgstr "Размер дейтаграммы I2P может быть несколько КБ"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:178
+#, python-format
+msgid ""
+"Applications that use I2P datagrams (either raw or repliable ones) can "
+"essentially be thought\n"
+"of in terms of UDP - the datagrams are unordered, best effort, and "
+"connectionless - but unlike\n"
+"UDP, applications don't need to worry about MTU detection and can simply "
+"fire off large datagrams.\n"
+"While the upper limit is nominally 32 KB, the message is fragmented for "
+"transport, thus dropping\n"
+"the reliability of the whole. Datagrams over about 10 KB are not "
+"currently recommended.\n"
+"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
+"For many applications, 10 KB of data is sufficient for an\n"
+"entire request or response, allowing them to transparently operate in I2P"
+" as a UDP-like \n"
+"application without having to write fragmentation, resends, etc."
+msgstr ""
+"Приложения, которые используют дейтаграммы I2P (как raw так и repliable),"
+" могут быть рассмотрены с точки зрения UDP - дейтаграммы не упорядочены, "
+"в лучшем случае, и бессвязны - но в отличие от \n"
+"UDP, приложениям не нужно беспокоиться об определении MTU, и они могут "
+"просто кидаться большими дейтаграммами.\n"
+"Так как обычно предел - 32 КБ, сообщение фрагментируется для отправки и "
+"надежность \n"
+"падает. Дейтаграммы размером более 10 КБ не рекомендуются для "
+"использования.\n"
+"Смотри подробнее на <a href=\"%(datagrams)s\">странице дейтаграмм</a>.\n"
+"Для большинства приложений, 10 КБ данных достаточно для \n"
+"внутреннего запроса или ответа, этого достаточно для прозрачного "
+"функционирования в I2P \n"
+"в качестве UDP-подобных приложений без необходимости написания "
+"фрагментирования, переотправки и т.п."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:192
+msgid ""
+"There are several means of sending data over I2P, each with their own "
+"pros and cons.\n"
+"The streaming lib is the recommended interface, used by the majority of "
+"I2P applications."
+msgstr ""
+"Есть несколько способов отправки данных через I2P, в каждом есть свои За "
+"и Против.\n"
+"Потоковая библиотека - рекомендуемый интерфейс, используемый большинством"
+" I2P приложений."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:197
+msgid "Streaming Lib"
+msgstr "Потоковая библиотека Streaming Lib"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:198
+#, python-format
+msgid ""
+"The <a href=\"%(streaming)s\">full streaming library</a> is now the "
+"standard\n"
+"interface. It allows programming using TCP-like sockets, as explained in "
+"the <a href=\"#start.streaming\">Streaming development guide</a>."
+msgstr ""
+"<a href=\"%(streaming)s\">Потоковая библиотека</a> теперь является "
+"стандартным\n"
+"интерфейсом. Она позволяет программировать, используя TCP-подобные "
+"сокеты, как описано в <a href=\"#start.streaming\">Руководстве по "
+"потоковой разработке</a>."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:204
+#, python-format
+msgid ""
+"BOB is the <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
+"allowing an application in any language to make streaming connections \n"
+"to and from I2P. At this point in time it lacks UDP support, but UDP "
+"support\n"
+"is planned in the near future. BOB also contains several tools, such as \n"
+"destination key generation, and verification that an address conforms to"
+" \n"
+"I2P specifications. Up to date info and applications that use BOB can be"
+" \n"
+"found at this <a href=\"http://%(boburl)s/\">eepsite</a>."
+msgstr ""
+"BOB это <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
+"он позволяет приложениям на любом языке создавать потоковые подключения \n"
+"в и из I2P. В настоящий момент времени в нем нет поддержки UDP, но "
+"поддержка UDP\n"
+"запланирована на ближайшее будущее. BOB также содержит несколько утилит, "
+"таких как \n"
+"удаленная генерация ключа, и проверка того, что адрес соответствует \n"
+"спецификации I2P. Актуальную информацию и приложения, использующие BOB "
+"можно \n"
+"найти это этом <a href=\"http://%(boburl)s/\">eepsite</a>."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:217
+msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
+msgstr "SAM не рекомендован. SAM V2 одобрен, SAM V3 рекомендован."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:218
+#, python-format
+msgid ""
+"SAM is the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> protocol, "
+"allowing an\n"
+"application written in any language to talk to a SAM bridge through a "
+"plain TCP socket and have\n"
+"that bridge multiplex all of its I2P traffic, transparently coordinating "
+"the encryption/decryption\n"
+"and event based handling.  SAM supports three styles of operation:"
+msgstr ""
+"SAM это протокол <a href=\"%(sam)s\">Simple Anonymous Messaging</a> , он "
+"позволяет\n"
+"приложению, написанному на любом языке, обращаться к мосту SAM через TCP "
+"сокет и давать\n"
+"этому мосту мультиплицировать весь трафик I2P, прозрачно координирующему "
+"шифрование/дешифрование\n"
+"и обработку событий. SAM поддерживает три типа операций:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:225
+msgid ""
+"streams, for when Alice and Bob want to send data to each other reliably "
+"and in order"
+msgstr ""
+"потоки, для случая если Alice и Bob хотят отсылать друг другу данные "
+"надежно и упорядочено"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:228
+msgid ""
+"repliable datagrams, for when Alice wants to send Bob a message that Bob "
+"can reply to"
+msgstr ""
+"repliable дейтаграммы, для случая когда Alice хочет отослать сообщение "
+"Bob'у, на которое Bob может ответить"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:231
+msgid ""
+"raw datagrams, for when Alice wants to squeeze the most bandwidth and "
+"performance as possible,\n"
+"and Bob doesn't care whether the data's sender is authenticated or not "
+"(e.g. the data transferred\n"
+"is self authenticating)"
+msgstr ""
+"raw дейтаграммы, для случая если Alice хочет выжать максимум из "
+"пропускной способности канала и из проиводительности,\n"
+"и Bob'у не важно - аутентифицирован ли отправитель данных или нет (т.к. "
+"передаваемые данные \n"
+"сами по себе аутентифицированы)"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:237
+msgid ""
+"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n"
+"multiplexing/demultiplexing. Each I2P stream is handled by its own socket"
+" between the application\n"
+"and the SAM bridge. Besides, datagrams can be sent and received by the "
+"application through datagram\n"
+"communications with the SAM bridge."
+msgstr ""
+"SAM V3 служит тем же целям, что и SAM и SAM V2, но он не нуждается в\n"
+"мультиплицировании/демультиплицировании. Каждый поток I2P обрабатывается "
+"собственным сокетом между приложением\n"
+"и мостом SAM. Кроме того, дейтаграммы могут отправляться и приниматься "
+"приложением через обмен дейтаграммами\n"
+"с мостом SAM."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:244
+#, python-format
+msgid ""
+"<a href=\"%(samv2)s\">SAM V2</a> is a new version used by imule\n"
+"that fixes some of the problems in <a href=\"%(sam)s\">SAM</a>.\n"
+"<br />\n"
+"<a href=\"%(samv3)s\">SAM V3</a> is used by imule since version 1.4.0."
+msgstr ""
+"<a href=\"%(samv2)s\">SAM V2</a> это новая версия, используемая imule,\n"
+"которая исправляет некоторые проблемы <a href=\"%(sam)s\">SAM</a>.\n"
+"<br />\n"
+"<a href=\"%(samv3)s\">SAM V3</a> используется imule с версии 1.4.0."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:252
+msgid ""
+"The I2PTunnel application allows applications to build specific TCP-like "
+"tunnels to peers \n"
+"by creating either I2PTunnel 'client' applications (which listen on a "
+"specific port and connect\n"
+"to a specific I2P destination whenever a socket to that port is opened) "
+"or I2PTunnel 'server'\n"
+"applications (which listen to a specific I2P destination and whenever it "
+"gets a new I2P \n"
+"connection it outproxies to a specific TCP host/port).  These streams are"
+" 8-bit clean, and are\n"
+"authenticated and secured through the same streaming library that SAM "
+"uses, but there is a \n"
+"nontrivial overhead involved with creating multiple unique I2PTunnel "
+"instances, since each have\n"
+"their own unique I2P destination and their own set of tunnels, keys, etc."
+msgstr ""
+"Приложение I2PTunnel  позволяет программам строить особый TCP-подобный "
+"туннель к узлам, \n"
+"создавая или \"клиентское\" приложение I2PTunnel (которое слушает "
+"определенный порт и подключается \n"
+"к определенному пункту назначения I2P, если открывается сокет на этом "
+"порту) или \"серверное\" приложение \n"
+"I2PTunnel (которое слушает определенный пункт назначения I2P и все новые "
+"подключения I2P \n"
+"проксирует на определенную пару хост/порт TCP). Эти потоки 8-битны, и \n"
+"аутентифицированы и обеспечены безопасностью с помощью той же потоковой "
+"библиотеки, которую использует SAM, но при этом\n"
+"нетривиально увеличиваются накладные расходы при создании нескольких "
+"уникальных экземпляров I2PTunnel, т.к. у кадого из них\n"
+"есть уникальный пункт назначения I2P и собственный набор туннелей, ключей"
+" и т.п."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:264
+msgid ""
+"I2P supports a SOCKS V4 and V5 proxy.\n"
+"Outbound connections work well. Inbound (server) and UDP functionality "
+"may be incomplete\n"
+"and untested."
+msgstr ""
+"I2P поддерживает SOCKS V4 и V5 прокси.\n"
+"Исходящие соединения работают хорошо. Входящие соединения (на сервер) и "
+"функциональность UDP могут работать не полностью \n"
+"и не протестированы."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:271
+msgid "Removed"
+msgstr "Удалено"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:272
+msgid ""
+"There used to be a simple \"ministreaming\" library,\n"
+"but now ministreaming.jar contains only the interfaces for the full "
+"streaming library."
+msgstr ""
+"Раньше была простая библиотека \"ministreaming\", \n"
+"но теперь ministreaming.jar содержит только интерфейс к полной потоковой "
+"библиотеке."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:277
+msgid "Datagrams"
+msgstr "Дейтаграммы"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:278
+msgid "Recommended for UDP-like applications"
+msgstr "Рекомендовано для UDP-подобных приложений"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:279
+#, python-format
+msgid ""
+"The <a href=\"%(datagrams)s\">Datagram library</a> allows sending UDP-"
+"like packets.\n"
+"It's possible to use:"
+msgstr ""
+"<a href=\"%(datagrams)s\">Библиотека дейтаграмм</a> позволяет отсылать "
+"UDP-подобные пакеты.\n"
+"Можно использовать:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:284
+msgid "Repliable datagrams"
+msgstr "Дейтаграммы с возможностью ответа"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:285
+msgid "Raw datagrams"
+msgstr "Raw дейтаграммы"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:289
+msgid "Not recommended"
+msgstr "Не рекомендовано"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:290
+#, python-format
+msgid ""
+"<a href=\"%(i2cp)s\">I2CP</a> itself is a language independent protocol, "
+"but to implement an I2CP library \n"
+"in something other than Java there is a significant amount of code to be "
+"written (encryption routines, \n"
+"object marshalling, asynchronous message handling, etc).  While someone "
+"could write an I2CP library in \n"
+"C or something else, it would most likely be more useful to use the C SAM"
+" library instead."
+msgstr ""
+"Сам по себе <a href=\"%(i2cp)s\">I2CP</a> это независящий от протокола "
+"язык, но нужно написать \n"
+"тонну кода, чтобы внедрить библиотеку I2CP в отличный от Java язык "
+"(подпрограммы шифрования, \n"
+"сортировка объектов, асинхронная обработка сообщений, и т.д.). Если бы "
+"кто-то смог написать библиотеку I2CP \n"
+"на C или чем-то еще, было бы удобнее использовать вместо этого C "
+"библиотеку SAM."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:297
+msgid "Web Applications"
+msgstr "Веб приложения"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:298
+msgid ""
+"I2P comes with the Jetty webserver, and configuring to use the Apache "
+"server instead is straightforward.\n"
+"Any standard web app technology should work."
+msgstr ""
+"I2P поставляется с веб-сервером Jetty, но проще вместо этого использовать"
+" сервер Apache. \n"
+"Любая стандартная веб-технология должна работать."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:304
+msgid ""
+"Developing using I2P requires a working I2P installation and a "
+"development environment of your own choice.\n"
+"If you are using Java, you can start development with the <a "
+"href=\"#start.streaming\">streaming library</a> or datagram library.\n"
+"Using another programming language, SAM or BOB can be used."
+msgstr ""
+"Для разработки I2P необходима работающая установка I2P и среда разработки"
+" на ваш выбор. \n"
+"Если вы используете Java, вы можете начать разработку с <a "
+"href=\"#start.streaming\">потоковой библиотекой</a> или библиотекой "
+"дейтаграмм.\n"
+"Для другого языка программирования можно использовать SAM или BOB."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:310
+msgid "Developing with the streaming library"
+msgstr "Разработка с потоковой библиотекой"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:312
+msgid ""
+"The following example shows how to create TCP-like client and server "
+"applications\n"
+"using the streaming library."
+msgstr ""
+"Следующий пример показывает как создать TCP-подобные приложения клиент и "
+"сервер, \n"
+"используя потоковую библиотеку."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:317
+msgid "This will require the following libraries in your classpath:"
+msgstr "Для этого потребуются следующие библиотека в вашем classpath:"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:321
+msgid "The streaming library itself"
+msgstr "Сама потоковая библиотека"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:322
+msgid "Factory and interfaces for the streaming library"
+msgstr "Фабрика или интерфейс к потоковой библиотеке"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:323
+msgid "Standard I2P classes, data structures, API, and utilities"
+msgstr "Стандартные классы I2P, структуры данных, API и утилиты"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:326
+msgid ""
+"Network communication requires the usage of I2P network sockets.\n"
+"To demonstrate this, we will create an application where a client can "
+"send text messages to a server,\n"
+"who will print the messages and send them back to the client. In other "
+"words, the server will function as an echo."
+msgstr ""
+"Для сетевого подключения нужно использовать сетевые сокеты I2P.\n"
+"Чтобы продемонстрировать это, мы создадим приложение, в котором клиент "
+"может отослать текстовое сообщение на сервер, \n"
+"которые напечатает сообщение и отправит его обратно клиенту. Другими "
+"словами, сервер будет работать как эхо."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:331
+msgid ""
+"We will start by initializing the server application. This requires "
+"getting an I2PSocketManager\n"
+"and creating an I2PServerSocket.\n"
+"We will not provide the I2PSocketManagerFactory with the saved keys for "
+"an existing Destination,\n"
+"so it will create a new Destination for us.\n"
+"So we will ask the I2PSocketManager for an I2PSession, so we can find out"
+" the Destination that\n"
+"was created, as we will need to copy and paste that information later so "
+"the client can connect to us."
+msgstr ""
+"Начнем с инициализации серверного приложения. Для этого нужно получить "
+"I2PSocketManager \n"
+"и создать I2PServerSocket.\n"
+"Мы не передадим в I2PSocketManagerFactory сохраненные ключи для "
+"существующего пункта назначения, \n"
+"т.о. он создаст для нас новый пункт назначения.\n"
+"Вобщем мы запросим I2PSession у I2PSocketManager, и выясним что за пункт "
+"назначения \n"
+"был создан, т.к. нам нужно скопировать и вставить эту информацию позже, "
+"чтобы клиент к нам мог подключиться."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:362
+msgid "Code example 1: initializing the server application."
+msgstr "Пример кода 1: инициализация серверного приложения."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:364
+msgid ""
+"Once we have an I2PServerSocket, we can create I2PSocket instances to "
+"accept connections from clients.\n"
+"In this example, we will create a single I2PSocket instance, that can "
+"only handle one client at a time.\n"
+"A real server would have to be able to handle multiple clients.\n"
+"To do this, multiple I2PSocket instances would have to be created, each "
+"in separate threads.\n"
+"Once we have created the I2PSocket instance, we read data, print it and "
+"send it back to the client.\n"
+"The bold code is the new code we add."
+msgstr ""
+"Поскольку у нас есть I2PServerSocket, мы можем создать экземпляр "
+"I2PSocket  для приема подключений клиентов. \n"
+"В этом примере мы создадим один экземпляр I2PSocket, который может "
+"обработать за раз только одного клиента. \n"
+"Реальный сервер может обработать несколько клиентов. \n"
+"Для этого нужно создать несколько экземпляров I2PSocket, каждый в "
+"отдельном потоке. \n"
+"Как только мы создали экземпляр I2PSocket, мы читаем данные, печатаем их "
+"и отправляем обратно клиенту. \n"
+"Жирным выделен добавленный нами код."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:448
+msgid "Code example 2: accepting connections from clients and handling messages."
+msgstr "Пример кода 2: прием подключений клиентов и обработка сообщений."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:452
+msgid ""
+"When you run the above server code, it should print something like this "
+"(but without the line endings, it should just be\n"
+"one huge block of characters):"
+msgstr ""
+"Когда вы выполните описанный выше код, он должен будет напечатать что-то "
+"вроде этого (только без символов окончания строки, \n"
+"должен быть всего лишь один большой блок символов):"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:466
+msgid ""
+"This is the base64-representation of the server Destination. The client "
+"will need this string to reach the server."
+msgstr ""
+"Это base64 представление серверного пункта назначения. Клиенту "
+"понадобится эта строка, чтобы достучаться до сервера."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:470
+msgid ""
+"Now, we will create the client application. Again, a number of steps are "
+"required for initialization.\n"
+"Again, we will need to start by getting an I2PSocketManager.\n"
+"We won't use an I2PSession and an I2PServerSocket this time.\n"
+"Instead, we will use the server Destination string to start our "
+"connection.\n"
+"We will ask the user for the Destination string, and create an I2PSocket "
+"using this string.\n"
+"Once we have an I2PSocket, we can start sending and receiving data to and"
+" from the server."
+msgstr ""
+"Теперь создадим клиентское приложение. И опять, для инициализации "
+"понадобятся несколько шагов.\n"
+"Также нам нужно начать с получения I2PSocketManager.\n"
+"Теперь мы не будем использовать I2PSession и I2PServerSocket. \n"
+"Вместо этого мы используем строку пункта назначения сервера чтобы начать "
+"соединение. \n"
+"Мы запросим у пользователя строку пункта назначения, и создадим "
+"I2PSocket, используя эту строку. \n"
+"Ну, и т.к. у нас есть I2PSocket, мы можем начать отправку и получение "
+"данных с сервера."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:554
+msgid ""
+"Code example 3: starting the client and connecting it to the server "
+"application."
+msgstr "Пример кода 3: запуск клиента и подключение к приложению сервера."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:556
+msgid ""
+"Finally, you can run both the server and the client application.\n"
+"First, start the server application. It will print a Destination string "
+"(like shown <a href=\"#start.streaming.destination\">above</a>).\n"
+"Next, start the client application. When it requests a Destination "
+"string, you can enter the string printed by the server.\n"
+"The client will then send 'Hello I2P!' (along with a newline) to the "
+"server, who will print the message and send it back to the client."
+msgstr ""
+"Наконец-то, мы можем запустить приложения клиента и сервера.\n"
+"Сначала запускаем серверное приложение. Оно напечатает строку пункта "
+"назначения (как показано <a "
+"href=\"#start.streaming.destination\">выше</a>).\n"
+"Затем запускаем клиентское приложение. Когда оно запросит строку пункта "
+"назначения, вы можете ввести строку, напечатанную сервером. \n"
+"Клиент отправит 'Hello I2P!' (с переводом строки) на сервер, который "
+"напечатает сообщение и отправит его обратно клиенту."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:562
+msgid "Congratulations, you have successfully communicated over I2P!"
+msgstr "Поздравляем, вы успешно подключились через I2P!"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:566
+msgid "Existing Applications"
+msgstr "Существующие приложения"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:567
+msgid "Contact us if you would like to contribute."
+msgstr "Свяжитесь с нами, если вы ходит сотрудничать."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:588
+msgid "Application Ideas"
+msgstr "Идеи приложений"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:590
+msgid "NNTP server - there have been some in the past, none at the moment"
+msgstr "NNTP сервер - это было в прошлом, не сейчас"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:593
+msgid ""
+"Jabber server - there have been some in the past, and there is one at the"
+" moment, with access to the public internet"
+msgstr ""
+"Jabber сервер - что-то в прошлом было, и сейчас есть один, с доступом к "
+"публичному internet"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:596
+msgid "PGP Key server and/or proxy"
+msgstr "PGP Key сервер и/или прокси"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:599
+msgid ""
+"Content Distribution / DHT applications - resurrect feedspace,\n"
+"port dijjer, look for alternatives"
+msgstr ""
+"Распределение контента / DHT приложения - воскрешение feedspace, \n"
+"портирование dijjer, ищем альтернативы"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:603
+msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
+msgstr "Помощь в разработке <a href=\"http://syndie.i2p2.de/\">Syndie</a>"
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:606
+msgid ""
+"Web-based applications - The sky is the limit for hosting web-server-"
+"based\n"
+"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n"
+"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work."
+msgstr ""
+"Основанные на веб приложения - безграничные возможности для размещения "
+"web-server-based \n"
+"приложений, таких как блоги, записки, хранилище, отслеживание, фиды и "
+"т.д. \n"
+"Будет работать любая веб или CGI технология, такие как Perl, Python или "
+"Ruby."
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:611
+msgid ""
+"Resurrect some old apps, several previously in the i2p source package -\n"
+"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
+msgstr ""
+"Воскресить некоторые старые приложения, которые прежде были в пакете "
+"исходников I2P - \n"
+"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2
+msgid "I2P Developer's MTN Keys"
+msgstr "Ключи I2P Developer's MTN"
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4
+msgid ""
+"Monotone servers used by the I2P project require two types of keys to be "
+"used."
+msgstr ""
+"Для серверов Monotone, используемых в проекте I2P, нужно использовать два"
+" типа ключей."
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:8
+msgid ""
+"<a href=\"#commit\">Commit Keys</a> to sign changes checked-in to the "
+"respository; and"
+msgstr ""
+"<a href=\"#commit\">Commit Keys</a> для подписывания вносимых в "
+"репозиторий изменений; и"
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9
+msgid ""
+"<a href=\"#transport\">Transport Keys</a> to push changes to remote "
+"servers."
+msgstr ""
+"<a href=\"#transport\">Transport Keys</a> для отправки изменений на "
+"удаленные сервера."
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:12
+#, python-format
+msgid ""
+"Everyone that uses Monotone to checkout the I2P codebase will need to\n"
+"<a href=\"%(monotone)s#obtaining-and-deploying-developers-"
+"keys\">import</a> the\n"
+"developer commit keys, but only Monotone <a "
+"href=\"%(monotone)s#operating-a-monotone-server\">\n"
+"server operators</a> will need to import the <a "
+"href=\"#transport\">transport keys</a>."
+msgstr ""
+"Все кто используют Monotone выборки данных из базы кодов I2P, должны\n"
+"<a href=\"%(monotone)s#obtaining-and-deploying-developers-"
+"keys\">импортировать</a> commit keys \n"
+"разработчиков, но только <a href=\"%(monotone)s#operating-a-monotone-"
+"server\">\n"
+"операторы сервера</a> Monotone должны импортировать <a "
+"href=\"#transport\">transport keys</a>."
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:19
+msgid "Developer Commit keys"
+msgstr "Commit ключи разработчиков"
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:254
+msgid "Developer Transport Keys"
+msgstr "Transport ключи разработчиков"
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:255
+#, python-format
+msgid ""
+"<b>Note:</b> Transport keys are only needed for setting up a\n"
+"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
+msgstr ""
+"<b>Примечание:</b> Transport ключи нужны только для установки\n"
+"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2
+msgid "License Agreements"
+msgstr "Лицензионное соглашение"
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5
+#, python-format
+msgid "For more information see <a href=\"%(licenses)s\">the licenses page</a>."
+msgstr "Более подробно смотри на <a href=\"%(licenses)s\">странице лицензии</a>."
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8
+msgid ""
+"Following is a monotonerc file defining the current trust list.\n"
+"Developers must use this file in ~/.monotone/monotonerc or\n"
+"_MTN/montonerc in their i2p.i2p workspace."
+msgstr ""
+"Далее следует файл monotonerc, определяющий текущий лист доверия.\n"
+"Разработчики должи использовать этот файл в ~/.monotone/monotonerc или\n"
+"_MTN/montonerc в своем рабочем пространстве i2p.i2p."
+
+#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17
+msgid "Agreements"
+msgstr "Соглашения"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:2
+msgid "I2P Software Licenses"
+msgstr "Лицензии ПО I2P"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:4
+#, python-format
+msgid ""
+"As required by our\n"
+"<a href=\"%(threatmodel)s\">threat model</a> (among other reasons), the \n"
+"software developed to support the anonymous communication \n"
+"network we call I2P must be freely available, open source, \n"
+"and user modifiable.  To meet these criteria, we make use of\n"
+"a variety of legal and software engineering techniques so\n"
+"as to remove as many barriers to entry for those considering\n"
+"making use of or contributing to the I2P effort."
+msgstr ""
+"Как того требует наша\n"
+"<a href=\"%(threatmodel)s\">модель угроз</a> (наряду с другими "
+"причинами), \n"
+"ПО, разработанное для поддержки анонимной сети связи, \n"
+"которую мы называем I2P, должно быть свободно доступно, с открытым "
+"исходным кодом \n"
+"и изменяемым пользователем. Чтобы соответствовать этим требованиям, мы "
+"используем \n"
+"множество правовых техник и техник инженерии ПО, чтобы \n"
+"устранить как можно больше барьеров для подключения тех, кто \n"
+"рассматривает возможность использовать или способствует развитию I2P."
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:15
+msgid ""
+"While the information below may be more confusing than just simply \n"
+"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n"
+"the short answer to the question \"How is I2P licensed?\" is this:"
+msgstr ""
+"Т.к. информация, представленная ниже, может быть более запутанно, чем "
+"простые \n"
+"утверждения \"I2P это BSD\", \"I2P это GPL\", или \"I2P это публичный "
+"домен\",\n"
+"то приведем короткий ответ на вопрос \"Как лицензируется I2P?\":"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:21
+msgid "All software bundled in the I2P distributions will allow:"
+msgstr "Все ПО, включенное в поставку I2P, позволяет:"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:23
+msgid "use without fee"
+msgstr "пользоваться бесплатно"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:24
+msgid ""
+"use with no restrictions on how, when, where, why, or by whom is running "
+"it"
+msgstr "пользоваться без ограничений как, когда, где, почему или кем оно запущено"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:25
+msgid "access to the source code without fee"
+msgstr "получать доступ к исходникам бесплатно"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:26
+msgid "modifications to the source"
+msgstr "изменять исходный код"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:29
+msgid ""
+"Most of the software guarantees much more - the ability of <b>anyone</b> "
+"to \n"
+"distribute the modified source however they choose.  However, not all of "
+"the \n"
+"software bundled provides this freedom - the GPL restricts the ability of"
+" \n"
+"developers who wish to integrate I2P with their own applications that are"
+" not \n"
+"themselves open source applications.  While we applaud the noble goals of"
+" \n"
+"increasing the resources in the commons, I2P is best served by removing "
+"any\n"
+"barriers that stand in the way of its adoption - if a developer "
+"considering whether\n"
+"they can integrate I2P with their application has to stop and check with "
+"their lawyer,\n"
+"or conduct a code audit to make sure their own source can be released as "
+"GPL-compatible,\n"
+"we lose out."
+msgstr ""
+"Большинство приложений гарантирует гораздо больше - возможность "
+"<b>любому</b> \n"
+"распространять измененные исходники по его выбору. Тем не менее, не все \n"
+"включенное ПО предоставляет эту возможность - GPL ограничивает "
+"возможность \n"
+"разработчиков, желающих интегрировать I2P с их собственными приложениями,"
+" которые \n"
+"сами не являются приложениями с открытым исходным кодом. В то время как "
+"мы \n"
+"в общем-то приветствуем благородные цели увеличения ресурсов, I2P будет "
+"лучше без любых \n"
+"ограничений, которые стоят на пути его принятия - если разработчик будет "
+"рассматривать \n"
+"возможность интеграции I2P со своим приложением, он должен посоветоваться"
+" со своим адвокатом, \n"
+"или провести аудит кода, чтобы быть уверенным, что его код может быть "
+"выпущен под лицензией GPL,\n"
+"мы от этого проигрываем."
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:42
+msgid "Component licenses"
+msgstr "Лицензии компонентов"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:43
+msgid ""
+"The I2P distribution contains several resources, reflecting the "
+"partitioning of \n"
+"the source code into components.  Each component has its own license, "
+"which all \n"
+"developers who contribute to it agree to - either by explicitly declaring"
+" the release\n"
+"of code committed under a license compatible with that component, or by "
+"implicitly\n"
+"releasing the code committed under the component's primary license.  Each"
+" of these \n"
+"components has a lead developer who has the final say as to what license "
+"is compatible\n"
+"with the component's primary license, and the I2P project manager has the"
+" final say as\n"
+"to what licenses meet the above four guarantees for inclusion in the I2P "
+"distribution."
+msgstr ""
+"Поставка I2P содержит несколько ресурсов, отражающих разделение \n"
+"исходного кода на компоненты. У каждого компонента своя лицензия, с "
+"которой \n"
+"соглашаются все его разработчики - либо непосредственно объявляя \n"
+"об этом при релизе исходного кода зафиксированного под лицензией, "
+"совместимой с этим компонентом, либо \n"
+"опосредованно при релизе исходного кода зафиксированного под главной "
+"лицензией компонента. У каждого из этих \n"
+"компонентов есть главный разработчик, который говорит совместима ли "
+"лицензия \n"
+"с главной лицензией компонента, и менеджер проекта I2P, который говорит \n"
+"подходит ли лицензия ко всем четырем требованиям для включения в поставку"
+" I2P."
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:56
+msgid "Component"
+msgstr "Компонент"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:57
+msgid "Source path"
+msgstr "Исходный путь"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:58
+msgid "Resource"
+msgstr "Ресурс"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:59
+msgid "Primary license"
+msgstr "Главная лицензия"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:60
+msgid "Alternate licenses"
+msgstr "Альтернативная лицензия"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:61
+msgid "Lead developer"
+msgstr "Главные разработчик"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:270
+msgid "GPL + java exception"
+msgstr "Исключение для GPL + Java"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:271
+#, python-format
+msgid ""
+"While it may be redundant, just for clarity the\n"
+"<a href=\"%(gpl)s\">GPL</a>'ed code included within\n"
+"I2PTunnel and other apps must be released under the GPL with an "
+"additional \"exception\"\n"
+"explicitly authorizing the use of Java's standard libraries:"
+msgstr ""
+"Не смотря на то, что это может быть избыточным, просто чтобы внести "
+"ясность в \n"
+"код под <a href=\"%(gpl)s\">GPL</a>, включенный в \n"
+"I2PTunnel и другие приложения, должны быть предоставлены под GPL с "
+"дополнительным \"исключением\", \n"
+"непосредственно дающим право использовать стандартные библиотеки Java:"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:287
+msgid ""
+"All source code under each component will by default be licensed under "
+"the\n"
+"primary license, unless marked otherwise in the code.  All of the above "
+"is\n"
+"summary of the license terms - please see the specific license for the "
+"component\n"
+"or source code in question for authoritative terms.  Component source "
+"locations and\n"
+"resource packaging may be changed if the repository is reorganized."
+msgstr ""
+"По умолчанию, весь исходный код каждого компонента лицензируется по \n"
+"главной лицензии, если иное не указано в коде. Все сказанное выше - \n"
+"суть условий лицензирования - в случае возникновения вопросов об особых "
+"условиях \n"
+"лицензирования, смотри лицензионные соглашения соответствующего исходного"
+" кода или компонента. \n"
+"В случае реорганизации хранилища расположение исходных кодов компонентов "
+"и пакетов может быть изменено."
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:295
+msgid "Commit privileges"
+msgstr "Привилегии фиксирования"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:296
+#, python-format
+msgid ""
+"Developers may push changes to a distributed monotone repository if you\n"
+"receive permission from the person running that repository.\n"
+"See the <a href=\"%(monotone)s\">Monotone Page</a> for details."
+msgstr ""
+"Разработчики могут протолкнуть изменения в распределенное хранилище "
+"monotone, если \n"
+"у вас есть разрешение от человека, запустившего это хранилище.\n"
+"Подробнее смотри на странице <a href=\"%(monotone)s\">Monotone Page</a>."
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:302
+msgid ""
+"However, to have changes included in a release, developers\n"
+"must be trusted by the release manager (currently zzz).\n"
+"In addition, they must explicitly agree with the above terms to be "
+"trusted.\n"
+"That means that they must send one of the release managers a signed "
+"message affirming that:"
+msgstr ""
+"Тем не менее, чтобы изменения были включены в релиз, разработчики \n"
+"должны быть одобрены релиз-менеджером (сейчас это zzz). \n"
+"Кроме того, для одобрения они должны явно согласиться с условиями, "
+"описанными выше.\n"
+"Это означает, что они должны отправить одному из релиз-менеджеров "
+"подписанное сообщение, подтверждая что:"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:309
+msgid ""
+"Unless marked otherwise, all code I commit is implicitly licensed under\n"
+"the component's primary license"
+msgstr ""
+"Если не указано иное, весь код, что я фиксирую, явно лицензируется \n"
+"главной лицензией компонента"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:313
+msgid ""
+"If specified in the source, the code may be explicitly licensed under one"
+"\n"
+"of the component's alternate licenses"
+msgstr ""
+"Если указано в исходном коде, код может быть опосредованно лицензирован "
+"одной \n"
+"из альтернативных лицензий компонента"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:317
+msgid ""
+"I have the right to release the code I commit under the terms I\n"
+"am committing it"
+msgstr ""
+"У меня есть право выпускать код, который я фиксирую, в соответствии с "
+"условиями, \n"
+"на которых я это делаю"
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:323
+#, python-format
+msgid ""
+"If anyone is aware of any instances where the above conditions are not "
+"met,\n"
+"please contact the component lead and/or an I2P release manager with "
+"further\n"
+"information.\n"
+"<a href=\"%(licenseagreements)s\">See developers' license agreements</a>."
+msgstr ""
+"Если кому-либо известно о каких-либо случаях, когда указанные выше "
+"условия не будут выполнены, \n"
+"просьба обратиться к главному разработчику компонента и/или к "
+"релиз-менеджеру I2P с этой \n"
+"информацией.\n"
+"<a href=\"%(licenseagreements)s\">Смотри лицензионное соглашение "
+"разработчиков</a>."
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2
+msgid "Release Signing Key"
+msgstr "Ключи подписания релизов"
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4
+msgid "Releases 0.7.6 and later are signed by zzz. His public key is:"
+msgstr "Релиз 0.7.6 и более поздние подписываются zzz. Его публичный ключ:"
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:40
+msgid ""
+"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public "
+"key is:"
+msgstr ""
+"Релизы с 0.6.1.31 по 0.7.5 были подписаны Complication. Его публичный "
+"ключ:"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2
+msgid "Signed Developer Keys"
+msgstr "Подписанные ключи разработчиков"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4
+msgid ""
+"Keys for zzz, Complication and welterde are provided clearsigned. The key"
+" for jrandom must be\n"
+"verified differently, since he's away, and only left a binary detached\n"
+"signature for his key."
+msgstr ""
+"Ключи для zzz, Complication и welterde предоставляются в виде "
+"clearsigned. Ключ для jrandom должен быть \n"
+"верифицирован иначе, т.к. его нет, и осталась только двоично отделенная -"
+" binary detached - \n"
+"подпись его ключа."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16
+msgid "Monotone keys for zzz"
+msgstr "Ключи monotone для zzz"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47
+msgid "Monotone keys for welterde"
+msgstr "Ключи monotone для welterde"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79
+msgid "Monotone keys for Complication"
+msgstr "Ключи monotone для Complication"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114
+msgid "Monotone keys for jrandom"
+msgstr "Ключи monotone для jrandom"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169
+msgid "Others"
+msgstr "Другие"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17
+msgid ""
+"<u>Tip:</u> To find zzz's GPG key, on his eepsite locate the key "
+"`0xA76E0BED`, with\n"
+"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 "
+"B310 4155\n"
+"76BA A76E 0BED`."
+msgstr ""
+"<u>Примечание:</u> Чтобы найти GPG ключ zzz, на его eepsite найдите ключ "
+"`0xA76E0BED`, с\n"
+"именем `zzz@mail.i2p` и fingerprint `4456 EBBE C805 63FE 57E6 B310 4155\n"
+"76BA A76E 0BED`."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49
+msgid ""
+"<b>Tip:</b> To find welterde's GPG key, on public keyservers locate the "
+"key\n"
+"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720"
+" FD81\n"
+"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
+msgstr ""
+"<u>Примечание:</u> Чтобы найти GPG ключ welterde, на публичном "
+"key-сервере найдите ключ\n"
+"`0x62E011A1`, с именем `welterde@arcor.de` и fingerprint `6720 FD81\n"
+"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81
+msgid ""
+"<b>Tip:</b> To find Complication's GPG key, on his eepsite locate the key"
+"\n"
+"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint "
+"`73CF\n"
+"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
+msgstr ""
+"<u>Примечание:</u> Чтобы найти GPG ключ Complication, на его eepsite "
+"найдите ключ\n"
+"`0x79FCCE33`, с именем `complication@mail.i2p` и fingerprint `73CF\n"
+"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116
+msgid ""
+"<b>Tip:</b> To find jrandom's GPG key for Syndie releases, on public "
+"keyservers locate\n"
+"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n"
+"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
+msgstr ""
+"<u>Примечание:</u> Чтобы найти GPG ключ jrandom для релизов Syndie, на "
+"публичном key-сервере найдите\n"
+"ключ `0x393F2DF9`, с именем `syndie-dist-key@i2p.net` и\n"
+"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122
+msgid ""
+"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n"
+"deployed in the Syndie Monotone repository, in a file named `mtn-"
+"committers`.\n"
+"That file also had a GPG signature, `mtn-committers.sig`, but it was a "
+"binary\n"
+"detached signature. I am going to supply both files in GPG ASCII-armoured"
+" form\n"
+"below."
+msgstr ""
+"Jrandom был вынужден неожиданно уйти в конце 2007. Его ключ фиксации был"
+" \n"
+"размещен в хранилище Syndie Monotone, в файле с именем `mtn-committers`.\n"
+"У этого файла также есть подпись GPG, `mtn-committers.sig`, но она binary"
+" detached.\n"
+"Я хочу привести содержимое обоих файлов в GPG ASCII форме ниже."
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130
+msgid ""
+"First, the file `mtn-committers` containing jrandom's Monotone key. Save "
+"as\n"
+"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers "
+"--dearmor\n"
+"mtn-committers.asc`:"
+msgstr ""
+"Первое, файл `mtn-committers`, содержащий Monotone ключ jrandom. Хранимый"
+" как \n"
+"`mtn-committers.asc`, для распаковки используйте `gpg --output mtn-"
+"committers --dearmor\n"
+"mtn-committers.asc`:"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151
+msgid ""
+"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n"
+"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-"
+"committers.sig\n"
+"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n"
+"`mtn-committers` file:"
+msgstr ""
+"Теперь файл `mtn-committers.sig`, содержащий подпись GPG. Хранимый как\n"
+"`mtn-committers.sig.asc`, распаковывается используя `gpg --output mtn-"
+"committers.sig\n"
+"--dearmor mtn-committers.sig.asc`. Используйте его для верификации "
+"имеющегося\n"
+"`mtn-committers` файла:"
+
+#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170
+#, python-format
+msgid ""
+"Some of the developers have included their Monotone keys in their <a "
+"href=\"%(licenseagreements)s\">signed license agreement</a>."
+msgstr ""
+"Некоторые разработчики включили свои ключи Monotone в свои  <a "
+"href=\"%(licenseagreements)s\">подписанные лицензионные соглашения</a>."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2
+msgid "Developer Guidelines and Coding Style"
+msgstr "Руководство по разработке и стиль программирования"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4
+#, python-format
+msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
+msgstr ""
+"Для начала прочтите <a href=\"%(newdevs)s\">руководство нового "
+"разработчика</a>."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8
+msgid "Basic Guidelines and Coding Style"
+msgstr "Базовые принципы и стиль форматирования кода"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10
+msgid ""
+"Most of the following should be common sense for anybody who has worked "
+"on open source or in a commercial\n"
+"programming envrionment.\n"
+"The following applies mostly to the main development branch i2p.i2p.\n"
+"Guidelines for other branches, plugins, and external apps may be "
+"substantially different;\n"
+"check with the appropriate developer for guidance."
+msgstr ""
+"Большинство из ниже следующего должно быть хорошо известно каждому кто "
+"участвует в разработке open source или в коммерческой \n"
+"среде разработки.\n"
+"Ниже следующее применимо к большей части основной разработки ветки "
+"i2p.i2p.\n"
+"Руководства для других веток, дополнений и внешних приложений может "
+"существенно отличаться;\n"
+"для уточнения свяжитесь с соответствующим разработчиком."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18
+msgid "Community"
+msgstr "Общество"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20
+msgid ""
+"Please don't just \"write code\". If you can, participate in other "
+"development activities, including:\n"
+"development discussions and support on IRC, zzz.i2p, and forum.i2p; "
+"testing;\n"
+"bug reporting and responses; documentation; code reviews; etc."
+msgstr ""
+"Пожалуйста, не нужно просто \"писать код\". Если вы можете, участвуйте в "
+"других мероприятиях, включая:\n"
+"обсуждения разработки и поддержке в IRC, zzz.i2p и на форуме forum.i2p; в"
+" тестировании;\n"
+"сообщениях об ошибках и ответах на них; документировании; просматривании "
+"кода, и т.д."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25
+msgid ""
+"Active devs should be available periodically on IRC #i2p-dev.\n"
+"Be aware of the current release cycle.\n"
+"Adhere to release milestones such as feature freeze, tag freeze, and\n"
+"the checkin deadline for a release."
+msgstr ""
+"Активные разработчики должны периодически быть доступны по IRC #i2p-dev.\n"
+"Будьте в курсе текущего цикла выпуска. \n"
+"Придерживайтесь релизных вех, таких как freeze, tag freeze и \n"
+"checkin deadline для релиза."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35
+msgid ""
+"Have a basic understanding of distributed source control systems, even if"
+" you haven't\n"
+"used monotone before. Ask for help if you need it.\n"
+"Once pushed, checkins are forever, there is no undo. Please be careful.\n"
+"If you have not used monotone before, start with baby steps.\n"
+"Check in some small changes and see how it goes."
+msgstr ""
+"Получите основные понятия о распределенной системе контроля версий, даже "
+"если раньше \n"
+"вы не использовали monotone. Если нужно - попросите помощи.\n"
+"Единожды чекин да пребудет вовеки, никакого отката нет. Пожалуйста, "
+"будьте аккуратны.\n"
+"Если раньше вы не использовали monotone - начните с маленьких шагов.\n"
+"Зачекиньте небольшое изменение и посмотрите как пойдет дело."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42
+msgid ""
+"Test your changes before checking them in.\n"
+"If you prefer the checkin-before-test development model,\n"
+"use your own development branch (e.g. i2p.i2p.yourname.test)\n"
+"and propagate back to i2p.i2p once it is working well.\n"
+"Do not break the build. Do not cause regressions.\n"
+"In case you do (it happens), please do not vanish for a long period after"
+"\n"
+"you push your change."
+msgstr ""
+"Тестируйте свои изменения до того как зачекинить их.\n"
+"Если вы предпочитаете модель программирования чекин-перед-тестированием,\n"
+"то используйте свою ветку разработки (например i2p.i2p.yourname.test)\n"
+"и переносите изменения в i2p.i2p когда они заработают как надо.\n"
+"Не ломайте сборку. Не провоцируйте регрессию.\n"
+"А если сделали (это случается), пожалуйста, не исчезайте на долго после "
+"того \n"
+"как внесли изменения."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51
+msgid ""
+"If your change is non-trivial, or you want people to test it and need "
+"good test reports\n"
+"to know whether your change was tested or not, add a checkin comment to "
+"history.txt\n"
+"and increment the build revision in RouterVersion.java."
+msgstr ""
+"Если ваши изменения нетривиальны, или вы хотите чтобы люди их "
+"протестировали, и вам нужны хорошие отчеты о тестировании, \n"
+"дабы знать протестированы ваши изменения или нет - добавьте "
+"чекин-комментарий в history.txt\n"
+"и увеличьте версию сборки в RouterVersion.java."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:56
+msgid ""
+"Ensure that you have the latest monotonerc file in _MTN.\n"
+"Do not check in on top of untrusted revisions."
+msgstr ""
+"Убедитесь, что у вас есть свежий файл monotonerc в _MTN.\n"
+"Не чекиньте в ненадежные ревизии."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60
+msgid ""
+"Ensure that you pull the latest revision before you check in.\n"
+"If you inadvertently diverge, merge and push as soon as possible.\n"
+"Don't routinely make others merge for you.\n"
+"Yes, we know that monotone says you should push and then merge,\n"
+"but in our experience, in-workspace merge works just as well as in-"
+"database merge,\n"
+"without creating a merge revision."
+msgstr ""
+"Убедитесь, что вы выбрали последнюю ревизию до того как выполнили чекин.\n"
+"Если вы случайно разошлись, выполните merge и push как можно скорее.\n"
+"Не заставляйте других выполнять merge за вас.\n"
+"Да, мы знаем, что monotone говорит - вы должны выполнить push, а затем "
+"merge,\n"
+"но, по нашему опыту, in-workspace merge работает также хорошо как и in-"
+"database merge,\n"
+"без создания merge ревизии."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
+msgid ""
+"Do not check in major changes into the main i2p.i2p branch late in the "
+"release cycle.\n"
+"If a project will take you more than a couple days, create your own "
+"branch in monotone\n"
+"and do the development there so you do not block releases."
+msgstr ""
+"Не чекиньте важные изменения в главную ветку i2p.i2p на поздних стадиях "
+"цикла релиза.\n"
+"Если проект занимает у вас больше нескольких дней, создайте свою ветку в "
+"monotone \n"
+"и разрабатывайте в ней, т.о. вы не заблокируете релиз."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75
+msgid "Coding Style"
+msgstr "Стиль форматирования кода"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77
+msgid ""
+"Coding style throughout most of the code is 4-spaces for indentation. Do "
+"not use tabs.\n"
+"Do not reformat code. If your IDE or editor wants to reformat everything,"
+" get control of it.\n"
+"Yes, we know 4 spaces is a pain, but perhaps you can configure your "
+"editor appropriately.\n"
+"In some places, the coding style is different.\n"
+"Use common sense. Emulate the style in the file you are modifying."
+msgstr ""
+"В большинстве кода для отступа используется 4 пробела. Не используйте "
+"символ табуляции.\n"
+"Не переформатируйте код. Если ваш IDE или редактор хочет отформатировать "
+"все, возьмите его под контроль.\n"
+"Да, мы знаем, что 4 пробела это та еще головная боль, но, возможно, вы "
+"сможете правильно настроить свой редактор.\n"
+"В некоторых местах стиль форматирования может разниться.\n"
+"Руководствуйтесь здравым смыслом. Воспроизводите имеющийся стиль в файле,"
+" который вы изменяете."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84
+msgid ""
+"New classes and methods require at least brief javadocs. Add @since "
+"release-number."
+msgstr ""
+"Для новых классов и методов нужен хотя бы краткий javadocs. Добавьте "
+"@since номер-релиза."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87
+msgid ""
+"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our "
+"official API.\n"
+"There are several out-of-tree plugins and other applications that rely on"
+" this API.\n"
+"Be careful not to make any changes that break compatibility.\n"
+"Don't add methods to the API unless they are of general utility.\n"
+"Javadocs for API methods should be clear and complete.\n"
+"If you add or change the API, also update the documentation on the "
+"website (i2p.www branch)."
+msgstr ""
+"Классы в core/ (i2p.jar) и куски i2ptunnel - это части нашего "
+"официального API.\n"
+"Есть несколько out-of-tree плагинов и других приложений, которые основаны"
+" на этом API.\n"
+"Будьте осторожны при их изменении, чтобы не поломать совместимость.\n"
+"Добавляйте методы в API, только если они полезны для всех.\n"
+"Javadocs для методов API должны быть просты и полны.\n"
+"Если вы вносите изменения в API, обновите также документацию на веб-сайте"
+" (i2p.www branch)."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95
+msgid ""
+"Tag strings for translation where appropriate.\n"
+"Don't change existing tagged strings unless really necessary, as it will "
+"break existing translations.\n"
+"Do not add or change tagged strings after the \"tag freeze\" in the "
+"release cycle so that\n"
+"translators have a chance to update before the release."
+msgstr ""
+"Делайте заметки к строкам для переводов где следует.\n"
+"Изменяйте существующие отмеченные строки, только если это действительно "
+"необходимо, т.к. это нарушает существующий перевод.\n"
+"Не добавляйте и не изменяйте отмеченные строки после \"tag freeze\" в "
+"цикле релиза, тогда \n"
+"у переводчиков будет шанс обновиться до релиза."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101
+msgid ""
+"Use generics and concurrent classes where possible. I2P is a highly "
+"multi-threaded application."
+msgstr ""
+"По возможности используйте дженерики и конкурентные классы. I2P - это "
+"сильно мульти-потоковое приложение."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104
+msgid ""
+"We require Java 6 to build but only Java 5 to run I2P.\n"
+"Do not use Java 6 classes or methods without handling the class not found"
+" exceptions\n"
+"and providing alternate Java 5 code. See classes in net.i2p.util for "
+"examples."
+msgstr ""
+"Мы требуем Java 6 для сборки, но только Java 5 для запуска I2P.\n"
+"Не используйте классы или методы Java 6 без обработки исключений \"class "
+"not found\" \n"
+"и выполнения альтернативного кода Java 5. Для примера смотри классы "
+"net.i2p.util."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:109
+msgid ""
+"Explicitly convert between primitive types and classes;\n"
+"don't rely on autoboxing/unboxing."
+msgstr ""
+"Выполняйте явное преобразование примитивных классов и типов;\n"
+"не полагайтесь на autoboxing/unboxing."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115
+msgid "Licenses"
+msgstr "Лицензии"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117
+msgid ""
+"Only check in code that you wrote yourself.\n"
+"Before checking in any code or library jars from other sources,\n"
+"justify why it is necessary,\n"
+"verify the license is compatible,\n"
+"and obtain approval from the lead developer."
+msgstr ""
+"Чекиньте только тот код, который вы написали сами.\n"
+"Перед тем как зачекинить любой код или библиотеку jar из других "
+"источников,\n"
+"объясните почему это необходимо,\n"
+"убедитесь что лицензия совместима,\n"
+"и получите подтверждение от главного разработчика."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124
+msgid ""
+"For any images checked in from external sources,\n"
+"it is your responsibility to first verify the license is compatible.\n"
+"Include the license and source information in the checkin comment."
+msgstr ""
+"Для любых image зачекиненых из внешних источников,\n"
+"вашей ответственностью является проверка совместимости лицензии.\n"
+"Включите лицензию и информацию об источнике в комментарий к чекину."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131
+msgid "Bugs"
+msgstr "Ошибки"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
+#, python-format
+msgid ""
+"Managing Trac tickets is everybody's job, please help.\n"
+"Monitor %(trac)s for tickets you have been assigned or can help with.\n"
+"Assign, categorize, comment on, fix, or close tickets if you can."
+msgstr ""
+"Управление потоком тикетов это общая работа, пожалуйста, помогайте.\n"
+"Просматривайте %(trac)s на предмет тикетов, к которым вы прикреплены, или"
+" по которым вы можете помочь.\n"
+"Назначайте, категоризируйте, комментируйте, испарвляйте или закрывайте "
+"тикеты, если можете."
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138
+msgid ""
+"Close a ticket when you think you've fixed it.\n"
+"We don't have a test department to verify and close tickets.\n"
+"If you arent sure you fixed it, close it and add a note saying\n"
+"\"I think I fixed it, please test and reopen if it's still broken\".\n"
+"Add a comment with the dev build number or revision and set\n"
+"the milestone to the next release."
+msgstr ""
+"Закройте тикет, если считаете, что исправили его.\n"
+"У нас нет отдела тестирования для верификации и закрытия тикетов.\n"
+"Если вы не уверены, что исправили, закрывайте и добавляйте запись с "
+"текстом \n"
+"\"Я думаю, я это исправил, пожалуйста, протестируйте и откройте заново "
+"если ошибка все еще воспроизводится\".\n"
+"Добавляйте комментарий с номером сборки или ревизией, и устанавливайте "
+"веху в следующем релизе."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:2
+msgid "Using an IDE with I2P"
+msgstr "Использование IDE с I2P"
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:4
+msgid ""
+"The main I2P development branch (<code>i2p.i2p</code>) has been set up to"
+" enable developers to easily set up two of the commonly-used IDEs for "
+"Java development: Eclipse and NetBeans."
+msgstr ""
+"Главная ветка разработки I2P (<code>i2p.i2p</code>) была создана для того"
+" чтобы разработчики могли легко установить один из двух часто "
+"используемых IDE для Java разработки: Eclipse и NetBeans."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:10
+msgid ""
+"The main I2P development branches (<code>i2p.i2p</code> and branches from"
+" it) contain .project and .classpath Eclipse files, to enable the branch "
+"to be easily set up in Eclipse."
+msgstr ""
+"Главные ветки разработки I2P (<code>i2p.i2p</code> и ее подветки) "
+"содержат файлы Eclipse .project и .classpath для легкого добавления веток"
+" в Eclipse."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:16
+msgid ""
+"Check out the I2P branch into some directory (e.g. "
+"<code>$HOME/dev/i2p.i2p</code>)."
+msgstr ""
+"Извлеките ветку I2P в какую-нибудь директорию (например, "
+"<code>$HOME/dev/i2p.i2p</code>)."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:20
+msgid ""
+"Open Eclipse and create a new Workspace, based in the directory that the "
+"I2P branch was checked out to."
+msgstr ""
+"Откройте Eclipse и создайте новый Workspace для директории, в которую вы "
+"извлекли ветку I2P."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:24
+msgid ""
+"Select \"File - Import...\" and then under \"General\" select \"Existing "
+"Projects into Workspace\"."
+msgstr ""
+"Выберите \"File - Import...\" и в разделе \"General\" выберите \"Existing"
+" Projects into Workspace\"."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:28
+msgid ""
+"For \"Select root directory:\" choose the directory that the I2P branch "
+"was checked out to."
+msgstr ""
+"Для опции \"Select root directory:\" выберите директорию, в которую вы "
+"извлекли ветку I2P."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:32
+msgid "If necessary, click \"Refresh\" to refresh the list of projects."
+msgstr "Если необходимо, нажмите \"Refresh\" для обновления списка проектов."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:36
+msgid "Select every project in the list, and click \"Finish\"."
+msgstr "Выберите каждый проект в списке и нажмите \"Finish\"."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:40
+msgid ""
+"Done! Your workspace should now contain all projects within the I2P "
+"branch, and their build dependencies should be correctly set up."
+msgstr ""
+"Готово! Ваш workspace теперь должен содержать все проекты из ветки I2P, и"
+" его зависимости сборки должны быть корректно установлены."
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:48
+msgid ""
+"The main I2P development branches (<code>i2p.i2p</code> and branches from"
+" it) contain NetBeans project files."
+msgstr ""
+"Главные ветки разработки I2P (<code>i2p.i2p</code> его его подветки) "
+"содержит файлы проекта NetBeans."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:2
+msgid "Monotone Guide"
+msgstr "Руководство по Monotone"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:7
+msgid "Operating a Monotone client"
+msgstr "Управление клиентом Monotone"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:9
+#: i2p2www/pages/site/get-involved/guides/monotone.html:61
+msgid "Generating Monotone keys"
+msgstr "Генерация ключей Monotone"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:10
+msgid "Trust and initializing your repository"
+msgstr "Доверие и инициализация вашего хранилища"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:11
+#: i2p2www/pages/site/get-involved/guides/monotone.html:194
+msgid "Obtaining and deploying developers' keys"
+msgstr "Получение и применение ключей разработчиков"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:12
+#: i2p2www/pages/site/get-involved/guides/monotone.html:225
+msgid "Setting up trust evaluation hooks"
+msgstr "Установка ловушек оценки доверия"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:13
+#: i2p2www/pages/site/get-involved/guides/monotone.html:266
+msgid ""
+"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and "
+"<code>i2p.syndie</code> branches"
+msgstr ""
+"Получение веток <code>i2p.i2p</code>, <code>i2p.www</code> и "
+"<code>i2p.syndie</code>"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:14
+#: i2p2www/pages/site/get-involved/guides/monotone.html:306
+msgid "Verifying that trust evaluation works"
+msgstr "Проверка работоспособности оценки доверия"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:15
+#: i2p2www/pages/site/get-involved/guides/monotone.html:355
+msgid "Checking out a working copy of the latest version"
+msgstr "Извлечение рабочей копии последней версии"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:16
+#: i2p2www/pages/site/get-involved/guides/monotone.html:382
+msgid "Updating your working copy to the latest version"
+msgstr "Обновление вашей рабочей копии до последней версии"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:20
+#: i2p2www/pages/site/get-involved/guides/monotone.html:412
+msgid "Operating a Monotone Server"
+msgstr "Управление сервером Monotone"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:22
+msgid "Obtaining and deploying developers’ transport keys"
+msgstr "Получение и применение transport ключей разработчиков"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:23
+#: i2p2www/pages/site/get-involved/guides/monotone.html:422
+msgid "Granting push and pull access"
+msgstr "Назначение прав доступа push и pull"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:24
+#: i2p2www/pages/site/get-involved/guides/monotone.html:467
+msgid "Running Monotone in server mode"
+msgstr "Запуск Monotone в режиме сервера"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:25
+#: i2p2www/pages/site/get-involved/guides/monotone.html:492
+msgid "Differences under Debian GNU/Linux"
+msgstr "Различия под Debian GNU/Linux"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:32
+#, python-format
+msgid ""
+"This is a revised version of <a "
+"href=\"%(transitionguide)s\">Complication's original\n"
+"  guide</a> detailing the use of Monotone in I2P development.\n"
+"  For basic instructions see the <a href=\"%(newdevs)s\">quick-start "
+"guide</a>."
+msgstr ""
+"Это проверенная версия  <a href=\"%(transitionguide)s\">Оригинального "
+"руководства \n"
+"Complication</a>, поясняющего использование Monotone в разработке I2P.\n"
+"Основные инструкции смотри в <a href=\"%(newdevs)s\">руководстве по "
+"быстрому старту</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:40
+#, python-format
+msgid ""
+"I2P has a distributed development model. The source code is replicated "
+"across\n"
+"  independently administered <a "
+"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\") repositories.\n"
+"  Developers with commit rights are able to push their changes to the "
+"repository\n"
+"  (a <a href=\"%(licenses)s#commit\">license agreement</a> needs to be "
+"signed\n"
+"  before commit rights are granted)."
+msgstr ""
+"В I2P используется распределенная модель разработки. Исходный код "
+"реплицируется \n"
+"по независимо администрируемым хранилищам <a "
+"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\").\n"
+"Разработчики с правами фиксации могут размещать свои изменения в "
+"хранилище\n"
+"(необходимо подписать <a href=\"%(licenses)s#commit\">лицензионное "
+"соглашение</a> \n"
+"до того как будут выданы права для фиксации)."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:50
+msgid ""
+"Some of Monotone's noteworthy qualities are: distributed\n"
+"  version control, cryptographic authentication, access control, its "
+"small size, having few\n"
+"  dependencies, storage of projects in a compressed SQLite database file,"
+" and\n"
+"  having the ability to resume interrupted synchronization attempts."
+msgstr ""
+"Некоторые из замечательных качеств Monotone: распределенный\n"
+"контроль версий, криптографическая аутентификация, контроль доступа, "
+"малый размер, малое\n"
+"количество зависимостей, хранение проектов в сжатом файле базы данных "
+"SQLite и \n"
+"наличие возможности восстанавливать прерванные попытки синхронизации."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:59
+msgid "Operating a Monotone Client"
+msgstr "Управление клиентом Monotone"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:64
+msgid ""
+"A transport key grants you the ability to push your changes to a Monotone"
+" repository server.\n"
+"  In order to commit code into Monotone (in essence signing your code), a"
+" commit key is also needed.\n"
+"  None of the public Monotone servers on I2P currently require a key in "
+"order to read (or pull) the source code."
+msgstr ""
+"Transport ключ дает вам возможность размещать ваши изменения в хранилище "
+"сервера Monotone.\n"
+"Для фиксации кода в Monotone (по сути, для подписания вашего кода), также"
+" нужен commit ключ.\n"
+"Ни один из публичных серверов Monotone в I2P на данный момент не требует "
+"ключ для чтения (или получения) исходного кода."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:72
+msgid ""
+"Without a transport key, one cannot:\n"
+"  <ul>\n"
+"    <li>pull code from a server which doesn't allow global read "
+"access</li>\n"
+"    <li>push code to any server</li>\n"
+"    <li>run a Monotone server</li>\n"
+"  </ul>"
+msgstr ""
+"Без transport ключа невозможно:\n"
+"  <ul>\n"
+"    <li>получать код от сервера, который не предоставляет доступ для "
+"глобального чтения</li>\n"
+"    <li>размещать код на любом сервере</li>\n"
+"    <li>запускать сервер Monotone</li>\n"
+"  </ul>"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:83
+msgid ""
+"Without a commit key, one cannot:\n"
+"  <ul>\n"
+"    <li>commit any code</li>\n"
+"  </ul>"
+msgstr ""
+"Без commit ключа невозможно:\n"
+"  <ul>\n"
+"    <li>фиксировать любой код</li>\n"
+"  </ul>"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:92
+msgid ""
+"If you only intend to retrieve code from MTN, feel free to skip to the\n"
+"  <a href=\"#trust-and-initializing-your-repository\">next section</a>. "
+"If you want\n"
+"  to generate keys, read the following."
+msgstr ""
+"Если вы собираетесь только получать код из MTN, можете спокойно "
+"пропустить \n"
+"<a href=\"#trust-and-initializing-your-repository\">следующий раздел</a>."
+" Если же вы хотите \n"
+"генерировать ключи, прочтите нижеследующее."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:100
+msgid ""
+"By convention keys are named like an e-mail addresses, but a "
+"corresponding e-mail\n"
+"  address does not need to exist. For example, your keys might be named:"
+msgstr ""
+"По договоренности ключи именуются как адреса e-mail, но соответствующий "
+"e-mail\n"
+"не обязательно должен существовать. Например, ваш ключ может называться:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:111
+msgid ""
+"Monotone stores keys under <code><b>$HOME/.monotone/keys</b></code> in "
+"text files which\n"
+"  are named identically to the keys. For example:"
+msgstr ""
+"Monotone хранит ключи в <code><b>$HOME/.monotone/keys</b></code> в "
+"текстовых файлах, которые \n"
+"названы также как ключи. Например:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:121
+msgid ""
+"To generate transport and commit keys, enter the following commands at a "
+"prompt:"
+msgstr ""
+"Для генерации transport и commit ключей выполните следующие команды в "
+"командной строке:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:131
+msgid ""
+"Monotone will prompt you for a password to protect your keys. You are "
+"very strongly encouraged to set a password\n"
+"  for the commit key. Many users will leave an empty password for the "
+"transport key, especially those running a\n"
+"  Monotone server."
+msgstr ""
+"Monotone запросит у вас пароль для защиты ваших ключей. Вам настоятельно "
+"рекомендуется установить пароль \n"
+"для commit ключа. Большинство пользователей оставляют пустым пароль для "
+"transport ключа, особенно те, кто \n"
+"запускает сервер Monotone."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:139
+msgid "Trust, and initializing your repository"
+msgstr "Доверие и инициализация вашего хранилища"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:143
+msgid ""
+"Monotone's security model helps to ensure that nobody can easily "
+"impersonate a developer without\n"
+"  it being noticed. Since developers can make mistakes and become "
+"compromised,only manual review can\n"
+"  ensure quality of code. Monotone's trust model will ensure that you "
+"read the right diffs. It does\n"
+"  not replace reading diffs."
+msgstr ""
+"Модель безопасности Monotone помогает быть уверенным в том, что никто не "
+"может запросто выдать себя за разработчика, \n"
+"без того, чтобы он был уведомлен. Т.к. разработчики могут совершать "
+"ошибки и быть скомпрометированы, то только ручной пересмотр \n"
+"поможет убедиться в качестве кода. Модель доверия Monotone обязывает вас "
+"следить за изменением прав. \n"
+"Что не является заменой чтения изменений."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:153
+msgid ""
+"A Monotone repository is a single file (a compressed SQLite database) "
+"which contains all of the project's source code and history."
+msgstr ""
+"Хранилище Monotone это один файл (сжатая база данных SQLite), который "
+"содержит исходный код всех проектов и историю."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:159
+msgid ""
+"After <a href=\"#obtaining-and-deploying-developers-keys\">importing the "
+"developers' keys into Monotone</a> and\n"
+"  <a href=\"#setting-up-trust-evaluation-hooks\">setting up trust "
+"evaluation hooks</a>,\n"
+"  Monotone will prevent untrusted code from being checked out into your "
+"workspace.\n"
+"  There are commands available to clean untrusted code from your "
+"workspace but in practice they've not been\n"
+"  needed due to the push access policies in place."
+msgstr ""
+"После <a href=\"#obtaining-and-deploying-developers-keys\">импорта ключей"
+" разработчиков в Monotone</a> и\n"
+"<a href=\"#setting-up-trust-evaluation-hooks\">установки ловушек оценки "
+"доверия</a>,\n"
+"Monotone предотвратит извлечение ненадежного кода в ваш workspace.\n"
+"Существуют команды, способные очистить ненадежный код из вашего "
+"workspace, но на практике они не нужны,\n"
+"благодаря политикам доступа на размещение кода."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:169
+msgid ""
+"A repository can hold many branches. For example, our repository holds "
+"the\n"
+"  following main branches:"
+msgstr ""
+"В хранилище могут находиться несколько веток. Например, наше хранилище "
+"содержит \n"
+"следующие главные ветки:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:174
+msgid "The I2P router and associated programs"
+msgstr "Маршрутизатор I2P и связанные с ним программы"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:175
+msgid "The I2P project website"
+msgstr "Веб-сайт проекта I2P"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:176
+msgid "Syndie, a distributed forums tool"
+msgstr "Syndie и средства распределенных форумов"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:181
+msgid ""
+"By convention, the I2P Monotone repository is named <code>i2p.mtn</code>."
+" Before pulling\n"
+"  source code from servers, a database for your repository will need to "
+"be initialized.\n"
+"  To initialize your local repository, change into the directory that you"
+" want the\n"
+"  <code>i2p.mtn</code> file and branch directories to be stored and issue"
+" the following\n"
+"  command:"
+msgstr ""
+"По соглашению хранилище I2P Monotone названо <code>i2p.mtn</code>. Перед "
+"извлечением \n"
+"исходного кода с серверов необходимо инициализировать базу данных для "
+"вашего хранилища. \n"
+"Для инициализации вашего локального хранилища перейдите в директорию, в "
+"которой вы хотите \n"
+"хранить <code>i2p.mtn</code> файл и директории веток, и выполните "
+"следующую \n"
+"команду:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:197
+msgid ""
+"Keys which developers use to commit code are essential for trust "
+"evaluation in\n"
+"  Monotone. The other developers' transport keys are only required for "
+"Monotone server operators.\n"
+"  "
+msgstr ""
+"Ключи, которые используют для фиксации кода, необходимы для оценки "
+"доверия в \n"
+"Monotone. Другие transport ключи разработчиков нужны только для "
+"операторов сервера Monotone."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:204
+#, python-format
+msgid ""
+"Developers' commit keys are provided GPG-signed <a "
+"href=\"%(signedkeys)s\">on another page</a>."
+msgstr ""
+"Commit ключи разработчиков представлены в виде GPG-signed <a "
+"href=\"%(signedkeys)s\">на другой странице</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:210
+#, python-format
+msgid ""
+"To import developers' keys after verifying their authenticity, copy <a "
+"href=\"%(devkeys)s\">all of the keys</a> into a new\n"
+"  file. Create this file (e.g. <code><b>keys.txt</b></code>) in the same "
+"directory where <code>i2p.mtn</code> is located. Import the keys with the"
+" command:"
+msgstr ""
+"Для импорта ключей разработчиков после проверки их подлинности скопируйте"
+" <a href=\"%(devkeys)s\">все ключи</a> в новый \n"
+"файл. Создайте этот файл (например, <code><b>keys.txt</b></code>) в той "
+"же директории, в которой расположен <code>i2p.mtn</code>. Импортируйте "
+"ключи командой:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:220
+msgid ""
+"<b>Note</b>: <i>Never</i> add keys to "
+"<code><b>$HOME/.monotone/keys</b></code> manually."
+msgstr ""
+"<b>Примечание</b>: <i>Никогда</i> не добавляйте ключи в "
+"<code><b>$HOME/.monotone/keys</b></code> вручную."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:228
+msgid ""
+"The default Monotone trust policy is way too lax for our requirements: "
+"every committer is trusted by default.\n"
+"  That is not acceptable for I2P development."
+msgstr ""
+"Дефолтная политика доверия Monotone слишком слаба для наших требований: "
+"каждый коммитер по умолчанию надежен.\n"
+"Это неприемлемо для разработки I2P."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:235
+msgid ""
+"Change into the directory <code><b>$HOME/.monotone</b></code> and open "
+"the file\n"
+"  <code>monotonerc</code> with a text editor. Copy and paste the "
+"following two functions into this file:"
+msgstr ""
+"Перейдите в директорию <code><b>$HOME/.monotone</b></code> и откройте "
+"файл \n"
+"<code>monotonerc</code> в текстовом редакторе. Скопируйте и вставьте "
+"следующие две функции в этот файл:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:244
+msgid ""
+"The first function determines an intersection between two sets, in our "
+"case a\n"
+"  revision's signers and trusted signers."
+msgstr ""
+"Первая функция определяет пересечение между двумя наборами, в нашем "
+"случае \n"
+"это подписанты ревизий и надежные подписанты."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:251
+msgid ""
+"The second function determines trust in a given revision, by calling the "
+"first\n"
+"  function with \"signers\" and \"trusted\" as arguments. If the "
+"intersection is\n"
+"  null, the revision is not trusted. If the intersection is not empty, "
+"the\n"
+"  revision is trusted. Otherwise, the revision is not trusted."
+msgstr ""
+"Вторая функция определяет доверие в заданной ревизии, вызывая первую \n"
+"функцию с аргументами \"signers\" и \"trusted\". Если пересечение \n"
+"пусто, то ревизия не надежна. Если пересечение не пусто, то \n"
+"ревизия надежна. В другом случае ревизия не надежна."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:260
+msgid ""
+"More information about Trust Evauluation Hooks can be found in the <a "
+"href=\"http://www.monotone.ca/docs/Hooks.html\">official Monotone "
+"documentation</a>."
+msgstr ""
+"Больше информации о ловушках оценки доверия - Trust Evauluation Hooks - "
+"можно найти в <a "
+"href=\"http://www.monotone.ca/docs/Hooks.html\">официальной  документации"
+" Monotone</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:269
+msgid ""
+"Enter the directory where you initialized <code>i2p.mtn</code>. Depending"
+" on whether you\n"
+"  want only I2P sources, or also sources for the I2P website and Syndie, "
+"you can\n"
+"  perform the <code>pull</code> operation in different ways."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:277
+msgid "If you only want I2P sources:"
+msgstr "Если вам нужны только исходники I2P:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:286
+msgid "If you want all branches:"
+msgstr "Если вам нужны все ветки:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:292
+msgid ""
+"If the transfer aborts before completing sucessfully, simply repeating "
+"the pull command will resume the transfer."
+msgstr ""
+"Если передача прервалась до успешного завершения, просто повторите "
+"команду получения, и передача возобновится."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:298
+msgid ""
+"Pulling in the above examples is done anonymously by specifying an empty "
+"transport key.\n"
+"  If everyone pulls anonymously it will be harder for an attacker who "
+"gains control of the server\n"
+"  to selectively provide some people with tampered data."
+msgstr ""
+"Получение в примерах выше совершается анонимно, т.к. был указан пустой "
+"transport ключ. \n"
+"Если все будут выполнять получение анонимно, то атакующему будет сложнее "
+"получить контроль над сервером, \n"
+"избирательно снабжая некоторых людей поддельными данными."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:309
+msgid "To verify that trust evaluation works:"
+msgstr "Чтобы убедиться, что оценка доверия работает:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:313
+msgid "Make a backup of your <code>monotonerc</code> file."
+msgstr "Сделайте резервную копию вашего файла <code>monotonerc</code>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:314
+msgid ""
+"Modify <code><b>monotonerc</b></code> by setting the trusted_signers "
+"variable in the following way:"
+msgstr ""
+"Измените <code><b>monotonerc</b></code>, определив переменную "
+"trusted_signers следующим образом:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:320
+msgid ""
+"With <code><b>monotonerc</b></code> configured as above, Monotone will no"
+" longer trust any committers. Confirm this by changing into the\n"
+"directory where <code>i2p.mtn</code> was created and attempt a checkout "
+"of the I2P branch:"
+msgstr ""
+"С измененным т.о. <code><b>monotonerc</b></code> Monotone не будет больше"
+" доверять никаким коммитерам. Убедитесь в этом, изменив \n"
+"директорию на ту, в которой был создан <code>i2p.mtn</code>, и попробуйте"
+" извлечь ветку I2P:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:330
+msgid ""
+"A directory named <code>i2p.i2p</code> should <b>not</b> appear. You "
+"should encounter many\n"
+"  error messages like:"
+msgstr ""
+"Директория с именем <code>i2p.i2p</code> <b>не</b> должна появиться. Вы "
+"должны увидеть много \n"
+"сообщений об ошибках, вроде таких:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:347
+msgid ""
+"If you are satisfied with results, restore the backup of\n"
+"  <code>monotonerc</code> that was created above. If you didn't create a "
+"backup\n"
+"  as advised, re-read <a href=\"#setting-up-trust-evaluation-"
+"hooks\">Setting up trust evaluation hooks</a>."
+msgstr ""
+"Если вы удовлетворены результатом, восстановите резервную копию \n"
+"<code>monotonerc</code>, которая была создана ранее. Если вы не создали "
+"резервную копию, \n"
+"как предлагалось, перечитайте <a href=\"#setting-up-trust-evaluation-"
+"hooks\">Установку ловушек оценки доверия</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:358
+msgid ""
+"If you already have a branch checked out, skip to the <a href"
+"=\"#updating-your-working-copy-to-the-latest-version\">next\n"
+"  section</a>."
+msgstr ""
+"Если вы уже извлекли ветку, пропустите <a href=\"#updating-your-working-"
+"copy-to-the-latest-version\">следующий \n"
+"раздел</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:365
+msgid ""
+"Change into the directory where <code>i2p.mtn</code> is located. Over "
+"there issue:"
+msgstr ""
+"Перейдите в директорию, в которой находится <code>i2p.mtn</code>. И "
+"выполните в ней:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:374
+msgid ""
+"The checkout should complete without error messages and a directory named"
+"\n"
+"  <code>i2p.i2p</code> should appear in the current directory. "
+"Congratulations! You have\n"
+"  successfully checked out the latest I2P sources, ready to be compiled."
+msgstr ""
+"Извлечение должно быть выполнено без сообщений об ошибках и директория с "
+"именем \n"
+"<code>i2p.i2p</code> должна появиться в текущей директории. Поздравляем! "
+"Ð’Ñ‹ \n"
+"успешно извлекли последние исходники I2P, готовые к компиляции."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:385
+msgid ""
+"If you haven't done this already, pull fresh code from the server to your"
+" local\n"
+"  Monotone repository. To accomplish this, change into the directory "
+"where\n"
+"  <code>i2p.mtn</code> is located and issue:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:396
+msgid "Now change into your <code>i2p.i2p</code> directory, and over there issue:"
+msgstr ""
+"Теперь перейдите в вашу <code>i2p.i2p</code> директорию, и выполните в "
+"ней:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:405
+msgid ""
+"As long as there were no errors&hellip;Congratulations! You have "
+"successfully updated to the latest I2P sources. They\n"
+"  should be ready to compile."
+msgstr ""
+"Т.к. ошибок нет&hellip;Поздравляем! Вы успешно обновились до последних "
+"исходников I2P. Они \n"
+"готовы для компиляции."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:414
+msgid "Obtaining and deploying developers' transport keys"
+msgstr "Получение и применение transport ключей разработчиков"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:417
+msgid ""
+"As a server operator you may want to grant push access to certain "
+"developers."
+msgstr ""
+"Как оператор сервера вы можете захотеть наделить некоторых разработчиков "
+"правом размещения."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:425
+msgid "By default the Monotone server denies all access."
+msgstr "По умолчанию сервер Monotone запрещает любой доступ."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:431
+msgid "To grant pull access to all clients, set the following in"
+msgstr "Чтобы дать право извлечения всем клиентам, установите следующее в"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:443
+msgid ""
+"No one will not be able to push code to your server without permission "
+"being explicitly granted. To grant push access:"
+msgstr ""
+"Никто без явного наделения правами не сможет размещать код на вашем "
+"сервере. Чтобы разрешить доступ на размещение:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:449
+msgid ""
+"Add the name of the user's transport key to\n"
+"<code>$HOME/.monotone/write-permissions</code>, such as\n"
+"<code><pre>\n"
+"    zzz-transport@mail.i2p\n"
+"    complication-transport@mail.i2p\n"
+"</pre></code>\n"
+"with one key per line."
+msgstr ""
+"Добавьте имена transport ключей пользователей в\n"
+"<code>$HOME/.monotone/write-permissions</code>, как это сделано для\n"
+"<code><pre>\n"
+"    zzz-transport@mail.i2p\n"
+"    complication-transport@mail.i2p\n"
+"</pre></code>\n"
+"с одним ключом на строке."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:460
+msgid ""
+"Import the transport key(s) into your database. The procedure for "
+"importing transport keys is the same as for\n"
+"importing commit keys, which is described in the section <a href"
+"=\"#obtaining-and-deploying-developers-keys\">Obtaining and deploying "
+"developers' keys</a>."
+msgstr ""
+"Импортируйте transport ключ(и) в вашу базу данных. Процедура для импорта "
+"transport ключей подобна \n"
+"импорту commit ключей, которая описана в разделе <a href=\"#obtaining-"
+"and-deploying-developers-keys\">Получение и применение ключей "
+"разработчиков</a>."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:470
+msgid ""
+"A separate database should be used for your Monotone server because "
+"monotone will lock the database while it is served to others.\n"
+"  Make a copy of your development database, then start the server with:"
+msgstr ""
+"Для вашего сервера Monotone должна использоваться отдельная база данных, "
+"потому что Monotone блокирует базу данных пока она служит другим.\n"
+"Сделайте копию вашей разработческой базы данных, затем запустите сервер:"
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:477
+msgid ""
+"If your key is protected with a passphrase, Monotone may request the "
+"passphrase\n"
+"  when the first client connects. You can work around this by connecting "
+"making the first client connection to your server\n"
+"  (or by clearing the password for your transport key)."
+msgstr ""
+"Если ваш ключ защищен паролем, Monotone запросит этот пароль\n"
+"когда подключится первый клиент. Вы можете обойти это, собственноручно "
+"выполнив первое подключения клиента к вашему серверу \n"
+"(или очистив пароль к вашему transport ключу)."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:485
+msgid ""
+"For your server to be accessible for others over I2P, you will need to "
+"create a\n"
+"  server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" "
+"profile."
+msgstr ""
+"Чтобы ваш сервер был доступен другим в сети I2P, для этого вам нужно "
+"создать \n"
+"серверный туннель. Используйте \"Standard\" тип туннеля и \"Bulk\" "
+"профиль."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:495
+msgid ""
+"Debian (amongst other distributions) has integrated Monotone into their\n"
+"  framework of daemons/services. Although Monotone servers can still be "
+"run\n"
+"  \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may"
+" be more straightforward."
+msgstr ""
+"В Debian (наряду с другими поставками) есть интегрированный в \n"
+"фреймворк демонов/сервисов Monotone. Также сервера Monotone можно "
+"запустить \n"
+"\"обычным способом\" на системах Debian, запуск в стиле \"Debian\" может "
+"быть более простым."
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:503
+msgid ""
+"Permissions are granted by editing the files\n"
+"  <code>/etc/monotone/read-permissions</code> and\n"
+"  <code>/etc/monotone/write-permissions</code>. You'll also need to edit\n"
+"  <code>/etc/default/monotone</code> to enable monotone to start at boot "
+"or to\n"
+"  customize the host, port, or database location."
+msgstr ""
+"Разрешения выдаются редактированием файлов\n"
+"<code>/etc/monotone/read-permissions</code> и\n"
+"<code>/etc/monotone/write-permissions</code>. Вам также нужно "
+"отредактировать\n"
+"<code>/etc/default/monotone</code> чтобы включить запуск monotone при "
+"загрузке или \n"
+"изменить хост, порт, или расположение базы данных."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:2
+msgid "New Developer's Guide"
+msgstr "Руководство Нового Разработчика"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:4
+msgid ""
+"\n"
+"So you want to start work on I2P? Great!\n"
+"Here's a quick guide to getting started\n"
+"on contributing to the website or the software, doing development or "
+"creating translations."
+msgstr ""
+"\n"
+"Итак, вы хотите начать работать над I2P? Отлично!\n"
+"Вот краткое руководство для начала\n"
+"работы над веб-сайтом или ПО, разработки или создания переводов."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
+#, python-format
+msgid ""
+"\n"
+"Not quite ready for coding?\n"
+"Try <a href=\"%(volunteer)s\">getting involved</a> first."
+msgstr ""
+"\n"
+"Не совсем готовы для написания кода?\n"
+"Попробуйте <a href=\"%(volunteer)s\">поучаствовать</a> для начала."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
+msgid "Basic study"
+msgstr "Начальное изучение"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:17
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:41
+msgid "Getting the I2P code"
+msgstr "Получение кода I2P"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:18
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:112
+msgid "Building I2P"
+msgstr "Сборка I2P"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:19
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:133
+msgid "Development ideas"
+msgstr "Идеи разработок"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:20
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:141
+msgid "Making the results available"
+msgstr "Сделайте результат доступным"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:162
+msgid "Get to know us!"
+msgstr "Узнайте о нас!"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:22
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:168
+msgid "Translations"
+msgstr "Переводы"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:23
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
+msgid "Tools"
+msgstr "Средства"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:29
+msgid ""
+"Basic development on the I2P router or the embedded applications uses "
+"Java as the main development language.\n"
+"If you don't have experience with Java, you can always have a look at <a "
+"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
+msgstr ""
+"Основная разработка маршрутизатора I2P или встроенных приложений "
+"выполняется на Java, как главном языке разработки.\n"
+"Если у вас нет опыта с Java, вы всегда можете обратиться к <a "
+"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:33
+#, python-format
+msgid ""
+"Study the <a href=\"%(intro)s\">how intro</a>,\n"
+"the <a href=\"%(docs)s\">other \"how\" documents</a>,\n"
+"the <a href=\"%(techintro)s\">tech intro</a>,\n"
+"and associated documents.\n"
+"These will give you a good overview of how I2P is structured and what "
+"different things it does."
+msgstr ""
+"Изучите <a href=\"%(intro)s\">how intro</a>,\n"
+"<a href=\"%(docs)s\">другие \"how\" документы</a>,\n"
+"<a href=\"%(techintro)s\">tech intro</a>,\n"
+"и связанные с ними документы.\n"
+"Это даст вам хороший обзор того, как устроен I2P и какие различные вещи "
+"он выполняет."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:43
+msgid ""
+"For development on the i2p router or the embedded applications,\n"
+"get the monotone source repository installed - short instructions:"
+msgstr ""
+"Для разработки маршрутизатора I2P или встроенных приложений, \n"
+"установите хранилище исходников monotone - краткая инструкция:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:48
+msgid ""
+"Install <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
+"Monotone is a version control system.\n"
+"We use it because it allows us to keep track of who does what changes to "
+"the source code (and for a lot of complicated things, but 'keeping track "
+"of changes' is the basic idea)."
+msgstr ""
+"Установите <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
+"Monotone это система контроля версий.\n"
+"Мы используем ее, потому что она позволяет следить за тем что и кто "
+"изменяет в исходных кодах (и для большого числа сложных вещей, но "
+"'следить за изменениями' это основная задача)."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:53
+msgid ""
+"Skim over the <a "
+"href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone tutorial</a>,"
+" to make sure you understand the concepts."
+msgstr ""
+"Загляните в <a href=\"http://www.monotone.ca/docs/Tutorial.html\">учебник"
+" monotone</a>, чтобы убедиться, что вы понимаете концепцию."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
+msgid ""
+"If you want to remain anonymous, you need to do an additional step, to "
+"set up a connection to a monotone server over I2P:"
+msgstr ""
+"Если вы хотите остаться анонимным, вам нужно выполнить дополнительные "
+"шаги, чтобы подключиться к серверу monotone через I2P:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:60
+#, python-format
+msgid ""
+"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
+"8998 pointing to mtn.i2p2.i2p."
+msgstr ""
+"Включите клиентский туннель <a href=\"%(i2ptunnel)s\">i2ptunnel</a> на "
+"порту 8998, указывающий на mtn.i2p2.i2p."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
+msgid ""
+"Pick a directory where you want to put all your I2P files, and create a "
+"monotone database:"
+msgstr ""
+"Выберите директорию, в которую вы хотите выгрузить все ваши файлы I2P, и "
+"создайте базу данных monotone:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:67
+msgid ""
+"Define the trust list by creating <code>~/.monotone/monotonerc</code> (or"
+" <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the "
+"following contents:"
+msgstr ""
+"Определите список доверия, создав <code>~/.monotone/monotonerc</code> "
+"(или <code>_MTN/monotonerc</code> в workspace i2p.i2p) со следующим "
+"содержимым:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
+#, python-format
+msgid ""
+"Copy and paste the <a href=\"%(devkeys)s\">developer's commit keys</a> "
+"into a new file (e.g. <code>keys.txt</code>) in the same directory\n"
+"  that <code>i2p.mtn</code> is in. Import the keys into your database "
+"with <br><code><pre>      mtn -d i2p.mtn read < keys.txt</pre></code>"
+msgstr ""
+"Скопируйте и вставьте <a href=\"%(devkeys)s\">commit ключи "
+"разработчиков</a> в новый файл (например, <code>keys.txt</code>) в той же"
+" директории, \n"
+"где находится <code>i2p.mtn</code>. Импортируйте ключи в вашу базу данных"
+" с <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:76
+msgid ""
+"Pull the I2P sources to your machine. This may take a long time, "
+"especially if you are doing this over I2P!"
+msgstr ""
+"Выгрузите исходники I2P на ваш компьютер. Это может занять много времени,"
+" особенно, если вы делаете это через I2P!"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:78
+msgid "Anonymously:"
+msgstr "Анонимно:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:81
+msgid "Non-anonymously:"
+msgstr "Не анонимно:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:83
+msgid ""
+"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn"
+".i2p-projekt.de."
+msgstr ""
+"Также, вместо 'mtn.i2p2.de' вы можете выполнять загрузку с mtn.i2p-"
+"projekt.de."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
+msgid ""
+"All the sources are now present on your machine, in the database file. To"
+" make them available in a directory, you need to check them out:"
+msgstr ""
+"Теперь все исходники есть на вашем компьютере, в файле базы данных. Чтобы"
+" они были доступны в директории, вам нужно их извлечь:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:92
+msgid ""
+"The above command creates a directory i2p.i2p, which contains all of the "
+"I2P sources."
+msgstr ""
+"Команда выше создает директорию i2p.i2p, которая содержит все исходники "
+"I2P."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:96
+msgid "Remarks"
+msgstr "Примечания"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:97
+msgid ""
+"\n"
+"To download the website files instead of the I2P source files, use "
+"'i2p.www' instead of 'i2p.i2p'."
+msgstr ""
+"\n"
+"Чтобы загрузить файлы веб-сайта вместо файлов исходников I2P, используйте"
+" 'i2p.www' вместо 'i2p.i2p'."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:100
+msgid ""
+"The initial pull may take several hours using the tunnel.\n"
+"If it fails after a partial pull, simply rerun it, it will start where it"
+" left off.\n"
+"If you are in a hurry, use the non-anonymous access."
+msgstr ""
+"Начальная выгрузка может занять несколько часов при использовании "
+"туннеля.\n"
+"Если она прервется после частичной выгрузки, просто перезапустите ее, она"
+" продолжится с прерванного.\n"
+"Если вы торопитесь, используйте не анонимный доступ."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
+#, python-format
+msgid ""
+"A full list of branches, including i2p.i2p and i2p.www can be found on <a"
+" href=\"%(viewmtn)s\">viewmtn</a>."
+msgstr ""
+"Полный список веток, включая i2p.i2p и i2p.www, можно найти на <a "
+"href=\"%(viewmtn)s\">viewmtn</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
+#, python-format
+msgid ""
+"A long explanation about using monotone is available on the <a "
+"href=\"%(monotone)s\">monotone page</a>."
+msgstr ""
+"Длинное описание использования monotone доступно на <a "
+"href=\"%(monotone)s\">странице monotone</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:114
+#, python-format
+msgid ""
+"To compile the code, you need the Sun Java Development Kit 6 or higher, "
+"or equivalent JDK\n"
+"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> strongly recommended) and\n"
+"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
+"version 1.7.0 or higher.\n"
+"If you go are working on the main I2P code, you can go into the i2p.i2p "
+"directory and run 'ant' to see the build options."
+msgstr ""
+"Чтобы упростить создание кода, вам понадобится Sun Java Development Kit 6"
+" или выше, ли подобный JDK\n"
+"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> настоятельно рекомендуется) и\n"
+"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
+"версии 1.7.0 или выше.\n"
+"Если вы работаете над основным кодом I2P, вы можете зайти в директорию "
+"i2p.i2p и запустить 'ant', чтобы увидеть опции сборки."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:122
+msgid ""
+"To build or work on console translations, you need\n"
+"the xgettext, msgfmt, and msgmerge tools from the\n"
+"<a href=\"http://www.gnu.org/software/gettext/\">GNU gettext package</a>."
+msgstr ""
+"Для сборки или работы на переводами консоли, вам нужны \n"
+"средства xgettext, msgfmt и msgmerge из \n"
+"<a href=\"http://www.gnu.org/software/gettext/\">пакета GNU gettext</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:128
+#, python-format
+msgid ""
+"For development on new applications,\n"
+"see the <a href=\"%(apps)s\">application development guide</a>."
+msgstr ""
+"Для разработки новый приложений, \n"
+"смотри <a href=\"%(apps)s\">руководство по разработке приложений</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:134
+#, python-format
+msgid ""
+"See <a href=\"http://%(zzz)s/forums/3\">zzz's TODO lists</a>,\n"
+"<a href=\"%(todo)s\">this website's TODO list</a> or\n"
+"<a href=\"%(trac)s\">Trac</a>\n"
+"for ideas."
+msgstr ""
+"Смотри <a href=\"http://%(zzz)s/forums/3\">списки TODO zzz's</a>,\n"
+"<a href=\"%(todo)s\">список TODO этого веб-сайта</a> или\n"
+"<a href=\"%(trac)s\">Trac</a>\n"
+"для поиска идей."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:143
+#, python-format
+msgid ""
+"See the bottom of <a href=\"%(licenses)s#commit\">the licenses page</a> "
+"for\n"
+"commit privilege requirements. You need these to put code into i2p.i2p "
+"(not required for the website!)."
+msgstr ""
+"Необходимые привилегии для фиксации ищи в конце \n"
+"<a href=\"%(licenses)s#commit\">страницы лицензий</a>. Вам они "
+"понадобятся для размещения кода в i2p.i2p (не требуется для веб-сайта!)."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:148
+msgid "Short version of how to generate and use keys if you plan to commit:"
+msgstr ""
+"Краткая версия описания генерации и использования ключей, если вы "
+"планируете выполнять фиксацию:"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:150
+msgid "use an empty passphrase"
+msgstr "используйте пустой пароль"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:151
+msgid "enter a passphrase"
+msgstr "введите пароль"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:152
+#, python-format
+msgid ""
+"<a href=\"mailto:%(email)s\">send</a> this to a mtn repo operator to get "
+"push privileges"
+msgstr ""
+"<a href=\"mailto:%(email)s\">отправьте</a> это оператору mtn repo, чтобы "
+"получить привилегию на размещение"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:153
+#, python-format
+msgid ""
+"send this to <a href=\"mailto:%(email)s\">a release manager</a> to get "
+"commit privileges - not required for website"
+msgstr ""
+"отправьте это <a href=\"mailto:%(email)s\">релиз-менеджеру</a>, чтобы "
+"получить привилегии фиксации - не требуется для веб-сайта"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:154
+msgid "check in with this key"
+msgstr "чекиньте с этим ключом"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:155
+msgid "push with this key"
+msgstr "извлекайте с этим ключом"
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:157
+#, python-format
+msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
+msgstr "Длинная версия: смотри <a href=\"%(monotone)s\">страницу monotone</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:163
+#, python-format
+msgid ""
+"The developers hang around on IRC. They can be reached on the Freenode "
+"network, OFTC, and on the I2P internal networks. The usual place to look "
+"is #i2p-dev. Join the channel and say hi!\n"
+"We also have <a href=\"%(guidelines)s\">additional guidelines for regular"
+" developers</a>."
+msgstr ""
+"Разработчики общаются в IRC. Их можно найти в сети Freenode, OFTC и во "
+"внутренней сети I2P. Обычно нужно искать в #i2p-dev. Присоединитесь к "
+"каналу и скажите привет!\n"
+"Также у нас есть <a href=\"%(guidelines)s\">дополнительные руководства "
+"для постоянных разработчиков</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:169
+#, python-format
+msgid ""
+"Website and router console translators: See the <a "
+"href=\"%(newtrans)s\">New Translator's Guide</a>\n"
+"for next steps."
+msgstr ""
+"Переводчики веб-сайта и консоли маршрутизатора: смотрите <a "
+"href=\"%(newtrans)s\">Руководство Нового Переводчика</a> \n"
+"для продолжения."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
+msgid ""
+"I2P is open source software that is mostly developed using open sourced\n"
+"toolkits. The I2P project recently acquired a license for the YourKit "
+"Java\n"
+"Profiler. Open source projects are eligible to receive a free license "
+"provided\n"
+"that YourKit is referenced on the project web site. Please get in touch "
+"if you\n"
+"are interested in profiling the I2P codebase."
+msgstr ""
+"I2P это По с открытым исходным кодом, которое в основном разрабатывается "
+"с использованием инструментов \n"
+"с открытым исходным кодом. Проект I2P недавно приобрел лицензию на "
+"YourKit Java\n"
+"Profiler. У проектов с открытым исходным кодом есть право на получение "
+"бесплатной лицензии, гарантирующей, \n"
+"что на веб-сайте проекта есть ссылка на YourKit. Пожалуйста, свяжитесь, "
+"если вы \n"
+"заинтересованы в профилировании базы кодов I2P."
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:183
+#, python-format
+msgid ""
+"YourKit is kindly supporting open source projects with its full-featured "
+"Java Profiler.\n"
+"YourKit, LLC is the creator of innovative and intelligent tools for "
+"profiling\n"
+"Java and .NET applications. Take a look at YourKit's leading software "
+"products:\n"
+"<a href=\"%(java)s\">YourKit Java Profiler</a> and\n"
+"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
+msgstr ""
+"YourKit любезно предоставляет проектам с открытым исходным кодом "
+"полностью функциональный Java Profiler.\n"
+"YourKit, LLC - создатель инновационного и умного средства профилирования\n"
+"Java и .NET приложений. Взгляните на ведущие программные продукты "
+"YourKit:\n"
+"<a href=\"%(java)s\">YourKit Java Profiler</a> и\n"
+"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:2
+msgid "New Translator's Guide"
+msgstr "Руководство Нового Переводчика"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:4
+msgid "Here's a very quick guide to getting started."
+msgstr "Это очень краткое руководство для начала работы."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:6
+msgid "How to Translate the Website"
+msgstr "Как переводить Веб-сайт"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:8
+#, python-format
+msgid ""
+"Translation of the website is done with .po files. The easiest way by far"
+" to\n"
+"translate the website is to sign up for an account at \n"
+"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
+" team. \n"
+"Alternatively it can be done \"the old way\" as outlined below."
+msgstr ""
+"Перевод веб-сайта выполняется в файлах .po. До сих пор самый простой "
+"способ \n"
+"перевода веб-сайта - получить аккаунт на \n"
+"<a href=\"%(transifex)s\">Transifex</a> и присоединиться к команде "
+"переводчиков. \n"
+"Или можно переводить \"по старинке\", как описано ниже."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:17
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:82
+msgid "Preparation"
+msgstr "Подготовка"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:19
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:84
+#, python-format
+msgid ""
+"Come to #i2p-dev on irc and talk to people.\n"
+"Claim the language -\n"
+"To make sure other coworkers don't bump onto the files you are working "
+"on,\n"
+"please update the translation status on <a href=\"%(url)s\">this wiki "
+"page</a>."
+msgstr ""
+"Зайдите на #i2p-dev в IRC и поговорите с людьми.\n"
+"Запросите язык - \n"
+"Чтобы бы уверенными, что ваши соратники не затрут файлы, над которыми вы "
+"работаете, \n"
+"пожалуйста, обновляйте статус перевода на <a href=\"%(url)s\">этой wiki "
+"страничке</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:25
+#, python-format
+msgid ""
+"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
+"Including the installation of monotone,\n"
+"checking out i2p.www branch, and generate your own monotone keys.\n"
+"It is not required that you sign a dev agreement."
+msgstr ""
+"Следуйте <a href=\"%(newdevs)s\">руководству нового разработчика</a>,\n"
+"включая перевод monotone,\n"
+"извлеките ветку i2p.www и сгенерируйте ваши собственные ключи monotone.\n"
+"Вам не требуется подписывать соглашение разработчика."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:33
+msgid ""
+"<b>Create files:</b>\n"
+"If the file for your language does not exist yet:"
+msgstr ""
+"<b>Создайте файлы:</b>\n"
+"Если файла для вашего языка еще нет:"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:38
+msgid ""
+"Run \"<code>./extract-messages.sh</code>\" to generate a "
+"<code>messages.pot</code> in the base directory.\n"
+"Edit the header of this file, then run \"<code>./init-new-po.sh "
+"locale</code>\" to generate the file\n"
+"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. "
+"\"<code>mtn add</code>\" this file."
+msgstr ""
+"Выполните \"<code>./extract-messages.sh</code>\" чтобы сгенерировать "
+"<code>messages.pot</code> в основной директории.\n"
+"Отредактируйте заголовок файла, затем выполните \"<code>./init-new-po.sh "
+"locale</code>\" чтобы сгенерировать файл\n"
+"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. "
+"\"<code>mtn add</code>\" этот файл."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:43
+msgid ""
+"Edit <code>i2p2www/pages/global/lang.html</code> and add a line for your "
+"language (copy an existing line)."
+msgstr ""
+"Отредактируйте <code>i2p2www/pages/global/lang.html</code> и добавьте "
+"строку для вашего языка (скопируйте какую-нибудь строку)."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:46
+msgid ""
+"Add a flag image file to <code>i2p2www/static/images/flags/</code> for "
+"the menu (copy from the router)."
+msgstr ""
+"Добавьте файл с изображением флага в "
+"<code>i2p2www/static/images/flags/</code> для меню (скопируйте из "
+"маршрутизатора)."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:52
+msgid ""
+"<b>Edit files:</b>\n"
+"Edit <code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
+"To work with .po files efficiently, you may wish to use <a "
+"href=\"http://www.poedit.net/download.php\">POEdit</a>"
+msgstr ""
+"<b>Отредактируйте файлы:</b>\n"
+"Отредактируйте "
+"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
+"Чтобы эффективно работать с файлами .po, возможно, вы захотите "
+"использовать <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:58
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:151
+msgid ""
+"<b>Check in:</b>\n"
+"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Then check in by "
+"\"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
+"This collects the diff info of your changed file into your local repo. "
+"Then \"<code>mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p "
+"i2p.i2p</code>\".\n"
+"This synchronizes your local repo with the repo on the target machine."
+msgstr ""
+"<b>Разместите:</b>\n"
+"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Затем выполните "
+"размещение \"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
+"Так вы соберете информацию а различиям в измененных вами файлах по вашему"
+" локальному репозиторию. Затем \"<code>mtn sync mtn.i2p2.de -k yourname-"
+"transport@mail.i2p i2p.i2p</code>\".\n"
+"Так вы синхронизируете ваш локальный репозиторий с репозиторием на "
+"целевом компьютере."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:65
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:158
+msgid "Repeat. Check in often. Don't wait until it is perfect."
+msgstr "Повторите. Размещайте чаще. Не ждите пока оно станет совершенным."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:72
+msgid "How to Translate the Router Console"
+msgstr "Как Переводить Консоль Маршрутизатора"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:74
+#, python-format
+msgid ""
+"The easiest way by far to translate the router console is to sign up for "
+"an account at \n"
+"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation"
+" team. \n"
+"Alternatively it can be done \"the old way\" as outlined below."
+msgstr ""
+"До сих пор самый простой способ перевода консоли маршрутизатора - "
+"получить аккаунт на \n"
+"<a href=\"%(transifex)s\">Transifex</a> и присоединиться к команде "
+"переводчиков. \n"
+"Или можно переводить \"по старинке\", как описано ниже."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:90
+#, python-format
+msgid ""
+"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
+"including the installation of monotone and the gettext tools,\n"
+"checking out i2p.i2p branch, and generate your own monotone keys."
+msgstr ""
+"Следуйте <a href=\"%(newdevs)s\">руководству нового разработчика</a>,\n"
+"включая установку monotone and средств gettext,\n"
+"извлеките ветку i2p.i2p, и сгенерируйте свои собственные ключи monotone."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:95
+msgid "Generate your own gpg key and sign the dev agreement."
+msgstr "Сгенерируйте ваш собственный gpg ключ и подпишите соглашение разработчика."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:101
+msgid ""
+"Before starting a console translation, better help translate some i2p "
+"webpages first.\n"
+"At least an i2p homepage in your language would be great."
+msgstr ""
+"До начала перевода консоли маршрутизатора, лучше сначал помогите "
+"перевести несколько веб-страниц i2p.\n"
+"Хотя бы домашнюю страницу i2p на ваш язык, это было бы здорово."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:106
+msgid ""
+"<b>What to translate:</b>\n"
+"There are about 15 files in the i2p.i2p branch that needs translation:"
+msgstr ""
+"<b>Что переводить:</b>\n"
+"Есть около 15 файлов в ветке i2p.i2p, которые нужно перевести:"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:132
+msgid ""
+"Where xx is your language code like fr/de/ch/zh/...\n"
+"There may be or may not be files with your lang code. If not, you can "
+"create your own. by copying and renaming other language files you know "
+"with your own lang code."
+msgstr ""
+"Где xx это код вашего языка, как fr/de/ch/zh/...\n"
+"Файл с кодом вашего языка может быть, может и нет. Если его нет, вы "
+"можете его создать. Скопировав файл другого известного вам языка и "
+"переименовав его в код вашего языка."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:137
+msgid ""
+"<b>Create files:</b>\n"
+"If the file for your language does not exist yet, copy another language "
+"file to a new file <code>foo_xx.bar</code> for your language.\n"
+"Then \"<code>mtn add</code>\" the file.\n"
+"After creating a .po file, edit the headers. Then run \"<code>ant "
+"distclean poupdate</code>\"."
+msgstr ""
+"<b>Создайте файлы:</b>\n"
+"Если файла для вашего языка еще нет, скопируйте файл другого языка в "
+"новый файл <code>foo_xx.bar</code> для вашего языка.\n"
+"Затем \"<code>mtn add</code>\" файл.\n"
+"После создания файла .po, отредактируйте заголовки. Затем выполните "
+"\"<code>ant distclean poupdate</code>\"."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:144
+msgid ""
+"<b>Start to work:</b>\n"
+"Edit the HTML files with any text editor.\n"
+"Be sure not to use an editor in HTML mode that reformats everything.\n"
+"To work with .po files efficiently, you may wish to use <a "
+"href=\"http://www.poedit.net/download.php\">POEdit</a>"
+msgstr ""
+"<b>Начните работу:</b>\n"
+"Отредактируйте файлы HTML в любом текстовом редакторе.\n"
+"Не нужно использовать редакторы в режиме HTML, которые отформатируют весь"
+" текст.\n"
+"Для более эффективной работы с файлами .po, вы, возможно, захотите "
+"использовать <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:163
+msgid ""
+"As you can see, it's not that difficult.\n"
+"If you have questions about the meaning of the terms in the console, ask "
+"in <code>#i2p-dev</code> on IRC."
+msgstr ""
+"Как вы видите, это не так сложно.\n"
+"Если у вас есть вопросы насчет значения терминов в консоли, спросите в "
+"<code>#i2p-dev</code> в IRC."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:169
+msgid "FAQ"
+msgstr "ЧАВо"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:171
+msgid ""
+"Q: Why do I have to install monotone, Java, jsp, learn about .po files "
+"and html, etc.? Why can't I just do a translation and email it to you?"
+msgstr ""
+"В: Зачем мне нужно устанавливать monotone, Java, jsp, знать о файлах .po "
+"и html и т.д.? Почему я не могу просто переводить и отправлять все вам на"
+" почту?"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:175
+msgid "A: Several reasons:"
+msgstr "О: Несколько причин:"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:178
+#, python-format
+msgid ""
+"You might be interested in translating via Transifex. Request to join a "
+"translation team <a href=\"%(transifex)s\">here</a>."
+msgstr ""
+"Возможно вы заинтересуетесь переводом через Transifex. Присоединитесь к "
+"команде переводчиков <a href=\"%(transifex)s\">тут</a>."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:182
+msgid ""
+"We don't have anybody who has time to accept manual contributions and "
+"submit them to our source control system on your behalf. Even if we did, "
+"it doesn't scale."
+msgstr ""
+"У нас нет людей, у которых есть время для приема помощи вручную и "
+"размещения в системе контроля версий от вашего имени. Даже если бы и "
+"были, это плохо масштабируется."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:186
+msgid ""
+"Maybe you are thinking translation is a one-step process. It isn't. You "
+"can't do it all at once. You will make mistakes. You need to test it and "
+"tweak it to make it look right <i>before</i> you submit it. Developers "
+"will update or add to the English text, thus requiring a translation "
+"update."
+msgstr ""
+"Может вы думаете, что перевод это одношаговый процесс. Это не так. Вы не "
+"можете выполнить его за один раз. Вы будете совершать ошибки. Вам нужно "
+"его протестировать и сделать его верным <i>до того</i>, как вы его "
+"утвердите. Разработчики обновляют или добавляют Английский текст, поэтому"
+" требуется обновление перевода."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:190
+msgid ""
+"Having translators use a source control system directly provides "
+"authentication and accountablility - we know who is doing what, and we "
+"can track changes, and revert them if necessary."
+msgstr ""
+"Наличие переводчиков, использующих систему контроля версий, увязано с "
+"аутентификацией и отчетностью - мы знаем кто что делает, и мы можем "
+"отследить изменения, и отменить их в случае необходимости."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:194
+msgid ""
+".po files are not difficult. If you don't want to work directly with "
+"them, we recommend 'poedit'."
+msgstr ""
+"в файлах .po нет ничего сложного. Если вы не хотите работать "
+"непосредственно с ними, мы рекомендуем 'poedit'."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:198
+msgid ""
+"HTML files are not difficult. Just ignore the html stuff and translate "
+"the text."
+msgstr ""
+"В файлах HTML нет ничего сложного. Просто игнорируйте все тэги и "
+"переводите текст."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:202
+msgid ""
+"Installing and using monotone is not that difficult. Several of the "
+"translators and other contributors to I2P are non-programmers, and they "
+"use monotone regularly. Monotone is simply a source control system, it is"
+" not about \"coding\"."
+msgstr ""
+"Установка и использование monotone не так сложны. Несколько переводчиков "
+"и других помощников I2P не являются программистами, и они регулярно "
+"используют monotone. Monotone - это просто система контроля версий, в нем"
+" нет ничего \"программистского\"."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:206
+msgid ""
+"Our items to translate are not \"documents\". They are html files and po "
+"files, with a specific format and character encoding (UTF-8) that must be"
+" maintained, and not corrupted by email programs or other methods of "
+"transfer."
+msgstr ""
+"Наша единица перевода - это не \"документ\". Это файлы html и .po, в "
+"определенном формате и кодировкой символов (UTF-8), это нужно "
+"поддерживать, и не поломать при отправке по почте или другими методами "
+"передачи."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:210
+msgid ""
+"We looked at 'pootle' as a front-end for translators. It didn't work "
+"well, needed an administrator, and a pootle-based process would suffer "
+"from a number of the above flaws."
+msgstr ""
+"Мы рассматриваем 'pootle' в качестве фронт-энда для переводчиков. Он "
+"работает не так как нужно, нуждается в администрировании, и "
+"pootle-подобный процесс страдает от ряда вышеописанных недостатков."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:215
+msgid ""
+"<b>In summary:</b>\n"
+"Yes, we know it is somewhat of a hurdle to get started. It's really the "
+"only possible way we can do it. Give it a try, it really isn't that hard."
+msgstr ""
+"<b>В итоге:</b>\n"
+"Да, мы знаем, что у начинающих есть преграды. Это действительно "
+"единственный способ. Попробуйте, это на самом деле не так сложно."
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
+msgid "More Information"
+msgstr "Больше информации"
+
+#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
+#, python-format
+msgid ""
+"The #i2p-dev channel on IRC, or the <a "
+"href=\"http://%(zzz)s/forums/14\">translation forum on %(zzz)s</a>."
+msgstr ""
+"Канал #i2p-dev в IRC, или <a href=\"http://%(zzz)s/forums/14\">форум "
+"перевода на %(zzz)s</a>."
+
+#~ msgid "To Do List"
+#~ msgstr "Список To Do"
+
+#~ msgid "Bounties"
+#~ msgstr "Награды"
+
+#~ msgid "MTN Keys"
+#~ msgstr "Ключи MNT"
+
+#~ msgid "Monotone"
+#~ msgstr "Monotone"
+
diff --git a/i2p2www/translations/he/LC_MESSAGES/priority.po b/i2p2www/translations/he/LC_MESSAGES/priority.po
new file mode 100644
index 0000000000000000000000000000000000000000..02579dcd5d2182a35ea5b2a488ca516753c58d2f
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/priority.po
@@ -0,0 +1,3291 @@
+# Hebrew translations for I2P.
+# Copyright (C) 2014 I2P Hebrew translation team
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# fengari <bokstafur@mail.i2p>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2014-01-27 02:06+0000\n"
+"PO-Revision-Date: 2014-02-02 19:25+0200\n"
+"Last-Translator: fengari <bokstafur@mail.i2p>\n"
+"Language-Team: עברית <>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"X-Poedit-Language: Hebrew\n"
+
+#: i2p2www/pages/blog/category.html:2
+msgid "Blog Category"
+msgstr "קטגוריית יומן רשת"
+
+#: i2p2www/pages/blog/category.html:4
+#, python-format
+msgid "I2P Blog ATOM Feed for Category: %(category)s"
+msgstr "זרם Atom ליומן הרשת של I2P עבור קטגוריה: %(category)s"
+
+#: i2p2www/pages/blog/index.html:2 i2p2www/pages/blog/post.html:3
+#: i2p2www/pages/global/nav.html:92
+msgid "Blog"
+msgstr "יומן רשת"
+
+#: i2p2www/pages/blog/index.html:4 i2p2www/pages/site/index.html:78
+msgid "I2P Blog ATOM Feed"
+msgstr "זרם Atom של יומן הרשת של I2P"
+
+#: i2p2www/pages/blog/index.html:17
+#, python-format
+msgid "Posted %(date)s by %(author)s"
+msgstr "פורסם ב־%(date)s על־ידי %(author)s"
+
+#: i2p2www/pages/blog/latest.html:5
+msgid "More blog posts&hellip;"
+msgstr "רשומות נוספות&hellip;"
+
+#: i2p2www/pages/blog/post.html:6
+msgid "Posted:"
+msgstr "זמן פרסום:"
+
+#: i2p2www/pages/blog/post.html:7
+msgid "Author:"
+msgstr "יוצר:"
+
+#: i2p2www/pages/downloads/debian.html:4
+msgid "Debian I2P Packages"
+msgstr "חבילות I2P לדביאן"
+
+#: i2p2www/pages/downloads/debian.html:6
+msgid ""
+"The Debian packages\n"
+"have been tested and <em>should </em>work on x86/x86_64 platforms running:"
+msgstr ""
+"החבילות לדביאן\n"
+"נבדקו ו<em>אמורות</em> לעבוד על פלטפורמות x86/x86_64 המריצות:"
+
+#: i2p2www/pages/downloads/debian.html:11
+msgid "<a href=\"#ubuntu\">Ubuntu</a> (Precise <em>12.04</em> and newer)"
+msgstr "‏<a href=\"#ubuntu\">אובונטו</a> (החל מגרסה Precise 12.04)"
+
+#: i2p2www/pages/downloads/debian.html:13
+msgid "<a href=\"#debian\">Debian Linux</a> (Squeeze and newer) &amp; kFreeBSD"
+msgstr "‏<a href=\"#debian\">דביאן</a> (החל מגרסת Squeeze) ‏&amp; kFreeBSD"
+
+#: i2p2www/pages/downloads/debian.html:17
+#, python-format
+msgid ""
+"The I2P packages <em>may</em> work on systems not listed above. Please "
+"report any issues\n"
+"with these packages on <a href=\"%(trac)s\">Trac</a> at\n"
+"<a href=\"%(trac)s\">https://trac.i2p2.de</a>."
+msgstr ""
+"החבילות של I2P <em>עשויות</em> לעבוד על מערכות שאינן רשומות למעלה. אנא דווחו "
+"על בעיות\n"
+"בחבילות אלה ב־<a href=\"%(trac)s\">Trac</a> at\n"
+"<a href=\"%(trac)s\">https://trac.i2p2.de</a>."
+
+#: i2p2www/pages/downloads/debian.html:23
+msgid ""
+"Option 1: <a href=\"#ubuntu\">Recent versions</a> of Ubuntu and its "
+"derivatives (<em>Try this if you're not using Debian)</em>"
+msgstr ""
+"אפשרות 1: <a href=\"#ubuntu\">גרסאות עדכניות</a> של אובונטו ושל נגזרותיה "
+"(<em>נסו זאת אם אינכם משתמשים בדביאן</em>)"
+
+#: i2p2www/pages/downloads/debian.html:24
+msgid "Option 2: <a href=\"#debian\">Debian</a> (including Debian-derivatives)"
+msgstr "אפשרות 2: <a href=\"#debian\">דביאן</a> (כולל נגזרות של דביאן)"
+
+#: i2p2www/pages/downloads/debian.html:27
+msgid ""
+"Instructions for Ubuntu Precise Pangolin (and newer) and derivatives like "
+"Linux Mint &amp; Trisquel"
+msgstr ""
+"הוראות עבור אובונטו Precise Pangolin (ומעלה) ועבור נגזרות כמו לינוקס מינט "
+"&amp; טריסקל"
+
+#: i2p2www/pages/downloads/debian.html:28
+msgid "Adding the PPA via the command line and installing I2P"
+msgstr "הוספת ה־PPA דרך שורת הפקודה והתקנת I2P"
+
+#: i2p2www/pages/downloads/debian.html:31
+msgid "Open a terminal and enter:"
+msgstr "פתחו מסוף והזינו:"
+
+#: i2p2www/pages/downloads/debian.html:33
+msgid ""
+"This command will add the PPA to /etc/apt/sources.list.d and fetch the\n"
+"gpg key that the repository has been signed with. The GPG key ensures\n"
+"that the packages have not been tampered with since being built."
+msgstr ""
+"פקודה זו תוסיף את ה־PPA ל־‎/etc/apt/sources.list.d ‏ותייבא את\n"
+"מפתח ה־gpg שבאמצעותו נחתם המאגר. מפתח ה־GPG מבטיח\n"
+"כי לא נערכו שינויים זדוניים בחבילות לאחר יצירתן."
+
+#: i2p2www/pages/downloads/debian.html:40
+msgid "Notify your package manager of the new PPA by entering:"
+msgstr "יידעו את מנהל החבילות שלכם על ה־PPA החדש על־ידי הזנת:"
+
+#: i2p2www/pages/downloads/debian.html:42
+msgid ""
+"This command will retrieve the latest list of software from each\n"
+"repository that is enabled on your system, including the I2P PPA that\n"
+"was added with the earlier command."
+msgstr ""
+"פקודה זו רשימת התוכנות העדכנית מכל מאגר\n"
+"המאופשר במערכת שלכם, כולל ה־PPA של I2P\n"
+"שנוסף קודם לכן."
+
+#: i2p2www/pages/downloads/debian.html:48
+msgid "You are now ready to install I2P!"
+msgstr "כעת אתם מוכנים להתקנת I2P!"
+
+#: i2p2www/pages/downloads/debian.html:52
+msgid "Adding the PPA Using Synaptic"
+msgstr "הוספת ה־PPA דרך Synaptic"
+
+#: i2p2www/pages/downloads/debian.html:55
+msgid ""
+"Open Synaptic (System -&gt; Administration -&gt; Synaptic Package Manager)."
+msgstr "פתחו את Synaptic (מערכת -&gt; ניהול -&gt; מנהל החבילות Synaptic)."
+
+#: i2p2www/pages/downloads/debian.html:60
+msgid ""
+"Once Synaptic opens, select <em>Repositories</em> from the <em>Settings</em> "
+"menu."
+msgstr ""
+"לאחר ש־Synaptic נפתח, בחרו באפשרות <em>מאגרים</em> מתפריט <em>הגדרות</em>."
+
+#: i2p2www/pages/downloads/debian.html:65
+msgid ""
+"Click the <em>Other Sources</em> tab and click <em>Add</em>. Paste <code>ppa:"
+"i2p-maintainers/i2p</code> into the APT-line field and click <em>Add Source</"
+"em>. Click the <em>Close</em> button then <em>Reload</em>."
+msgstr ""
+"עברו ללשונית <em>מקורות אחרים</em> (Other Software) ולחצו על <em>הוספה</em> "
+"(Add). הדביקו את השורה <code>ppa:i2p-maintainers/i2p</code> לשדה <em>שורת "
+"APT</em> ולחצו על <em>הוספת מקור</em> (Add Source). לחצו על <em>סגירה</em> "
+"ולאחר מכן על <em>רענון</em>."
+
+#: i2p2www/pages/downloads/debian.html:70
+msgid ""
+"In the Quick Filter box, type in <code>i2p</code> and press enter. When "
+"<code>i2p</code> is returned in the results list, right click <code>i2p</"
+"code> and select <em>Mark for Installation</em>. After doing so you may see "
+"a <em>Mark additional required changes?</em> popup. If so, click <em>Mark</"
+"em> then <em>Apply</em>."
+msgstr ""
+"בתיבת הסינון המהיר, הזינו i2p ולחצו Enter. כאשר <code>i2p</code> מופיע "
+"ברשימת התוצאות, לחצו עליו לחיצה ימנית ובחרו <em>סימון עבור התקנה</em>. לאחר "
+"מכן ייתכן שתישאלו האם <em>לסמן שינויים נחוצים נוספים</em>. במקרה כזה לחצו על "
+"<em>סימון</em> ולאחר מכן על <em>בצע</em>."
+
+#: i2p2www/pages/downloads/debian.html:76
+msgid ""
+"After the installation process completes you can move on to the next\n"
+"part of <a href=\"#Post-install_work\">starting I2P</a> and configuring it "
+"for your system."
+msgstr ""
+"לאחר סיום תהליך ההתקנה אתם יכולים לעבור לחלק הבא\n"
+"<a href=\"#Post-install_work\">הרצת I2P</a> ולהגדיר את התצורה של I2P עבור "
+"המערכת שלכם."
+
+#: i2p2www/pages/downloads/debian.html:81
+msgid "Instructions for Debian"
+msgstr "הוראות עבור דביאן"
+
+#: i2p2www/pages/downloads/debian.html:85
+msgid ""
+"Note: The steps below should be performed with root access (i.e., switching\n"
+"user to root with \"su\" or by prefixing each command with \"sudo\")."
+msgstr ""
+"הערה: יש לבצע את הצעדים שלהלן עם הרשאות ניהול (כלומר לעבור\n"
+"למשתמש ה־root בעזרת \"su\" או להקליד \"sudo\" לפני כל פקודה)."
+
+#: i2p2www/pages/downloads/debian.html:90
+#, python-format
+msgid "Add lines like the following to <code>%(file)s</code>."
+msgstr "הוסיפו שורות כמו אלה לקובץ <code>%(file)s</code>."
+
+#: i2p2www/pages/downloads/debian.html:111
+#, python-format
+msgid ""
+"Download <a href=\"%(repokey)s\">the  key used to sign the repository</a> "
+"and add it to apt:"
+msgstr ""
+"הורידו את <a href=\"%(repokey)s\">המפתח המשמש לחתימה על המאגר</a> והוסיפו "
+"אותו ל־apt:"
+
+#: i2p2www/pages/downloads/debian.html:118
+msgid "Notify your package manager of the new repository by entering"
+msgstr "יידעו את מנהל החבילות שלכם על המאגר החדש על־ידי הזנת:"
+
+#: i2p2www/pages/downloads/debian.html:120
+msgid ""
+"This command will retrieve the latest list of software from every\n"
+"repository enabled on your system, including the I2P repository added in "
+"step\n"
+"1."
+msgstr ""
+"פקודה זו תוריד את רשימת התוכנות העדכנית מכל מאגר\n"
+"המאופשר במערכת שלכם, כולל המאגר של I2P שנוסף בצעד\n"
+"1."
+
+#: i2p2www/pages/downloads/debian.html:126
+msgid ""
+"You are now ready to install I2P! Installing the <code>i2p-keyring</code>\n"
+"package will ensure that you receive updates to the repository's GPG key."
+msgstr ""
+"כעת אתם מוכנים להתקנת I2P! התקנת החבילה <code>i2p-keyring</code>\n"
+"תבטיח שתקבלו עדכונים למפתח ה־GPG של המאגר."
+
+#: i2p2www/pages/downloads/debian.html:133
+msgid ""
+"After the installation process completes you can move on to the next part of "
+"<a href=\"#Post-install_work\">starting I2P</a> and configuring it for your "
+"system."
+msgstr ""
+"לאחר השלמת תהליך ההתקנה אתם יכולים להמשיך הלאה לשלב הבא, <a href=\"#Post-"
+"install_work\">הרצת I2P</a>, ולהגדיר את התצורה של I2P עבור המערכת שלכם."
+
+#: i2p2www/pages/downloads/debian.html:137
+#: i2p2www/pages/downloads/post-install.html:1
+msgid "Post-install work"
+msgstr "צעדים לאחר ההתקנה"
+
+#: i2p2www/pages/downloads/debian.html:139
+msgid ""
+"Using these I2P packages the I2P router can be started in the following\n"
+"three ways:"
+msgstr ""
+"על־ידי שימוש בחבילות של I2P ניתן להריץ את נתב ה־I2P בשלוש\n"
+"הדרכים הבאות:"
+
+#: i2p2www/pages/downloads/debian.html:145
+msgid ""
+"&quot;on demand&quot; using the i2prouter script. Simply run &quot;"
+"<code>i2prouter\n"
+"start</code>&quot; from a command prompt. (Note: Do <strong><u>not</u></"
+"strong> use\n"
+"sudo or run it as root!)"
+msgstr ""
+"‏&quot;לפי הצורך&quot; באמצעות התסריט i2prouter. פשוט הריצו &quot;"
+"<code>i2prouter\n"
+"‏start</code>&quot; בשורת הפקודה. (הערה: <strong><u>אל</u></strong> תריצו\n"
+"כמשתמש root ואל תשתמשו ב־sudo!)"
+
+#: i2p2www/pages/downloads/debian.html:152
+msgid ""
+"&quot;on demand&quot; without the <a href=\"http://wrapper.tanukisoftware."
+"com/\">java service wrapper</a>\n"
+"(needed on non-Linux/non-x86 systems) by running \"<code>i2prouter-"
+"nowrapper</code>\".\n"
+"(Note: Do <strong><u>not</u></strong>\n"
+"use sudo or run it as root!)"
+msgstr ""
+"‏&quot;לפי הצורך&quot; ללא ה־<a href=\"http://wrapper.tanukisoftware.com/"
+"\">java service wrapper</a>\n"
+"(נדרש במערכות שאינן מריצות גנו/לינוקס או שאינן x86) על־ידי הרצת "
+"\"<code>i2prouter-nowrapper</code>\".\n"
+"(הערה: <strong><u>אל</u></strong> תריצו\n"
+"כמשתמש root ואל תשתמשו ב־sudo!)"
+
+#: i2p2www/pages/downloads/debian.html:160
+msgid ""
+"as a service that automatically runs when your system boots, even\n"
+"before logging in. The service can be enabled with \"<code>dpkg-reconfigure\n"
+"i2p</code>\" as root or using sudo. This is the recommended means of "
+"operation."
+msgstr ""
+"כשירות שרץ באופן עצמאי כאשר המערכת עולה, עוד\n"
+"לפני שהמשתמש נכנס. ניתן להפעיל את השירות עם \"<code>dpkg-reconfigure\n"
+"‏i2p</code>\" בתור root או על־ידי שימוש ב־sudo. זהו אופן השימוש המומלץ."
+
+#: i2p2www/pages/downloads/debian.html:168
+msgid ""
+"When installing for the first time, please remember to <b>adjust your NAT/"
+"firewall</b>\n"
+"if you can. The ports to forward can be found on the <a href="
+"\"http://127.0.0.1:7657/confignet\">\n"
+"network configuration page</a> in the router console. If guidance with "
+"respect to forwarding ports is needed,\n"
+"you may find <a href=\"http://portforward.com\">portforward.com</a> to be "
+"helpful."
+msgstr ""
+"בעת ההתקנה בפעם הראשונה, אנא זכרו להגדיר את ה־<b>NAT/חומת האש</b>\n"
+"שלכם אם אתם יכולים. ניתן למצוא את הפתחות שיש להעביר ב<a href="
+"\"http://127.0.0.1:7657/confignet\">\n"
+"עמוד הגדרות הרשת</a> בממשק הנתב. אם אתם זקוקים להדרכה כיצד להעביר פתחות,\n"
+"‏<a href=\"http://portforward.com\">portforward.com</a> יכול לעזור."
+
+#: i2p2www/pages/downloads/debian.html:175
+msgid ""
+"Please review and <b>adjust the bandwidth settings</b> on the\n"
+"<a href=\"http://127.0.0.1:7657/config.jsp\">configuration page</a>,\n"
+"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
+msgstr ""
+"אנא בדקו את <b>הגדרות רוחב־הפס</b> ב<a href=\"http://127.0.0.1:7657/config."
+"jsp\">עמוד\n"
+"הגדרות התצורה</a>,\n"
+"מאחר והגדרות ברירת המחדל (96 ק\"ב/שניה בהורדה ו־40 ק\"ב/שניה בהעלאה) די "
+"נמוכות."
+
+#: i2p2www/pages/downloads/debian.html:181
+#: i2p2www/pages/downloads/post-install.html:34
+#, python-format
+msgid ""
+"If you want to reach eepsites via your browser, have a look on the <a href="
+"\"%(browserconfig)s\">browser proxy setup</a> page for an easy howto."
+msgstr ""
+"אם אתם רוצים לגלוש ל־eepsites דרך הדפדפן, ראו את העמוד <a href="
+"\"%(browserconfig)s\">הגדרת מתווך רשת לדפדפן</a> להדרכה פשוטה."
+
+#: i2p2www/pages/downloads/list.html:2 i2p2www/pages/downloads/select.html:12
+#: i2p2www/pages/global/nav.html:3
+msgid "Download"
+msgstr "הורדה"
+
+#: i2p2www/pages/downloads/list.html:9
+msgid "Dependency"
+msgstr "תלות"
+
+#: i2p2www/pages/downloads/list.html:10
+#, python-format
+msgid ""
+"\n"
+"Java Runtime 1.5 or higher.\n"
+"(<a href=\"%(java)s\">Oracle Java Version 7</a>,\n"
+"<a href=\"%(openjdk)s\">OpenJDK 7</a>, or\n"
+"<a href=\"%(icedtea)s\">IcedTea7</a>\n"
+" recommended,\n"
+"except Raspberry Pi: <a href=\"%(oracle8)s\">Oracle 8 Early Access</a>,\n"
+"PowerPC: <a href=\"%(ibmsdk7)s\">IBM SDK 7</a>)\n"
+"<br />\n"
+"<a href=\"%(detectjre)s\">Determine your installed Java version here</a>\n"
+"or type <tt>java -version</tt> at your command prompt.\n"
+msgstr ""
+"\n"
+"‏Java Runtime גרסה 1.5 ומעלה.\n"
+"‏(<a href=\"%(java)s\">Oracle Java גרסה 7</a>,\n"
+"‏<a href=\"%(openjdk)s\">OpenJDK 7</a> או\n"
+"‏<a href=\"%(icedtea)s\">IcedTea7</a>\n"
+"מומלץ,\n"
+"פרט לפאי פטל: <a href=\"%(oracle8)s\">Oracle 8 Early Access</a>,\n"
+"‏PowerPC: ‏<a href=\"%(icedtea)s\">IcedTea7</a>)\n"
+"<br />\n"
+"‏<a href=\"%(detectjre)s\">גלה מהי גרסת הג'אווה שמותקנת אצלך כאן</a>\n"
+"או הרץ את <tt>java -version</tt> בשורת הפקודה.\n"
+
+#: i2p2www/pages/downloads/list.html:28
+msgid "Clean installs"
+msgstr "התקנות נקיות"
+
+#: i2p2www/pages/downloads/list.html:38 i2p2www/pages/downloads/list.html:57
+#: i2p2www/pages/downloads/list.html:86 i2p2www/pages/downloads/list.html:151
+#: i2p2www/pages/downloads/list.html:249
+msgid "select alternate link"
+msgstr "בחירת קישור חלופי"
+
+#: i2p2www/pages/downloads/list.html:44
+msgid "Download that file and run it."
+msgstr "הורידו את הקובץ והריצו אותו."
+
+#: i2p2www/pages/downloads/list.html:63
+#, python-format
+msgid ""
+"Download that file and double-click it (if that works) or\n"
+"    type <code>java -jar i2pinstall_%(i2pversion)s.jar</code> in a terminal "
+"to run the\n"
+"    installer.\n"
+"    You may be able to right-click and select\n"
+"    &quot;Open with Java&quot;."
+msgstr ""
+"הורידו את הקובץ ולחצו עליו לחיצה כפולה (אם זה עובד), או\n"
+"    הריצו את <code>java -jar i2pinstall_%(i2pversion)s.jar</code> במסוף על־"
+"מנת להריץ את\n"
+"    תוכנת ההתקנה.\n"
+"    ייתכן שתוכלו ללחוץ לחיצה ימנית ולבחור\n"
+"    ‏&quot;פתיחה באמצעות Java&quot;."
+
+#: i2p2www/pages/downloads/list.html:71 i2p2www/pages/downloads/list.html:100
+msgid "Command line (headless) install:"
+msgstr "התקנה בשורת הפקודה (headless):"
+
+#: i2p2www/pages/downloads/list.html:72
+#, python-format
+msgid ""
+"Download the %(i2pversion)s OSX graphical installer file above and\n"
+"    run <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> from "
+"the command line."
+msgstr ""
+"הורידו את קובץ ההתקנה גרפית של גרסה %(i2pversion)s שלמעלה\n"
+"    והריצו את <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> "
+"בשורת הפקודה."
+
+#: i2p2www/pages/downloads/list.html:92
+#, python-format
+msgid ""
+"Download that file and double-click it (if that works) or\n"
+"    type <code>java -jar i2pinstall_%(i2pversion)s.jar</code> in a terminal "
+"to run the\n"
+"    installer.\n"
+"    On some platforms you may be able to right-click and select\n"
+"    &quot;Open with Java&quot;."
+msgstr ""
+"הורידו את הקובץ ולחצו עליו לחיצה כפולה (אם זה עובד), או\n"
+"    הריצו את <code>java -jar i2pinstall_%(i2pversion)s.jar</code> במסוף על־"
+"מנת להריץ את\n"
+"    תוכנת ההתקנה.\n"
+"    בפלטפורמות מסוימות ייתכן שתוכלו ללחוץ לחיצה ימנית ולבחור\n"
+"    ‏&quot;פתיחה באמצעות Java&quot;."
+
+#: i2p2www/pages/downloads/list.html:101
+#, python-format
+msgid ""
+"Download the graphical installer file above and\n"
+"    run <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> from "
+"the command line."
+msgstr ""
+"הורידו את קובץ ההתקנה הגרפית שלמעלה\n"
+"    והריצו את <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> "
+"בשורת הפקודה."
+
+#: i2p2www/pages/downloads/list.html:113
+msgid "Packages for Debian &amp; Ubuntu are available."
+msgstr "קיימות חבילות לדביאן ולאובונטו."
+
+#: i2p2www/pages/downloads/list.html:129
+#, python-format
+msgid ""
+"The above file is the current release build.\n"
+"    The latest dev build is version %(devbuild)s, and is available from\n"
+"    <a href=\"%(str4durl)s\">str4d's eepsite</a>."
+msgstr ""
+"הקובץ שלמעלה הוא גרסת השחרור הנוכחית.\n"
+"    גרסת הפיתוח האחרונה היא גרסה %(devbuild)s, והיא ניתנת\n"
+"    להורדה ב<a href=\"%(str4durl)s\">אתר של str4d</a>."
+
+#: i2p2www/pages/downloads/list.html:135
+msgid ""
+"The release and dev versions of the I2P APK are not compatible, as they\n"
+"      are signed by zzz and str4d respectively. Uninstall one before "
+"installing\n"
+"      the other."
+msgstr ""
+"גרסאות השחרור והפיתוח של ה-APK של I2P אינן מתואמות, משום\n"
+"      שהן חתומות על־ידי zzz ועל־ידי str4d בהתאמה. הסירו אחת\n"
+"      שאתם מתקינים את השניה."
+
+#: i2p2www/pages/downloads/list.html:146
+msgid "Source package"
+msgstr "חבילת מקור"
+
+#: i2p2www/pages/downloads/list.html:157
+#, python-format
+msgid ""
+"Alternately, you can fetch the source from <a href=\"%(monotoneurl)s#getting-"
+"the-i2p-code\">monotone</a>\n"
+"    or via Git from <a href=\"%(gitrepo)s\">git.repo.i2p</a> or <a href="
+"\"%(github)s\">Github</a>.\n"
+"    <br />\n"
+"    Run <code>(tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd i2p-"
+"%(i2pversion)s ; ant pkg)</code> then either\n"
+"    run the GUI installer or headless install as above."
+msgstr ""
+"לחילופין, אתם יכולים להוריד את קבצי המקור מ־<a href="
+"\"%(monotoneurl)s#getting-the-i2p-code\">monotone</a>\n"
+"    או דרך גיט בכתובת <a href=\"%(gitrepo)s\">git.repo.i2p</a> או מ<a href="
+"\"%(github)s\">גיטהאב</a>.\n"
+"    <br />\n"
+"    הריצו <code>(tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd i2p-"
+"%(i2pversion)s ; ant pkg)</code> ולאחר מכן\n"
+"    הריצו את ההתקנה הגרפית או את ההתקנה בשורת הפקודה כפי שמתואר לעיל."
+
+#: i2p2www/pages/downloads/list.html:172
+#, python-format
+msgid ""
+"The files are signed by zzz,\n"
+"<a href=\"%(signingkey)s\">whose key is here</a>."
+msgstr ""
+"הקבצים חתומים על־ידי zzz,\n"
+"‏<a href=\"%(signingkey)s\">שהמפתח שלו נמצא כאן</a>."
+
+#: i2p2www/pages/downloads/list.html:177
+msgid ""
+"I2P can also be downloaded from our project pages on <a href=\"https://"
+"launchpad.net/i2p/trunk\">Launchpad</a> and <a href=\"http://code.google.com/"
+"p/i2p/\">Google Code</a>."
+msgstr ""
+"ניתן  גם להוריד את I2P מעמודי הפרויקט שלנו ב־<a href=\"https://launchpad.net/"
+"i2p/trunk\">Launchpad</a> וב<a href=\"http://code.google.com/p/i2p/\">גוגל "
+"קוד</a>."
+
+#: i2p2www/pages/downloads/list.html:183
+msgid "Updates from earlier releases:"
+msgstr "עדכונים מגרסאות קודמות:"
+
+#: i2p2www/pages/downloads/list.html:185
+msgid "Both automatic and manual upgrades are available for the release."
+msgstr "עדכונים אוטומטיים וגם ידניים אפשריים עבור גרסת שחרור זו."
+
+#: i2p2www/pages/downloads/list.html:191
+msgid "Automatic updates"
+msgstr "עדכונים אוטומטיים"
+
+#: i2p2www/pages/downloads/list.html:194
+msgid ""
+"If you are running 0.7.5 or later, your router should detect the\n"
+"new release. To upgrade simply click the 'Download Update' button on your "
+"router console\n"
+"when it appears."
+msgstr ""
+"אם אתם מריצים 0.7.5 ומעלה, הנתב שלכם אמור לגלות\n"
+"את הגרסה החדשה. על־מנת לשדרג, פשוט לחצו על כפתור 'הורדת עדכון' בממשק הנתב\n"
+"כאשר הוא מופיע."
+
+#: i2p2www/pages/downloads/list.html:200
+msgid ""
+"Due to a bug in release 0.7.6, those whose first I2P installation was that "
+"version\n"
+"and have not upgraded manually\n"
+"may get a \"downloaded version is not greater than current version\" error,\n"
+"and should use the manual update method below."
+msgstr ""
+"עקב תקלה בגרסה 0.7.6, מי שזו הייתה גרסת ההתקנה הראשונה שלו\n"
+"ולא ביצע עדכון ידני\n"
+"עשוי לקבל שגיאת \"הגרסה שירדה אינה עדכנית יותר מהנוכחית\",\n"
+"ועליו להשתמש בשיטת העדכון הידני המתוארת להלן."
+
+#: i2p2www/pages/downloads/list.html:208
+#, python-format
+msgid ""
+"If you are running 0.7.4 or earlier, please see\n"
+"<a href=\"%(blogpost)s\">the 0.7.5 release notes</a>\n"
+"for important information about how to configure your router to "
+"automatically\n"
+"receive the release."
+msgstr ""
+"אם אתם מריצים את 0.7.4 או גרסה מוקדמת יותר,\n"
+"נא ראו את <a href=\"%(blogpost)s\">הערות השחרור של 0.7.5</a>\n"
+"המכילות מידע חשוב כיצד להגדיר את הנתב שלכם כך שיקבל את גרסת\n"
+"השחרור אוטומטית."
+
+#: i2p2www/pages/downloads/list.html:216
+#, python-format
+msgid ""
+"If you are running 0.6.1.30 or earlier, please see\n"
+"<a href=\"%(instructions)s\">instructions</a>\n"
+"for important information about how to configure your router to "
+"automatically\n"
+"receive the release."
+msgstr ""
+"אתם את מריצים את 0.6.1.30 או גרסה מוקדמת יותר,\n"
+"נא ראו את ה<a href=\"%(instructions)s\">הוראות</a>,\n"
+"שמכילות מידע חשוב כיצד להגדיר את הנתב שלכם כך שיקבל את גרסת\n"
+"השחרור אוטומטית."
+
+#: i2p2www/pages/downloads/list.html:225
+#, python-format
+msgid ""
+"If you have reconfigured your router following the <a href=\"%(instructions)s"
+"\">instructions</a>, you should see a link on your \n"
+"    <a href=\"http://localhost:7657/index.jsp\">router console</a> allowing\n"
+"    you to download and install the new release by just clicking on that\n"
+"    link."
+msgstr ""
+"אם הגדרתם את תצורת הנתב על־פי ה<a href=\"%(instructions)s\">הוראות</a>, אתם "
+"אמורים לראות קישור \n"
+"    ב<a href=\"http://localhost:7657/index.jsp\">ממשק הנתב</a> המאפשר\n"
+"    להוריד ולהתקין את גרסת השחרור החדשה פשוט על־ידי לחיצה על\n"
+"    הקישור."
+
+#: i2p2www/pages/downloads/list.html:233
+msgid "Alternately, you can use the manual method specified below."
+msgstr "לחילופין, ניתן להשתמש בשיטה הידנית המתוארת להלן."
+
+#: i2p2www/pages/downloads/list.html:244
+msgid "Manual updates"
+msgstr "עדכונים ידניים"
+
+#: i2p2www/pages/downloads/list.html:257
+msgid ""
+"Download that file to your I2P\n"
+"    installation directory and <b>rename as i2pupdate.zip</b>.\n"
+"    (alternately, you can get the source as above and run \"ant updater\", "
+"then copy the\n"
+"    resulting i2pupdate.zip to your I2P installation directory).  You do \n"
+"    NOT need to unzip that file."
+msgstr ""
+"הורידו קובץ זה לתיקיית ההתקנה\n"
+"    של I2P ו<b>שנו את שמו ל־i2pupdate.zip</b>.\n"
+"    (לחילופין, ניתן להוריד את המקור כמתואר לעיל ולהריץ \"ant updater\", ואז "
+"להעתיק\n"
+"    את הקובץ i2pupdate.zip שנוצר אל תוך תיקיית ההתקנה של I2P). <b>אינכם</b>\n"
+"    צריכים לחלץ את הקבצים מתוך הארכיון."
+
+#: i2p2www/pages/downloads/list.html:266
+msgid ""
+"Click <a href=\"http://localhost:7657/configservice.jsp\">\"Restart\"</a>"
+msgstr "לחצו <a href=\"http://localhost:7657/configservice.jsp\">\"אתחול\"</a>"
+
+#: i2p2www/pages/downloads/list.html:271
+msgid "Grab a cup of coffee and come back in 11 minutes"
+msgstr "קחו לכם כוס קפה וחזרו בעוד 11 דקות"
+
+#: i2p2www/pages/downloads/list.html:279
+#, python-format
+msgid ""
+"The file is signed by zzz,\n"
+"<a href=\"%(signingkey)s\">whose key is here</a>."
+msgstr ""
+"הקובץ חתום על־ידי zzz,\n"
+"‏<a href=\"%(signingkey)s\">שהמפתח שלו נמצא כאן</a>."
+
+#: i2p2www/pages/downloads/list.html:284
+msgid "Previous Releases"
+msgstr "גרסאות קודמות"
+
+#: i2p2www/pages/downloads/list.html:286
+#, python-format
+msgid ""
+"Previous releases are available on <a href=\"http://code.google.com/p/i2p/"
+"downloads/list?can=1\">Google Code</a>\n"
+"and <a href=\"https://launchpad.net/i2p/trunk\">Launchpad</a>\n"
+"and within the I2P network on <a href=\"http://%(echelon)s/\">%(echelon)s</"
+"a>."
+msgstr ""
+"ניתן למצוא גרסאות קודמות ב<a href=\"http://code.google.com/p/i2p/downloads/"
+"list?can=1\">גוגל קוד</a>,\n"
+"ב־<a href=\"https://launchpad.net/i2p/trunk\">Launchpad</a>\n"
+"ובתוך רשת ה־I2P בכתובת <a href=\"http://%(echelon)s/\">%(echelon)s</a>."
+
+#: i2p2www/pages/downloads/post-install.html:3
+msgid ""
+"After running the installer on windows, simply click on the \"Start I2P\" "
+"button\n"
+"which will bring up the <a href=\"http://localhost:7657/index.jsp\">router "
+"console</a>,\n"
+"which has further instructions."
+msgstr ""
+"לאחר הרצת תוכנת ההתקנה על חלונות, פשוט לחצו על הכפתור \"התחל את I2P\",\n"
+"מה שיפתח את <a href=\"http://localhost:7657/index.jsp\">ממשק הנתב</a>\n"
+"המכיל הוראות נוספות."
+
+#: i2p2www/pages/downloads/post-install.html:9
+msgid ""
+"On Unix-like systems, I2P can be started as a service\n"
+"using the \"i2prouter\" script, located in the directory you selected for "
+"I2P.\n"
+"Changing to that directory in a console and issuing \"sh i2prouter status\"\n"
+"should tell you the router's status. The arguments \"start\", \"stop\" and "
+"\"restart\"\n"
+"control the service. The <a href=\"http://localhost:7657/index.jsp\">router "
+"console</a>\n"
+"can be accessed at its usual location.\n"
+"For users on OpenSolaris and other systems for which the wrapper (i2psvc) is "
+"not supported,\n"
+"start the router with \"sh runplain.sh\" instead."
+msgstr ""
+"במערכות דמויות יוניקס, ניתן להריץ את I2P כשירות\n"
+"על־ידי שימוש בתסריט \"i2prouter\" הממוקם בתיקיה שבחרתם עבור I2P.\n"
+"מעבר לתיקיה זו והרצת הפקודה \"sh i2prouter status\" יאמר לכם מה\n"
+"מצב הנתב. הארגומנטים ‏\"start\", ‏\"stop\" ו־\"restart\" שולטים על השירות.\n"
+"ניתן להיכנס ל<a href=\"http://localhost:7657/index.jsp\">ממשק הנתב</a>\n"
+"במיקום הרגיל שלו.\n"
+"עבור משתמשים של OpenSolaris ומערכות אחרות בהן העוטף (i2psvc) אינו נתמך,\n"
+"הריצו את הנתב עם הפקודה \"sh runplain.sh\" במקום זאת."
+
+#: i2p2www/pages/downloads/post-install.html:20
+#, python-format
+msgid ""
+"When installing for the first time, please remember to <b>adjust your NAT/"
+"firewall</b>\n"
+"if you can, bearing in mind the Internet-facing ports I2P uses,\n"
+"<a href=\"%(faq)s#ports\">described here</a> among other ports.\n"
+"If you have successfully opened your port to inbound TCP, also enable "
+"inbound TCP on the\n"
+"<a href=\"http://localhost:7657/confignet.jsp\">configuration page</a>."
+msgstr ""
+"בעת ההתקנה בפעם הראשונה, אנא זכרו <b>להגדיר את ה־NAT/חומת האש</b>\n"
+"אם אתם יכולים. שימו לב לפתחות הפונות כלפי האינטרנט בהן I2P משתמשת\n"
+"‏<a href=\"%(faq)s#ports\">המתוארות כאן</a>.\n"
+"אם פתחתם בהצלחה את הפתחה לתקשורת TCP נכנסת, אפשרו תקשורת TCP\n"
+"נכנסת גם ב<a href=\"http://localhost:7657/confignet.jsp\">עמוד הגדרות "
+"התצורה</a>."
+
+#: i2p2www/pages/downloads/post-install.html:28
+msgid ""
+"Also, please review and <b>adjust the bandwidth settings</b> on the\n"
+"<a href=\"http://localhost:7657/config.jsp\">configuration page</a>,\n"
+"as the default settings of 96 KBps down / 40 KBps up are fairly slow."
+msgstr ""
+"כמו כן, אנא בדקו את <b>הגדרות רוחב הפס</b>\n"
+"ב<a href=\"http://localhost:7657/config.jsp\">עמוד הגדרות התצורה</a>,\n"
+"שכן הגדרות ברירת המחדל של 96 ק\"ב/שניה בהורדה ו־40 ק\"ב/שניה בהעלאה הן די "
+"איטיות."
+
+#: i2p2www/pages/downloads/redirect.html:2
+msgid "Downloading..."
+msgstr "מוריד..."
+
+#: i2p2www/pages/downloads/redirect.html:8
+#, python-format
+msgid ""
+"Your download will begin shortly. If it doesn't start within 5 seconds, "
+"click <a href=\"%(url)s\">here</a>."
+msgstr ""
+"ההורדה תתחיל תוך זמן קצר. אם היא לא מתחילה תוך 5 שניות, לחצו <a href="
+"\"%(url)s\">כאן</a>."
+
+#: i2p2www/pages/downloads/select.html:2 i2p2www/pages/downloads/select.html:4
+msgid "Mirror selection"
+msgstr "בחירת מראה"
+
+#: i2p2www/pages/downloads/select.html:5
+msgid "File:"
+msgstr "קובץ:"
+
+#: i2p2www/pages/downloads/select.html:10
+msgid "Any mirror"
+msgstr "כל מראה"
+
+#: i2p2www/pages/global/bounty.html:19
+msgid ""
+"To claim the bounty the author must not be paid by other organizations\n"
+"or teams for this work (e.g. GSoC students are not valid)."
+msgstr ""
+"על־מנת לדרוש את המענק, אסור שהיוצר יקבל תשלום מארגונים או צוותים אחרים\n"
+"על אותה העבודה (לדוגמה סטודנטים המשתתפים ב־GSoC לא יתקבלו)."
+
+#: i2p2www/pages/global/bounty.html:29
+#, fuzzy, python-format
+msgid ""
+"Bounty amounts may be increased by further donations.  Do\n"
+"you think these are important? <a href=\"%(donate)s\">Add in your donation</"
+"a>, \n"
+"marking the amount for the %(donatename)s bounty!"
+msgstr ""
+"סכומי המענק ניתנים להגדלה על־ידי תרומות נוספות. האם\n"
+"אתם חושבים שאלה חשובים? <a href=\"%(donate)s\">הוסיפו את התרומה שלכם</a>,\n"
+"וסמנו את הסכום למענק!"
+
+#: i2p2www/pages/global/error_404.html:3
+msgid "Not found"
+msgstr "לא נמצא"
+
+#: i2p2www/pages/global/error_404.html:9
+#, fuzzy
+msgid ""
+"Yep... the resource, you were searching for, is named differently, doesn't "
+"exist or was removed."
+msgstr "המממ... הפריט שחיפשתם נקרא בשם אחר, אינו קיים או הוסר."
+
+#: i2p2www/pages/global/error_500.html:5
+msgid "Server error"
+msgstr "שגיאת שרת"
+
+#: i2p2www/pages/global/error_500.html:13
+msgid "500 Server error"
+msgstr "500 שגיאת שרת"
+
+#: i2p2www/pages/global/error_500.html:17
+msgid "Umm... the server encountered some sort of error."
+msgstr "אמממ... השרת נתקל בבעיה כלשהי."
+
+#: i2p2www/pages/global/footer.html:2
+msgid "Mirrors"
+msgstr "אתרי מראה"
+
+#: i2p2www/pages/global/footer.html:10
+msgid "Secure"
+msgstr "מאובטח"
+
+#: i2p2www/pages/global/footer.html:17
+msgid "Misc."
+msgstr "שונות"
+
+#: i2p2www/pages/global/footer.html:20 i2p2www/pages/site/links.html:2
+msgid "Links"
+msgstr "קישורים"
+
+#: i2p2www/pages/global/footer.html:21
+msgid "Impressum"
+msgstr "יצירת קשר"
+
+#: i2p2www/pages/global/footer.html:25
+msgid "T-Shirts!"
+msgstr "חולצות!"
+
+#: i2p2www/pages/global/footer.html:27
+msgid "Europe"
+msgstr "אירופה"
+
+#: i2p2www/pages/global/footer.html:28
+msgid "USA"
+msgstr "ארה\"ב"
+
+#: i2p2www/pages/global/footer.html:32 i2p2www/pages/global/nav.html:133
+msgid "Donate"
+msgstr "תרומה"
+
+#: i2p2www/pages/global/layout.html:29
+#, fuzzy
+msgid "Skip navigation"
+msgstr "דילוג"
+
+#: i2p2www/pages/global/layout.html:32
+msgid "I2P Logo"
+msgstr "הסמליל של I2P"
+
+#: i2p2www/pages/global/layout.html:32 i2p2www/pages/site/index.html:3
+#, fuzzy
+msgid "The Invisible Internet Project"
+msgstr "פרויקט האינטרנט הבלתי־נראה"
+
+#: i2p2www/pages/global/layout.html:56
+#, python-format
+msgid ""
+"This page was last updated in %(lastupdated)s and is accurate for router "
+"version %(accuratefor)s."
+msgstr ""
+"עמוד זה עודכן לאחרונה ב־%(lastupdated)s והוא מדויק עבור גרסת הנתב "
+"%(accuratefor)s."
+
+#: i2p2www/pages/global/layout.html:60
+#, python-format
+msgid "This page was last updated in %(lastupdated)s."
+msgstr "עמוד זה עודכן לאחרונה ב־%(lastupdated)s."
+
+#: i2p2www/pages/global/layout.html:64
+#, python-format
+msgid "This page is accurate for router version %(accuratefor)s."
+msgstr "עמוד זה מדויק עבור גרסת הנתב %(accuratefor)s."
+
+#: i2p2www/pages/global/macros:22
+msgid "Previous"
+msgstr "הקודם"
+
+#: i2p2www/pages/global/macros:37
+msgid "Next"
+msgstr "הבא"
+
+#: i2p2www/pages/global/macros:44
+#, fuzzy
+msgid "Posted in"
+msgstr "פורסם ב:"
+
+#: i2p2www/pages/global/nav.html:4
+msgid "About"
+msgstr "אודות"
+
+#: i2p2www/pages/global/nav.html:6
+msgid "Introduction to I2P"
+msgstr "מבוא ל־I2P"
+
+#: i2p2www/pages/global/nav.html:7
+msgid "Comparisons"
+msgstr "השוואות"
+
+#: i2p2www/pages/global/nav.html:9
+msgid "Overview of comparisons"
+msgstr "תמצית ההשוואות"
+
+#: i2p2www/pages/global/nav.html:13
+msgid "Other anonymous networks"
+msgstr "רשתות אנונימיות אחרות"
+
+#: i2p2www/pages/global/nav.html:16
+msgid "Documentation"
+msgstr "תיעוד"
+
+#: i2p2www/pages/global/nav.html:18
+msgid "Documentation index"
+msgstr "אינדקס תיעוד"
+
+#: i2p2www/pages/global/nav.html:19
+msgid "How does it work?"
+msgstr "איך זה עובד?"
+
+#: i2p2www/pages/global/nav.html:21
+msgid "Gentle intro"
+msgstr "מבוא עדין"
+
+#: i2p2www/pages/global/nav.html:22
+msgid "Tech intro"
+msgstr "מבוא טכני"
+
+#: i2p2www/pages/global/nav.html:23
+msgid "Threat model"
+msgstr "מודל איום"
+
+#: i2p2www/pages/global/nav.html:24
+msgid "Garlic routing"
+msgstr "ניתוב שום (Garlic routing)"
+
+#: i2p2www/pages/global/nav.html:25
+msgid "Network database"
+msgstr "מסד נתוני רשת"
+
+#: i2p2www/pages/global/nav.html:26
+msgid "Tunnel routing"
+msgstr "ניתוב מסלולים"
+
+#: i2p2www/pages/global/nav.html:27
+msgid "Peer selection"
+msgstr "Выбор пира"
+
+#: i2p2www/pages/global/nav.html:28
+msgid "Cryptography"
+msgstr "בחירת עמיתים"
+
+#: i2p2www/pages/global/nav.html:29
+msgid "ElGamal/AES+SessionTags"
+msgstr "‏ElGamal/AES+תגיות סשן"
+
+#: i2p2www/pages/global/nav.html:32
+msgid "Specifications"
+msgstr "ספציפיקציות"
+
+#: i2p2www/pages/global/nav.html:34
+#, fuzzy
+msgid "Blockfile"
+msgstr "קובץ חסימה"
+
+#: i2p2www/pages/global/nav.html:35
+msgid "Common structures"
+msgstr "מבנים שכיחים"
+
+#: i2p2www/pages/global/nav.html:36
+msgid "Configuration files"
+msgstr "קובצי הגדרות תצורה"
+
+#: i2p2www/pages/global/nav.html:37 i2p2www/pages/global/nav.html:56
+msgid "Datagrams"
+msgstr "‏Datagrams"
+
+#: i2p2www/pages/global/nav.html:38
+msgid "GeoIP files"
+msgstr "קובצי GeoIP"
+
+#: i2p2www/pages/global/nav.html:41 i2p2www/pages/global/nav.html:88
+msgid "Plugins"
+msgstr "תוספים"
+
+#: i2p2www/pages/global/nav.html:43 i2p2www/pages/global/nav.html:55
+#, fuzzy
+msgid "Streaming library"
+msgstr "ספריית הזרמה"
+
+#: i2p2www/pages/global/nav.html:44
+msgid "Tunnel creation"
+msgstr "יצירת מסלולים"
+
+#: i2p2www/pages/global/nav.html:45
+msgid "Tunnel messages"
+msgstr "הודעות מסלול"
+
+#: i2p2www/pages/global/nav.html:46
+msgid "Software updates"
+msgstr "עדכוני תוכנה"
+
+#: i2p2www/pages/global/nav.html:49
+msgid "API"
+msgstr "ממשק תכנות (API)"
+
+#: i2p2www/pages/global/nav.html:60 i2p2www/pages/global/nav.html:113
+msgid "Applications"
+msgstr "יישומים"
+
+#: i2p2www/pages/global/nav.html:62
+msgid "Supported applications"
+msgstr "יישומים נתמכים"
+
+#: i2p2www/pages/global/nav.html:63
+msgid "Bittorrent"
+msgstr "ביטורנט"
+
+#: i2p2www/pages/global/nav.html:66
+msgid "Protocols"
+msgstr "פרוטוקולים"
+
+#: i2p2www/pages/global/nav.html:68
+msgid "Protocol stack"
+msgstr "מחסנית פרוטוקולים"
+
+#: i2p2www/pages/global/nav.html:73
+msgid "Transports"
+msgstr "פרוטוקולי תעבורה"
+
+#: i2p2www/pages/global/nav.html:75
+#, fuzzy
+msgid "Transport layer overview"
+msgstr "תמצית שכבת התעבורה"
+
+#: i2p2www/pages/global/nav.html:80
+msgid "Tunnels"
+msgstr "מסלולים"
+
+#: i2p2www/pages/global/nav.html:82
+msgid "Tunnel implementation"
+msgstr "מימוש המסלולים"
+
+#: i2p2www/pages/global/nav.html:83
+msgid "Unidirectional tunnels"
+msgstr "מסלולים חד־כיווניים"
+
+#: i2p2www/pages/global/nav.html:84
+msgid "Old implementation"
+msgstr "המימוש הישן"
+
+#: i2p2www/pages/global/nav.html:87
+msgid "Naming and addressbook"
+msgstr "נתינת שמות וספר הכתובות"
+
+#: i2p2www/pages/global/nav.html:91
+msgid "Team"
+msgstr "צוות"
+
+#: i2p2www/pages/global/nav.html:93
+msgid "Hall of Fame"
+msgstr "היכל התהילה"
+
+#: i2p2www/pages/global/nav.html:94
+msgid "Academic papers and peer review"
+msgstr "מסמכים אקדמיים וביקורת עמיתים"
+
+#: i2p2www/pages/global/nav.html:95
+msgid "Presentations, tutorials and articles"
+msgstr "מצגות, מדריכים וכתבות"
+
+#: i2p2www/pages/global/nav.html:96
+msgid "Contact us"
+msgstr "צרו קשר"
+
+#: i2p2www/pages/global/nav.html:99
+msgid "Help"
+msgstr "עזרה"
+
+#: i2p2www/pages/global/nav.html:101
+msgid "FAQ"
+msgstr "שאלות נפוצות"
+
+#: i2p2www/pages/global/nav.html:102
+msgid "How to browse I2P"
+msgstr "כיצד לגלוש ב־I2P"
+
+#: i2p2www/pages/global/nav.html:103
+msgid "Glossary"
+msgstr "מילון מונחים"
+
+#: i2p2www/pages/global/nav.html:104
+msgid "Performance"
+msgstr "ביצועים"
+
+#: i2p2www/pages/global/nav.html:105 i2p2www/pages/site/contact.html:28
+msgid "Forums"
+msgstr "פורומים"
+
+#: i2p2www/pages/global/nav.html:108
+msgid "Volunteer"
+msgstr "מעורבות"
+
+#: i2p2www/pages/global/nav.html:110
+msgid "Get involved!"
+msgstr "קחו חלק!"
+
+#: i2p2www/pages/global/nav.html:111
+msgid "Develop"
+msgstr "פיתוח"
+
+#: i2p2www/pages/global/nav.html:114
+msgid "Licenses"
+msgstr "תנאי שימוש"
+
+#: i2p2www/pages/global/nav.html:115
+msgid "Release signing keys"
+msgstr "מפתחות חתימת שחרורים"
+
+#: i2p2www/pages/global/nav.html:116
+msgid "Signed keys"
+msgstr "מפתחות חתומים"
+
+#: i2p2www/pages/global/nav.html:117
+msgid "Developers keys"
+msgstr "מפתחות המפתחים"
+
+#: i2p2www/pages/global/nav.html:118
+msgid "Bug tracker"
+msgstr "מערכת ניהול תקלות"
+
+#: i2p2www/pages/global/nav.html:121
+msgid "Academic research"
+msgstr "מחקר אקדמי"
+
+#: i2p2www/pages/global/nav.html:122
+msgid "Open research questions"
+msgstr "שאלות מחקר פתוחות"
+
+#: i2p2www/pages/global/nav.html:123
+msgid "Guides"
+msgstr "מדריכים"
+
+#: i2p2www/pages/global/nav.html:125
+msgid "New developers"
+msgstr "מפתחים חדשים"
+
+#: i2p2www/pages/global/nav.html:126
+msgid "Using an IDE with I2P"
+msgstr "שימוש בסביבת פיתוח מובנית (IDE) עם I2P"
+
+#: i2p2www/pages/global/nav.html:127
+msgid "Developer guidelines and coding style"
+msgstr "מדריכים למפתחים וסגנון קוד"
+
+#: i2p2www/pages/global/nav.html:128
+msgid "Monotone"
+msgstr "‏Monotone"
+
+#: i2p2www/pages/global/nav.html:129
+msgid "New translators"
+msgstr "מתרגמים חדשים"
+
+#: i2p2www/pages/global/nav.html:132
+msgid "Bounties"
+msgstr "מענקים"
+
+#: i2p2www/pages/global/nav.html:134
+msgid "Meetings"
+msgstr "פגישות"
+
+#: i2p2www/pages/global/nav.html:135
+msgid "Roadmap"
+msgstr "מפת דרכים"
+
+#: i2p2www/pages/global/nav.html:136
+msgid "Task list"
+msgstr "רשימת מטלות"
+
+#: i2p2www/pages/global/nav.html:139
+msgid "Language"
+msgstr "שפה"
+
+#: i2p2www/pages/meetings/index.html:2
+msgid "Logs of past I2P meetings"
+msgstr "יומנים של ישיבות I2P קודמות"
+
+#: i2p2www/pages/meetings/index.html:4
+msgid "I2P Meetings ATOM Feed"
+msgstr "זרם Atom של ישיבות I2P"
+
+#: i2p2www/pages/meetings/index.html:7
+#, python-format
+msgid ""
+"We do not currently have regularly scheduled meetings. Anyone can schedule "
+"and\n"
+"run a meeting, by posting the agenda in\n"
+"<a href=\"%(mtgforum)s\">the meetings forum</a>."
+msgstr ""
+"כרגע הישיבות שלנו אינן מתקיימות במועדים קבועים. כל אחד יכול לקבוע\n"
+"ולהריץ ישיבה, על־ידי פרסום האג'נדה\n"
+"ב<a href=\"%(mtgforum)s\">פורום הישיבות</a>."
+
+#: i2p2www/pages/meetings/index.html:13
+#, python-format
+msgid ""
+"If you have something to discuss, please find the developers on IRC in #i2p-"
+"dev.\n"
+"<a href=\"%(blogindex)s\">Status updates</a> from developers are also "
+"available."
+msgstr ""
+"אם יש לכם משהו לדון עליו, אנא מצאו את המפתחים ב־IRC בערוץ ‎#i2p-dev.\n"
+"‏ישנם גם <a href=\"%(blogindex)s\">עדכוני מצב</a> מהמפתחים."
+
+#: i2p2www/pages/meetings/show.html:2
+#, python-format
+msgid "I2P Development Meeting %(id)s"
+msgstr "ישיבת פיתוח של I2P מס' %(id)s"
+
+#: i2p2www/pages/meetings/show.html:10
+msgid "Full IRC Log"
+msgstr "יומן IRC מלא"
+
+#: i2p2www/pages/papers/list.html:28
+msgid "By topic"
+msgstr "לפי נושא"
+
+#: i2p2www/pages/papers/list.html:34
+msgid "By date"
+msgstr "לפי תאריך"
+
+#: i2p2www/pages/papers/list.html:40
+msgid "By author"
+msgstr "לפי יוצר"
+
+#: i2p2www/pages/papers/list.html:83
+#, python-format
+msgid ""
+"Please send new or corrected entries to\n"
+"<a name=\"contact\"><span class=\"email\">%(email)s</span></a>.<br />\n"
+"If you can, please format them as BibTeX; see our\n"
+"<a href=\"%(bibtex)s\">BibTeX source page</a> for examples.<br />\n"
+"Remember to include URLs if possible:\n"
+"<a href=\"%(citeseer)s\">offline papers are less useful</a>."
+msgstr ""
+"נא שלחו רשומות חדשות או מתוקנות\n"
+"לכתובת <a name=\"contact\"><span class=\"email\">%(email)s</span></a>.<br /"
+">\n"
+"אם אתם יכולים, נא סדרו אותן כ־BibTex; ראו את\n"
+"‏<a href=\"%(bibtex)s\">עמוד המקור של BibTex</a> לדוגמאות.<br />\n"
+"זכרו לכלול כתובות רשת אם הדבר אפשרי:\n"
+"‏<a href=\"%(citeseer)s\">מסמכים לא־מקוונים הם פחות שימושיים</a>."
+
+#: i2p2www/pages/papers/list.html:94
+#, python-format
+msgid ""
+"The source code for this page was adapted from\n"
+"<a href=\"%(anonbib)s\">Free Haven's anonymity bibliography</a>."
+msgstr ""
+"קוד המקור של עמוד זה הותאם\n"
+"מ<a href=\"%(anonbib)s\">הביבליוגרפיה של Free Haven על אנונימיות</a>."
+
+#: i2p2www/pages/site/contact.html:2
+msgid "Contact"
+msgstr "יצירת קשר"
+
+#: i2p2www/pages/site/contact.html:4
+msgid "Email"
+msgstr "דוא\"ל"
+
+#: i2p2www/pages/site/contact.html:11
+msgid ""
+"Our primary IRC network is the Irc2P network within I2P; a default tunnel to "
+"this network is set up with new router installs.\n"
+"  We are also present on multiple standard networks like <a href=\"http://"
+"www.oftc.net/oftc/OFTC\">OFTC</a>,\n"
+"  <a href=\"http://www.einirc.de/\">EIN</a> and <a href=\"http://freenode."
+"net/\">Freenode</a>.\n"
+"  All I2P-related channels on all these network are linked to the main "
+"channels on Irc2P via relay bots."
+msgstr ""
+"Наш основной IRC сервер это Irc2P внутри сети I2P; При инсталляции I2P до "
+"него создается выделенный туннель.\n"
+"  Мы присутствуем также на многих стандартных IRC сетях, таких как <a href="
+"\"http://www.oftc.net/oftc/OFTC\">OFTC</a>,\n"
+"  <a href=\"http://www.einirc.de/\">EIN</a> и <a href=\"http://freenode.net/"
+"\">Freenode</a>.\n"
+"  Все наши I2P разговоры и каналы в этих сетях связаны с основными каналами "
+"в IRC2P с помошью ботов-ретрансляторов."
+
+#: i2p2www/pages/site/contact.html:19
+msgid "Channel list:"
+msgstr "Список каналов:"
+
+#: i2p2www/pages/site/contact.html:21
+msgid "General i2p discussion"
+msgstr "Общие обсуждения I2P"
+
+#: i2p2www/pages/site/contact.html:22
+msgid "Offtopic"
+msgstr "Оффтопик"
+
+#: i2p2www/pages/site/contact.html:23
+msgid "Development talk"
+msgstr "Общение разработчиков"
+
+#: i2p2www/pages/site/contact.html:24
+msgid "Help channel"
+msgstr "Канал помощи"
+
+#: i2p2www/pages/site/contact.html:29
+#, python-format
+msgid ""
+"Most of the discussion about I2P's development happens on the <a href="
+"\"http://%(zzz)s\">I2P developer forum</a>. This is usually the best place "
+"to start with inquiries, if the dev IRC channel is inactive."
+msgstr ""
+"Большинство дискуссий по развитию I2P происходят на <a href=\"http://%(zzz)s"
+"\">форуме разработчиков I2P</a>.  Это обычно наилучшее место для вопросов, "
+"если на IRC канале никого нет. "
+
+#: i2p2www/pages/site/contact.html:33
+msgid "Mailing lists"
+msgstr "Списки рассылки"
+
+#: i2p2www/pages/site/contact.html:34
+msgid ""
+"I2P does have a mailing list, but it is rarely used as the current small "
+"team of developers prefer to communicate via IRC or the developer forum. "
+"This may change in future."
+msgstr ""
+"Существует список рассылки, но он редко используется, т.к. существующая "
+"команда разработки компактна и предпочитает общение на IRC или форуме. "
+"Возможно, это изменится в будущем."
+
+#: i2p2www/pages/site/contact.html:39
+msgid "Subscribing"
+msgstr "Подписка"
+
+#: i2p2www/pages/site/contact.html:40
+msgid ""
+"To subscribe to a mailing list, go to the list information page (linked "
+"below) and fill out the form. I2P-internal email addresses (foobar@mail.i2p) "
+"can be used."
+msgstr ""
+"Для подписки на список расслыки, перейдите на страницу списка (ниже ссылка) "
+"и заполните форму. Можно использовать внутренние I2P адреса (foobar@mail."
+"i2p)."
+
+#: i2p2www/pages/site/contact.html:44
+msgid "Unsubscribing"
+msgstr "Отписаться от списка рассылки"
+
+#: i2p2www/pages/site/contact.html:45
+msgid ""
+"To unsubscribe from a mailing list or edit your subscription options, go to "
+"the list information page (linked below) and enter your subscription email "
+"address."
+msgstr ""
+"Для того, чтобы отписаться от списка рассылки или изменить настройки, идите "
+"по ссылке (внизу) и введите свой почтовый адрес."
+
+#: i2p2www/pages/site/contact.html:49
+msgid "Lists"
+msgstr "Списки"
+
+#: i2p2www/pages/site/contact.html:52
+msgid "Archive"
+msgstr "Архив"
+
+#: i2p2www/pages/site/contact.html:53
+msgid ""
+"General I2P discussion - anything that doesn't fit in a different list goes "
+"here."
+msgstr ""
+"Общая дискуссия по I2P - все, что не подходит под какой-то другой список."
+
+#: i2p2www/pages/site/contact.html:59
+msgid ""
+"You don't like mailing lists? Then this is for you. All mailing lists are "
+"available via NNTP as well."
+msgstr ""
+"Вам не нравятся списки рассылки? Тогда это для вас. Все рассылки также "
+"доступны по NNTP."
+
+#: i2p2www/pages/site/contact.html:64
+msgid "Group-List-mapping:"
+msgstr "Соответстие групп и списков:"
+
+#: i2p2www/pages/site/contact.html:68
+msgid "Servers:"
+msgstr "Сервера:"
+
+#: i2p2www/pages/site/faq.html:2
+msgid "Frequently Asked Questions"
+msgstr "Часто задаваемые вопросы"
+
+#: i2p2www/pages/site/faq.html:4
+msgid "Index"
+msgstr "Список"
+
+#: i2p2www/pages/site/faq.html:7
+msgid "General"
+msgstr "Общая информация"
+
+#: i2p2www/pages/site/faq.html:9 i2p2www/pages/site/faq.html:51
+msgid "What systems will I2P run on?"
+msgstr "На каких системах работает I2P?"
+
+#: i2p2www/pages/site/faq.html:10
+msgid ""
+"Whats an \"eepsite\" and how do I configure my browser so I can use them?"
+msgstr ""
+"Что такое \"eepsite\" и как я могу настроить свой браузер, чтобы до них "
+"дойти?"
+
+#: i2p2www/pages/site/faq.html:11 i2p2www/pages/site/faq.html:264
+msgid "My router has very few active peers, is this OK?"
+msgstr "На моем маршрутизаторе очень мало активных пиров, это нормально?"
+
+#: i2p2www/pages/site/faq.html:12 i2p2www/pages/site/faq.html:499
+msgid "What do the Active x/y numbers mean in the router console?"
+msgstr "Что означают цифры Активные x/y в консоли маршрутизатора?"
+
+#: i2p2www/pages/site/faq.html:13 i2p2www/pages/site/faq.html:226
+msgid ""
+"My active peers / known peers / participating tunnels / connections / "
+"bandwidth vary dramatically over time! Is anything wrong?"
+msgstr ""
+"У меня числа активных пиров / известных пиров / туннелей / соединений / "
+"полосы очень сильно меняются! Что нибудь не так?"
+
+#: i2p2www/pages/site/faq.html:14 i2p2www/pages/site/faq.html:349
+msgid "Is using an outproxy safe?"
+msgstr "Безопасно ли использовать outproxy?"
+
+#: i2p2www/pages/site/faq.html:15 i2p2www/pages/site/faq.html:375
+msgid "Most of the eepsites within I2P are down?"
+msgstr "Большая часть eepsites в I2P - лежат?"
+
+#: i2p2www/pages/site/faq.html:16 i2p2www/pages/site/faq.html:528
+msgid "What ports does I2P use?"
+msgstr "Какие порты использует I2P?"
+
+#: i2p2www/pages/site/faq.html:17
+msgid "Why is I2P listening for connections on port 32000?"
+msgstr "Почему I2P слушает на порту 32000?"
+
+#: i2p2www/pages/site/faq.html:18 i2p2www/pages/site/faq.html:62
+msgid "I think I found a bug, where can I report it?"
+msgstr "Я думаю, что нашел баг, где я могу о нем сообщить?"
+
+#: i2p2www/pages/site/faq.html:19 i2p2www/pages/site/faq.html:108
+msgid "What happened to *.i2p.net? What happened to jrandom? Is I2P dead?"
+msgstr "Что случилось с  *.i2p.net? Что случилось с jrandom? I2P больше нет?"
+
+#: i2p2www/pages/site/faq.html:20 i2p2www/pages/site/faq.html:846
+msgid "I have a question!"
+msgstr "Имею вопрос!"
+
+#: i2p2www/pages/site/faq.html:22
+msgid "Setup"
+msgstr "Установка"
+
+#: i2p2www/pages/site/faq.html:24 i2p2www/pages/site/faq.html:233
+msgid ""
+"My router has been up for several minutes and has zero or very few "
+"connections"
+msgstr ""
+"Мой маршрутизатор запущен уже несколько минут и у него нет или очень мало "
+"соединений"
+
+#: i2p2www/pages/site/faq.html:25 i2p2www/pages/site/faq.html:391
+msgid "Why is I2P so slow?"
+msgstr "Почему I2P такой тормозной?"
+
+#: i2p2www/pages/site/faq.html:26 i2p2www/pages/site/faq.html:79
+msgid ""
+"I'm missing lots of hosts in my addressbook. What are some good subscription "
+"links?"
+msgstr ""
+"У меня в адресной книге отсутствует большинство хостов. Подскажете хорошие "
+"ссылки для подписки?"
+
+#: i2p2www/pages/site/faq.html:27 i2p2www/pages/site/faq.html:384
+msgid "How do I set up my own eepsite?"
+msgstr "Как запустить мой собственный eepsite?"
+
+#: i2p2www/pages/site/faq.html:28 i2p2www/pages/site/faq.html:417
+msgid "Bittorrent / I2PSnark / Azureus I2P Plugin Questions?"
+msgstr "Вопросы по плагинам Bittorrent / I2PSnark / Azureus для I2P"
+
+#: i2p2www/pages/site/faq.html:29 i2p2www/pages/site/faq.html:424
+msgid "How do I connect to IRC within I2P?"
+msgstr "Как попасть в IRC внутри сети I2P?"
+
+#: i2p2www/pages/site/faq.html:30 i2p2www/pages/site/faq.html:282
+msgid "I can't access regular Internet sites through I2P."
+msgstr "Я не могу попасть на обычные сайты Internet через I2P."
+
+#: i2p2www/pages/site/faq.html:31 i2p2www/pages/site/faq.html:297
+msgid "I can't access https:// or ftp:// sites through I2P."
+msgstr "Я не могу попасть на https:// или ftp:// сайты через I2P."
+
+#: i2p2www/pages/site/faq.html:32 i2p2www/pages/site/faq.html:507
+msgid "Is it possible to use I2P as a SOCKS proxy?"
+msgstr "Можно использовать I2P как SOCKS proxy?"
+
+#: i2p2www/pages/site/faq.html:33 i2p2www/pages/site/faq.html:490
+msgid "How do I configure my browser?"
+msgstr "Как мне настроить мой браузер?"
+
+#: i2p2www/pages/site/faq.html:34 i2p2www/pages/site/faq.html:435
+msgid ""
+"How can I access the web console from my other machines or password protect "
+"it?"
+msgstr ""
+"Как я могу настроить доступ к консоли маршрутизатора с других машин или "
+"защитить этот доступ паролем?"
+
+#: i2p2www/pages/site/faq.html:35 i2p2www/pages/site/faq.html:475
+msgid "How can I use applications from my other machines?"
+msgstr "Как я могу использовать приложения с других моих машин?"
+
+#: i2p2www/pages/site/faq.html:36 i2p2www/pages/site/faq.html:749
+msgid "How do I reseed manually?"
+msgstr "Как вручную выполнить начальную загрузку маршрутизатора (reseed)?"
+
+#: i2p2www/pages/site/faq.html:37 i2p2www/pages/site/faq.html:125
+msgid "My router is using too much CPU?!?"
+msgstr "Мой маршрутизатор использует слишком много процессорного времени?!?"
+
+#: i2p2www/pages/site/faq.html:39
+msgid "Misconception"
+msgstr "Недопонимание"
+
+#: i2p2www/pages/site/faq.html:41 i2p2www/pages/site/faq.html:367
+msgid ""
+"How do I access IRC, BitTorrent, or other services on the regular Internet?"
+msgstr ""
+"Как я могу попасть на IRC, BitTorrent или другой сервис в обычном интернете?"
+
+#: i2p2www/pages/site/faq.html:42
+msgid ""
+"Is my router an \"exit node\"(outproxy) to the regular Internet? I don't "
+"want it to be."
+msgstr ""
+"А мой роутер является \"выходным узлом\" (outproxy) в обычный интернет? Я не "
+"хочу этого."
+
+#: i2p2www/pages/site/faq.html:43 i2p2www/pages/site/faq.html:189
+msgid ""
+"I am opposed to certain types of content. How do I keep from distributing, "
+"storing, or accessing them?"
+msgstr ""
+"Я против некоторых типов контента. Как я могу избежать участия в "
+"распространении, хранении или доступе к нему?"
+
+#: i2p2www/pages/site/faq.html:45
+msgid "Errors and Their Solutions"
+msgstr "Ошибки и их успешное решение"
+
+#: i2p2www/pages/site/faq.html:47 i2p2www/pages/site/faq.html:785
+msgid ""
+"I'm using FreeBSD and when I start I2P I receive an error about <code>libm."
+"so.4</code>!"
+msgstr ""
+"Я использую FreeBSD и когда стартую I2P - получаю ошибку про <code>libm."
+"so.4</code>!"
+
+#: i2p2www/pages/site/faq.html:48
+msgid ""
+"In <code>wrapper.log</code> I see an error stating <code>Protocol family "
+"unavailable</code> when I2P is loading"
+msgstr ""
+"Внутри <code>wrapper.log</code> я вижу ошибку вида <code>Protocol family "
+"unavailable</code> при запуске I2P"
+
+#: i2p2www/pages/site/faq.html:52 i2p2www/pages/site/faq.html:63
+#: i2p2www/pages/site/faq.html:80 i2p2www/pages/site/faq.html:109
+#: i2p2www/pages/site/faq.html:126 i2p2www/pages/site/faq.html:190
+#: i2p2www/pages/site/faq.html:227 i2p2www/pages/site/faq.html:234
+#: i2p2www/pages/site/faq.html:265 i2p2www/pages/site/faq.html:274
+#: i2p2www/pages/site/faq.html:283 i2p2www/pages/site/faq.html:298
+#: i2p2www/pages/site/faq.html:350 i2p2www/pages/site/faq.html:368
+#: i2p2www/pages/site/faq.html:376 i2p2www/pages/site/faq.html:385
+#: i2p2www/pages/site/faq.html:392 i2p2www/pages/site/faq.html:418
+#: i2p2www/pages/site/faq.html:425 i2p2www/pages/site/faq.html:436
+#: i2p2www/pages/site/faq.html:476 i2p2www/pages/site/faq.html:483
+#: i2p2www/pages/site/faq.html:491 i2p2www/pages/site/faq.html:500
+#: i2p2www/pages/site/faq.html:508 i2p2www/pages/site/faq.html:529
+#: i2p2www/pages/site/faq.html:737 i2p2www/pages/site/faq.html:750
+#: i2p2www/pages/site/faq.html:786 i2p2www/pages/site/faq.html:818
+#: i2p2www/pages/site/faq.html:847
+msgid "link"
+msgstr "ссылка"
+
+#: i2p2www/pages/site/faq.html:53
+#, python-format
+msgid ""
+"While I2P has been reported to run PCs as meagre as a low-end Pentium II "
+"with 64 MB of RAM, you'll have a much better experience on a Pentium III (or "
+"better) with 128MB of RAM (or more). A <a href=\"%(chart)s\">chart comparing "
+"the performance</a> of the various JREs can be found at <a href=\"%(chart)s"
+"\">%(chart)s</a>, but in short: it's at all possible, use Sun/Oracle Java or "
+"OpenJDK."
+msgstr ""
+"В то время как известно о запуске I2P на ПК столь же слабых как Pentium II с "
+"64 MB RAM, вы получите гораздо лучшие результаты на Pentium III (или лучше) "
+"с 128MB RAM (или больше). <a href=\"%(chart)s\">Таблицу сравнения "
+"производительности</a> различных JRE можно найти на <a href=\"%(chart)s\">"
+"%(chart)s</a>, но в кратце: Это возможно на чём угодно, где используется Sun/"
+"Oracle Java или OpenJDK."
+
+#: i2p2www/pages/site/faq.html:57
+msgid ""
+"I2P has been tested on Windows, Linux, FreeBSD (see the note <a href="
+"\"#compat6x\">below</a>), OSX, and OpenSolaris. There is work underway to "
+"bring I2P to the Android platform."
+msgstr ""
+"Работа I2P протестирована на Windows, Linux, FreeBSD (смотрите примечание <a "
+"href=\"#compat6x\">ниже</a>), OSX, и OpenSolaris. Работа над версией I2P для "
+"Android идет прямо сейчас."
+
+#: i2p2www/pages/site/faq.html:65
+msgid "Here are some places, pick one or more."
+msgstr "Есть несколько мест, выберите одно или несколько."
+
+#: i2p2www/pages/site/faq.html:71
+msgid "Discuss with the developers on IRC in #i2p-dev"
+msgstr "Обсудите с разработчиками на IRC в #i2p-dev"
+
+#: i2p2www/pages/site/faq.html:75
+msgid ""
+"Please include relevant information from the router logs and wrapper logs."
+msgstr ""
+"Пожалуйста, включите необходимую информацию из журналов маршрутизатора и "
+"приложения-обёртки (wrapper)."
+
+#: i2p2www/pages/site/faq.html:81
+msgid ""
+"The default subscription is to http://www.i2p2.i2p/hosts.txt which is "
+"updated rarely.\n"
+"If you don't have another subscription, you may often have to use \"jump\" "
+"links which\n"
+"is annoying."
+msgstr ""
+"Подписка по умолчанию - это http://www.i2p2.i2p/hosts.txt, которая "
+"обновляется редко.⏎\n"
+"Если других подписок нет, вам довольно часто придется пользоваться "
+"надоедливыми джамп-ссылками."
+
+#: i2p2www/pages/site/faq.html:87
+msgid ""
+"Here are some other public addressbook subscription links. You may wish to "
+"add one or two\n"
+"to your <a href=\"http://localhost:7657/susidns/subscriptions.jsp\">susidns "
+"subscription list</a>.\n"
+"You don't need to add all of them, as they sync with each other "
+"periodically.\n"
+"The links using a cgi-bin application employ various strategies to minimize\n"
+"the number of duplicate addresses delivered, so they should be more "
+"efficient.\n"
+"Note that subscribing to a hosts.txt service is an act of \"trust\", as a "
+"malicious\n"
+"subscription could give you incorrect addresses. So think about whether you\n"
+"want to trust any of these.\n"
+"The operators of these services may have various policies for listing "
+"hosts.\n"
+"Presence on this list does not imply endorsement."
+msgstr ""
+"Существуют другие публичные ссылки на подписки для адресной книги. Вы можете "
+"добавить одну-другую в  <a href=\"http://localhost:7657/susidns/"
+"subscriptions.jsp\">свой набор подписок</a>.\n"
+"Все их добавлять не надо, так как они периодически синхронизируются. \n"
+"Ссылки, использующие cgi-bin приложения как правило более эффективны,\n"
+"т.к. обычно применяют различные стратегии для минимизации количества "
+"дубликатов предоставляемых адресов.\n"
+"Обратите внимание, что добавление списка в подписки - это акт доверия, так "
+"как вредоносная\n"
+"подписка может отдать Вам недостоверные адреса. Поэтому что стоит подумать,\n"
+"следует ли Вам доверять каждой из них.\n"
+"Операторы этих сервисов могут иметь разные политики по отношению к "
+"содержимому хостов со списками.\n"
+"Наличие в этих списках не  означает поддержку или аффилированность оператора "
+"подписки с сайтом."
+
+#: i2p2www/pages/site/faq.html:110
+msgid ""
+"Jrandom was the lead developer of I2P and\n"
+"<a href=\"http://syndie.i2p2.de/\">Syndie</a> for several years.\n"
+"We do not know if or when jrandom will return.\n"
+"The *.i2p.net domains were left in a non-functioning state after a power\n"
+"outage at the hosting company."
+msgstr ""
+"Jrandom был ведущим разработчиком I2P и⏎\n"
+"<a href=\"http://syndie.i2p2.de/\">Syndie</a> в течении нескольких лет.⏎\n"
+"Мы не знаем, когда и вернется ли jrandom вообще.⏎\n"
+"Домены *.i2p.net перестали функционировать после⏎\n"
+"отключения питания на хостинге."
+
+#: i2p2www/pages/site/faq.html:118
+#, python-format
+msgid ""
+"See <a href=\"%(jrandom)s\">this page</a> for jrandom's parting message and "
+"additional information\n"
+"on the migration of *.i2p.net to <a href=\"%(index)s\">this website</a>."
+msgstr ""
+"Взгляните на <a href=\"%(jrandom)s\">этой странице</a> на прощальное "
+"сообщение от  jrandom и дополнительную информацию⏎\n"
+"о миграции *.i2p.net на <a href=\"%(index)s\">этот сайт</a>."
+
+#: i2p2www/pages/site/faq.html:123
+msgid "I2P remains in active development."
+msgstr "I2P продолжает активное развитие."
+
+#: i2p2www/pages/site/faq.html:127
+msgid "There are many possible causes of high CPU usage. Here is a checklist:"
+msgstr "Есть много причин для высокой нагрузки на CPU. Вот проверочный список:"
+
+#: i2p2www/pages/site/faq.html:132
+msgid ""
+"Try to use either OpenJDK or Sun/Oracle Java if it's available for your "
+"system. You can check \n"
+"which version of java you have installed by typing <code>java -version</"
+"code> at a \n"
+"command/shell prompt. Performance tends to suffer with other implementations "
+"of java."
+msgstr ""
+"Попробуйте использоать OpenJDK или Sun/Oracle Java, если они присутствуют "
+"для Вашей системы. Вы можете проверить\n"
+"установленную версию java командой <code>java -version</code> в командной "
+"строке. \n"
+"Производительность java от других производителей обычно оставляет желать "
+"лучшего."
+
+#: i2p2www/pages/site/faq.html:139
+msgid ""
+"Are you running a BitTorrent client over I2P? Try reducing the number of "
+"torrents, the bandwidth limits,\n"
+"or try turning it off completely to see if that helps."
+msgstr ""
+"Вы используете BitTorrent клиент поверх I2P? Пробуйте уменьшить количество "
+"раздач, ограничения по трафику\n"
+"или попробуйте временно выключить раздачи и закачки, чтобы выяснить, поможет "
+"ли это."
+
+#: i2p2www/pages/site/faq.html:145
+msgid ""
+"Are your bandwidth limits set too high? It is possible that too much traffic "
+"is going through your\n"
+"I2P router and it is overloaded. Try reducing the setting for <em>share "
+"bandwidth percentage</em> on the <a href=\"http://localhost:7657/config"
+"\">configuration</a> page."
+msgstr ""
+"В Ваших ограничениях по трафику установлены очень высокие лимиты? Возможно, "
+"что слишком много данных идет через ваш\n"
+"I2P-маршрутизатор и он перегружен. Пробуйте уменьшить настройку <em>Доля "
+"транзитного трафика</em> на  <a href=\"http://localhost:7657/config"
+"\">странице конфигурации</a>."
+
+#: i2p2www/pages/site/faq.html:150
+msgid ""
+"Make sure that you're running the latest version of I2P to get the benefits "
+"of increased performance and bug fixes."
+msgstr ""
+"Убедитесь, что используете новейшую версию I2P, чтобы воспользоваться "
+"достижениями в производительности и свежими исправлениями проблем."
+
+#: i2p2www/pages/site/faq.html:155
+msgid ""
+"Has enough memory been set aside for use by I2P? Look at the memory graph on "
+"<a href=\"http://localhost:7657/graphs\">the graphs page</a> to see\n"
+"if the memory usage is \"pegged\"&mdash;the JVM is spending most of its time "
+"in\n"
+"garbage collection. Increase the setting <code>wrapper.java.maxmemory</code> "
+"in <code>wrapper.config</code>."
+msgstr ""
+"Достаточно ли памяти было предоставлено для I2P? Взгляните на график "
+"использования памяти на <a href=\"http://localhost:7657/graphs\">странице "
+"графиков</a>, возможно, Вы увидите,\n"
+"что использование памяти под завязку \"забивает\" процессор - виртуальная "
+"машина Java тратит большинство своего времени на\n"
+"процесс сборки мусора. Увеличьте значение настройки <code>wrapper.java."
+"maxmemory</code> в файле <code>wrapper.config</code>."
+
+#: i2p2www/pages/site/faq.html:162
+msgid ""
+"Is the CPU usage simply higher than you would like, or is it pegged at "
+"100&#37; for a long time?\n"
+"If it's pegged, this could be a bug. Look in the logs for clues."
+msgstr ""
+"Загрузка процессора выше, чем Вам хотелось бы, или она уперлась в 100&#37; "
+"на долгое время?\n"
+"Если уперлась, это может быть баг, посмотрите в журналах сообщения об "
+"ошибках."
+
+#: i2p2www/pages/site/faq.html:168
+#, python-format
+msgid ""
+"You may be using the Java-based BigInteger library instead of the native "
+"version,\n"
+"especially if you are running on a new or unusual OS or hardware "
+"(OpenSolaris, mipsel, etc.).\n"
+"See the <a href=\"%(jbigi)s\">jbigi page</a> for instructions on\n"
+"diagnosing, building, and testing methods."
+msgstr ""
+"Возможно, вы используете библиотеку для работы с большими числами, "
+"реализованную на Java, а не в виде подгружаемой нативной библиотеки,\n"
+"так бывает, например, если вы работаете на новой или необычной платформе "
+"(ОpenSolaris, mipsel и другие).\n"
+"Обратите внимание на <a href=\"%(jbigi)s\">страницу с исходными кодами "
+"библиотеки</a> для инструкций по\n"
+"диагностике, сборке под вашу платформу и методике тестирования."
+
+#: i2p2www/pages/site/faq.html:176
+msgid ""
+"If your native jbigi library is working fine, the biggest user of\n"
+"CPU may be routing traffic for participating tunnels. This uses CPU\n"
+"because at each hop a layer of encryption must be decoded.\n"
+"You can limit participating traffic in two ways - by reducing the\n"
+"share bandwidth on\n"
+"<a href=\"http://localhost:7657/confignet.jsp\">confignet.jsp</a>,\n"
+"or by setting <tt>router.maxParticipatingTunnels=nnn</tt> on\n"
+"<a href=\"http://localhost:7657/configadvanced.jsp\">configadvanced.jsp</a>."
+msgstr ""
+"Если нативная библиотека jbigi работает нормально, наибольшую нагрузку на\n"
+"процессор может давать маршрутизация трафика по транзитным туннелям. Эта "
+"работа нагружает процессор,\n"
+"так как на каждом хопе должен быть раскодирован очередной слой шифрования.\n"
+"Вы можете ограничить транзитный трафик двумя способами - уменьшив\n"
+"выделенную системе полосу обменного трафика на\n"
+"<a href=\"http://localhost:7657/confignet.jsp\">странице настроек</a>,\n"
+"или установкой настройки <tt>router.maxParticipatingTunnels=nnn</tt> на\n"
+"<a href=\"http://localhost:7657/configadvanced.jsp\">странице дополнительных "
+"настроек</a>."
+
+#: i2p2www/pages/site/faq.html:191
+msgid ""
+"Hmm. I2P is an anonymous network, so that's a tricky one.\n"
+"I2P is designed to withstand censorship, providing a means for everyone to "
+"communicate freely. \n"
+"The best way to keep your PC free of (encrypted) traffic that you dislike is "
+"to not use I2P.\n"
+"Freedom of speech has some costs.\n"
+"But let's address your question in three parts:"
+msgstr ""
+"Гм. I2P - это анонимная сеть, так что вопрос сложный.\n"
+"I2P создан для того, чтобы выдерживать попытки цензурирования, реализуя "
+"возможность всем-всем свободно общаться.\n"
+"Наилучший способ оградить ваш компьютер от (шифрованного) трафика, который "
+"Вас не устраивает - это не использовать I2P вообще.\n"
+"Свобода слова имеет цену.\n"
+"Но давайте разделим ваш вопрос на три части:"
+
+#: i2p2www/pages/site/faq.html:200
+msgid ""
+"<b>Distribution</b> - All traffic on I2P is encrypted in multiple layers. "
+"You don't know\n"
+"a message's contents, source, or destination.\n"
+"All traffic you route is internal to the I2P network, you are not an <a href="
+"\"#exit\">exit node</a> (outproxy).\n"
+"Your only alternative is to refuse to route\n"
+"<i>any</i> traffic, by setting your share bandwidth or maximum participating "
+"tunnels to 0 (see above).\n"
+"It would be nice if you didn't do this, you should help the network by "
+"routing traffic for others.\n"
+"Over 95&#37; of users route traffic for others."
+msgstr ""
+"<b>Распространение</b> - Весь трафик в I2P многослойно зашифрован. Вы не "
+"знаете\n"
+"содержимое, источник или адрес назначения сообщений.\n"
+"Весь трафик, который вы передаете - внутренний для I2P сети, вы НЕ являетесь "
+"<a href=\"#exit\">выходным узлом</a> (outproxy).\n"
+"Единственный остающийся вариант для Вас - отказаться передавать\n"
+"<i>любой</i> трафик, настраивая транзитный поток или максимум транзитных "
+"туннелей в 0 (см. выше).\n"
+"Так делать нехорошо, т.к. сеть выиграет от большего числа маршрутизаторов, "
+"которые передают транзитный трафик друг-другу.\n"
+"Более 95&#37; пользователей участвуют в обмене трафиком с другими."
+
+#: i2p2www/pages/site/faq.html:211
+msgid ""
+"<b>Storage</b> - I2P does not do distributed storage of content. You must be "
+"thinking of\n"
+"<a href=\"http://freenetproject.org/\">Freenet</a>.\n"
+"Nobody's content is being stored on your computer by running I2P."
+msgstr ""
+"<b>Хранение</b> - I2P не является распределенным хранилищем данных. Вы, "
+"возможно, имели в виду такую сеть, как\n"
+"<a href=\"http://freenetproject.org/\">Freenet</a>.\n"
+"Ничьи данные не хранятся на вашем компьютере только из-за того, что вы "
+"запускаете I2P."
+
+#: i2p2www/pages/site/faq.html:218
+msgid ""
+"<b>Access</b> - If there are some eepsites you don't like, don't go there.\n"
+"Or, use a blocking proxy like Privoxy or some type of \"net nanny\"."
+msgstr ""
+"<b>Доступ</b> - Если есть какие-то сайты в I2P, которые вам не нравятся - не "
+"ходите на них.\n"
+"Или используйте средства автоблокировки, такие как Privoxy или какой-нибудь "
+"вариант \"родительского контроля\"."
+
+#: i2p2www/pages/site/faq.html:228
+msgid ""
+"No. This is normal.\n"
+"All routers adjust dynamically to changing network conditions and demands."
+msgstr ""
+"Нет, это нормально.\n"
+"Все маршрутизаторы динамически подстраиваются под изменяющиеся условия и "
+"требования сети."
+
+#: i2p2www/pages/site/faq.html:235
+msgid ""
+"You may need to reseed your I2P router. With recent versions of I2P you can "
+"go to <a href=\"http://localhost:7657/configreseed\">http://localhost:7657/"
+"configreseed</a> and click the <em>Save Changes and Reseed Now</em> button. "
+"If this method doesn't work&mdash;or you're using a very old version&mdash;"
+"you may need to <a href=\"#manual_reseed\">reseed manually</a>."
+msgstr ""
+"Возможно, Вам нужно выполнить начальную загрузку (reseed) маршрутизатора "
+"I2P. В последних версиях I2P Вы можете пройти на <a href=\"http://"
+"localhost:7657/configreseed\">http://localhost:7657/configreseed</a> и "
+"нажать кнопку <em>Сохранить изменения и произвести начальную загрузку</em>. "
+"Если этот метод не поможет (или Вы используете очень старую версию) &mdash; "
+"Вам придется <a href=\"#manual_reseed\">выполнить начальную загрузку "
+"вручную</a>."
+
+#: i2p2www/pages/site/faq.html:238
+msgid ""
+"The reseed URL changed a few years ago. If this is your first install and "
+"you have installed\n"
+"an old (0.6.1.30 or earlier) release, or\n"
+"you have not run I2P in a long time, you must change the URL and then\n"
+"click \"Reseed\" on the console to find other routers.\n"
+"After your router is running,\n"
+"on <a href=\"http://localhost:7657/configadvanced.jsp\">configadvanced.jsp</"
+"a>,\n"
+"add the line <tt>i2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
+"OR <tt>i2p.reseedURL=http://i2pdb.tin0.de/netDb/</tt> (either should work),\n"
+"then click \"Apply\", then click the \"reseed\" link on the left."
+msgstr ""
+"Адрес для начальной загрузки изменился несколько лет назад. Если это Ваша "
+"первая установка и Вы установили\n"
+"старую (0.6.1.30 или более раннюю) версию, или\n"
+"Вы не запускали I2P длительное время, Вам нужно изменить адрес и потом\n"
+"нажать кнопку \"Reseed\" в консоли, чтобы найти другие маршрутизаторы.\n"
+"После запуска маршрутизатора, \n"
+"на <a href=\"http://localhost:7657/configadvanced.jsp\">configadvanced.jsp</"
+"a>,\n"
+"добавьте строчку <tt>i2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
+"ИЛИ <tt>i2p.reseedURL=http://i2pdb.tin0.de/netDb/</tt> (любой вариант "
+"подойдёт),\n"
+"потом нажмите \"Apply\" и кликните на ссылку \"reseed\" слева."
+
+#: i2p2www/pages/site/faq.html:249
+#, python-format
+msgid ""
+"This works if you are running 0.6.1.27 or later.\n"
+"If you are running release 0.6.1.31 or later, you probably don't need to do "
+"this.\n"
+"If you are running release 0.6.1.26 or earlier, either follow the\n"
+"<a href=\"#manual_reseed\">manual reseed instructions</a> below\n"
+"or install the <a href=\"%(downloadslist)s\">latest release</a>.\n"
+"Possible alternate method - add\n"
+"<tt>wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
+"to wrapper.config, shutdown the router completely, then start again, then "
+"click \"reseed\".\n"
+"Let us know if this works."
+msgstr ""
+"Это работает если Вы запустили версию 0.6.1.27 или более позднюю.\n"
+"Если Вы работаете на версии 0.6.1.31 или более поздней, Вам, наверное, не "
+"нужно делать этого.\n"
+"Если Вы работаете с 0.6.1.26 или более ранней версией, используйте "
+"инструкцию по выполнению\n"
+"<a href=\"#manual_reseed\">ручной начальной загрузки</a>, описанную ниже, "
+"или \n"
+"установите <a href=\"%(downloadslist)s\">последнюю версию</a>.\n"
+"Другой вариант - добавьте\n"
+"<tt>wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
+"в wrapper.config, полностью остановите маршрутизатор и запустите его заново, "
+"потом нажмите на \"reseed\".\n"
+"Сообщите нам, если это сработало."
+
+#: i2p2www/pages/site/faq.html:260
+#, python-format
+msgid ""
+"...but you *really* should <a href=\"%(downloadslist)s\">upgrade</a> to the "
+"latest version."
+msgstr ""
+"...но Вам *действительно* нужно <a href=\"%(downloadslist)s\">обновиться</a> "
+"до последней версии."
+
+#: i2p2www/pages/site/faq.html:266
+msgid ""
+"If your router has 10 or more active peers, everything is fine. Changes in "
+"releases 0.6.1.31 and 0.6.1.32 improved the\n"
+"efficiency of the router and effectively reduced the number of active "
+"peers.\n"
+"The router <i>should</i> maintain connections to a few peers at all times.\n"
+"The best way to stay \"better-connected\" to the network is to <a href="
+"\"http://localhost:7657/config\">share more bandwidth</a>."
+msgstr ""
+"Если у Вашего маршрутизатора 10 или более активных пиров, то все у Вас "
+"хорошо. Изменения в версиях 0.6.1.31 и 0.6.1.32 улучшили\n"
+"работу маршрутизатора и эффективно уменьшили требуемое ему количество "
+"активных пиров.\n"
+"Маршрутизатор всегда <i>должен</i> поддерживать соединения с несколькими "
+"пирами.\n"
+"Наилучший способ оставаться интегрированным в сеть &mdash; это <a href="
+"\"http://localhost:7657/config\">предоставлять сети больше транзитного "
+"трафика</a>."
+
+#: i2p2www/pages/site/faq.html:273
+msgid ""
+"Is my router an \"exit node\" to the regular Internet? I don't want it to be."
+msgstr ""
+"А мой роутер является \"выходным узлом\" в обычный интернет? Я не хочу чтобы "
+"он был."
+
+#: i2p2www/pages/site/faq.html:275
+msgid ""
+"No. Unlike <a href=\"https://www.torproject.org/\">Tor</a>,\n"
+"\"exit nodes\" or \"outproxies\" are not an inherent part of the network.\n"
+"Only volunteers who set up and run separate applications will relay traffic "
+"to the regular Internet.\n"
+"There are very, very few of these."
+msgstr ""
+"Нет. В отличие от <a href=\"https://www.torproject.org/\">Tor</a>,\n"
+"\"выходные узлы\" или \"outproxies\" не являются неотъемлемой частью сети.\n"
+"Только добровольцы, которые их создают и поддерживают, используют отдельные "
+"приложения чтобы передавать трафик в открытые сети.\n"
+"Таких очень и очень немного."
+
+#: i2p2www/pages/site/faq.html:284
+msgid ""
+"See above. There are very few HTTP \"outproxies\", they are not an inherent "
+"part of the network,\n"
+"and they may not be up.\n"
+"In addition, the old outproxies squid.i2p, true.i2p, and krabs.i2p have "
+"vanished.\n"
+"The only outproxy at the moment is false.i2p.\n"
+"To use it, edit your <a href=\"http://localhost:7657/i2ptunnel/edit.jsp?"
+"tunnel=0\">i2ptunnel settings for eepProxy</a>\n"
+"and set your outproxy list to 'false.i2p' (only).\n"
+"Then stop and restart the eepProxy.\n"
+"If it doesn't work, the outproxy is not up. It is not I2P's fault.\n"
+"If your primary reason to use an anonymous network is to anonymously access "
+"sites\n"
+"on the regular Internet, you should probably try <a href=\"https://www."
+"torproject.org/\">Tor</a>."
+msgstr ""
+"Смотрите выше. Существует очень немного выходных шлюзов в обычную сеть, это "
+"не часть сети,\n"
+"и они могут не работать.\n"
+"В добавок, старые выходные прокси - squid.i2p, true.i2p, krabs.i2p - "
+"исчезли.\n"
+"Единственный оставшийся на данный момент выходной прокси &mdash; это false."
+"i2p.\n"
+"Чтобы пользоваться им, измените Ваши <a href=\"http://localhost:7657/"
+"i2ptunnel/edit.jsp?tunnel=0\">настройки для eepProxy</a>\n"
+"и установите список выходных прокси на 'false.i2p' (единственную строку).\n"
+"После чего остановите и запустите снова eepProxy.\n"
+"Если это не работает, значит выходной прокси лежит. И это не проблема I2P.\n"
+"Если основной ваш сценарий это анонимный доступ к сайтам\n"
+"обычного интернета, воспользуйтесь <a href=\"https://www.torproject.org/"
+"\">Tor</a>."
+
+#: i2p2www/pages/site/faq.html:299
+msgid ""
+"Within I2P, there is no need for HTTPS, as all traffic is encrypted end-to-"
+"end.\n"
+"FTP is not supported for technical reasons."
+msgstr ""
+"Внутри I2P нет необходимости в HTTPS, так как весь трафик шифруется от точки "
+"до точки.\n"
+"А FTP не поддерживается по техническим причинам."
+
+#: i2p2www/pages/site/faq.html:303
+msgid ""
+"There are no FTP \"outproxies\" to the Internet&mdash;it may not even be "
+"possible to set up one.\n"
+"Any other kind of outproxy may work if it's set up with a standard tunnel. \n"
+"If you would like to set up some type of outproxy, carefully research the "
+"potential risks.\n"
+"The I2P community may or may not be able to help with the technical aspects, "
+"feel free to ask."
+msgstr ""
+"Нет никаких выходных прокси для FTP в Интернет &mdash; скорее всего даже "
+"невозможно реализовать такое.\n"
+"Другие варианты выходных прокси можно сделать, если воспользоваться "
+"настройками обычных туннелей. \n"
+"Если Вы хотели бы запустить какой-либо тип выходного прокси, осторожно и "
+"внимательно рассмотрите возможные риски. \n"
+"Вы всегда можете спросить о чем-то при необходимости, но Вам следует учесть, "
+"что сообщество I2P не гарантирует помощь в техническом плане."
+
+#: i2p2www/pages/site/faq.html:309
+msgid ""
+"As explained several times above, any existing outproxy isn't a core part of "
+"the network.\n"
+"They are services run by individuals and they may or may not\n"
+"be operational at any given time."
+msgstr ""
+"Как ранее уже несколько раз объяснялось, все существующие выходные прокси не "
+"являются составной частью сети.\n"
+"Это сервисы, поддерживаемые некоторыми особами, и бесперебойная работа\n"
+"в каждый момент времени для этих сервисов не гарантирована."
+
+#: i2p2www/pages/site/faq.html:314
+msgid ""
+"<b>Update</b>: Thanks to the work of h2ik, there is an https outproxy "
+"available for use via I2P. Starting with I2P 0.8.4 <a href=\"http://"
+"localhost:7657/i2ptunnel/edit?tunnel=6\">the tunnel</a> is configured out of "
+"the box.<br />\n"
+"In case the https outproxy is not available in your version of I2P, you can "
+"add it easily by doing the following:"
+msgstr ""
+"<b>Обновление</b>: Благодаря проделанной h2ik работе, теперь для I2P "
+"доступен выходной прокси для протокола https. Начиная с I2P 0.8.4, <a href="
+"\"http://localhost:7657/i2ptunnel/edit?tunnel=6\">туннель</a> для него "
+"выделен по умолчанию.<br />\n"
+"В случае, если https прокси отсутсвует в Вашей версии I2P, его можно легко "
+"настроить, выполнив следующее:"
+
+#: i2p2www/pages/site/faq.html:320
+msgid ""
+"Open <a href=\"http://localhost:7657/i2ptunnel/index.jsp\">i2p tunnel "
+"manager</a>. Scroll down to the bottom."
+msgstr ""
+"Откройте <a href=\"http://localhost:7657/i2ptunnel/index.jsp\">менеджер "
+"туннелей i2p</a>. Прокрутите страницу в самый низ."
+
+#: i2p2www/pages/site/faq.html:325
+msgid ""
+"Choose <b>CONNECT</b> from <b>New Client Tunnel</b> dropdown list, click "
+"<b>Create</b>"
+msgstr ""
+"Выберите <b>CONNECT</b> из списка <b>Новый клиентский туннель</b>, нажмите "
+"<b>Создать</b>"
+
+#: i2p2www/pages/site/faq.html:330
+#, python-format
+msgid ""
+"In the new page, <b>name</b> and <b>describe</b> your new https tunnel as "
+"you like.\n"
+"The <b>Access Point</b> is your local port for the new https proxy "
+"recommended port's <b>4445</b>.\n"
+"<b>Outproxy</b> should be the outproxy's .i2p address which supports "
+"https. \n"
+"See this forum post of <a href=\"http://%(forum)s/viewtopic.php?"
+"p=31356#31356\">h2ik</a>'s for the address. \n"
+"Make sure <b>Shared Client</b>, <b>Delay Connect</b>, <b>AutoStart</b> are "
+"checked.\n"
+"Other options should be left at the defaults. Click Save. In tunnel manger, "
+"click the <b>Start</b> button next to your new tunnel."
+msgstr ""
+"На новой странице задайте <b>Название</b> и <b>Описание</b> Вашему https "
+"туннелю, которые Вы пожелаете.\n"
+"Настройка <b>Точка доступа</b> это Ваш локальный порт для Вашего нового "
+"https прокси, рекомендуемый порт &mdash; <b>4445</b>.\n"
+"В поле <b>Список outproxy</b> тут должен быть .i2p адрес сервера, который "
+"поддерживает https.\n"
+"Смотрите запись <a href=\"http://%(forum)s/viewtopic.php?"
+"p=31356#31356\">h2ik</a> на форуме, там указан адрес.\n"
+"Удостоверьтесь, что пункты <b>Коллективный клиент</b>, <b>Задержка "
+"соединения</b> и <b>Автозапуск</b> отмечены галкой.\n"
+"Другие опции нужно оставить по умолчанию. Нажмите \"Сохранить\". В менеджере "
+"туннелей, нажмите \"Запустить\" возле записи вашего нового туннеля."
+
+#: i2p2www/pages/site/faq.html:340
+msgid ""
+"In firefox, click through <b>Tools</b>><b>Options</b>><b>Advanced</"
+"b>><b>Network</b>><b>Setting</b>.\n"
+"Untick <b>Use this proxy for all protocol</b>, set <b>SSL proxy:</b> to "
+"localhost:4445."
+msgstr ""
+"В Firefox нажмите на <b>Инструменты</b>><b>></b>Опции<b>Дополнительно</"
+"b>><b>Сеть</b>><b>Настройки</b>.\n"
+"Снимите галку с опции <b>Использовать этот прокси-сервер для всех "
+"протоколов</b>, в полях <b>SSL прокси:</b> установите localhost:4445."
+
+#: i2p2www/pages/site/faq.html:345
+msgid "Done."
+msgstr "Готово."
+
+#: i2p2www/pages/site/faq.html:351
+#, python-format
+msgid ""
+"\n"
+"This is a question that only you can answer because the correct answer "
+"depends on your behaviours, your\n"
+"<a href=\"%(threatmodel)s\">threat model</a>, and how much you trust the "
+"outproxy operator."
+msgstr ""
+"\n"
+"Это вопрос, на который только Вы сами можете ответить, так как он зависит от "
+"Вашего поведения, Вашей\n"
+"<a href=\"%(threatmodel)s\">модели угроз</a>, а также от того, насколько Вы "
+"доверяете владельцу выходого прокси."
+
+#: i2p2www/pages/site/faq.html:355
+msgid ""
+"Like Tor, I2P does not magically encrypt the Internet.\n"
+"You are vulnerable to snooping by the outproxy operators.\n"
+"The <a href=\"https://wiki.torproject.org/noreply/TheOnionRouter/"
+"TorFAQ#ExitEavesdroppers\">Tor FAQ</a>\n"
+"does a good job of explaining this."
+msgstr ""
+"Как и Tor, I2P не шифрует Интернет магическим образом.\n"
+"Вы уязвимы к тому, что владелец выходного шлюза может за Вами следить.\n"
+"Посмотрите на хорошую статью по этой теме в\n"
+"<a href=\"https://wiki.torproject.org/noreply/TheOnionRouter/"
+"TorFAQ#ExitEavesdroppers\">Tor FAQ</a>."
+
+#: i2p2www/pages/site/faq.html:361
+#, python-format
+msgid ""
+"In addition, you may be vulnerable to collusion between the outproxy "
+"operator\n"
+"and operators of other I2P services, if you use the same tunnels (\"shared "
+"clients\").\n"
+"There is additional discussion about this on <a href=\"http://%(zzz)s/"
+"topics/217\">%(zzz)s</a>."
+msgstr ""
+"Вдобавок, Вы можете быть уязвимы к сговору между владельцем выходного "
+"прокси\n"
+"и владельцами других сервисов в I2P, если используете те же туннели "
+"(\"shared clients\").\n"
+"Подробнее по этой теме можно ознакомиться здесь: <a href=\"http://%(zzz)s/"
+"topics/217\">%(zzz)s</a>."
+
+#: i2p2www/pages/site/faq.html:369
+msgid ""
+"Unless an outproxy has been set up for the service you want to connect to, "
+"this cannot be done.\n"
+"There are only three types of outproxies running right now: HTTP, HTTPS, and "
+"email. Note that there is not a SOCKS outproxy.\n"
+"If this type of service is required, try <a href=\"https://www.torproject."
+"org/\">Tor</a>."
+msgstr ""
+"Пока нет выходного прокси для сервиса, к которому Вы хотите подключиться, "
+"это невыполнимо.\n"
+"На данный момент есть только три типа выходных прокси: HTTP, HTTPS и email. "
+"Обратите внимание, что SOCKS прокси отсутствует.\n"
+"Если нужны какие-то другие типы сервисов - воспользуйтесь <a href=\"https://"
+"www.torproject.org/\">Tor</a>."
+
+#: i2p2www/pages/site/faq.html:377
+#, python-format
+msgid ""
+"If you consider every eepsite that has ever been created, yes, most of them "
+"are down.\n"
+"People and eepsites come and go.\n"
+"A good way to get started in I2P is check out a list of eepsites that are "
+"currently up.\n"
+"<a href=\"%(eepstatus)s\">%(eepstatus)s</a> tracks active eepsites."
+msgstr ""
+"Если Вы рассматриваете каждый eepsite, который создавался вообще - да, "
+"большинство из них недоступны.\n"
+"Люди и сайты приходят и уходят.\n"
+"Хороший способ начать работать с I2P - проверить списки eepsite'ов, которые "
+"сейчас доступны.\n"
+"<a href=\"%(eepstatus)s\">%(eepstatus)s</a> отслеживает доступные eepsite'ы."
+
+#: i2p2www/pages/site/faq.html:386
+msgid ""
+"Click on the <a href=\"http://localhost:7658/\">Website</a> link\n"
+"at the top of your router console for instructions."
+msgstr ""
+"Нажмите на ссылку <a href=\"http://localhost:7658/\">Веб-сайт</a>\n"
+"наверху интерфейса консоли маршрутизатора."
+
+#: i2p2www/pages/site/faq.html:393
+msgid ""
+"Why are downloads, torrents, web browsing, and everything else so slow on "
+"I2P?\n"
+"The encryption and routing within the I2P network adds a substantial amount "
+"of overhead and limits bandwidth.\n"
+"Anonymity isn't free."
+msgstr ""
+"Почему закачки, торренты, сёрфинг и вообще все такое медленное в I2P?\n"
+"Шифрование и маршрутизация в сети I2P добавляет значительные затраты и "
+"ограничивает полосу пропускания. \n"
+"Анонимность не бывает бесплатной."
+
+#: i2p2www/pages/site/faq.html:398
+msgid ""
+"In addition, you and everybody else probably need to increase your bandwidth "
+"limits.\n"
+"Two key settings are the inbound and outbound bandwidth limiters on\n"
+"<a href=\"http://localhost:7657/config.jsp\">the configuration page</a>.\n"
+"With the default settings of 32KBps you will generally get no better than "
+"15KBps data transfer in I2PSnark.\n"
+"Increasing the settings (but keeping within your actual connection "
+"limitations)\n"
+"will increase the potential transfer rate for I2PSnark and all other "
+"applications."
+msgstr ""
+"В дополнение к этому, Вы и все остальные возможно должны увеличить ваши "
+"ограничения по трафику.\n"
+"Две ключевые настройки это входящее и исходящее ограничение по трафику на\n"
+"<a href=\"http://localhost:7657/config.jsp\">странице конфигурации</a>.\n"
+"С настройками по умолчанию в 32&nbsp;КБ/с Вы, скорее всего, получите не "
+"более 15&nbsp;КБ/с полосы в I2PSnark.\n"
+"Увеличение этих настроек (конечно, в рамках ограничений Вашего подключения к "
+"сети)\n"
+"увеличит потенциально возможную пропускную способность для I2PSnark и других "
+"приложений."
+
+#: i2p2www/pages/site/faq.html:406
+msgid ""
+"Also, do you have sufficient share bandwidth configured to allow "
+"participating tunnels\n"
+"to route through your router? Believe it or not, allowing participating "
+"traffic\n"
+"keeps you well-integrated in the network and helps your own transfer speeds."
+msgstr ""
+"И ещё, выделили ли Вы достаточную полосу пропускания для сети, чтобы "
+"транзитные туннели\n"
+"могли нормально проходить Ваш маршрутизатор? Верите или нет, разрешение "
+"транзитного трафика\n"
+"приводит к лучшей интеграции в сеть и позволяет увеличивать уже Вашу "
+"скорость передачи."
+
+#: i2p2www/pages/site/faq.html:411
+#, python-format
+msgid ""
+"I2P is a work in progress. Lots of improvements and fixes are being "
+"implemented, and\n"
+"generally speaking, running the latest release will help your performance.\n"
+"If you haven't, <a href=\"%(downloadslist)s\">install the latest release</a>."
+msgstr ""
+"I2P находится в процессе развития. Многое меняется и исправляется, и\n"
+"в общем, использование новейших версий помогает увеличить "
+"произодительность.\n"
+"Если Вы работаете на старой версии &mdash; <a href=\"%(downloadslist)s"
+"\">поставьте новую</a>."
+
+#: i2p2www/pages/site/faq.html:419
+#, python-format
+msgid ""
+"See the\n"
+"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P Bittorrent FAQ</a>"
+msgstr ""
+"Смотрите\n"
+"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">Частые вопросы по "
+"Битторренту в I2P</a>"
+
+#: i2p2www/pages/site/faq.html:426
+msgid ""
+"\n"
+"A tunnel to the main IRC server within I2P, Irc2P, is created when I2P is "
+"installed (see\n"
+"the <a href=\"http://localhost:7657/i2ptunnel/index.jsp\">I2PTunnel "
+"configuration page</a>),\n"
+"and is automatically started when the I2P router starts. To connect to it, "
+"tell your IRC\n"
+"client to connect to <code>localhost 6668</code>. XChat-like client users "
+"can create a\n"
+"new network with the server <code>localhost/6668</code> (remember to tick "
+"&quot;Bypass\n"
+"proxy server&quot; if you have a proxy server configured)."
+msgstr ""
+"\n"
+"Туннель до главного IRC сервера в I2P, Irc2P, создается при установке "
+"системы (см. \n"
+"<a href=\"http://localhost:7657/i2ptunnel/index.jsp\">страницу настройки</"
+"a>),\n"
+"и автоматически запускается вместе с маршрутизатором. Чтобы его "
+"использовать, настройте ваш IRC\n"
+"клиент на соединение с <code>localhost 6668</code>. Те, кто пользуется XChat "
+"и подобными клиентами, могут создать новую сеть с сервером "
+"<code>localhost/6668</code> (не забудьте выставить крыжик &quot;Не "
+"использовать\n"
+"прокси&quot; если у вас настроен прокси-сервер)."
+
+#: i2p2www/pages/site/faq.html:437
+msgid ""
+"For security purposes, the router's admin console by default only listens\n"
+"for connections on the local interface.  However, with a little hacking,\n"
+"you can make it reachable remotely:"
+msgstr ""
+"По соображениям безопасности, консоль управления маршрутизатором слушает "
+"только на локальном интерфейсе.\n"
+"Тем не менее, с небольшим усилием вы можете перенастроить ее на удаленный "
+"доступ:"
+
+#: i2p2www/pages/site/faq.html:445
+msgid ""
+"Open <code>~/.i2p/clients.config</code> and replace<br />\n"
+"<code>clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/</code><br />\n"
+"with <br />\n"
+"<code>clientApp.0.args=7657 0.0.0.0 ./webapps/</code>"
+msgstr ""
+"Откройте <code>~/.i2p/clients.config</code> и замените <br />\n"
+"<code>clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/</code><br />\n"
+"на <br />\n"
+"<code>clientApp.0.args=7657 0.0.0.0 ./webapps/</code>"
+
+#: i2p2www/pages/site/faq.html:453
+msgid ""
+"Go to <a href=\"http://localhost:7657/configui\">http://localhost:7657/"
+"configui</a>\n"
+"and add a console username and password if desired."
+msgstr ""
+"Go to <a href=\"http://localhost:7657/configui\">http://localhost:7657/"
+"configui</a>\n"
+"добавьте логин и пароль на консоль, если нужно."
+
+#: i2p2www/pages/site/faq.html:459
+msgid ""
+"Go to <a href=\"http://localhost:7657/index.jsp\">http://localhost:7657/"
+"index.jsp</a>\n"
+"and hit \"Graceful restart\", which restarts the JVM and reloads the client "
+"applications"
+msgstr ""
+"Пройдите на  <a href=\"http://localhost:7657/index.jsp\">http://"
+"localhost:7657/index.jsp</a>\n"
+"и нажмите на \"Мягкий перезапуск\", это перезапустит JVM и все приложения."
+
+#: i2p2www/pages/site/faq.html:466
+msgid ""
+"After that fires up, you should now be able to reach your console remotely. "
+"Reload the router at\n"
+"http://127.0.0.1:7657 and you will be prompted for the username and password "
+"you specified in step 2\n"
+"above if your browser supports the authentication popup. Note: the\n"
+"<code>0.0.0.0</code> above specifies an <i>interface</i>, not a network or "
+"netmask. 0.0.0.0\n"
+"means \"bind to all interfaces\", so it can be reachable on 127.0.0.1:7657 "
+"as well as\n"
+"any LAN/WAN IP."
+msgstr ""
+"После запуска вы сможете попасть на консоль удаленно. Перезагрузите "
+"маршрутизатор на \n"
+"http://127.0.0.1:7657 и у вас спросят логин и пароль, введенные на шаге 2\n"
+"выше, если ваш браузер поддерживает авторизацию. Обратите внимание: \n"
+"<code>0.0.0.0</code> выше указывает на адрес <i>интерфейса</i>, это не сеть "
+"и не маска сети. 0.0.0.0\n"
+"значит \"слушать на всех интерфейсах\", так что доступ будет и на  "
+"127.0.0.1:7657, и на\n"
+"все другие адреса."
+
+#: i2p2www/pages/site/faq.html:477
+msgid ""
+"By default, the router I2CP interface (port 7654) binds to address "
+"127.0.0.1. To bind to 0.0.0.0, set the\n"
+"router advanced configuration option <tt>i2cp.tcp.bindAllInterfaces=true</"
+"tt> and restart."
+msgstr ""
+"По умолчанию, интерфейс I2CP маршрутизатора (порт 76254) слушает только на "
+"127.0.0.1. Чтобы он слушал на всех интерфейсах (0.0.0.0), настройте "
+"дополнительно <tt>i2cp.tcp.bindAllInterfaces=true</tt> и перезапустите "
+"маршрутизатор."
+
+#: i2p2www/pages/site/faq.html:482
+msgid "Whats an \"eepsite\"?"
+msgstr "Что такое \"eepsite\"?"
+
+#: i2p2www/pages/site/faq.html:484
+msgid ""
+"An eepsite is a website that is hosted anonymously - you can access it by\n"
+"setting your web browser's HTTP proxy to use the web proxy (typically it\n"
+"listens on localhost port 4444), and browsing to the site."
+msgstr ""
+"Eepsite это вебсайт, который работает анонимно - вы можете на него попасть "
+"только\n"
+"настроив ваш браузер на использование прокси I2P (обычно это localhost, порт "
+"4444)."
+
+#: i2p2www/pages/site/faq.html:492
+#, python-format
+msgid ""
+"The proxy config for different browsers is on a <a href=\"%(browserconfig)s"
+"\">\n"
+"separate page</a> with screenshots. More advanced configs with external "
+"tools\n"
+"are possible but could introduce leaks in your setup."
+msgstr ""
+"Настройка прокси-сервера для разных браузеров описана на <a href="
+"\"%(browserconfig)s\">\n"
+"этой странице</a> с картинками.  Более продвинутые настройки с внешними "
+"инструментами тоже возможны, но могут представлять риски деанонимизации."
+
+#: i2p2www/pages/site/faq.html:501
+msgid ""
+"x is the number of peers you've sent or received a message from\n"
+"successfully in the last minute, y is the number of peers seen in the last\n"
+"hour or so."
+msgstr ""
+"x это число пиров, кому вы послали или от кого приняли сообщение\n"
+"за последнюю минуту, y это число пиров, которых маршрутизатор наблюдал за "
+"последний час или около того."
+
+#: i2p2www/pages/site/faq.html:509
+msgid ""
+"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.\n"
+"There is no SOCKS outproxy so it is of limited use."
+msgstr ""
+"Можно использовать SOCKS прокси, начиная с релиза 0.7.1. Поддерживается "
+"SOCKS 4/4a/5.\n"
+"Штатной выходной SOCKS прокси в системе нет, так что использование несколько "
+"ограничено."
+
+#: i2p2www/pages/site/faq.html:513
+msgid ""
+"In addition, many applications leak sensitive\n"
+"information that could identify you on the Internet. I2P only filters\n"
+"connection data, but if the program you intend to run sends this\n"
+"information as content, I2P has no way to protect your anonymity.  For\n"
+"example, some mail applications will send the IP address of the machine\n"
+"they are running on to a mail server. There is no way for I2P to filter\n"
+"this, thus using I2P to 'socksify' existing applications is possible, but\n"
+"extremely dangerous."
+msgstr ""
+"Дополнительно, многие приложения позволяют утечки\n"
+"чувствительной информации, которая может вас идентифицировать в интернете. "
+"I2P фильтрует только\n"
+"данные соединения, но сами программы, что вы используете, могут отправлять "
+"эту информацию вместе с данными, и I2P никак вам тут не может помочь.  "
+"Например,\n"
+"некоторые приложения почты отправляют IP адрес машины клиента на почтовый "
+"сервер. Для I2P нет возможности защитить от такого, так что использовать I2P "
+"для проксирования стандартных приложений возможно, но крайне небезопасно. "
+
+#: i2p2www/pages/site/faq.html:523
+#, python-format
+msgid ""
+"If you would like more information on the socks proxy application anyway,\n"
+"there are some helpful hints on the <a href=\"%(socks)s\">socks page</a>."
+msgstr ""
+"Если вы хотите больше информации по поводу SOCKS прокси и приложений, \n"
+"обратите внимание на советы на <a href=\"%(socks)s\">этой странице </a>"
+
+#: i2p2www/pages/site/faq.html:530
+msgid ""
+"Okay, here's a rundown of the default ports (everything is configurable\n"
+"through various settings, of course):"
+msgstr ""
+"Вот тут есть список портов по умолчанию (все это можно \n"
+"поменять настройкой):"
+
+#: i2p2www/pages/site/faq.html:539
+msgid ""
+"<b>Internet-facing ports</b>\n"
+"Note: New installs as of release 0.7.8 do not use port 8887; they select a "
+"random port\n"
+"between 9000 and 31000 when the program is run for the first time.\n"
+"The selected port is shown on the router <a href=\"http://127.0.0.1:7657/"
+"confignet.jsp\">configuration page.</a>"
+msgstr ""
+"<b>Порты в интернет</b>\n"
+"Обратите внимание: Свежие инсталляции, начиная с 0.7.8 не используют порт "
+"8887; они выбирают случайный порт между 9000 и 31000 при первом запуске.\n"
+"Этот порт показан на <a href=\"http://127.0.0.1:7657/confignet.jsp"
+"\">странице конфигурации.</a>"
+
+#: i2p2www/pages/site/faq.html:547
+msgid ""
+"<b>Outbound UDP from the random port noted on the <a href="
+"\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> to arbitrary "
+"remote UDP ports, allowing replies</b>\n"
+"    "
+msgstr ""
+"<b>Исходящий UDP с разных портов, указанных на  <a href="
+"\"http://127.0.0.1:7657/confignet.jsp\">странице конфигурации</a> до разных "
+"удаленных UDP портов, с получением ответов</b>\n"
+"    "
+
+#: i2p2www/pages/site/faq.html:552
+msgid ""
+"<b>Outbound TCP from random high ports to arbitrary remote TCP ports</b>\n"
+"    "
+msgstr ""
+"<b>Исходящий TCP со случайных высоких портов (выше 1024) до определенных "
+"удаленных TCP портов</b>\n"
+"    "
+
+#: i2p2www/pages/site/faq.html:557
+msgid ""
+"<b>(optional, but recommended) Inbound UDP to the port noted on <a href="
+"\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> from "
+"arbitrary locations</b>\n"
+"    "
+msgstr ""
+"<b>(можно обойтись, но желательно) Входящий UDP на порт, указанный в  <a "
+"href=\"http://127.0.0.1:7657/confignet.jsp\">настройках</a> из разных "
+"источников</b>\n"
+"    "
+
+#: i2p2www/pages/site/faq.html:562
+msgid ""
+"<b>(optional, but recommended) Inbound TCP to the port noted on <a href="
+"\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> from "
+"arbitrary locations</b><br />\n"
+"Inbound TCP may be disabled on the <a href=\"http://127.0.0.1:7657/confignet."
+"jsp\">configuration page.</a>"
+msgstr ""
+"<b>(можно обойтись, но желательно) Входящий TCP на порт в <a href="
+"\"http://127.0.0.1:7657/confignet.jsp\">конфигурации</a> из разных "
+"источников</b><br />\n"
+"Можно запретить входящий TCP в  <a href=\"http://127.0.0.1:7657/confignet.jsp"
+"\">настройках.</a>"
+
+#: i2p2www/pages/site/faq.html:568
+msgid ""
+"<b>Outbound UDP on port 123, allowing replies</b><br />\n"
+"This is necessary for I2P's internal time sync (via SNTP - \n"
+"querying a random SNTP host in pool.ntp.org or another\n"
+"server you specify)"
+msgstr ""
+"<b>Исходящий UDP на порт 123, с ответами</b><br />\n"
+"Это необходимый для I2P синхронизатор времени  (через SNTP - \n"
+"запрашивая разные сервера NTP из pool.ntp.org или тот, который \n"
+"вы указали)"
+
+#: i2p2www/pages/site/faq.html:579
+msgid ""
+"<b>Local I2P ports</b>, listening only to local connections by default,\n"
+"except where noted:"
+msgstr ""
+"<b>Локальные порты I2P</b>, которые слушают на локальном хосте по "
+"умолчанию,\n"
+"кроме указанных явно:"
+
+#: i2p2www/pages/site/faq.html:585
+msgid ""
+"<b>1900:</b> UPnP SSDP UDP multicast listener.\n"
+"<i>Cannot be changed. Binds to all interfaces.\n"
+"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+msgstr ""
+"<b>1900:</b> UPnP SSDP UDP multicast слушатель.\n"
+"<i>Не меняется, слушает на всех интерфейсах.\n"
+"Можно выключить в  <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+
+#: i2p2www/pages/site/faq.html:592
+msgid ""
+"<b>2827:</b> BOB bridge, a higher level socket API for clients\n"
+"<i>Disabled by default.\n"
+"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp"
+"\">configclients.jsp</a>.\n"
+"May be changed in the bob.config file.</i>"
+msgstr ""
+"<b>2827:</b> BOB bridge, высокоуровневое API для клиентов.\n"
+"<i>Выключен по умолчанию.\n"
+"Можно включить\\выключить в  <a href=\"http://localhost:7657/configclients."
+"jsp\">configclients.jsp</a>.\n"
+"Можно изменить в  bob.config file.</i>"
+
+#: i2p2www/pages/site/faq.html:600
+msgid ""
+"<b>4444:</b> HTTP proxy\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>4444:</b> HTTP прокси-сервер\n"
+"<i>Можно выключить или изменить на странице настройки туннелей.\n"
+"Можно настроить слушать локально или на выбранных интерфейсах.</i>"
+
+#: i2p2www/pages/site/faq.html:607
+msgid ""
+"<b>4445:</b> HTTPS proxy\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>4445:</b> HTTPS прокси-сервер\n"
+"<i>Можно включить и выключить в настройках туннелей.\n"
+"Можно привязать ко всем или конкретным интерфейсам.</i>"
+
+#: i2p2www/pages/site/faq.html:614
+msgid ""
+"<b>6668:</b> IRC proxy\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>6668:</b> IRC прокси-сервер\n"
+"<i>Можно включить и выключить в настройках туннелей.\n"
+"Можно привязать ко всем или конкретным интерфейсам.</i>"
+
+#: i2p2www/pages/site/faq.html:621
+msgid ""
+"<b>7652:</b> UPnP HTTP TCP event listener.\n"
+"<i>Binds to the LAN address.\n"
+"May be changed with advanced config i2np.upnp.HTTPPort=nnnn.\n"
+"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+msgstr ""
+"<b>7652:</b> UPnP HTTP TCP слушатель.\n"
+"<i>Binds to the LAN address.\n"
+"Можно поменять дополнительной настройкой i2np.upnp.HTTPPort=nnnn.\n"
+"Можно выключить в <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+
+#: i2p2www/pages/site/faq.html:629
+msgid ""
+"<b>7653:</b> UPnP SSDP UDP search response listener.\n"
+"<i>Binds to all interfaces.\n"
+"May be changed with advanced config i2np.upnp.SSDPPort=nnnn.\n"
+"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+msgstr ""
+"<b>7653:</b> UPnP SSDP UDP search response listener.\n"
+"<i>Слушает на всех интерфейсах.\n"
+"Можно поменять доп. настройкой  i2np.upnp.SSDPPort=nnnn.\n"
+"Можно выключить в <a href=\"http://localhost:7657/confignet.jsp\">confignet."
+"jsp</a>.</i>"
+
+#: i2p2www/pages/site/faq.html:637
+msgid ""
+"<b>7654:</b> I2P Client Protocol port, used by client apps.\n"
+"<i>May be changed to a different port on\n"
+"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>\n"
+"but this is not recommended.\n"
+"May be to bind to a different interface or all interfaces, or disabled, on\n"
+"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.</"
+"i>"
+msgstr ""
+"<b>7654:</b> Клиентский порт I2P, используемый приложениями.\n"
+"<i>можно поменять на \n"
+"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>\n"
+"но лучше этого не делать.\n"
+"Можно привязать к интерфейсам или выключить на странице \n"
+"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.</"
+"i>"
+
+#: i2p2www/pages/site/faq.html:647
+msgid ""
+"<b>7655:</b> UDP for SAM bridge, a higher level socket API for clients\n"
+"<i>Only opened when a SAM V3 client requests a UDP session.\n"
+"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp"
+"\">configclients.jsp</a>.\n"
+"May be changed in the clients.config file with the SAM command line option "
+"sam.udp.port=nnnn.</i>"
+msgstr ""
+"<b>7655:</b> UDP for SAM bridge, API высокого уровня для клиентов.\n"
+"<i>Открывается только когда клиент SAM V3 запрашивает сессию UDP.\n"
+"Можно включить-выключить на <a href=\"http://localhost:7657/configclients.jsp"
+"\">configclients.jsp</a>.\n"
+"Можно поменять в настройках  clients.config file в  sam.udp.port=nnnn.</i>"
+
+#: i2p2www/pages/site/faq.html:655
+msgid ""
+"<b>7656:</b> SAM bridge, a higher level socket API for clients\n"
+"<i>Disabled by default for new installs as of release 0.6.5.\n"
+"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp"
+"\">configclients.jsp</a>.\n"
+"May be changed in the clients.config file.</i>"
+msgstr ""
+"<b>7656:</b> SAM bridge, a higher level socket API for clients\n"
+"<i>С версии  0.6.5 по умолчанию отключен.\n"
+"Можно включить-выключить в  <a href=\"http://localhost:7657/configclients.jsp"
+"\">configclients.jsp</a>.\n"
+"Можно поменять в clients.config file.</i>"
+
+#: i2p2www/pages/site/faq.html:663
+msgid ""
+"<b>7657:</b> Your router console\n"
+"<i>May be disabled in the clients.config file.\n"
+"May also be configured to be bound to a specific interface or all interfaces "
+"in that file.</i>"
+msgstr ""
+"<b>7657:</b> Интерфейс маршрутизатора\n"
+"<i>Можно отключить в  clients.config.\n"
+"Можно настроить на всех или на выбранные интерфейсы.</i>"
+
+#: i2p2www/pages/site/faq.html:670
+msgid ""
+"<b>7658:</b> Your eepsite\n"
+"<i>May be disabled in the clients.config file.\n"
+"May also be configured to be bound to a specific interface or all interfaces "
+"in the jetty.xml file.</i>"
+msgstr ""
+"<b>7658:</b> Ваш eepsite\n"
+"<i>Можно выключить в файле clients.config.\n"
+"Можно привязать к адресам интерфейсов в файле jetty.xml.</i>"
+
+#: i2p2www/pages/site/faq.html:677
+msgid ""
+"<b>7659:</b> Outgoing mail to smtp.postman.i2p\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>7659:</b> Исходящая почта на smtp.postman.i2p\n"
+"<i>Можно включить и поменять в настройках туннелей.\n"
+"Можно настроить на разные сетевые интерфейсы</i>"
+
+#: i2p2www/pages/site/faq.html:684
+msgid ""
+"<b>7660:</b> Incoming mail from pop.postman.i2p\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>7660:</b> Входящая почта с pop.postman.i2p\n"
+"<i>Можно выключить или поменять в настройках туннелей.\n"
+"Можно привязать к интерфейсам</i>"
+
+#: i2p2www/pages/site/faq.html:691
+msgid ""
+"<b>8998:</b> mtn.i2p2.i2p (Monotone - disabled by default)\n"
+"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
+"May also be configured to be bound to a specific interface or all interfaces."
+"</i>"
+msgstr ""
+"<b>8998:</b> mtn.i2p2.i2p (Monotone - по умолчанию выключено)\n"
+"<i>Можно включить и выключить в настройках туннелей. \n"
+"Можно привязать ко всем или конкретным интерфейсам.</i>"
+
+#: i2p2www/pages/site/faq.html:698
+msgid ""
+"<b>31000:</b> Local connection to the wrapper control channel port.\n"
+"<i>Outbound to 32000 only, does not listen on this port.\n"
+"Starts at 31000 and will increment until 31999 looking for a free port.\n"
+"To change, see the\n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">wrapper documentation</a>.\n"
+"For more information see <a href=\"#port32000\">below</a>.</i>"
+msgstr ""
+"<b>31000:</b> Локальный порт управления враппером.\n"
+"<i>Исходящие соединения на порт 32000, на этом порту не слушает.\n"
+"Начинает  с порта 31000 и последовательно ищет свободный порт до 31999.\n"
+"Чтобы поменять, см. \n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">документацию на враппер</a>.\n"
+"Для доп. информации, смотрите также  <a href=\"#port32000\">ниже</a>.</i>"
+
+#: i2p2www/pages/site/faq.html:708
+msgid ""
+"<b>32000:</b> Local control channel for the service wrapper.\n"
+"<i>To change, see the\n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">wrapper documentation</a>.\n"
+"For more information see <a href=\"#port32000\">below</a>.</i>"
+msgstr ""
+"<b>32000:</b> Локальный порт управления враппером сервиса.\n"
+"<i>To change, see the\n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">wrapper documentation</a>.\n"
+"For more information see <a href=\"#port32000\">below</a>.</i>"
+
+#: i2p2www/pages/site/faq.html:720
+msgid ""
+"The local I2P ports and the I2PTunnel ports do not need to be reachable "
+"from \n"
+"remote machines, but *should* be reachable locally.  You can also create \n"
+"additional ports for I2PTunnel instances via http://localhost:7657/"
+"i2ptunnel/ \n"
+"(and in turn, would need to get your firewall to allow you local access, "
+"but \n"
+"not remote access, unless desired)."
+msgstr ""
+"Локальные порты I2P и порты туннелей не должны быть доступны с удаленных\n"
+"машин, но *должны* быть доступны локально. Вы также можете создать "
+"дополнительные порты для\n"
+"I2PTunnel через http://localhost:7657/i2ptunnel/  (и вообще, вам стоит "
+"настроить ваш локальный доступ в\n"
+"файрволле, а удаленный запретить, если вам он не нужен)"
+
+#: i2p2www/pages/site/faq.html:728
+msgid ""
+"So, to summarize, nothing needs to be reachable by unsolicited remote peers, "
+"but\n"
+"if you can configure your NAT/firewall to allow inbound UDP and TCP the <a "
+"href=\"http://localhost:7657/config\">outbound facing port</a>, you'll\n"
+"get better performance.  You will also need to be able to send outbound UDP "
+"packets\n"
+"to arbitrary remote peers (blocking IPs randomly with something like "
+"PeerGuardian\n"
+"only hurts you - don't do it)."
+msgstr ""
+"В заключение, ничего не должно быть доступно неразрешенным удаленным "
+"соединениям, но стоит разрешить удаленный доступ к <a href=\"http://"
+"localhost:7657/config\">интернет-портам</a>, это хорошо отразится на "
+"производительности.  Вам нужно иметь возможность отправлять UDP наружу, на "
+"разные \n"
+"удаленные адреса (Случайное блокирование адресов чем-нибудь вроде "
+"PeerGuardian\n"
+"вам будет только мешать, не делайте так)."
+
+#: i2p2www/pages/site/faq.html:736
+msgid "Why is I2P listening on port 32000?"
+msgstr "Почему I2P слушает на порту 32000?"
+
+#: i2p2www/pages/site/faq.html:738
+msgid ""
+"The Tanuki java service wrapper that we use opens this port&mdash;bound to "
+"localhost&mdash;in order \n"
+"to communicate with software running inside the JVM. When the JVM is "
+"launched it is given a key \n"
+"so it can connect to the wrapper. After the JVM establishes its connection \n"
+"to the wrapper, the wrapper refuses any additional connections."
+msgstr ""
+"Сервис-враппер Tanuki, который мы используем, использует этот порт, "
+"привязанный только к локальному интерфейсу, чтобы взаимодействовать с софтом "
+"внутри JVM. Когда JVM запускается, ей передается ключ, чтобы она могла "
+"общаться с враппером. После того, как JVM установила соединение с враппером, "
+"враппер более не принимает дополнительных соединений. "
+
+#: i2p2www/pages/site/faq.html:744
+msgid ""
+"More information can be found in the  \n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">wrapper documentation</a>."
+msgstr ""
+"Дополнительная информация есть в \n"
+"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html"
+"\">документации на враппер</a>."
+
+#: i2p2www/pages/site/faq.html:751
+msgid ""
+"An I2P router only needs to be seeded once, to join the network for the "
+"first time.\n"
+"Reseeding is nothing more than sending plain HTTP GET requests\n"
+"to fetch a directory listing and download multiple \"routerInfo\" files\n"
+"from a predefined reseed URL."
+msgstr ""
+"I2P маршрутизатор нужно просидировать только раз, чтобы в первый раз "
+"подключиться к сети.\n"
+"Сидирование это ничто иное, как посылка HTTP GET запросов\n"
+"чтобы скачать список роутеров и файлов \"routerinfo\" \n"
+"с заранее известных URL"
+
+#: i2p2www/pages/site/faq.html:758
+msgid ""
+"A typical symptom of a failed reseed is the \"Known\" indicator\n"
+"(on the left sidebar of the router console) displaying a very small value\n"
+"(often less than 5) which does not increase. This can occur, among other "
+"things,\n"
+"if your firewall limits outbound traffic, and blocked the reseed request."
+msgstr ""
+"Очевидным признаком проблемы неудачного ресида является \n"
+"показатель \"Известно\" (слева на интерфейсе маршрутизатора), который "
+"показывает очень малые значения\n"
+"(часто - меньше 5), и который не увеличивается. Так получается, среди "
+"прочего, \n"
+"когда ваш файрволл блокирует исходящий трафик, а также запросы ресида. "
+
+#: i2p2www/pages/site/faq.html:765
+msgid "To reseed an I2P router manually, do the following:"
+msgstr "Чтобы вручную просидировать I2P маршрутизатор, сделайте так:"
+
+#: i2p2www/pages/site/faq.html:768
+msgid "Stop your I2P router"
+msgstr "Остановите ваш I2P маршрутизатор"
+
+#: i2p2www/pages/site/faq.html:771
+msgid ""
+"Open <a href=\"http://netdb.i2p2.de/\">http://netdb.i2p2.de/</a> using a web "
+"browser"
+msgstr ""
+"Пойдите обычным браузером на  <a href=\"http://netdb.i2p2.de/\">http://netdb."
+"i2p2.de/</a> "
+
+#: i2p2www/pages/site/faq.html:774
+msgid "Save a dozen \"routerInfo\" files to your I2P \"netDb\" directory"
+msgstr ""
+"Сохраните десяток файлов \"routerinfo\" в директорию netDb вашего "
+"маршрутизатора"
+
+#: i2p2www/pages/site/faq.html:781
+msgid "Start your I2P router"
+msgstr "Запустите ваш маршрутизатор"
+
+#: i2p2www/pages/site/faq.html:788
+msgid ""
+"When trying to start the router using \"i2prouter start\", you may see "
+"output like the following:"
+msgstr ""
+"При запуске маршрутизатора командой \"i2prouter start\", вы можете увидеть "
+"такие строки:"
+
+#: i2p2www/pages/site/faq.html:793
+msgid ""
+"\n"
+"In order to be inclusive and try to ensure that I2P will run on as many "
+"systems \n"
+"as possible, up until I2P 0.8.9 we used a <a href=\"http://wrapper."
+"tanukisoftware.com/\">java wrapper</a> \n"
+"compiled for FreeBSD 6.x. If you're receiving this error you most likely are "
+"missing the necessary compatibility libraries.\n"
+"These libraries may be installed by performing the following steps:"
+msgstr ""
+"\n"
+"Чтобы убедиться, что I2P работает на максимальном количестве платформ, до "
+"версии 0.8.9 I2P мы использовали <a href=\"http://wrapper.tanukisoftware.com/"
+"\">java wrapper</a>, \n"
+"собранный для FreeBSD 6.x. Если вы столкнулись с такой ошибкой, у вас не "
+"хватает библиотек совместимости.\n"
+"Эти библиотеки можно установить вот так:"
+
+#: i2p2www/pages/site/faq.html:801
+msgid ""
+"Switch to the root user with <code>su</code> or log in as <code>root</code>."
+msgstr ""
+"Получите права root с помощью  <code>su</code> или просто залогиньтесь, как "
+"<code>root</code>."
+
+#: i2p2www/pages/site/faq.html:807
+#, python-format
+msgid ""
+"If you cannot install these compatibility libraries (or do not want to), "
+"other\n"
+"possibilities would be to compile the wrapper for <a href=\"%(manualwrapper)s"
+"\">your\n"
+"system</a>, starting I2P with the <code>runplain.sh</code> script, or you "
+"can\n"
+"replace the wrapper with one from the source tarball."
+msgstr ""
+"Если у вас не получается установить эти библиотеки (или вы не хотите так "
+"делать),\n"
+"другой вариант это собрать враппер для <a href=\"%(manualwrapper)s\">вашей⏎\n"
+"системы</a>, запускать I2P без враппера командой <code>runplain.sh</code>,  "
+"или⏎\n"
+"заменить враппер на тот, что уж собран под вашу систему из его дистрибутива."
+
+#: i2p2www/pages/site/faq.html:813
+msgid ""
+"For the 0.8.9 release of I2P, the wrapper was upgraded to v3.5.12 and "
+"compiled on systems running FreeBSD 7.2."
+msgstr ""
+"С версии 0.8.9 I2P, враппер обновлен до v3.5.12 и собирается на системе  "
+"FreeBSD 7.2."
+
+#: i2p2www/pages/site/faq.html:817
+msgid ""
+"In <code>wrapper.log</code> I see an error that states \"<code>Protocol "
+"family unavailable</code>\" when loading the Router Console"
+msgstr ""
+"Внутри <code>wrapper.log</code> я вижу ошибку вида <code>Protocol family "
+"unavailable</code> при запуске консоли маршрутизатора."
+
+#: i2p2www/pages/site/faq.html:819
+msgid ""
+"Often this error will occur with any network enabled java software on some "
+"systems that are configured to use IPv6 by default. There are a few ways to "
+"solve this:"
+msgstr ""
+"Эта ошибка часто возникает на сетевых java приложениях на системах, которые "
+"используют IPv6 по умолчанию. Есть несколько вариантов действий:"
+
+#: i2p2www/pages/site/faq.html:824
+msgid ""
+"On Linux based systems, you can <code>echo 0 > /proc/sys/net/ipv6/"
+"bindv6only</code>"
+msgstr ""
+"На Linux, можно сделать <code>echo 0 > /proc/sys/net/ipv6/bindv6only</code>"
+
+#: i2p2www/pages/site/faq.html:826
+msgid "Look for the following lines in <code>wrapper.config</code>."
+msgstr "Ищите следующие строки в <code>wrapper.config</code>."
+
+#: i2p2www/pages/site/faq.html:830
+msgid ""
+"If the lines are there, uncomment them by removing the \"#\"s. If the lines "
+"are not there, add them without the \"#\"s."
+msgstr ""
+"Если такие строки есть, раскомментируйте их, удалив \"#\". Если таких строк "
+"нет, то добавьте их без \"#\" в начале строк."
+
+#: i2p2www/pages/site/faq.html:833
+msgid ""
+"Another option would be to remove the <strong>::1</strong> from <code>~/.i2p/"
+"clients.config</code>"
+msgstr ""
+"Другой вариант - это удалить  <strong>::1</strong> из <code>~/.i2p/clients."
+"config</code>"
+
+#: i2p2www/pages/site/faq.html:837
+msgid ""
+"<strong>WARNING</strong>: For any changes to <code>wrapper.config</code> to "
+"take effect, you must completely\n"
+"stop the router and the wrapper. Clicking <em>Restart</em> on your\n"
+"router console will NOT reread this file! You must\n"
+"click <em>Shutdown</em>, wait 11 minutes, then start I2P."
+msgstr ""
+"<strong>ПРЕДУПРЕЖДЕНИЕ</strong>: Чтобы применить любые изменения в  "
+"<code>wrapper.config</code> нужно\n"
+"полностью остановить и маршрутизатор, и враппер. Нажатие <em>Перезапуск</em> "
+"на консоли маршрутизатора не достаточно! Нужно выполнить <em>Shutdown</em>, "
+"подождатьт 11 минут и перезапустить I2P."
+
+#: i2p2www/pages/site/faq.html:848
+#, python-format
+msgid ""
+"Great!  Find us on IRC irc.freenode.net #i2p or post to\n"
+"the <a href=\"http://%(forum)s/\">forum</a> and we'll post it here (with\n"
+"the answer, hopefully)."
+msgstr ""
+"Отлично!  Вы найдете нас на IRC irc.freenode.net #i2p или напишите на\n"
+" <a href=\"http://%(forum)s/\">форум</a> и мы это выложим на сайт (надеюсь, "
+"что с ответом)."
+
+#: i2p2www/pages/site/impressum.html:4
+msgid "German laws"
+msgstr "Немецкие законы"
+
+#: i2p2www/pages/site/index.html:2
+msgid "I2P Anonymous Network"
+msgstr "Анонимная сеть I2P"
+
+#: i2p2www/pages/site/index.html:4
+msgid ""
+"Anonymous peer-to-peer distributed communication layer built with open "
+"source tools and designed to run any traditional Internet service such as "
+"email, IRC or web hosting."
+msgstr ""
+"Механизм анонимной передачи данных точка-точка, основанный на средствах с "
+"открытым исходным кодом и предназначенный для работы многих стандартных "
+"Интернет-сервисов, таких как электронная почта, IRC или веб-хостинг. "
+
+#: i2p2www/pages/site/index.html:7
+msgid "What does I2P do for you?"
+msgstr "Что делает I2P?"
+
+#: i2p2www/pages/site/index.html:8
+msgid ""
+"The I2P network provides strong privacy protections for communication over "
+"the Internet. Many activities that would risk your privacy on the public "
+"Internet can be conducted anonymously inside I2P."
+msgstr ""
+"Сеть I2P реализует защиту приватности коммуникаций в интернет. Многие "
+"действия, которые могли подвергать риску вашу приватность в открытых сетях, "
+"могут относительно безопасно выполняться в рамках I2P"
+
+#: i2p2www/pages/site/index.html:9
+#, python-format
+msgid "Get I2P %(version)s"
+msgstr "Скачать I2P %(version)s"
+
+#: i2p2www/pages/site/index.html:13
+msgid "What is I2P?"
+msgstr "Что такое I2P?"
+
+#: i2p2www/pages/site/index.html:15
+msgid ""
+"I2P is an anonymous overlay network - a network within a network. It is "
+"intended to protect communication from dragnet surveillance and monitoring "
+"by third parties such as ISPs.\n"
+msgstr ""
+"I2P это сеть внутри сети, анонимная оверлейная сеть. Она предназначена для "
+"защиты передачи данных от внешнего наблюдения и надзора, например, от слежки "
+"провайдера.\n"
+
+#: i2p2www/pages/site/index.html:18
+msgid ""
+"I2P is used by many people who care about their privacy: activists, "
+"oppressed people, journalists and whistleblowers, as well as the average "
+"person.\n"
+msgstr ""
+"I2P используется людьми, которые заботятся о своей приватности: как и "
+"активисты, угнетенные народы и журналисты, так и обычные люди.\n"
+
+#: i2p2www/pages/site/index.html:21
+msgid ""
+"No network can be \"perfectly anonymous\". The continued goal of I2P is to "
+"make attacks more and more difficult to mount. Its anonymity will get "
+"stronger as the size of the network increases and with ongoing academic "
+"review.\n"
+msgstr ""
+"Ни одна сеть не может быть «абсолютно анонимна». Основная цель I2P — сделать "
+"атаки максимально сложными. Анонимность будет расти с ростом сети, а также с "
+"развитием самой системы, за счет научного анализа результатов.\n"
+
+#: i2p2www/pages/site/index.html:24
+msgid ""
+"I2P is available on desktops, embedded systems (like the Raspberry Pi) and "
+"Android phones. Help spread the word!\n"
+msgstr ""
+"I2P доступна на обычных компьютерах, встраиваемых системах (как Raspberry "
+"Pi) и Android устройствах. Расскажите всем!\n"
+
+#: i2p2www/pages/site/index.html:28
+msgid "Read more&hellip;"
+msgstr "Подробнее&hellip;"
+
+#: i2p2www/pages/site/index.html:33
+msgid "What can you do with I2P?"
+msgstr "Что можно сделать в I2P?"
+
+#: i2p2www/pages/site/index.html:36
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#email\">Email:</a> Integrated web mail interface, "
+"plugin for serverless email."
+msgstr ""
+"<a href=\"%(supported)s#email\">Электронная почта:</a> Встроенная веб-почта, "
+"плагин для бессерверной почты."
+
+#: i2p2www/pages/site/index.html:41
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#web-browsing\">Web browsing:</a> Anonymous websites, "
+"gateways to and from the public Internet."
+msgstr ""
+"<a href=\"%(supported)s#web-browsing\">Web browsing:</a> Анонимные вебсайты, "
+"шлюзы в и из публичного интернета."
+
+#: i2p2www/pages/site/index.html:46
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#blogging-and-forums\">Blogging and forums:</a> "
+"Blogging and Syndie plugins."
+msgstr ""
+"<a href=\"%(supported)s#blogging-and-forums\">Блоги и форумы:</a> Блоги и "
+"плагины Syndie."
+
+#: i2p2www/pages/site/index.html:51
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#website-hosting\">Website hosting:</a> Integrated "
+"anonymous web server."
+msgstr ""
+"<a href=\"%(supported)s#website-hosting\">Хостинг вебсайтов:</a> Встроенный "
+"анонимный веб-сервер."
+
+#: i2p2www/pages/site/index.html:56
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#real-time-chat\">Real-time chat:</a> Instant "
+"messaging and IRC clients."
+msgstr "<a href=\"%(supported)s#real-time-chat\">Чат:</a> Чаты и IRC клиенты."
+
+#: i2p2www/pages/site/index.html:61
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#file-sharing\">File sharing:</a> ED2K and Gnutella "
+"clients, integrated BitTorrent client."
+msgstr ""
+"<a href=\"%(supported)s#file-sharing\">Файлообмен:</a> ED2K и Gnutella, "
+"встроенный BitTorrent."
+
+#: i2p2www/pages/site/index.html:66
+#, python-format
+msgid ""
+"<a href=\"%(supported)s#decentralized-file-storage\">Decentralized file "
+"storage:</a> Tahoe-LAFS distributed filesystem plugin."
+msgstr ""
+"<a href=\"%(supported)s#decentralized-file-storage\">Распределенное хранение "
+"файлов:</a> Tahoe-LAFS — плагин для распределенной файловой системы."
+
+#: i2p2www/pages/site/index.html:71
+#, python-format
+msgid ""
+"<a href=\"%(supported)s\"><em>More supported applications&hellip;</em></a>"
+msgstr ""
+"<a href=\"%(supported)s\"><em>Другие поддерживаемые приложения</em></a>"
+
+#: i2p2www/pages/site/index.html:79
+msgid "News &amp; Updates"
+msgstr "Новости и обновления"
+
+#: i2p2www/pages/site/links.html:4
+msgid "Recommended Links & Resources"
+msgstr "Рекомендуемые ссылки и ресурсы"
+
+#: i2p2www/pages/site/links.html:5
+#, python-format
+msgid ""
+"See also the page with\n"
+"<a href=\"%(media)s\">links to presentations, videos, and tutorials about "
+"I2P</a>."
+msgstr ""
+"Вот тут есть страница\n"
+"<a href=\"%(media)s\">с презентациями, видео и учебниками о I2P</a>."
+
+#: i2p2www/pages/site/links.html:12
+msgid "I2P on the web"
+msgstr "I2P в сети"
+
+#: i2p2www/pages/site/links.html:20
+msgid "Friends of I2P"
+msgstr "Друзья проекта I2P"
+
+#: i2p2www/pages/site/links.html:32
+msgid "More Projects and Documentation"
+msgstr "Другие Проекты и документация"
+
+#: i2p2www/pages/site/links.html:42
+msgid "Press"
+msgstr "Пресса"
+
+#: i2p2www/pages/site/links.html:46
+msgid "Boards, newssite, others"
+msgstr "Доски, новостные сайты, другое"
+
+#: i2p2www/pages/site/links.html:50
+msgid "Very Old Stuff"
+msgstr "Очень старое добро"
+
+#~ msgid "Download I2P"
+#~ msgstr "Скачать I2P"
diff --git a/i2p2www/translations/he/LC_MESSAGES/research.po b/i2p2www/translations/he/LC_MESSAGES/research.po
new file mode 100644
index 0000000000000000000000000000000000000000..6f571108e9abd81e929524eb7e3a52a4fa33e130
--- /dev/null
+++ b/i2p2www/translations/he/LC_MESSAGES/research.po
@@ -0,0 +1,157 @@
+# Russian (Russia) translations for I2P.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# keedley <zhopa@mita.pp.ru>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
+"POT-Creation-Date: 2013-11-21 23:32+0000\n"
+"PO-Revision-Date: 2013-09-21 16:10+0000\n"
+"Last-Translator: keedley <zhopa@mita.pp.ru>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/I2P/language/ru_RU/)\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+
+#: i2p2www/pages/site/research/index.html:2
+msgid "Academic Research"
+msgstr "Научные исследования"
+
+#: i2p2www/pages/site/research/index.html:4
+msgid ""
+"Academic research and analysis of I2P is an important part of ensuring "
+"that the software and network performs as expected and is safe for users "
+"in hostile environments."
+msgstr ""
+"Научное исследование и анализ I2P это важная часть процесса контроля "
+"безопасности програмного обеспечения и сети в целом, в опасных условиях "
+"современного мира."
+
+#: i2p2www/pages/site/research/index.html:8
+#, python-format
+msgid ""
+"\n"
+"There is a large research community investigating a wide range of aspects"
+" of\n"
+"anonymity. For a current and comprehensive list of relevant papers, see "
+"the\n"
+"<a href=\"%(anonbib)s\">Free Haven Anonymity Bibliography</a>.\n"
+"I2P benefits from much of the research into Tor and onion routing, but "
+"there is\n"
+"little dedicated research interest into the theory behind I2P, and the "
+"choices\n"
+"and tradeoffs that the network makes. This presents a unique opportunity "
+"for\n"
+"original research.\n"
+msgstr ""
+
+#: i2p2www/pages/site/research/index.html:18
+#, python-format
+msgid ""
+"A list of known published papers about I2P is available <a "
+"href=\"%(papers)s\">here</a>."
+msgstr ""
+"Список известных публикаций про I2P доступен <a href=\"%(papers)s\">вот "
+"тут</a>."
+
+#: i2p2www/pages/site/research/index.html:22
+msgid "Testing Attacks on I2P"
+msgstr "Тестовые атаки на I2P"
+
+#: i2p2www/pages/site/research/index.html:24
+msgid ""
+"I2P can be run as a separate test network by controlling the locations "
+"that a new router reseeds from so that it only finds other test routers."
+msgstr ""
+"I2P можно запускать как отдельную сеть, контролируя расположения, откуда "
+"новые маршрутизаторы получают свои сиды, так чтобы тестовые "
+"маршрутизаторы работали только с тестовыми маршрутизаторами."
+
+#: i2p2www/pages/site/research/index.html:28
+msgid ""
+"The standard mode of operation is to have one JVM per router instance; "
+"hence running multiple copies of I2P on a single machine is inadvisable, "
+"both due to the potential resource drain and the certain port conflicts. "
+"To better facilitate setting up small test networks, I2P has a "
+"multirouter mode which enables multiple distinct routers to be run in the"
+" same JVM."
+msgstr ""
+"Стандартный способ работы это использовать одну JVM на один экземпляр "
+"маршрутизатора. Запуск нескольких копий I2P на одной машине не "
+"рекомендуется, как с точки зрения ресурсов, так и с точки зрения "
+"конфликтов по портам. Для лучшего развертывания небольших тестовых сетей,"
+" I2P может работать в режиме multirouter, который реализует запуск "
+"нескольких маршрутизаторов в рамках одной JVM."
+
+#: i2p2www/pages/site/research/index.html:32
+msgid ""
+"MultiRouter can be started from the i2p base directory by running the "
+"below command."
+msgstr ""
+"MultiRouter можно запустить из базовой директории I2P с помощью команды "
+"ниже:"
+
+#: i2p2www/pages/site/research/index.html:37
+msgid ""
+"Additionally, I2P can be started in a virtual network mode. This mode "
+"disables all transports, allowing the router to be tested in isolation "
+"without network traffic. To enable this mode, add "
+"<code>i2p.vmCommSystem=true</code> to the router.config before starting."
+msgstr ""
+"I2P можно также запускать в режиме виртуальной сети. Этот режим отключает"
+" все транспорты, позволяя тестировать маршрутизатор без сетевого доступа."
+" Чтобы включить такой режим, добавьме  <code>i2p.vmCommSystem=true</code>"
+" в router.config до запуска"
+
+#: i2p2www/pages/site/research/index.html:41
+msgid "Testing the Live I2P Network"
+msgstr "Тестирование работающей I2P сети"
+
+#: i2p2www/pages/site/research/index.html:43
+#, python-format
+msgid ""
+"If you are planning on conducting research on the live I2P network, "
+"please <a href=\"%(contact)s\">contact us</a> before you commence your "
+"testing. While we do not discourage researchers from responsibly testing "
+"their ideas on the live network, if an attack becomes apparent and we "
+"don't have any line of communication then we will end up taking "
+"countermeasures which could interfere with the test."
+msgstr ""
+"Если вы планируете произоводить исследования на живой I2P сети, "
+"пожалуйста, <a href=\"%(contact)s\">свяжитесь с нами</a> заранее. Хотя мы"
+" не против ответственных исследователей, которые проверяют свои идеи на "
+"живой сети, если мы заметим вмешательство и у нас не будет способа "
+"связаться, исследование может быть испорчено применяемыми нами "
+"контр-мерами."
+
+#: i2p2www/pages/site/research/questions.html:2
+msgid "Open research questions"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:4
+msgid "Network database"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:6
+msgid "Peer selection"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:8
+msgid "Tunnels and Destinations"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:10
+msgid "Unidirectional tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/research/questions.html:16
+msgid "Multihoming"
+msgstr ""
+