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 € 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 €" +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 "… 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% 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% 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 "" +