diff --git a/i2p2www/__init__.py b/i2p2www/__init__.py
index 22f9ac7f827d4bb0481156f2dcd63735c96a67e6..9c3621da000e1ec6652734d864a292d65210e3f0 100644
--- a/i2p2www/__init__.py
+++ b/i2p2www/__init__.py
@@ -47,6 +47,7 @@ SUPPORTED_LANGS = [
     'ro',
     'ru',
     'sv_SE',
+    'uk_UA',
     ]
 
 SUPPORTED_LANG_NAMES = {
@@ -63,6 +64,7 @@ SUPPORTED_LANG_NAMES = {
     'ro': u'Romanian',
     'ru': u'Russian',
     'sv_SE': u'Svenska',
+    'uk_UA': u'Ukrainian',
     }
 
 DEFAULT_GETTEXT_DOMAIN = 'priority'
diff --git a/i2p2www/translations/uk_UA/LC_MESSAGES/about.po b/i2p2www/translations/uk_UA/LC_MESSAGES/about.po
new file mode 100644
index 0000000000000000000000000000000000000000..c1a7452e36af3c2af34a572d579c82d9c10d74af
--- /dev/null
+++ b/i2p2www/translations/uk_UA/LC_MESSAGES/about.po
@@ -0,0 +1,2222 @@
+# Ukrainian (Ukraine) translations for I2P.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# jonny_nut <jonny_nut@hotmail.com>, 2014
+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-20 18:06+0000\n"
+"Last-Translator: jonny_nut <jonny_nut@hotmail.com>\n"
+"Language-Team: Ukrainian (Ukraine) "
+"(http://www.transifex.com/projects/p/I2P/language/uk_UA/)\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 ""
+"Ваш веб-браузер треба буде налаштувати для того, щоб переглядати "
+"'eepsites' та\n"
+"використовувати 'outproxies' наявні через 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"
+"вікні налаштування виберіть вкладку підключення та натисніть на "
+"налаштування локальної мережі\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 ""
+
+#: i2p2www/pages/site/about/browser-config.html:36
+msgid "IE Proxy Settings"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/browser-config.html:46
+msgid "Firefox Network Options"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/browser-config.html:53
+msgid "Firefox Proxy Settings"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/browser-config.html:63
+msgid "Konqueror Proxy Options"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/browser-config.html:70
+msgid "Konqueror Proxy Ports"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 "I2P Властиво IPv6"
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:18
+msgid "Bitcoin client for I2P"
+msgstr "клієнт Bitcoin для 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 ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:23
+msgid "Bounty Syndie"
+msgstr ""
+
+#: i2p2www/pages/site/about/hall-of-fame.html:24
+msgid "Bounty I2P for CCR Microtic Board"
+msgstr ""
+
+#: 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 ""
+"Якщо ви дали пожертву, будь ласка, надішліть листа на <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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/intro.html:47
+#, python-format
+msgid "More details about how I2P works are <a href=\"%(docs)s\">available</a>."
+msgstr ""
+"Докладніше про те, як I2P функціонує <a href=\"%(docs)s\">доступно "
+"тут</a>."
+
+#: 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,\n"
+"можуть використовувати потокову бібліотеку, в подібність до TCP.\n"
+"У нас є універсальний мостовий додаток TCP/I2P  (\"<a "
+"href=\"%(i2ptunnel)s\">I2PTunnel</a>\"),\n"
+"який людям дозволяє потоки TCP спрямувати через мережу I2P,\n"
+"а також отримувати потоки з мережі і направити їх на досягнення\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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/media.html:93
+msgid ""
+"<a href=\"http://0x375.org/\">Modern cipherspace ecosystems</a>, 0x375 "
+"0x06 4/11/2011"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/media.html:184
+#, python-format
+msgid ""
+"<a href=\"%(link)s\">2003 Business Week article referencing "
+"invisiblenet</a>"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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"
+"<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 "Піар-менеджер"
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:41
+msgid "manage the public monotone repositories"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:121
+#, python-format
+msgid "<a href=\"http://%(postman)s/\">I2P mail</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:123
+msgid "organize and develop the i2p mail system"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:126
+#, python-format
+msgid "<a href=\"http://%(i2host)s/\">I2Host</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:128
+msgid "I2Host addressbook application"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:131
+#, python-format
+msgid "<a href=\"http://%(bob)s/\">BOB</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:133
+msgid "Basic Open Bridge"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:136
+#, python-format
+msgid "<a href=\"http://%(bote)s/\">I2P-Bote</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:138
+msgid "I2PBote plugin"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:141
+#, python-format
+msgid "<a href=\"http://%(bob)s/\">Robert</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:143
+msgid "Robert BitTorrent client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:146
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=25\">I2Phex</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:148
+msgid "I2Phex Gnutella client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:151
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=21\">I2PSnark</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:153
+msgid "Maintains the integrated Bittorrent client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:156
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=30\">iMule</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:158
+msgid "eMule client over I2P"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:161
+#, python-format
+msgid "<a href=\"http://%(forum)s/viewforum?f=29\">Syndie</a> lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:163
+msgid "Syndie development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:166
+msgid "Susimail lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:168
+msgid "Susimail development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:171
+msgid "Console"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:173
+msgid "Router console HTML/CSS design"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:176
+msgid "SAM"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:178
+msgid "SAM maintainer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:181
+msgid "I2PCPP lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:183
+msgid "C++ Router"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:198
+msgid "desktopgui, dijjer port"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:202
+msgid "Debian/Ubuntu Packager and PPA maintainer"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:206
+msgid "Routerconsole backend and UI work, website revamp, unit tests work"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:221
+msgid "Project lead, Syndie lead"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:225
+msgid "Project lead, Syndie lead, I2Phex, support guru"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:229
+msgid "iMule lead"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:245
+msgid "Python SAM library, attack simulations"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:249
+msgid "i2pmail development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:253
+msgid "Syndie help"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:257
+msgid "i2p mail,susimail and susidns apps"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:261
+msgid "I2Phex (port of Phex to I2P)"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:265
+msgid "addressbook,i2p-bt,syndie client"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:269
+msgid "organize and develop the i2p-bt BitTorrent port"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:273
+msgid "addressbook, i2p-bt, syndie client development"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:277
+msgid "encryption and signature routines, I2PIM"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:281
+msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:285
+msgid "installer, systray, bogobot"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:289
+msgid "jbigi development, wiki migration, doc cleanup"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:293
+msgid "java debugging and client development on I2PTunnel and the router console"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:297
+msgid "SAM perl module"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:301
+msgid "i2psnark work"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:305
+msgid "java cleanup"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:309
+msgid "docs. wiki migration"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/team.html:321
+msgid "C# SAM library, pants, fortuna integration"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:325
+msgid "libSAM"
+msgstr ""
+
+#: i2p2www/pages/site/about/team.html:329
+#: i2p2www/pages/site/about/team.html:333
+msgid "i2p-bt tracker development"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/future.html:61
+msgid "Migrate sessionTag to synchronized PRNG"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/future.html:141
+msgid ""
+"Access control lists (only allowing streams to or from certain other "
+"known \n"
+"destinations)."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/history.html:32
+msgid "Garlic wrapping a \"reply\" LeaseSet"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/history.html:66
+msgid "More efficient TCP rejection"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/history.html:117
+msgid "Update the ministreaming protocol"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/about/performance/index.html:40
+msgid "and on way back 6 different I2P nodes:"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+