diff --git a/i2p2www/translations/id/LC_MESSAGES/about.po b/i2p2www/translations/id/LC_MESSAGES/about.po new file mode 100644 index 0000000000000000000000000000000000000000..f1a8d084f818dbc5182a4fce1d42752afada9ee3 --- /dev/null +++ b/i2p2www/translations/id/LC_MESSAGES/about.po @@ -0,0 +1,2332 @@ +# Indonesian translations for I2P. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the I2P project. +# +# Translators: +# Khairul Agasta <khairuldroids@gmail.com>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: I2P\n" +"Report-Msgid-Bugs-To: http://trac.i2p2.de\n" +"POT-Creation-Date: 2014-07-26 02:42+0000\n" +"PO-Revision-Date: 2014-08-12 06:05+0000\n" +"Last-Translator: Khairul Agasta <khairuldroids@gmail.com>\n" +"Language-Team: Indonesian " +"(http://www.transifex.com/projects/p/I2P/language/id/)\n" +"Plural-Forms: nplurals=1; plural=0\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 "Konfigurasi Peramban Web" + +#: 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 "" +"Peramban web Anda akan perlu dikonfigurasikan agar dapat menjelajahi " +"eepsites dan\n" +"menggunakan outproxy yang tersedia didalam I2P. Dibawah ini adalah " +"walkthrough untuk beberapa macam\n" +"peramban yang populer." + +#: i2p2www/pages/site/about/browser-config.html:11 +msgid "How to configure your browser" +msgstr "Bagaimana mengkonfigurasikan peramban Anda" + +#: i2p2www/pages/site/about/browser-config.html:17 +#: i2p2www/pages/site/about/browser-config.html:70 +msgid "Outproxy Terms Of Service" +msgstr "Ketentuan Layanan Outproxy" + +#: i2p2www/pages/site/about/browser-config.html:22 +msgid "Internet Explorer 8 or Chrome" +msgstr "Internet Explorer 8 atau 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 "" +"Dalam menu tools pilih baris \"Internet Options\" untuk membuka " +"pengaturan. Dalam\n" +"jendela pengaturan pilih tab connections lalu klik pada LAN settings " +"untuk\n" +"konfigurasi port proxy." + +#: i2p2www/pages/site/about/browser-config.html:28 +msgid "IE Internet Options" +msgstr "Opsi Internet 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 "" +"Sekarang tandai pada \"use a proxy server for your LAN\" dan pada " +"\"Bypass\n" +"proxy server for local addresses\". Dengan mengklik tombol Advanced Anda " +"membuka\n" +"jendela untuk membuka port. Masukkan value seperti pada gambar, IP " +"127.0.0.1\n" +"dan port 4444 untuk HTTP, port 4445 untuk HTTPS. Dengan mengklik OK Anda " +"menyimpan\n" +"pengaturan dan peramban Anda sudah disetel untuk menggunakan proxy I2P." + +#: i2p2www/pages/site/about/browser-config.html:36 +msgid "IE Proxy Settings" +msgstr "Pengaturan Proxy IE" + +#: i2p2www/pages/site/about/browser-config.html:40 +msgid "" +"From the Tools menu, select Options to bring up the Firefox settings " +"panel.\n" +"Click the icon labelled <em>Advanced</em>, then click on the " +"<em>Network</em>\n" +"tab. In the <em>Connections</em> section, click on the Settings button. " +"You'll\n" +"see a Window like the following:" +msgstr "" +"Dari menu Tools, pilih Options untuk membuka panel pengaturan Firefox.\n" +"Klik icon berlabel <em>Advanced</em>, kemudian klik tab <em>Network</em>." +"\n" +"Pada bagian <em>Connections</em>, klik tombol Settings. Anda akan\n" +"melihat jendela seperti berikut:" + +#: i2p2www/pages/site/about/browser-config.html:46 +msgid "Firefox Network Options" +msgstr "Opsi Jaringan Firefox" + +#: i2p2www/pages/site/about/browser-config.html:47 +msgid "" +"In the <em>Connection Settings</em> window, click the circle next to " +"<em>Manual\n" +" proxy configuration</em>, then enter 127.0.0.1, port 4444 in the HTTP" +" Proxy\n" +"field. Enter 127.0.0.1, port 4445 in the SSL Proxy field.\n" +"Be sure to enter localhost and 127.0.0.1 into the \"No Proxy for\" box." +msgstr "" +"Dalam jendela <em>Connection Settings</em>, klik lingkaran dekat " +"<em>Manual\n" +"proxy configuration</em>, kemudian masukkan 127.0.0.1, port 4444 dalam " +"field\n" +"HTTP Proxy. Masukkan 127.0.0.1, port 4445 dalam field SSL Proxy.\n" +"Pastikan untuk memasukkan localhost dan 127.0.0.1 kedalam box \"No Proxy" +" for\"." + +#: i2p2www/pages/site/about/browser-config.html:53 +msgid "Firefox Proxy Settings" +msgstr "Pengaturan Proxy Firefox" + +#: i2p2www/pages/site/about/browser-config.html:57 +msgid "" +"From the <em>Settings</em> menu, select <em>Configure Konqueror</em>. In " +"the\n" +"Web Browsing group on the left side, select Proxy, then select the option" +" \"Use manually specified proxy\n" +"configuration\" on the right." +msgstr "" +"Dari menu <em>Settings</em>, pilih <em>Configure Konqueror</em>. Dalam\n" +"grup Web Browsing pada sisi kiri, pilih Proxy, kemudian pilih opsi \"Use " +"manually specified proxy\n" +"configuration\" di sisi kanan." + +#: i2p2www/pages/site/about/browser-config.html:62 +msgid "Konqueror Proxy Options" +msgstr "Opsi Proxy Konqueror" + +#: i2p2www/pages/site/about/browser-config.html:63 +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. Enter <code>127.0.0.1,localhost</code> into the Exceptions " +"box. Click Apply then OK\n" +"to close the configuration window." +msgstr "" +"Masukkan 127.0.0.1 dan port 4444 kedalam box HTTP. Masukkan 127.0.0.1 dan" +" port 4445 kedalam\n" +"box HTTPS. Masukkan <code>127.0.0.1,localhost</code> kedalam box " +"Exceptions. Klik Apply kemudian OK\n" +"untuk menutup jendela konfigurasi." + +#: i2p2www/pages/site/about/browser-config.html:71 +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 "" +"Ingat: I2P tidak dirancang untuk membuat proxy ke Internet luar.\n" +"Malahan, hal ini dimaksudkan untuk digunakan sebagai sebuah jaringan " +"internal." + +#: i2p2www/pages/site/about/browser-config.html:75 +msgid "" +"<b>The I2P project itself does not run any proxies to the Internet. Any " +"such proxy\n" +"services are run by by private volunteers and could be shut down or\n" +"unreachable at anytime.</b>" +msgstr "" +"<b>Proyek I2P sendiri tidak menjalankan proxy apapun ke Internet. " +"Berbagai layanan\n" +"proxy seperti itu dijalankan oleh relawan pribadi dan tidak dapat " +"dimatikan\n" +"ataupun tidak dapat dicapai kapanpun.</b>" + +#: i2p2www/pages/site/about/browser-config.html:80 +#, 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 "" +"Dengan default, I2P datang bersama dua outproxy terkonfigurasi: " +"<code>%(http)s</code>\n" +"(sebuah proxy hanya-HTTP) dan <code>%(https)s</code> (sebuah proxy HTTPS\n" +"yang diarahkan melalui Tor)." + +#: i2p2www/pages/site/about/browser-config.html:85 +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 "" +"Kedua outproxy tersebut dikonfigurasikan dengan batasan koneksi. Ini " +"artinya\n" +"hanya jumlah akses tertentu yang diizinkan per klien. Ketika batasan " +"sudah\n" +"dicapai, klien diblok untuk frame waktu 1min/1h/1 hari. Hormatilah dan " +"jangan\n" +"memuat secara berlebih pada layanan tersebut dengan banyak permintaan!" + +#: i2p2www/pages/site/about/browser-config.html:91 +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 "" +"Penyaringan sudah aktif pada outproxy tersbut (sebagai contoh, akses\n" +"tracker mibbit dan torrent diblokir). Eepsites\n" +"yang dapat diakses melalui alamat .i2p juga tidak diizinkan melalui " +"outproxy.\n" +"Sebagai bentuk kenyamanan, <code>false.i2p</code> memblokir server " +"periklanan." + +#: i2p2www/pages/site/about/browser-config.html:97 +msgid "" +"<a href=\"https://www.torproject.org\">Tor</a> is good application to use" +" as an\n" +"outproxy to the Internet." +msgstr "" +"<a href=\"https://www.torproject.org\">Tor</a> adalah aplikasi baik untuk" +" digunakan\n" +"sebagai sebuah outpxory ke Internet." + +#: i2p2www/pages/site/about/glossary.html:2 +msgid "Glossary" +msgstr "Glosarium" + +#: i2p2www/pages/site/about/glossary.html:4 +msgid "" +"This page lists often-used terminology when discussing I2P and " +"cryptography." +msgstr "" +"Halaman ini menampilkan terminologi yang sering digunakan ketika " +"mendiskusikan I2P dan kriptografi." + +#: i2p2www/pages/site/about/hall-of-fame.html:2 +msgid "Hall Of Fame" +msgstr "Hall Of Fame" + +#: i2p2www/pages/site/about/hall-of-fame.html:5 +#, python-format +msgid "Current balance: as of %(date)s" +msgstr "Saldo saat ini: per %(date)s" + +#: i2p2www/pages/site/about/hall-of-fame.html:8 +#: i2p2www/pages/site/about/hall-of-fame.html:44 +#: 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: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:321 +#: i2p2www/pages/site/about/hall-of-fame.html:322 +#: i2p2www/pages/site/about/hall-of-fame.html:323 +#: 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:331 +#: 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:341 +#: i2p2www/pages/site/about/hall-of-fame.html:342 +#: 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:348 +#: i2p2www/pages/site/about/hall-of-fame.html:349 +#: 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:358 +#: 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: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: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:373 +#: i2p2www/pages/site/about/hall-of-fame.html:374 +#: i2p2www/pages/site/about/hall-of-fame.html:377 +#: i2p2www/pages/site/about/hall-of-fame.html:378 +#: 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:382 +#: 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:388 +#: i2p2www/pages/site/about/hall-of-fame.html:389 +#: i2p2www/pages/site/about/hall-of-fame.html:391 +#: i2p2www/pages/site/about/hall-of-fame.html:392 +#: i2p2www/pages/site/about/hall-of-fame.html:393 +#: i2p2www/pages/site/about/hall-of-fame.html:394 +#: i2p2www/pages/site/about/hall-of-fame.html:395 +#: i2p2www/pages/site/about/hall-of-fame.html:401 +#: 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: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: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:428 +#: i2p2www/pages/site/about/hall-of-fame.html:429 +#: 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:444 +#: 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:448 +#: 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:454 +#: i2p2www/pages/site/about/hall-of-fame.html:455 +#: i2p2www/pages/site/about/hall-of-fame.html:456 +#: i2p2www/pages/site/about/hall-of-fame.html:457 +#: 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: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:471 +#: i2p2www/pages/site/about/hall-of-fame.html:472 +#: 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:476 +#: i2p2www/pages/site/about/hall-of-fame.html:477 +#: i2p2www/pages/site/about/hall-of-fame.html:478 +#: i2p2www/pages/site/about/hall-of-fame.html:479 +#: 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:488 +#: 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:498 +#: i2p2www/pages/site/about/hall-of-fame.html:499 +#: 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 +#: i2p2www/pages/site/about/hall-of-fame.html:503 +#: i2p2www/pages/site/about/hall-of-fame.html:504 +#: i2p2www/pages/site/about/hall-of-fame.html:505 +#: i2p2www/pages/site/about/hall-of-fame.html:506 +#: i2p2www/pages/site/about/hall-of-fame.html:507 +#: i2p2www/pages/site/about/hall-of-fame.html:508 +#: i2p2www/pages/site/about/hall-of-fame.html:509 +#: i2p2www/pages/site/about/hall-of-fame.html:510 +#: i2p2www/pages/site/about/hall-of-fame.html:511 +#: i2p2www/pages/site/about/hall-of-fame.html:513 +#: i2p2www/pages/site/about/hall-of-fame.html:514 +#: i2p2www/pages/site/about/hall-of-fame.html:515 +#: i2p2www/pages/site/about/hall-of-fame.html:518 +#: i2p2www/pages/site/about/hall-of-fame.html:519 +#: i2p2www/pages/site/about/hall-of-fame.html:522 +#: i2p2www/pages/site/about/hall-of-fame.html:523 +#: i2p2www/pages/site/about/hall-of-fame.html:525 +#: i2p2www/pages/site/about/hall-of-fame.html:526 +#: i2p2www/pages/site/about/hall-of-fame.html:539 +#: i2p2www/pages/site/about/hall-of-fame.html:540 +#: i2p2www/pages/site/about/hall-of-fame.html:541 +#: i2p2www/pages/site/about/hall-of-fame.html:542 +#: i2p2www/pages/site/about/hall-of-fame.html:543 +#: i2p2www/pages/site/about/hall-of-fame.html:544 +#: i2p2www/pages/site/about/hall-of-fame.html:545 +#: i2p2www/pages/site/about/hall-of-fame.html:546 +#: i2p2www/pages/site/about/hall-of-fame.html:547 +#: i2p2www/pages/site/about/hall-of-fame.html:548 +#: i2p2www/pages/site/about/hall-of-fame.html:549 +#: i2p2www/pages/site/about/hall-of-fame.html:550 +#: i2p2www/pages/site/about/hall-of-fame.html:551 +#: i2p2www/pages/site/about/hall-of-fame.html:552 +#: i2p2www/pages/site/about/hall-of-fame.html:553 +#: i2p2www/pages/site/about/hall-of-fame.html:554 +#: i2p2www/pages/site/about/hall-of-fame.html:555 +#: i2p2www/pages/site/about/hall-of-fame.html:556 +#: i2p2www/pages/site/about/hall-of-fame.html:557 +#: i2p2www/pages/site/about/hall-of-fame.html:558 +#: i2p2www/pages/site/about/hall-of-fame.html:559 +#: i2p2www/pages/site/about/hall-of-fame.html:560 +#: i2p2www/pages/site/about/hall-of-fame.html:561 +#: i2p2www/pages/site/about/hall-of-fame.html:562 +#: i2p2www/pages/site/about/hall-of-fame.html:563 +#: i2p2www/pages/site/about/hall-of-fame.html:564 +#: i2p2www/pages/site/about/hall-of-fame.html:565 +#: i2p2www/pages/site/about/hall-of-fame.html:566 +#: i2p2www/pages/site/about/hall-of-fame.html:567 +#: i2p2www/pages/site/about/hall-of-fame.html:568 +#: i2p2www/pages/site/about/hall-of-fame.html:569 +#: i2p2www/pages/site/about/hall-of-fame.html:570 +#: i2p2www/pages/site/about/hall-of-fame.html:571 +#: i2p2www/pages/site/about/hall-of-fame.html:572 +#: i2p2www/pages/site/about/hall-of-fame.html:573 +#: i2p2www/pages/site/about/hall-of-fame.html:575 +#: i2p2www/pages/site/about/hall-of-fame.html:576 +#: i2p2www/pages/site/about/hall-of-fame.html:577 +#: i2p2www/pages/site/about/hall-of-fame.html:578 +#: i2p2www/pages/site/about/hall-of-fame.html:579 +#: i2p2www/pages/site/about/hall-of-fame.html:580 +#: i2p2www/pages/site/about/hall-of-fame.html:581 +#: i2p2www/pages/site/about/hall-of-fame.html:582 +#: i2p2www/pages/site/about/hall-of-fame.html:584 +#: i2p2www/pages/site/about/hall-of-fame.html:585 +#: i2p2www/pages/site/about/hall-of-fame.html:586 +#: i2p2www/pages/site/about/hall-of-fame.html:588 +#: i2p2www/pages/site/about/hall-of-fame.html:589 +#: i2p2www/pages/site/about/hall-of-fame.html:590 +#: i2p2www/pages/site/about/hall-of-fame.html:591 +#: i2p2www/pages/site/about/hall-of-fame.html:592 +#: i2p2www/pages/site/about/hall-of-fame.html:594 +#: i2p2www/pages/site/about/hall-of-fame.html:597 +#: i2p2www/pages/site/about/hall-of-fame.html:598 +#: i2p2www/pages/site/about/hall-of-fame.html:599 +#: i2p2www/pages/site/about/hall-of-fame.html:600 +#: i2p2www/pages/site/about/hall-of-fame.html:601 +#: i2p2www/pages/site/about/hall-of-fame.html:602 +#: i2p2www/pages/site/about/hall-of-fame.html:603 +#: i2p2www/pages/site/about/hall-of-fame.html:604 +#: i2p2www/pages/site/about/hall-of-fame.html:605 +#: i2p2www/pages/site/about/hall-of-fame.html:606 +#: i2p2www/pages/site/about/hall-of-fame.html:607 +#: i2p2www/pages/site/about/hall-of-fame.html:608 +#: i2p2www/pages/site/about/hall-of-fame.html:609 +#: i2p2www/pages/site/about/hall-of-fame.html:610 +#: i2p2www/pages/site/about/hall-of-fame.html:612 +#: i2p2www/pages/site/about/hall-of-fame.html:613 +#: i2p2www/pages/site/about/hall-of-fame.html:614 +#: i2p2www/pages/site/about/hall-of-fame.html:616 +#: i2p2www/pages/site/about/hall-of-fame.html:619 +#: i2p2www/pages/site/about/hall-of-fame.html:620 +#: i2p2www/pages/site/about/hall-of-fame.html:621 +#: i2p2www/pages/site/about/hall-of-fame.html:622 +#: i2p2www/pages/site/about/hall-of-fame.html:623 +#: i2p2www/pages/site/about/hall-of-fame.html:624 +#: i2p2www/pages/site/about/hall-of-fame.html:625 +#: i2p2www/pages/site/about/hall-of-fame.html:626 +#: i2p2www/pages/site/about/hall-of-fame.html:627 +#: i2p2www/pages/site/about/hall-of-fame.html:628 +#: i2p2www/pages/site/about/hall-of-fame.html:629 +#: i2p2www/pages/site/about/hall-of-fame.html:630 +#: i2p2www/pages/site/about/hall-of-fame.html:631 +#: i2p2www/pages/site/about/hall-of-fame.html:632 +#: i2p2www/pages/site/about/hall-of-fame.html:633 +#: i2p2www/pages/site/about/hall-of-fame.html:634 +#: i2p2www/pages/site/about/hall-of-fame.html:635 +#: i2p2www/pages/site/about/hall-of-fame.html:636 +#: i2p2www/pages/site/about/hall-of-fame.html:637 +#: i2p2www/pages/site/about/hall-of-fame.html:639 +#: i2p2www/pages/site/about/hall-of-fame.html:640 +#: i2p2www/pages/site/about/hall-of-fame.html:641 +msgid "General fund" +msgstr "Dana umum" + +#: 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:17 +#, python-format +msgid "%(euroval)s € and %(btcval)s BTC" +msgstr "%(euroval)s € dan %(btcval)s BTC" + +#: i2p2www/pages/site/about/hall-of-fame.html:10 +msgid "Datastorage bounty" +msgstr "Datastorage bounty" + +#: i2p2www/pages/site/about/hall-of-fame.html:12 +msgid "I2PHex bounty" +msgstr "I2PHex bounty" + +#: i2p2www/pages/site/about/hall-of-fame.html:13 +#: i2p2www/pages/site/about/hall-of-fame.html:15 +#: i2p2www/pages/site/about/hall-of-fame.html:19 +#, python-format +msgid "%(euroval)s €" +msgstr "%(euroval)s €" + +#: i2p2www/pages/site/about/hall-of-fame.html:14 +msgid "I2P in debian mirrors" +msgstr "I2P dalam mirror debian" + +#: i2p2www/pages/site/about/hall-of-fame.html:16 +msgid "Bitcoin client for I2P" +msgstr "Klien bitcoin untuk I2P" + +#: i2p2www/pages/site/about/hall-of-fame.html:18 +msgid "Unit Tests for I2P router" +msgstr "Unit Pengujian untuk router I2P" + +#: i2p2www/pages/site/about/hall-of-fame.html:20 +msgid "Bounty Robert" +msgstr "Bounty Robert" + +#: i2p2www/pages/site/about/hall-of-fame.html:21 +msgid "Bounty Syndie" +msgstr "Bounty Syndie" + +#: i2p2www/pages/site/about/hall-of-fame.html:22 +msgid "Bounty I2P for CCR Microtic Board" +msgstr "Bounty I2P untuk CCR Microtic Board" + +#: i2p2www/pages/site/about/hall-of-fame.html:25 +msgid "Current monthly running costs:" +msgstr "Biaya berjalan bulanan saat ini:" + +#: i2p2www/pages/site/about/hall-of-fame.html:36 +msgid "Big thanks go to the following people who have donated to I2P!" +msgstr "" +"Terima kasih yang sebesar-besarnya kepada mereka yang telah mendonasikan " +"ke I2P!" + +#: i2p2www/pages/site/about/hall-of-fame.html:37 +#, 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 "" +"Jika Anda telah melakukan donasi, silahkan kirimkan email ke <a " +"href=\"mailto:%(echelon)s\">echelon</a>\n" +"dengan nama atau alias Anda (dan beranda opsional) jadi kami dapat " +"mendaftarkan Anda disini." + +#: i2p2www/pages/site/about/hall-of-fame.html:42 +msgid "Current monthly subscriptions:" +msgstr "Langganan bulanan saat ini:" + +#: i2p2www/pages/site/about/hall-of-fame.html:48 +msgid "2014 donations and costs:" +msgstr "2014 donasi dan biaya:" + +#: i2p2www/pages/site/about/hall-of-fame.html:131 +msgid "2013 donations and costs:" +msgstr "2013 donasi dan biaya:" + +#: i2p2www/pages/site/about/hall-of-fame.html:308 +msgid "2012 donations and costs:" +msgstr "2012 donasi dan biaya:" + +#: i2p2www/pages/site/about/hall-of-fame.html:436 +msgid "2011 donations and costs:" +msgstr "2011 donasi dan biaya:" + +#: i2p2www/pages/site/about/hall-of-fame.html:537 +msgid "Previous to 2011 donations:" +msgstr "Donasi sebelumnya sampai 2011:" + +#: i2p2www/pages/site/about/intro.html:2 +msgid "Intro" +msgstr "Intro" + +#: i2p2www/pages/site/about/intro.html:4 +msgid "The Invisible Internet Project" +msgstr "The Invisible Internet Project" + +#: i2p2www/pages/site/about/intro.html:5 +#, python-format +msgid "" +"I2P is an anonymous network, exposing a simple layer that applications " +"can \n" +"use to anonymously and securely send messages to each other. The network " +"itself is \n" +"strictly message based (a la <a href=\"%(ip)s\">IP</a>), but there is a \n" +"library available to allow reliable streaming communication on top of it " +"(a la \n" +"<a href=\"%(tcp)s\">TCP</a>). \n" +"All communication is end to end encrypted (in total there are four layers" +" of \n" +"encryption used when sending a message), and even the end points " +"(\"destinations\") \n" +"are cryptographic identifiers (essentially a pair of <a " +"href=\"%(pke)s\">public keys</a>)." +msgstr "" +"I2P adalah sebuah jaringan anonim, mengekspos lapisan sederhana yang " +"aplikasi \n" +"dapat gunakan untuk secara anonim dan aman mengirimkan pesan ke satu sama" +" lain.\n" +"Jaringan itu sendiri adalah semata-mata berbasis perpesanan (a la <a " +"href=\"%(ip)s\">IP</a>), \n" +"tetapi ada sebuah pustaka yang tersedia untuk memungkinkan komunikasi " +"streaming \n" +"yang dapat diandalkan diatasnya (a la <a href=\"%(tcp)s\">TCP</a>).\n" +"Semua komunikasi dienkripsi akhir ke akhir (total terdapat empat lapisan" +" \n" +"enkripsi yang digunakan ketika mengirim sebuah pesan), dan bahkan titik " +"akhirnya (\"tujuan\") \n" +"adalah pengidentifikasi kriptografik (pada dasarnya sepasang <a " +"href=\"%(pke)s\">public keys</a>)." + +#: i2p2www/pages/site/about/intro.html:18 +msgid "How does it work?" +msgstr "Bagaiman cara kerjanya?" + +#: 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 "" +"Untuk menganonimkan pesan yang dikirim, setiap klien aplikasi memiliki " +"build \"router\"\n" +"I2P masing-masing dengan beberapa inbound dan outbound \"<a " +"href=\"%(tunnelrouting)s\">tunnels</a>\" - \n" +"sebuah urutan peer yang melewati pesan dalam satu arah (ke dan dari " +"klien, \n" +"berturut-turut). Pada gilirannya, ketika klien ingin mengirim pesan ke " +"klien lain, \n" +"klien akan melewati pesan itu dari salah satu outbound tunnels nya yang " +"menargetkan \n" +"satu dari klien inbound tunnels lain, dan akhirnya sampai ke tujuan. " +"Setiap \n" +"partisipan dalam jaringan memilih panjang tunnels tersebut, dan dalam " +"melakukannya, \n" +"membuat pertukaran diantara anonimitas, latency, dan throughput " +"berdasarkan pada \n" +"kebutuhan. Hasilnya adalah jumlah peers yang merelay setiap pesan akhir " +"ke akhir \n" +"adalah minimum absolut yang diperlukan untuk bertemu dengan kedua " +"pengirim dan \n" +"penerima model ancaman." + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: i2p2www/pages/site/about/media.html:7 +#, python-format +msgid "To request an addition to this page, please send to %(email)s." +msgstr "" + +#: i2p2www/pages/site/about/media.html:10 +msgid "" +"\n" +"Newest links are at the bottom of each section." +msgstr "" + +#: 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 (Thessaloniki Tech Talk Sessions), November 4, 2011." +msgstr "" + +#: i2p2www/pages/site/about/media.html:97 +#, python-format +msgid "" +"<a href=\"%(link)s\">I2P - The Anonymous Network</a>\n" +"(Youtube Video)\n" +"Blair Dick, University of Abertay, Dundee Ethical Hacking Society, " +"January 25, 2012." +msgstr "" + +#: i2p2www/pages/site/about/media.html:105 +msgid "Tutorials" +msgstr "" + +#: i2p2www/pages/site/about/media.html:108 +#, 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:115 +#, 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:122 +#, 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:129 +#, 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:136 +#, 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:143 +#, 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:149 +#, 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:155 +#, 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:162 +#, 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:170 +msgid "Articles and Interviews" +msgstr "" + +#: i2p2www/pages/site/about/media.html:173 +#, python-format +msgid "" +"Lance James (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:181 +#, python-format +msgid "" +"Lance James (0x90) Interviewed by El PaÃs\n" +"(original in Spanish)\n" +"<a href=\"%(link)s\">English translation</a>\n" +"October 31, 2002." +msgstr "" + +#: i2p2www/pages/site/about/media.html:188 +#, python-format +msgid "" +"<a href=\"%(link)s\">2003 Business Week article referencing " +"invisiblenet</a>" +msgstr "" + +#: i2p2www/pages/site/about/media.html:192 +#, 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:198 +#, 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:205 +#, 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:210 +#, 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:216 +#, 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/media.html:223 +msgid "Other" +msgstr "" + +#: i2p2www/pages/site/about/media.html:226 +msgid "" +"I2P mentioned in Netflix's \"House of Cards\" Season 2 Episode 2,\n" +"February 14, 2014" +msgstr "" + +#: i2p2www/pages/site/about/team.html:2 +msgid "I2P Project Members" +msgstr "" + +#: 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 "" + +#: 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 +msgid "Assistant PR manager" +msgstr "" + +#: i2p2www/pages/site/about/team.html:31 +msgid "Public speaking, public relations assistance" +msgstr "" + +#: i2p2www/pages/site/about/team.html:34 +#, python-format +msgid "<a href=\"http://%(forum)s/\">Forum</a> admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:36 +msgid "manage the public user forum" +msgstr "" + +#: i2p2www/pages/site/about/team.html:39 +msgid "Download mirrors admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:41 +msgid "manage the mirrors for the download files" +msgstr "" + +#: i2p2www/pages/site/about/team.html:44 +msgid "Website mirrors admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:45 i2p2www/pages/site/about/team.html:80 +#: i2p2www/pages/site/about/team.html:95 i2p2www/pages/site/about/team.html:100 +#: i2p2www/pages/site/about/team.html:125 +#: i2p2www/pages/site/about/team.html:162 +#: i2p2www/pages/site/about/team.html:172 +#: i2p2www/pages/site/about/team.html:177 +#: i2p2www/pages/site/about/team.html:182 +#: i2p2www/pages/site/about/team.html:187 +#: i2p2www/pages/site/about/team.html:192 +#: i2p2www/pages/site/about/team.html:225 +msgid "vacant" +msgstr "" + +#: i2p2www/pages/site/about/team.html:46 +msgid "manage the mirrors for the website" +msgstr "" + +#: i2p2www/pages/site/about/team.html:49 +#, python-format +msgid "<a href=\"%(monotone)s\">Monotone</a> guru" +msgstr "" + +#: i2p2www/pages/site/about/team.html:51 +msgid "manage the public monotone repositories" +msgstr "" + +#: i2p2www/pages/site/about/team.html:54 +msgid "Packager; Linux" +msgstr "" + +#: i2p2www/pages/site/about/team.html:56 +msgid "Linux (Debian/Ubuntu) distribution packager" +msgstr "" + +#: i2p2www/pages/site/about/team.html:59 +msgid "Packager; Windows" +msgstr "" + +#: i2p2www/pages/site/about/team.html:61 +msgid "Windows installer packager" +msgstr "" + +#: i2p2www/pages/site/about/team.html:64 +msgid "Release Manager" +msgstr "" + +#: i2p2www/pages/site/about/team.html:66 +msgid "Builds and signs the releases" +msgstr "" + +#: i2p2www/pages/site/about/team.html:69 +msgid "Update admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:71 +msgid "Monitors and recruits in-network update hosts" +msgstr "" + +#: i2p2www/pages/site/about/team.html:74 +msgid "Reseed admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:76 +msgid "Monitors, advises and recruits reseed hosts" +msgstr "" + +#: i2p2www/pages/site/about/team.html:79 +msgid "Security expert" +msgstr "" + +#: i2p2www/pages/site/about/team.html:81 +msgid "threat model / crypto expert" +msgstr "" + +#: i2p2www/pages/site/about/team.html:86 +msgid "Manage the project bug tracker" +msgstr "" + +#: i2p2www/pages/site/about/team.html:89 +msgid "Translation admins" +msgstr "" + +#: i2p2www/pages/site/about/team.html:94 +msgid "User Advocate" +msgstr "" + +#: i2p2www/pages/site/about/team.html:96 +msgid "gather, prioritize, advocate for user needs" +msgstr "" + +#: i2p2www/pages/site/about/team.html:99 +msgid "Web Designer" +msgstr "" + +#: i2p2www/pages/site/about/team.html:101 +msgid "manage the public project website content design" +msgstr "" + +#: i2p2www/pages/site/about/team.html:104 +#, python-format +msgid "<a href=\"%(website)s\">Webserver</a> admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:106 +msgid "manage the public project webservers" +msgstr "" + +#: i2p2www/pages/site/about/team.html:109 +#, python-format +msgid "<a href=\"%(website)s\">Website</a> admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:111 +msgid "manage the public project website content" +msgstr "" + +#: i2p2www/pages/site/about/team.html:114 +msgid "News Admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:116 +msgid "manage router console news feed" +msgstr "" + +#: i2p2www/pages/site/about/team.html:119 +msgid "Backup News Admin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:121 +msgid "manage the backup news feed" +msgstr "" + +#: i2p2www/pages/site/about/team.html:124 +msgid "Director of passion" +msgstr "" + +#: i2p2www/pages/site/about/team.html:126 +msgid "community motivator" +msgstr "" + +#: i2p2www/pages/site/about/team.html:130 +msgid "Dev" +msgstr "" + +#: i2p2www/pages/site/about/team.html:131 +msgid "Core Lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:133 +msgid "lead dev for the SDK and router" +msgstr "" + +#: i2p2www/pages/site/about/team.html:136 +#, python-format +msgid "<a href=\"http://%(postman)s/\">I2P mail</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:138 +msgid "organize and develop the i2p mail system" +msgstr "" + +#: i2p2www/pages/site/about/team.html:141 +#, python-format +msgid "<a href=\"http://%(i2host)s/\">I2Host</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:143 +msgid "I2Host addressbook application" +msgstr "" + +#: i2p2www/pages/site/about/team.html:146 +#, python-format +msgid "<a href=\"http://%(bob)s/\">BOB</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:148 +msgid "Basic Open Bridge" +msgstr "" + +#: i2p2www/pages/site/about/team.html:151 +#, python-format +msgid "<a href=\"http://%(bote)s/\">I2P-Bote</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:153 +msgid "I2PBote plugin" +msgstr "" + +#: i2p2www/pages/site/about/team.html:156 +#, python-format +msgid "<a href=\"http://%(bob)s/\">Robert</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:158 +msgid "Robert BitTorrent client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:161 +#, python-format +msgid "<a href=\"http://%(forum)s/viewforum?f=25\">I2Phex</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:163 +msgid "I2Phex Gnutella client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:166 +#, python-format +msgid "<a href=\"http://%(forum)s/viewforum?f=21\">I2PSnark</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:168 +msgid "Maintains the integrated Bittorrent client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:171 +#, python-format +msgid "<a href=\"http://%(forum)s/viewforum?f=30\">iMule</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:173 +msgid "eMule client over I2P" +msgstr "" + +#: i2p2www/pages/site/about/team.html:176 +#, python-format +msgid "<a href=\"http://%(forum)s/viewforum?f=29\">Syndie</a> lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:178 +msgid "Syndie development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:181 +msgid "Susimail lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:183 +msgid "Susimail development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:186 +msgid "Console" +msgstr "" + +#: i2p2www/pages/site/about/team.html:188 +msgid "Router console HTML/CSS design" +msgstr "" + +#: i2p2www/pages/site/about/team.html:191 +msgid "SAM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:193 +msgid "SAM maintainer" +msgstr "" + +#: i2p2www/pages/site/about/team.html:196 +msgid "I2PCPP lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:198 +msgid "C++ Router" +msgstr "" + +#: i2p2www/pages/site/about/team.html:201 +msgid "Translators" +msgstr "" + +#: i2p2www/pages/site/about/team.html:202 +msgid "many many people!" +msgstr "" + +#: i2p2www/pages/site/about/team.html:207 +msgid "Contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:209 +msgid "fire2pe dev, console enhancements" +msgstr "" + +#: i2p2www/pages/site/about/team.html:213 +msgid "desktopgui, dijjer port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:217 +msgid "Debian/Ubuntu Packager and PPA maintainer" +msgstr "" + +#: i2p2www/pages/site/about/team.html:221 +msgid "Routerconsole backend and UI work, website revamp, unit tests work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:226 +msgid "Help needed on many fronts!" +msgstr "" + +#: i2p2www/pages/site/about/team.html:230 +msgid "Past contributors" +msgstr "" + +#: i2p2www/pages/site/about/team.html:232 +msgid "I2PTunnel development, ministreaming library" +msgstr "" + +#: i2p2www/pages/site/about/team.html:236 +msgid "Project lead, Syndie lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:240 +msgid "Project lead, Syndie lead, I2Phex, support guru" +msgstr "" + +#: i2p2www/pages/site/about/team.html:244 +msgid "iMule lead" +msgstr "" + +#: i2p2www/pages/site/about/team.html:248 +#: i2p2www/pages/site/about/team.html:252 +#: i2p2www/pages/site/about/team.html:256 +msgid "I2Phex work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:260 +msgid "Python SAM library, attack simulations" +msgstr "" + +#: i2p2www/pages/site/about/team.html:264 +msgid "i2pmail development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:268 +msgid "Syndie help" +msgstr "" + +#: i2p2www/pages/site/about/team.html:272 +msgid "i2p mail,susimail and susidns apps" +msgstr "" + +#: i2p2www/pages/site/about/team.html:276 +msgid "I2Phex (port of Phex to I2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:280 +msgid "addressbook,i2p-bt,syndie client" +msgstr "" + +#: i2p2www/pages/site/about/team.html:284 +msgid "organize and develop the i2p-bt BitTorrent port" +msgstr "" + +#: i2p2www/pages/site/about/team.html:288 +msgid "addressbook, i2p-bt, syndie client development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:292 +msgid "encryption and signature routines, I2PIM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:296 +msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)" +msgstr "" + +#: i2p2www/pages/site/about/team.html:300 +msgid "installer, systray, bogobot" +msgstr "" + +#: i2p2www/pages/site/about/team.html:304 +msgid "jbigi development, wiki migration, doc cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:308 +msgid "java debugging and client development on I2PTunnel and the router console" +msgstr "" + +#: i2p2www/pages/site/about/team.html:312 +msgid "SAM perl module" +msgstr "" + +#: i2p2www/pages/site/about/team.html:316 +msgid "i2psnark work" +msgstr "" + +#: i2p2www/pages/site/about/team.html:320 +msgid "java cleanup" +msgstr "" + +#: i2p2www/pages/site/about/team.html:324 +msgid "docs. wiki migration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:328 +msgid "translations into French" +msgstr "" + +#: i2p2www/pages/site/about/team.html:332 +msgid "C port of jcpuid" +msgstr "" + +#: i2p2www/pages/site/about/team.html:336 +msgid "C# SAM library, pants, fortuna integration" +msgstr "" + +#: i2p2www/pages/site/about/team.html:340 +msgid "libSAM" +msgstr "" + +#: i2p2www/pages/site/about/team.html:344 +#: i2p2www/pages/site/about/team.html:348 +msgid "i2p-bt tracker development" +msgstr "" + +#: i2p2www/pages/site/about/team.html:352 +msgid "Console and website themes" +msgstr "" + +#: i2p2www/pages/site/about/team.html:382 +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 "" + diff --git a/i2p2www/translations/id/LC_MESSAGES/get-involved.po b/i2p2www/translations/id/LC_MESSAGES/get-involved.po new file mode 100644 index 0000000000000000000000000000000000000000..8a4f2766557d31233074a98e0d95077e58a4eb7e --- /dev/null +++ b/i2p2www/translations/id/LC_MESSAGES/get-involved.po @@ -0,0 +1,4235 @@ +# Indonesian translations for I2P. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the I2P project. +# +# Translators: +# Khairul Agasta <khairuldroids@gmail.com>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: I2P\n" +"Report-Msgid-Bugs-To: http://trac.i2p2.de\n" +"POT-Creation-Date: 2014-07-26 02:42+0000\n" +"PO-Revision-Date: 2014-08-13 05:51+0000\n" +"Last-Translator: Khairul Agasta <khairuldroids@gmail.com>\n" +"Language-Team: Indonesian " +"(http://www.transifex.com/projects/p/I2P/language/id/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: i2p2www/pages/site/get-involved/donate.html:2 +#: i2p2www/pages/site/get-involved/index.html:77 +msgid "Donate" +msgstr "Donasi" + +#: i2p2www/pages/site/get-involved/donate.html:4 +msgid "" +"Thank you for your interest in contributing to I2P!\n" +"The details of how you\n" +"can make your contribution are provided below." +msgstr "" +"Terima kasih atas ketertarikan Anda dalam memberikan kontrubsi untuk I2P!" +"\n" +"Detail bagaimana Anda\n" +"dapat memberikan kontribusi disertakan dibawah." + +#: i2p2www/pages/site/get-involved/donate.html:10 +msgid "Tax Status" +msgstr "Status Pajak" + +#: i2p2www/pages/site/get-involved/donate.html:11 +msgid "" +"I2P is not incorporated.\n" +"Your contributions are probably not tax-deductible.\n" +"If you would like to discuss a large contribution, please contact eche|on." +msgstr "" +"I2P tidak berbentuk badan hukum.\n" +"Kontribusi Anda mungkin tidak mengurangi pajak.\n" +"Jika Anda ingin mendiskusikan mengenai kontribusi besar, silahkan hubungi" +" echelon." + +#: i2p2www/pages/site/get-involved/donate.html:17 +msgid "Stickers" +msgstr "Stricker" + +#: i2p2www/pages/site/get-involved/donate.html:18 +msgid "" +"While supplies last, we offer I2P stickers to those who donate enough\n" +"to cover PayPal fees and postage from the U.S.\n" +"You must include \"stickers please\" and your address in the Paypal " +"comments.\n" +"For other payment methods, follow up with an email to eche|on\n" +"with the subject \"stickers please\", your payment information, and your " +"address." +msgstr "" +"Sementara persediaan terakhir, kami menawarkan sticker I2P untuk mereka\n" +"yang memberikan donasi cukup untuk menutupi biaya PayPal dan ongkos kirim" +"\n" +"dari U.S.\n" +"Anda harus menyertakan kata \"stickers please\" beserta alamat Anda pada " +"komentar Paypal.\n" +"Untuk jenis pembayaran lain, follow up dengan email ke echelon\n" +"dengan subyek \"stickers please\", informasi pembayaran, dan alamat Anda." + +#: i2p2www/pages/site/get-involved/donate.html:27 +#, python-format +msgid "" +"As of %(date)s, eche|on has been running a\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> account for the I2P project.\n" +"ATTENTION! The address changed on 02-20-2014. ATTENTION!\n" +"If you'd like to donate using %(cointype)s, just transfer your\n" +"desired amount of coins to the account <b>%(account)s</b>\n" +"and leave eche|on a note if you'd like your donation to be\n" +"mentioned on the I2P webpage." +msgstr "" +"Pada %(date)s, echelon telah membuat sebuah\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> akun untuk proyek I2P.\n" +"PERHATIAN! Alamat diubah pada 02-20-2014. PERHATIAN!\n" +"Jika Anda ingin memberikan donasi dengan menggunakan\n" +"%(cointype)s, transfer jumlah koin yang Anda ingin donasikan\n" +"ke akun <b>%(account)s</b> dan tinggalkan catatan untuk echelon\n" +"jika Anda ingin agar donasi Anda disebutkan pada laman web I2P." + +#: i2p2www/pages/site/get-involved/donate.html:39 +#: i2p2www/pages/site/get-involved/donate.html:56 +#: i2p2www/pages/site/get-involved/donate.html:72 +msgid "For easy usage, use the QR code below!" +msgstr "Untuk penggunaan mudah, gunakan kode QR dibawah!" + +#: i2p2www/pages/site/get-involved/donate.html:44 +#, python-format +msgid "" +"As of %(date)s, eche|on has been running a\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> account for the I2P project.\n" +"ATTENTION! The address changed 02-20-2014. ATTENTION!\n" +"If you'd like to donate using %(cointype)s, just transfer your\n" +"desired amount of coins to the account <b>%(account)s</b>\n" +"and leave eche|on a note if you'd like your donation to be\n" +"mentioned on the I2P webpage." +msgstr "" +"Pada %(date)s, echelon telah membuat sebuah\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> akun untuk proyek I2P.\n" +"PERHATIAN! Alamat diubah pada 02-20-2014. PERHATIAN!\n" +"Jika Anda ingin memberikan donasi dengan menggunakan\n" +"%(cointype)s, transfer jumlah koin yang Anda ingin donasikan\n" +"ke akun <b>%(account)s</b> dan tinggal catatan untuk echelon\n" +"jika Anda ingin agar donasi Anda disebutkan pada laman web I2P." + +#: i2p2www/pages/site/get-involved/donate.html:61 +#, python-format +msgid "" +"As of %(date)s, Meeh has been running a\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> account for the I2P project.\n" +"If you'd like to donate using %(cointype)s, just transfer your\n" +"desired amount of coins to the account <b>%(account)s</b>\n" +"and leave Meeh a note if you'd like your donation to be\n" +"mentioned on the I2P webpage." +msgstr "" +"Pada %(date)s, Meeh telah membuat sebuah\n" +"<a href=\"%(coinurl)s\">%(cointype)s</a> akun untuk proyek I2P.\n" +"PERHATIAN! Alamat diubah pada 02-20-2014. PERHATIAN!\n" +"Jika Anda ingin memberikan donasi dengan menggunakan\n" +"%(cointype)s, transfer jumlah koin yang Anda ingin donasikan\n" +"ke akun <b>%(account)s</b> dan tinggal catatan untuk echelon\n" +"jika Anda ingin agar donasi Anda disebutkan pada laman web I2P." + +#: i2p2www/pages/site/get-involved/donate.html:77 +#, python-format +msgid "" +"We accept most altcoins, just ask Meeh. Other altcoins can be converted " +"and exchanged for a crypto currency we currently support. Please send a " +"mail to \"%(account)s\" for a such donation." +msgstr "" +"Kami menerima sebagian besar altcoins, silahkan bertanya ke Meeh. " +"Altcoins lain dapat dikonversik dan ditukarkan untuk mata uang kripto " +"yang kami dukung. Silahkan kirimkan email ke \"%(account)s\" untuk donasi" +" seperti itu." + +#: i2p2www/pages/site/get-involved/donate.html:84 +#, python-format +msgid "You can donate direct via PayPal to the account \"%(account)s\"." +msgstr "Anda dapat mendonasikan langsung melalui PayPal ke akun \"%(account)s\"." + +#: i2p2www/pages/site/get-involved/donate.html:90 +msgid "One time donation:" +msgstr "Donasi satu kali:" + +#: i2p2www/pages/site/get-involved/donate.html:104 +msgid "Donate 10 €/month for 12 months:" +msgstr "Donasi 10 €/bulan selama 12 bulan:" + +#: i2p2www/pages/site/get-involved/donate.html:112 +#: i2p2www/pages/site/get-involved/donate.html:124 +#: i2p2www/pages/site/get-involved/donate.html:136 +#: i2p2www/pages/site/get-involved/donate.html:148 +msgid "I2P donation " +msgstr "I2P donasi" + +#: i2p2www/pages/site/get-involved/donate.html:118 +msgid "Donate 20 €/month for 12 months:" +msgstr "Donasi 20 €/bulan selama 12 bulan:" + +#: i2p2www/pages/site/get-involved/donate.html:130 +msgid "Donate 30 €/month for 12 months:" +msgstr "Donasi 30 €/bulan selama 12 bulan:" + +#: i2p2www/pages/site/get-involved/donate.html:142 +msgid "Donate 50 €/month for 12 months:" +msgstr "Donasi 50 €/bulan selama 12 bulan:" + +#: i2p2www/pages/site/get-involved/donate.html:157 +msgid "Flattr this" +msgstr "Flattr ini" + +#: i2p2www/pages/site/get-involved/donate.html:162 +msgid "" +"If you want to keep more or less anonymous, the option to send money via " +"mail is also available. But it is less secure\n" +"as the envelope can be lost on the way to us." +msgstr "" +"Jika Anda ingin tetap lebih atau sedikit anonim, opsi untuk mengirimkan " +"uang melalui surat juga tersedia. Tetapi itu sedikit tidak aman\n" +"karena amplop bisa saja hilang selama perjalanan ke kami." + +#: i2p2www/pages/site/get-involved/donate.html:166 +#, python-format +msgid "" +"If you'd like to donate via snail mail, send an email to <a " +"href=\"mailto:%(email)s?subject=information about snailmail " +"donation\">%(email)s</a>\n" +" and you'll receive an email with instructions detailing how to proceed." +msgstr "" +"Jika Anda ingin memberikan donasi melalui surat snail, kirimkan email ke " +"<a href=\"mailto:%(email)s?subject=informasi mengenai donasi " +"snailmail\">%(email)s</a>\n" +"dan Anda akan menerima email dengan instruksi mendetail bagaimana " +"melanjutkannya." + +#: i2p2www/pages/site/get-involved/donate.html:171 +#, python-format +msgid "" +"In the meantime, feel free to take a look at the generous donations that " +"have been\n" +"given in support of the I2P Project at the <a " +"href=\"%(halloffame)s\">hall of fame</a>." +msgstr "" +"Sementara itu, jangan sungkan untuk melihat donasi para dermawan yang " +"telah diberikan\n" +"untuk mendukung Proyek I2P pada <a href=\"%(halloffame)s\">hall of " +"fame</a>." + +#: i2p2www/pages/site/get-involved/index.html:2 +msgid "Get Involved!" +msgstr "Ikut Terlibat!" + +#: i2p2www/pages/site/get-involved/index.html:4 +msgid "We need your help!" +msgstr "Kami membutuhkan bantuan Anda!" + +#: i2p2www/pages/site/get-involved/index.html:5 +msgid "" +"To get involved, please feel free to join us on the #i2p IRC channel (on\n" +"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or " +"irc.postman.i2p)." +msgstr "" +"Untuk ikut terlibat, jangan sungkan untuk bergabung dengan kami pada\n" +"channel IRC #i2p (pada irc.freenode.net, atau didalam I2P pada " +"irc.freshcoffee.i2p\n" +"atau irc.postman.i2p)." + +#: i2p2www/pages/site/get-involved/index.html:9 +#, python-format +msgid "" +"If you're interested in joining our <a href=\"%(team)s\">team</a>, please" +" get in\n" +"touch as we're always looking for eager contributors!" +msgstr "" +"Jika Anda tertarik untuk bergabung dengan <a href=\"%(team)s\">tim</a> " +"kami,\n" +"silahkan berhubungan karena kami selalu mencari kontributor yang " +"bersemangat!" + +#: i2p2www/pages/site/get-involved/index.html:13 +msgid "" +"We need help in many areas, and you don't need to know Java to " +"contribute!\n" +"Here's a list to help you get started!" +msgstr "" +"Kami membutuhkan bantuan pada banyak area, dan Anda tidak perlu mengerti " +"Java untuk berkontribusi!\n" +"Berikut adalah daftar yang akan membantu Anda dalam memulai!" + +#: i2p2www/pages/site/get-involved/index.html:18 +msgid "Spread the Word!" +msgstr "Sebarkan Berita!" + +#: i2p2www/pages/site/get-involved/index.html:19 +msgid "" +"Tell people about I2P on forums, blogs, and comments to articles.\n" +"Fix up the Wikipedia article about I2P in your language.\n" +"Tell your friends." +msgstr "" +"Katakan kepada orang-orang mengenai I2P di forum, blog, dan komentar " +"untuk artikel.\n" +"Perbaiki artikel Wikipedia mengenai I2P dalam bahasa Anda.\n" +"Katakan kepada teman-teman Anda." + +#: i2p2www/pages/site/get-involved/index.html:24 +msgid "Testing" +msgstr "Menguji" + +#: i2p2www/pages/site/get-involved/index.html:25 +#, python-format +msgid "" +"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n" +"and report results on #i2p or as bugs on <a href=\"%(trac)s\">Trac</a>." +msgstr "" +"Jalankan build terbaru dari <a href=\"%(monotone)s\">monotone</a>\n" +"dan laporkan hasilnya di #i2p atau sebagai bug di <a " +"href=\"%(trac)s\">Trac</a>." + +#: i2p2www/pages/site/get-involved/index.html:30 +msgid "Documentation" +msgstr "Dokumentasi" + +#: i2p2www/pages/site/get-involved/index.html:31 +msgid "" +"Help fix the parts of the website that are outdated or incomplete.\n" +"Translate pages into other languages." +msgstr "" +"Bantu perbaiki bagian website kami yang sudah kedaluwarsa atau tidak " +"lengkap.\n" +"Terjemahkan halaman kedalam bahasa lain." + +#: i2p2www/pages/site/get-involved/index.html:35 +msgid "Pictures" +msgstr "Gambar" + +#: i2p2www/pages/site/get-involved/index.html:36 +msgid "Make some more pictures, fix the old ones on the website" +msgstr "Membuat lebih banyak gambar, perbaiki yang lama pada website." + +#: i2p2www/pages/site/get-involved/index.html:39 +msgid "Content" +msgstr "Konten" + +#: i2p2www/pages/site/get-involved/index.html:40 +msgid "Make an eepsite! Add some content! Contribute to the community!" +msgstr "Membuat eepsite! Tambahkan beberapa konten! Kontribusi dengan komunitas!" + +#: i2p2www/pages/site/get-involved/index.html:43 +msgid "Services" +msgstr "Layanan" + +#: i2p2www/pages/site/get-involved/index.html:44 +msgid "" +"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n" +"a naming service, a search engine, an eepsite monitor... many of these\n" +"aren't that hard." +msgstr "" +"Menjalankan sebuah layanan pada eepsite. Itu bisa berupa proxy, forum\n" +"tracker, layanan penamaan, mesin pencari, pemantau eepsite... dan " +"kebanyakan\n" +"dari mereka tidaklah sulit." + +#: i2p2www/pages/site/get-involved/index.html:49 +msgid "Applications" +msgstr "Aplikasi" + +#: i2p2www/pages/site/get-involved/index.html:50 +#, python-format +msgid "" +"Write or port applications for I2P! There's some guidelines and\n" +"a list of ideas on the <a href=\"%(apps)s\">applications page</a>." +msgstr "" +"Menulis atau port aplikasi untuk I2P! Ada beberapa pedoman dan\n" +"daftar ide pada <a href=\"%(apps)s\">laman aplikasi</a>." + +#: i2p2www/pages/site/get-involved/index.html:54 +msgid "Coding" +msgstr "Coding" + +#: i2p2www/pages/site/get-involved/index.html:55 +#, python-format +msgid "" +"There's plenty to do if you know Java or are ready to learn.\n" +"Check for open tickets on <a href=\"%(trac)s\">Trac</a>\n" +"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n" +"some ideas on where to start.\n" +"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details." +msgstr "" +"Ada banyak hal yang harus dilakukan jika Anda mengerti Java atau siap " +"untuk belajar.\n" +"Periksa tiker yang terbuka di <a href=\"%(trac)s\">Trac</a>\n" +"atau daftar HARUS DILAKUKAN di <a href=\"http://%(zzz)s\">%(zzz)s</a> " +"untuk\n" +"beberapa ide pada dimana harus memulai.\n" +"Lihat <a href=\"%(newdevs)s\">panduan pengembang baru</a> untuk detail." + +#: i2p2www/pages/site/get-involved/index.html:64 +msgid "Translation" +msgstr "Penerjemahan" + +#: i2p2www/pages/site/get-involved/index.html:65 +#, python-format +msgid "" +"Help translate the website and the software into your language.\n" +"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details." +msgstr "" +"Bantu menerjemahkan website dan perangkat lunak kedalam bahasa Anda.\n" +"Lihat <a href=\"%(newtrans)s\">panduan penerjemah baru</a> untuk detail." + +#: i2p2www/pages/site/get-involved/index.html:69 +msgid "Analysis" +msgstr "Analisis" + +#: i2p2www/pages/site/get-involved/index.html:70 +#, python-format +msgid "" +"Study or test the code to look for vulnerabilities.\n" +"Both anonymity vulnerabilities from the various\n" +"<a href=\"%(threatmodel)s\">threat models</a>,\n" +"and DOS and other weaknesses due to securities holes,\n" +"need researching." +msgstr "" +"Pelajari atau uji kode untuk melihat kerentanan.\n" +"Kedua kerentanan anonimitas dari beragama\n" +"<a href=\"%(threatmodel)s\">model ancaman</a>,\n" +"dan DOS dan kelemahan lainnya dikarenakan celah keamanan,\n" +"butuh penelitian." + +#: i2p2www/pages/site/get-involved/roadmap.html:2 +msgid "Roadmap" +msgstr "Roadmap" + +#: i2p2www/pages/site/get-involved/roadmap.html:7 +msgid "" +"Include some seed data in the distribution so a central reseed location " +"isn't required?" +msgstr "" +"Menyertakan beberapa data seed dalam distribusi agar pusat mereseed " +"lokasi tidak diperlukan?" + +#: i2p2www/pages/site/get-involved/roadmap.html:10 +#, python-format +msgid "" +"Reachability Mapping / handle peers partially reachable / enhanced <a " +"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>" +msgstr "" +"Peers Pemetaan Terjangkau / penanganan yang sebagian dapat dijangkau / " +"ditingkatkan <a href=\"%(todo)s#fullRestrictedRoutes\">pembatasan " +"rute</a>" + +#: i2p2www/pages/site/get-involved/roadmap.html:13 +msgid "Improve help pages and website" +msgstr "Tingkatkan laman bantuan dan website" + +#: i2p2www/pages/site/get-involved/roadmap.html:14 +msgid "More translations" +msgstr "Penerjemahan lainnya" + +#: i2p2www/pages/site/get-involved/roadmap.html:15 +msgid "SSU disconnect message" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:16 +msgid "Iterative floodfill lookups" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:21 +msgid "Full review of anonymity issues and other vulnerabilities" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:22 +msgid "" +"Reduce memory usage, remove debugging overhead, make it run better on " +"slow and embedded machines" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:25 +msgid "Docs" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:30 +msgid "Full restricted routes" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:35 +msgid "Tunnel mixing and padding" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:36 +msgid "User defined message delays" +msgstr "" + +#: i2p2www/pages/site/get-involved/roadmap.html:39 +#, python-format +msgid "" +"Please see the <a href=\"%(todo)s\">TODO</a> list for more detailed info " +"about some of these tasks." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:2 +msgid "I2P Project Targets" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:4 +#, python-format +msgid "" +"Below is a more detailed (yet still incomplete) discussion of the major " +"areas\n" +"of future development on the core I2P network, spanning the plausibly " +"planned\n" +"releases. This does not include stego transports, porting to wireless " +"devices,\n" +"or tools to secure the local machine, nor does it include client " +"applications\n" +"that will be essential in I2P's success. There are probably other things " +"that\n" +"will come up, especially as I2P gets more peer review, but these are the " +"main\n" +"'big things'. See also <a href=\"%(roadmap)s\">the roadmap</a>. Want to " +"help?\n" +"<a href=\"%(volunteer)s\">Get involved</a>!" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:15 +#: i2p2www/pages/site/get-involved/todo.html:53 +msgid "Core functionality" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:15 +#: i2p2www/pages/site/get-involved/todo.html:27 +#: i2p2www/pages/site/get-involved/todo.html:51 +msgid "link" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:17 +#: i2p2www/pages/site/get-involved/todo.html:56 +msgid "NAT/Firewall bridging via 1-hop restricted routes" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:20 +#: i2p2www/pages/site/get-involved/todo.html:129 +msgid "High degree transport layer with UDP, NBIO, or NIO" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:23 +#: i2p2www/pages/site/get-involved/todo.html:217 +msgid "NetworkDB and profile tuning and ejection policy for large nets" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:27 +#: i2p2www/pages/site/get-involved/todo.html:241 +msgid "Security / anonymity" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:29 +#: i2p2www/pages/site/get-involved/todo.html:244 +msgid "" +"Per-hop tunnel id & new permuted TunnelVerificationStructure " +"encryption" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:32 +#: i2p2www/pages/site/get-involved/todo.html:294 +msgid "Strict ordering of participants within tunnels" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:35 +msgid "Randomly permuted tunnel lengths" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:38 +#: i2p2www/pages/site/get-involved/todo.html:356 +msgid "Full blown n-hop restricted routes with optional trusted links" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:41 +#: i2p2www/pages/site/get-involved/todo.html:375 +msgid "Hashcash for routerIdentity, destination, and tunnel request" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:44 +#: i2p2www/pages/site/get-involved/todo.html:404 +msgid "Advanced tunnel operation (batching/mixing/throttling/padding)" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:47 +#: i2p2www/pages/site/get-involved/todo.html:441 +msgid "Stop & go mix w/ garlics & tunnels" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:51 +#: i2p2www/pages/site/get-involved/todo.html:455 +msgid "Performance" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:61 +msgid "Implemented in I2P 0.6.0.6" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:62 +msgid "" +"The functionality of allowing routers to fully participate within the " +"network \n" +"while behind firewalls and NATs that they do not control requires some " +"basic \n" +"restricted route operation (since those peers will not be able to receive" +" \n" +"inbound connections). To do this successfully, you consider peers one of" +" \n" +"two ways:" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:72 +msgid "" +"<b>Peers who have reachable interfaces</b> - these peers do not need to \n" +"do anything special" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:76 +msgid "" +"<b>Peers who do not have reachable interfaces</b> - these peers must " +"build \n" +"a tunnel pointing at them where the gateway is one of the peers they have" +" \n" +"established a connection with who has both a publicly reachable interface" +" \n" +"and who has agreed to serve as their 'introducer'." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:84 +msgid "" +"To do this, peers who have no IP address simply connect to a few peers, \n" +"build a tunnel through them, and publish a reference to those tunnels " +"within \n" +"their RouterInfo structure in the network database." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:89 +msgid "" +"When someone wants to contact any particular router, they first must get" +" \n" +"its RouterInfo from the network database, which will tell them whether " +"they \n" +"can connect directly (e.g. the peer has a publicly reachable interface) \n" +"or whether they need to contact them indirectly. Direct connections occur" +" \n" +"as normal, while indirect connections are done through one of the " +"published \n" +"tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:97 +msgid "" +"When a router just wants to get a message or two to a specific hidden " +"peer, \n" +"they can just use the indirect tunnel for sending the payload. However, \n" +"if the router wants to talk to the hidden peer often (for instance, as " +"part \n" +"of a tunnel), they will send a garlic routed message through the indirect" +" \n" +"tunnel to that hidden peer which unwraps to contain a message which " +"should \n" +"be sent to the originating router. That hidden peer then establishes an \n" +"outbound connection to the originating router and from then on, those two" +" \n" +"routers can talk to each other directly over that newly established " +"direct \n" +"connection." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:108 +msgid "" +"Of course, that only works if the originating peer can receive " +"connections \n" +"(they aren't also hidden). However, if the originating peer is hidden, " +"they \n" +"can simply direct the garlic routed message to come back to the " +"originating \n" +"peer's inbound tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:114 +msgid "" +"This is not meant to provide a way for a peer's IP address to be " +"concealed, \n" +"merely as a way to let people behind firewalls and NATs fully operate " +"within \n" +"the network. Concealing the peer's IP address adds a little more work, as" +" \n" +"described <a href=\"#fullRestrictedRoutes\">below.</a>" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:120 +msgid "" +"With this technique, any router can participate as any part of a tunnel." +" \n" +"For efficiency purposes, a hidden peer would be a bad choice for an " +"inbound \n" +"gateway, and within any given tunnel, two neighboring peers wouldn't want" +" \n" +"to be hidden. But that is not technically necessary." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:132 +msgid "Both UDP and NIO have been Implemented in I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:133 +msgid "" +"Standard TCP communication in Java generally requires blocking socket \n" +"calls, and to keep a blocked socket from hanging the entire system, those" +" \n" +"blocking calls are done on their own threads. Our current TCP transport \n" +"is implemented in a naive fashion - for each peer we are talking to, we \n" +"have one thread reading and one thread writing. The reader thread simply" +" \n" +"loops a bunch of read() calls, building I2NP messages and adding them \n" +"to our internal inbound message queue, and the writer thread pulls " +"messages \n" +"off a per-connection outbound message queue and shoves the data through \n" +"write() calls." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:144 +msgid "" +"We do this fairly efficiently, from a CPU perspective - at any time, \n" +"almost all of these threads are sitting idle, blocked waiting for " +"something \n" +"to do. However, each thread consumes real resources (on older Linux " +"kernels, \n" +"for instance, each thread would often be implemented as a fork()'ed " +"process). \n" +"As the network grows, the number of peers each router will want to talk \n" +"with will increase (remember, I2P is fully connected, meaning that any \n" +"given peer should know how to get a message to any other peer, and " +"restricted \n" +"route support will probably not significantly reduce the number of " +"connections \n" +"necessary). This means that with a 100,000 router network, each router \n" +"will have up to 199,998 threads just to deal with the TCP connections!" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:156 +msgid "" +"Obviously, that just won't work. We need to use a transport layer that \n" +"can scale. In Java, we have two main camps:" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:161 +#, python-format +msgid "" +"Implemented in I2P 0.6 (\"SSU\") as documented <a " +"href=\"%(ssu)s\">elsewhere</a>" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:164 +msgid "" +"Sending and receiving UDP datagrams is a connectionless operation - if \n" +"we are communicating with 100,000 peers, we simply stick the UDP packets" +" \n" +"in a queue and have a single thread pulling them off the queue and " +"shoving \n" +"them out the pipe (and to receive, have a single thread pulling in any \n" +"UDP packets received and adding them to an inbound queue)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:171 +msgid "" +"However, moving to UDP means losing the benefits of TCP's ordering, " +"congestion \n" +"control, MTU discovery, etc. Implementing that code will take significant" +" \n" +"work, however I2P doesn't need it to be as strong as TCP. Specifically, \n" +"a while ago I was taking some measurements in the simulator and on the \n" +"live net, and the vast majority of messages transferred would fit easily" +" \n" +"within a single unfragmented UDP packet, and the largest of the messages" +" \n" +"would fit within 20-30 packets. As mule pointed out, TCP adds a " +"significant \n" +"overhead when dealing with so many small packets, as the ACKs are within" +" \n" +"an order of magnitude in size. With UDP, we can optimize the transport \n" +"for both efficiency and resilience by taking into account I2P's " +"particular \n" +"needs." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:184 +msgid "It will be a lot of work though." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:187 +msgid "NIO or NBIO" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:188 +msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:191 +msgid "" +"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java" +" \n" +"developers to take advantage of the operating system's nonblocking IO \n" +"capabilities - allowing you to maintain a large number of concurrent IO \n" +"operations without requiring a separate thread for each. There is much \n" +"promise with this approach, as we can scalable handle a large number of \n" +"concurrent connections and we don't have to write a mini-TCP stack with \n" +"UDP. However, the NIO packages have not proven themselves to be battle-" +"ready, \n" +"as the Freenet developer's found. In addition, requiring NIO support " +"would \n" +"mean we can't run on any of the open source JVMs like <a " +"href=\"http://www.kaffe.org/\">Kaffe</a>, \n" +"as <a href=\"http://www.classpath.org/\">GNU/Classpath</a> has only " +"limited \n" +"support for NIO. <i>(note: this may not be the case anymore, as there \n" +"has been some progress on Classpath's NIO, but it is an unknown " +"quantity)</i>" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:205 +#, python-format +msgid "" +"Another alternative along the same lines is the <a href=\"%(link)s\">Non" +" \n" +"Blocking I/O</a> package - essentially a cleanroom NIO implementation \n" +"(written before NIO was around). It works by using some native OS code \n" +"to do the nonblocking IO, passing off events through Java. It seems to \n" +"be working with Kaffe, though there doesn't seem to be much development \n" +"activity on it lately (likely due to 1.4's NIO deployment)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:220 +msgid "" +"Within the current network database and profile management " +"implementation, \n" +"we have taken the liberty of some practical shortcuts. For instance, we \n" +"don't have the code to drop peer references from the K-buckets, as we \n" +"don't have enough peers to even plausibly fill any of them, so instead, \n" +"we just keep the peers in whatever bucket is appropriate. Another example" +" \n" +"deals with the peer profiles - the memory required to maintain each " +"peer's \n" +"profile is small enough that we can keep thousands of full blown profiles" +" \n" +"in memory without problems. While we have the capacity to use trimmed \n" +"down profiles (which we can maintain 100s of thousands in memory), we \n" +"don't have any code to deal with moving a profile from a \"minimal " +"profile\" \n" +"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to" +" simply \n" +"eject a profile altogether. It just wouldn't be practical to write that \n" +"code yet, since we aren't going to need it for a while." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:235 +msgid "" +"That said, as the network grows we are going to want to keep these " +"considerations \n" +"in mind. We will have some work to do, but we can put it off for later." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:247 +#: i2p2www/pages/site/get-involved/todo.html:331 +#, python-format +msgid "" +"Addressed in I2P 0.5 as documented <a " +"href=\"%(tunnelimpl)s\">elsewhere</a>" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:250 +msgid "" +"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n" +"going to Dave, then to Charlie, then Bob, and finally Alice " +"(A<--B<--C<--D<--E), \n" +"all five of them will know they are participating in tunnel \"123\", as \n" +"the messages are tagged as such. What we want to do is give each hop " +"their \n" +"own unique tunnel hop ID - Charlie will receive messages on tunnel 234 \n" +"and forward them to tunnel 876 on Bob. The intent is to prevent Bob or \n" +"Charlie from knowing that they are in Alice's tunnel, as if each hop in \n" +"the tunnel had the same tunnel ID, collusion attacks aren't much work." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:260 +msgid "" +"Adding a unique tunnel ID per hop isn't hard, but by itself, " +"insufficient. \n" +"If Dave and Bob are under the control of the same attacker, they wouldn't" +" \n" +"be able to tell they are in the same tunnel due to the tunnel ID, but \n" +"would be able to tell by the message bodies and verification structures \n" +"by simply comparing them. To prevent that, the tunnel must use layered \n" +"encryption along the path, both on the payload of the tunneled message \n" +"and on the verification structure (used to prevent simple tagging " +"attacks). \n" +"This requires some simple modifications to the TunnelMessage, as well \n" +"as the inclusion of per-hop secret keys delivered during tunnel creation" +" \n" +"and given to the tunnel's gateway. We must fix a maximum tunnel length \n" +"(e.g. 16 hops) and instruct the gateway to encrypt the message to each \n" +"of the 16 delivered secret keys, in reverse order, and to encrypt the \n" +"signature of the hash of the (encrypted) payload at each step. The " +"gateway \n" +"then sends that 16-step encrypted message, along with a 16-step and " +"16-wide \n" +"encrypted mapping to the first hop, which then decrypts the mapping and \n" +"the payload with their secret key, looking in the 16-wide mapping for \n" +"the entry associated with their own hop (keyed by the per-hop tunnel ID)" +" \n" +"and verifying the payload by checking it against the associated signed \n" +"hash." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:281 +msgid "" +"The tunnel gateway does still have more information than the other peers" +" \n" +"in the tunnel, and compromising both the gateway and a tunnel participant" +" \n" +"would allow those peers to collude, exposing the fact that they are both" +" \n" +"in the same tunnel. In addition, neighboring peers know that they are \n" +"in the same tunnel anyway, as they know who they send the message to (and" +" \n" +"with IP-based transports without restricted routes, they know who they \n" +"got it from). However, the above two techniques significantly increase \n" +"the cost of gaining meaningful samples when dealing with longer tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:297 +msgid "Implemented in release 0.6.2" +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:300 +#, python-format +msgid "" +"As Connelly <a href=\"%(link)s\">proposed</a> to deal with the\n" +"<a href=\"%(pdf1)s\">predecessor attack</a> <a href=\"%(pdf2)s\">(2008\n" +"update)</a>, keeping the order of peers within our tunnels consistent \n" +"(aka whenever Alice creates a tunnel with both Bob and Charlie in it, \n" +"Bob's next hop is always Charlie), we address the issue as Bob doesn't \n" +"get to substantially sample Alice's peer selection group. We may even \n" +"want to explicitly allow Bob to participate in Alice's tunnels in only \n" +"one way - receiving a message from Dave and sending it to Charlie - and \n" +"if any of those peers are not available to participate in the tunnel (due" +" \n" +"to overload, network disconnection, etc), avoid asking Bob to participate" +" \n" +"in any tunnels until they are back online." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:315 +msgid "" +"More analysis is necessary for revising the tunnel creation - at the \n" +"moment, we simply select and order randomly within the peer's top tier \n" +"of peers (ones with fast + high capacity)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:320 +msgid "" +"Adding a strict ordering to peers in a tunnel also improves the anonymity" +" \n" +"of peers with 0-hop tunnels, as otherwise the fact that a peer's gateway" +" \n" +"is always the same would be particularly damning. However, peers with \n" +"0-hop tunnels may want to periodically use a 1-hop tunnel to simulate \n" +"the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n" +"duration) minutes, use a 1-hop tunnel)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:337 +msgid "" +"Without tunnel length permutation, if someone were to somehow detect that" +" \n" +"a destination had a particular number of hops, it might be able to use " +"that \n" +"information to identify the router the destination is located on, per the" +" \n" +"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n" +"receives a tunnel message from Charlie and forwards it to Alice, Bob " +"knows \n" +"Alice is the final router in the tunnel. If Bob were to identify what " +"destination \n" +"that tunnel served (by means of colluding with the gateway and harvesting" +" \n" +"the network database for all of the LeaseSets), he would know the router" +" \n" +"on which that destination is located (and without restricted routes, that" +" \n" +"would mean what IP address the destination is on)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:349 +msgid "" +"It is to counter user behavior that tunnel lengths should be permuted, \n" +"using algorithms based on the length requested (for example, the 1/MTBF \n" +"length change for 0-hop tunnels outlined above)." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:359 +msgid "" +"The restricted route functionality described before was simply a " +"functional \n" +"issue - how to let peers who would not otherwise be able to communicate \n" +"do so. However, the concept of allowing restricted routes includes " +"additional \n" +"capabilities. For instance, if a router absolutely cannot risk " +"communicating \n" +"directly with any untrusted peers, they can set up trusted links through" +" \n" +"those peers, using them to both send and receive all of its messages. \n" +"Those hidden peers who want to be completely isolated would also refuse \n" +"to connect to peers who attempt to get them to (as demonstrated by the \n" +"garlic routing technique outlined before) - they can simply take the " +"garlic \n" +"clove that has a request for delivery to a particular peer and tunnel \n" +"route that message out one of the hidden peer's trusted links with " +"instructions \n" +"to forward it as requested." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:378 +#, python-format +msgid "" +"Within the network, we will want some way to deter people from consuming" +" \n" +"too many resources or from creating so many peers to mount a <a " +"href=\"%(link)s\">Sybil</a> \n" +"attack. Traditional techniques such as having a peer see who is " +"requesting \n" +"a resource or running a peer aren't appropriate for use within I2P, as \n" +"doing so would compromise the anonymity of the system. Instead, we want \n" +"to make certain requests \"expensive\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:386 +msgid "" +"<a href=\"http://www.hashcash.org/\">Hashcash</a> is one technique that \n" +"we can use to anonymously increase the \"cost\" of doing certain " +"activities, \n" +"such as creating a new router identity (done only once on installation)," +" \n" +"creating a new destination (done only once when creating a service), or \n" +"requesting that a peer participate in a tunnel (done often, perhaps 2-300" +" \n" +"times per hour). We don't know the \"correct\" cost of each type of " +"certificate \n" +"yet, but with some research and experimentation, we could set a base " +"level \n" +"that is sufficiently expensive while not an excessive burden for people \n" +"with few resources." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:397 +msgid "" +"There are a few other algorithms that we can explore for making those \n" +"requests for resources \"nonfree\", and further research on that front is" +" \n" +"appropriate." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:407 +#, python-format +msgid "" +"To powerful passive external observers as well as large colluding " +"internal \n" +"observers, standard tunnel routing is vulnerable to traffic analysis " +"attacks \n" +"- simply watching the size and frequency of messages being passed between" +" \n" +"routers. To defend against these, we will want to essentially turn some \n" +"of the tunnels into its own mix cascade - delaying messages received at \n" +"the gateway and passing them in batches, reordering them as necessary, \n" +"and injecting dummy messages (indistinguishable from other \"real\" " +"tunnel \n" +"messages by peers in the path). There has been a significant amount of \n" +"<a href=\"%(pdf)s\">research</a> \n" +"on these algorithms that we can lean on prior to implementing the various" +" \n" +"tunnel mixing strategies." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:420 +msgid "" +"In addition to the anonymity aspects of more varied tunnel operation, \n" +"there is a functional dimension as well. Each peer only has a certain \n" +"amount of data they can route for the network, and to keep any particular" +" \n" +"tunnel from consuming an unreasonable portion of that bandwidth, they \n" +"will want to include some throttles on the tunnel. For instance, a tunnel" +" \n" +"may be configured to throttle itself after passing 600 messages (1 per \n" +"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n" +"last minute). Excess messages may be delayed or summarily dropped. With \n" +"this sort of throttling, peers can provide ATM-like QoS support for their" +" \n" +"tunnels, refusing to agree to allocate more bandwidth than the peer has \n" +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:433 +msgid "" +"In addition, we may want to implement code to dynamically reroute tunnels" +" \n" +"to avoid failed peers or to inject additional hops into the path. This \n" +"can be done by garlic routing a message to any particular peer in a " +"tunnel \n" +"with instructions to redefine the next-hop in the tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:444 +msgid "" +"Beyond the per-tunnel batching and mixing strategy, there are further \n" +"capabilities for protecting against powerful attackers, such as allowing" +" \n" +"each step in a garlic routed path to define a delay or window in which \n" +"it should be forwarded on. This would enable protections against the long" +" \n" +"term intersection attack, as a peer could send a message that looks " +"perfectly \n" +"standard to most peers that pass it along, except at any peers where the" +" \n" +"clove exposed includes delay instructions." +msgstr "" + +#: i2p2www/pages/site/get-involved/todo.html:456 +#, python-format +msgid "" +"Performance related improvements are listed on the\n" +"<a href=\"%(futureperf)s\">Performance</a> page." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2 +msgid "Bounty Arabic translation of webpage and router console" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3 +#: i2p2www/pages/site/get-involved/bounties/index.html:118 +msgid "Arabic translation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2P echelon set out this bounty for translation\n" +"of the I2P web page and I2P router console into Arabic." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12 +msgid "This bounty is set into 2 subparts:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14 +msgid "Part 1 is translation of the webpage." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17 +msgid "" +"For collecting the bounty of 20 BTC you need to translate the following " +"pages:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25 +msgid "This job was done by hamada and the bounty of 20 BTC was paid to hamada." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27 +msgid "" +"Part 2 is the translation of the router console. The router console was\n" +"partly translated and the bounty of 80 BTC was paid to hamada." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34 +msgid "Judge is echelon." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2 +msgid "Bounty creating a I2P native Bitcoin client" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3 +msgid "BTC I2P native client" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6 +msgid "" +"For a future of I2P and attract more people\n" +"into I2P this bounty is to create a I2P native Bitcoin client. \n" +"It should integrate with other client via the I2P network and via " +"gateways to\n" +"the existant bitcoin network." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15 +msgid "" +"Judge is psychonaut who donated the first 30 € to this bounty.\n" +"Bounty was almost fullfilled with <a " +"href=\"http://echelon.i2p/btci2p/\">btci2p</a>, only a small\n" +"part of creating a plugin is leftover. User giv has been paid for the " +"work." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:2 +msgid "Bounty datastorage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:3 +msgid "datastore" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:6 +msgid "" +"To improve I2P's usage and to be independent of routers \n" +"online status we want a datastorage as a extension to I2P.\n" +"Like in Freenet the datastorage should be distributed and every\n" +"participating node should be able to configure his options.\n" +"The files should be saved in chunks and at least 2-3 times to\n" +"obtain redundancy. Usage of storage space should be auto balanced.\n" +"As it is a extra application, it should work flawless within I2P and\n" +"cooperate nice with the I2P router. Maybe a integration within the\n" +"webpage/router could be done." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:17 +msgid "" +"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n" +"\"eepsites in datastorage\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:21 +msgid "" +"The frost for I2P datastorage bounty is paid for a frost like program \n" +"with which files/messages are stored into database and got from database." +"\n" +"It needs to work with a GUI." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:26 +msgid "" +"The eepsite served out of I2P datastorage extends a I2P router to send\n" +"out eepsites out of the I2P datastorage. All files for eepsites need to " +"be\n" +"saved inside of datastorage and are taken from it.\n" +"Extension:\n" +"For better integration all datastorage participants could serve that " +"eepsite." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/datastore.html:36 +msgid "" +"For bounties to be declared done and paid, we need the program AND the " +"source.\n" +"Source and code need to be licensed under a free license (free to change " +"and \n" +"free to distribute)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2 +msgid "Bounty I2P package in Debian and Ubuntu mirrors" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3 +msgid "I2P Ubuntu/Debian package" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6 +msgid "" +"For the future of I2P and in order to attract more people\n" +"to I2P, this bounty was set for including an I2P package into the Ubuntu " +"and Debian \n" +"archive mirrors.\n" +"To claim this bounty, the I2P router package needs to be available from\n" +"Ubuntu and Debian archive mirrors and Debian bug \n" +"<a href=\"http://bugs.debian.org/cgi-" +"bin/bugreport.cgi?bug=448638\">448638</a> \n" +"needs to be closed successfully." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2 +msgid "Bounty I2PHex code implementation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3 +msgid "i2phex code implementation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2PHex P2P ArneBab setout the bounty for implementing actual\n" +"Phex code onto I2PHex." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:2 +msgid "Bounties for I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:5 +msgid "" +"While we always gratefully accept any contributions of code, \n" +"documentation, and the like, there are other ways to help I2P move \n" +"forward. As with any open source project, our goals would be achieved " +"more \n" +"rapidly if we were able to support all of our contributors to work on \n" +"I2P full time. However, as with any open source project, that's not a \n" +"possibility. Instead, we are making use of a bounty system, whereby \n" +"anyone can get support for working on something that people want \n" +"implemented, and people who want to contribute to I2P can be assured that" +" \n" +"their support goes to what they care about." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:17 +msgid "" +"We are also keeping open the ability for people who want to support I2P \n" +"but don't have strong feelings about the bounties available. Those " +"people\n" +"can simply put their trust in the I2P team to do what we feel is best by\n" +"donating to a catch-all general fund that will be used as deemed \n" +"necessary - allocated to various bounties, covering incidentals (hosting," +" \n" +"etc), and the like." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:26 +msgid "Current bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:29 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +#: i2p2www/pages/site/get-involved/bounties/index.html:104 +msgid "Name" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:29 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +#: i2p2www/pages/site/get-involved/bounties/index.html:104 +msgid "Status" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:29 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +msgid "Judge" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:29 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +msgid "Dev" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:29 +#: i2p2www/pages/site/get-involved/bounties/index.html:84 +msgid "Bounty" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:31 +msgid "Frost for I2P datastorage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:32 +#: i2p2www/pages/site/get-involved/bounties/index.html:39 +#: i2p2www/pages/site/get-involved/bounties/index.html:46 +#: i2p2www/pages/site/get-involved/bounties/index.html:53 +#: i2p2www/pages/site/get-involved/bounties/index.html:74 +#: i2p2www/pages/site/get-involved/bounties/index.html:94 +msgid "Proposal in development" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:34 +#: i2p2www/pages/site/get-involved/bounties/index.html:41 +#: i2p2www/pages/site/get-involved/bounties/index.html:48 +#: i2p2www/pages/site/get-involved/bounties/index.html:55 +#: i2p2www/pages/site/get-involved/bounties/index.html:76 +#: i2p2www/pages/site/get-involved/bounties/index.html:89 +msgid "vacant" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:38 +msgid "Eepsites served out of I2P datastorage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:45 +msgid "Backporting Phex code onto I2PHex" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:52 +msgid "I2P package in Debian and Ubuntu mirrors" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:59 +msgid "Bitcoin client for I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:60 +msgid "Done, phase of verification" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:66 +msgid "Unit tests and Multi-router Simulation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:67 +msgid "Partly done, partly in work, partly still open" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:81 +msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:86 +msgid "Bundling bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:87 +msgid "Proposed" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:101 +msgid "Claimed bounties" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:104 +msgid "Dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:106 +msgid "Make I2P IPv6 native" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:113 +msgid "Setting up a SILC server" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:123 +msgid "Datastore over I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:128 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:133 +msgid "Swarming file transfer" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:138 +msgid "Streaming library window size" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:143 +msgid "IRC connect time monitor" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:148 +msgid "Unit tests (part 1)" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/index.html:160 +msgid "" +"Dev lists anyone who may already be working on the bounty - collaboration" +" is\n" +"preferred, so if you're interested in working on it, please contact one " +"of the\n" +"people listed!" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2 +msgid "Bounty I2P IPv6 native" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3 +msgid "native IPv6 I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6 +msgid "" +"For a future of I2P and attract more people\n" +"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n" +"To claim this bounty, the I2P router needs to run full on native\n" +"IPv6 connections like it does on IPv4." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/ipv6.html:23 +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20 +msgid "" +"For bounties to be declared done and paid, we need the plugin AND the " +"source.\n" +"Source and code need to be licensed under a free license (free to change " +"and \n" +"free to distribute)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/netdb.html:2 +msgid "NetDB Backend" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/netdb.html:3 +msgid "netDB backend" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/netdb.html:7 +msgid "" +"The current NetDB implementation (namely the FloodFill system)\n" +"needs to be extended with another backend to improve reliability,\n" +"reduce attack surface and solve the scalability issue for the \n" +"coming years." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/netdb.html:14 +msgid "" +"A solution likely based on a DHT will be investigated and \n" +"finally implemented." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2 +msgid "Bounty russian translation of webpage and router console" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2P a anonymous donator set out the bounty for translation\n" +"of the I2P web page and I2P router console into russian language." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17 +msgid "" +"For collecting the bounty of $115 USD you need to translate the following" +" pages:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30 +msgid "" +"Part 2 is the translation of the router console. The whole router console" +" needs\n" +"to be translated to collect the bounty of $115 USD." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37 +msgid "Judge is the russian donor." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:2 +msgid "Bounty migrate I2P IRC to SILC" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:3 +msgid "I2P silc server" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:7 +msgid "" +"For a future of I2P and attract more people\n" +"into I2P this bounty is to setup and host a I2P SILC server. \n" +"This will allow people to send files over their messaging servers and " +"have intrinsic security built into the protocol." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:12 +msgid "" +"A silc server needs to be set up and run for at least 3 month time to get" +" payed. \n" +"A second server should be set up, too." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:16 +msgid "" +"Bounty was withdrawn and money donated to returningnovice and general " +"fund." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/silc.html:22 +msgid "Judge is An Anonymous Secret Society, society@mail.i2p." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2 +#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3 +msgid "Syndie development" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7 +msgid "" +"Beside of I2P we want to encourage users\n" +"to care more about anonymity and security. As I2P is a low \n" +"latency network with its natural limits, the software SYNDIE\n" +"can overcome some of these limits and provide better anonymity\n" +"for people who really need it." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14 +msgid "" +"For our bad sake the syndie project was out of development for \n" +"quite a long time yet (5 years). To get a fresh and new built \n" +"with needed bugfixes we set out this bounty. Also syndie needs\n" +"some enhancements and a better GUI for users to work with it.\n" +"Current bounty sum is 50 Bitcoin." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:22 +msgid "" +"The latest Syndie coding rally did improve the situation of the\n" +"Syndie package dramatically. A new Syndie package with bugfixes\n" +"was created and made available on different webpages.\n" +"As a result of this work, the bounty sum was reduced and\n" +"the withdrawn money moved to the IPv6 bounty." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2 +msgid "Bounty unittests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3 +msgid "unit test" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7 +msgid "" +"To improve I2P's maintainability, we want to have a solid set of\n" +"automated unit tests for the critical code. While we do have some\n" +"unit tests at the moment, they are ad-hoc and partly unfinished. \n" +"This bounty is for someone to check the existing tests and move over\n" +"old ones to jUnit, automate their execution, extend them to provide \n" +"better code coverage, and publish the report online. Its a massive \n" +"effort, but can be broken down into phases, listed below (phase 2 \n" +"must occur first, but further phases may happen in any order).\n" +"As this needs some reading of code, it is the best start point for\n" +"new devs to get a good overview of I2P code and coding. A good job\n" +"for college students, interns or anyone who is just interested." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20 +msgid "" +"Take care! Jobs and bounties shuffled a bit!\n" +"Phase 6,7 and 8 are still open!" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112 +#, python-format +msgid "Phase %(phase)s:" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27 +msgid "CI jenkins and IRC bot" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114 +#, python-format +msgid "Bounty: %(euro)s €" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29 +msgid "server runs and this section is blocked" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31 +msgid "" +"To collect this bounty, a continuous integration server (Jenkins,\n" +"old name was Hudson) must be set up and a connected IRC bot needs \n" +"to set up in the channel #i2p-dev on IRC2p network to print out\n" +"results of build tests.<br>\n" +"The server needs to be run long term." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41 +msgid "Check existing SDK tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69 +msgid "paid to str4d" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45 +#, python-format +msgid "" +"To collect this bounty, the existing SDK tests must be checked \n" +"and made to work again. The need to be integrated into the ant \n" +"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g." +" \n" +"<a href=\"%(clover)s\">Clover</a>). The ant script\n" +"must be capable of generating test status results as a web page, \n" +"which will be published online." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56 +msgid "SDK test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80 +msgid "paid to unittests dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60 +msgid "" +"To collect this bounty, the automated unit tests of the SDK \n" +"(i2p/core/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67 +msgid "Router test migration" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71 +msgid "" +"As with phase 2, the existing unit tests for the router must be\n" +"moved over to the automated system." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78 +msgid "Router test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82 +msgid "" +"To collect this bounty, the automated unit tests of the router \n" +"(i2p/router/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89 +msgid "Streaming lib tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94 +msgid "" +"To collect this bounty, a new set of unit tests must meet a \n" +"measured code coverage of 90% of the streaming lib \n" +"(i2p/apps/ministreaming/ and i2p/apps/streaming/)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102 +msgid "Unit tests coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106 +msgid "" +"To collect this bounty, all above unit tests must meet the 100%\n" +"coverage marker (except for log statements)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113 +msgid "MultiRouter simulation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115 +msgid "will be split in more sub-tasks" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117 +msgid "" +"To collect this bounty, the existing in-memory multi-router\n" +"simulation must be checked, made work again and extend to simulate\n" +"lots of routers in memory on a single machine. This bounty will\n" +"be split in more fine grained subworks." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126 +msgid "" +"Judge on all these works is the donor and donor decides if a phase is\n" +"called succesfull done and money can be paid." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2 +msgid "Bounty I2P vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3 +msgid "vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2P torrent P2P I setout the bounty for a working I2P vuze\n" +"plugin.\n" +"The plugin needs to be official and submitted to vuze for publication\n" +"on their webpage/repository for plugins.\n" +"It should be easy to install and configured, work smooth and flawless.\n" +"Configuration should be friendly to starters and made easy to be " +"anonymous.\n" +"It should work with *.b32.i2p destinations as with signed (516++ bits) \n" +"destinations." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:2 +msgid "Application Development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:3 +msgid "May 2013" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:6 +msgid "Application Development Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:8 +msgid "Contents" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:10 +#: i2p2www/pages/site/get-involved/develop/applications.html:16 +msgid "Why write I2P-specific code?" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:11 +#: i2p2www/pages/site/get-involved/develop/applications.html:102 +msgid "Important concepts" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:12 +#: i2p2www/pages/site/get-involved/develop/applications.html:190 +msgid "Development options" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:13 +#: i2p2www/pages/site/get-involved/develop/applications.html:303 +msgid "Start developing - a simple guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:18 +#, python-format +msgid "" +"There are multiple ways to use applications in I2P.\n" +"Using <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n" +"you can use regular applications without needing to program explicit I2P " +"support.\n" +"This is very effective for client-server scenario's,\n" +"where you need to connect to a single website.\n" +"You can simply create a tunnel using I2PTunnel to connect to that " +"website, as shown in <a href=\"#tunnel.serverclient\">Figure 1</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:26 +msgid "" +"If your application is distributed, it will require connections to a " +"large amount of peers.\n" +"Using I2PTunnel, you will need to create a new tunnel for each peer you " +"want to contact,\n" +"as shown in <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n" +"This process can of course be automated, but running a lot of I2PTunnel " +"instances creates a large amount of overhead.\n" +"In addition, with many protocols you will need to force everyone to \n" +"use the same set of ports for all peers - e.g. if you want to reliably " +"run DCC \n" +"chat, everyone needs to agree that port 10001 is Alice, port 10002 is " +"Bob, port \n" +"10003 is Charlie, and so on, since the protocol includes TCP/IP specific " +"information\n" +"(host and port)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:37 +msgid "" +"General network applications often send a lot of additional data that " +"could be used to identify users.\n" +"Hostnames, port numbers, time zones, character sets, etc. are often sent " +"without informing the user.\n" +"As such, designing the network protocol specifically with anonymity in " +"mind\n" +"can avoid compromising user identities." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:43 +msgid "" +"There are also efficiency considerations to review when determining how " +"to \n" +"interact on top of I2P. The streaming library and things built on top of" +" it\n" +"operate with handshakes similar to TCP, while the core I2P protocols " +"(I2NP and I2CP)\n" +"are strictly message based (like UDP or in some instances raw IP). The " +"important\n" +"distinction is that with I2P, communication is operating over a long fat " +"network - \n" +"each end to end message will have nontrivial latencies, but may contain " +"payloads \n" +"of up to several KB. An application that needs a simple request and " +"response can get rid\n" +"of any state and drop the latency incurred by the startup and teardown " +"handshakes\n" +"by using (best effort) datagrams without having to worry about MTU " +"detection or \n" +"fragmentation of messages." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:57 +#: i2p2www/pages/site/get-involved/develop/applications.html:59 +msgid "" +"Creating a server-client connection using I2PTunnel only requires " +"creating a single tunnel." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:59 +msgid "Figure 1:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:64 +#: i2p2www/pages/site/get-involved/develop/applications.html:66 +msgid "" +"Setting up connections for a peer-to-peer applications requires a very " +"large amount of tunnels." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:66 +msgid "Figure 2:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:70 +msgid "In summary, a number of reasons to write I2P-specific code:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:74 +msgid "" +"Creating a large amount of I2PTunnel instances consumes a non-trivial " +"amount of resources,\n" +"which is problematic for distributed applications (a new tunnel is " +"required for each peer)." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:78 +msgid "" +"General network protocols often send a lot of additional data that can be" +" used to identify users.\n" +"Programming specifically for I2P allows the creation of a network " +"protocol\n" +"that does not leak such information, keeping users anonymous and secure." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:83 +msgid "" +"Network protocols designed for use on the regular internet can be " +"inefficient\n" +"on I2P, which is a network with a much higher latency." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:90 +#, python-format +msgid "" +"I2P supports a standard <a href=\"%(plugins)s\">plugins interface</a> for" +" developers\n" +"so that applications may be easily integrated and distributed." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:96 +msgid "" +"Applications written in Java and accessible/runnable\n" +"using an HTML interface via the standard webapps/app.war\n" +"may be considered for inclusion in the i2p distribution." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:104 +msgid "There are a few changes that require adjusting to when using I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:108 +msgid "Destination ~= host+port" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:110 +msgid "" +"An application running on I2P sends messages from and receives messages " +"to a\n" +"unique cryptographically secure end point - a \"destination\". In TCP or" +" UDP\n" +"terms, a destination could (largely) be considered the equivalent of a " +"hostname\n" +"plus port number pair, though there are a few differences." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:118 +msgid "" +"An I2P destination itself is a cryptographic construct - all data sent to" +" one is \n" +"encrypted as if there were universal deployment of IPsec with the " +"(anonymized)\n" +"location of the end point signed as if there were universal deployment of" +" DNSSEC." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:123 +msgid "" +"I2P destinations are mobile identifiers - they can be moved from one I2P " +"router\n" +"to another (or it can even \"multihome\" - operate on multiple routers at" +"\n" +"once). This is quite different from the TCP or UDP world where a single " +"end point (port)\n" +"must stay on a single host." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:130 +msgid "" +"I2P destinations are ugly and large - behind the scenes, they contain a " +"2048 bit ElGamal\n" +"public key for encryption, a 1024 bit DSA public key for signing, and a " +"variable size \n" +"certificate, which may contain proof of work or blinded data." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:135 +#, python-format +msgid "" +"There are existing ways to refer to these large and ugly destinations by " +"short\n" +"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not " +"guarantee\n" +"globally uniqueness (since they're stored locally in a database on each " +"person's machine)\n" +"and the current mechanism is not especially scalable nor secure (updates " +"to the host list are\n" +"managed using \"subscriptions\" to naming services).\n" +"There may be some secure, human readable, scalable, and globally \n" +"unique, naming system some day, but applications shouldn't depend upon it" +" being in place,\n" +"since there are those who don't think such a beast is possible.\n" +"<a href=\"%(naming)s\">Further information on the naming system</a> is " +"available." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:149 +#, python-format +msgid "" +"While most applications do not need to distinguish protocols and ports,\n" +"I2P <em>does</em> support them. Complex applications may specify a " +"protocol,\n" +"from port, and to port, on a per-message basis, to multiplex traffic on\n" +"a single destination.\n" +"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n" +"Simple applications operate by listening for \"all protocols\" on \"all " +"ports\" of a destination." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:158 +msgid "Anonymity and confidentiality" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:160 +msgid "" +"I2P has transparent end to end encryption\n" +"and authentication for all data passed over the network - if Bob sends to" +" Alice's destination,\n" +"only Alice's destination can receive it, and if Bob is using the " +"datagrams or streaming \n" +"library, Alice knows for certain that Bob's destination is the one who " +"sent the data." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:167 +msgid "" +"Of course, I2P transparently anonymizes the\n" +"data sent between Alice and Bob, but it does nothing to anonymize the " +"content of what they\n" +"send. For instance, if Alice sends Bob a form with her full name, " +"government IDs, and \n" +"credit card numbers, there is nothing I2P can do. As such, protocols and" +" applications should \n" +"keep in mind what information they are trying to protect and what " +"information they are willing\n" +"to expose." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:176 +msgid "I2P datagrams can be up to several KB" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:178 +#, python-format +msgid "" +"Applications that use I2P datagrams (either raw or repliable ones) can " +"essentially be thought\n" +"of in terms of UDP - the datagrams are unordered, best effort, and " +"connectionless - but unlike\n" +"UDP, applications don't need to worry about MTU detection and can simply " +"fire off large datagrams.\n" +"While the upper limit is nominally 32 KB, the message is fragmented for " +"transport, thus dropping\n" +"the reliability of the whole. Datagrams over about 10 KB are not " +"currently recommended.\n" +"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n" +"For many applications, 10 KB of data is sufficient for an\n" +"entire request or response, allowing them to transparently operate in I2P" +" as a UDP-like \n" +"application without having to write fragmentation, resends, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:192 +msgid "" +"There are several means of sending data over I2P, each with their own " +"pros and cons.\n" +"The streaming lib is the recommended interface, used by the majority of " +"I2P applications." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:197 +msgid "Streaming Lib" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:198 +#, python-format +msgid "" +"The <a href=\"%(streaming)s\">full streaming library</a> is now the " +"standard\n" +"interface. It allows programming using TCP-like sockets, as explained in " +"the <a href=\"#start.streaming\">Streaming development guide</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:204 +#, python-format +msgid "" +"BOB is the <a href=\"%(bob)s\">Basic Open Bridge</a>,\n" +"allowing an application in any language to make streaming connections \n" +"to and from I2P. At this point in time it lacks UDP support, but UDP " +"support\n" +"is planned in the near future. BOB also contains several tools, such as \n" +"destination key generation, and verification that an address conforms to" +" \n" +"I2P specifications. Up to date info and applications that use BOB can be" +" \n" +"found at this <a href=\"http://%(boburl)s/\">eepsite</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:217 +msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:218 +#, python-format +msgid "" +"SAM is the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> protocol, " +"allowing an\n" +"application written in any language to talk to a SAM bridge through a " +"plain TCP socket and have\n" +"that bridge multiplex all of its I2P traffic, transparently coordinating " +"the encryption/decryption\n" +"and event based handling. SAM supports three styles of operation:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:225 +msgid "" +"streams, for when Alice and Bob want to send data to each other reliably " +"and in order" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:228 +msgid "" +"repliable datagrams, for when Alice wants to send Bob a message that Bob " +"can reply to" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:231 +msgid "" +"raw datagrams, for when Alice wants to squeeze the most bandwidth and " +"performance as possible,\n" +"and Bob doesn't care whether the data's sender is authenticated or not " +"(e.g. the data transferred\n" +"is self authenticating)" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:237 +msgid "" +"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n" +"multiplexing/demultiplexing. Each I2P stream is handled by its own socket" +" between the application\n" +"and the SAM bridge. Besides, datagrams can be sent and received by the " +"application through datagram\n" +"communications with the SAM bridge." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:244 +#, python-format +msgid "" +"<a href=\"%(samv2)s\">SAM V2</a> is a new version used by imule\n" +"that fixes some of the problems in <a href=\"%(sam)s\">SAM</a>.\n" +"<br />\n" +"<a href=\"%(samv3)s\">SAM V3</a> is used by imule since version 1.4.0." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:252 +msgid "" +"The I2PTunnel application allows applications to build specific TCP-like " +"tunnels to peers \n" +"by creating either I2PTunnel 'client' applications (which listen on a " +"specific port and connect\n" +"to a specific I2P destination whenever a socket to that port is opened) " +"or I2PTunnel 'server'\n" +"applications (which listen to a specific I2P destination and whenever it " +"gets a new I2P \n" +"connection it outproxies to a specific TCP host/port). These streams are" +" 8-bit clean, and are\n" +"authenticated and secured through the same streaming library that SAM " +"uses, but there is a \n" +"nontrivial overhead involved with creating multiple unique I2PTunnel " +"instances, since each have\n" +"their own unique I2P destination and their own set of tunnels, keys, etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:264 +msgid "" +"I2P supports a SOCKS V4 and V5 proxy.\n" +"Outbound connections work well. Inbound (server) and UDP functionality " +"may be incomplete\n" +"and untested." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:271 +msgid "Removed" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:272 +msgid "" +"There used to be a simple \"ministreaming\" library,\n" +"but now ministreaming.jar contains only the interfaces for the full " +"streaming library." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:277 +msgid "Datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:278 +msgid "Recommended for UDP-like applications" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:279 +#, python-format +msgid "" +"The <a href=\"%(datagrams)s\">Datagram library</a> allows sending UDP-" +"like packets.\n" +"It's possible to use:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:284 +msgid "Repliable datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:285 +msgid "Raw datagrams" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:289 +msgid "Not recommended" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:290 +#, python-format +msgid "" +"<a href=\"%(i2cp)s\">I2CP</a> itself is a language independent protocol, " +"but to implement an I2CP library \n" +"in something other than Java there is a significant amount of code to be " +"written (encryption routines, \n" +"object marshalling, asynchronous message handling, etc). While someone " +"could write an I2CP library in \n" +"C or something else, it would most likely be more useful to use the C SAM" +" library instead." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:297 +msgid "Web Applications" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:298 +msgid "" +"I2P comes with the Jetty webserver, and configuring to use the Apache " +"server instead is straightforward.\n" +"Any standard web app technology should work." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:304 +msgid "" +"Developing using I2P requires a working I2P installation and a " +"development environment of your own choice.\n" +"If you are using Java, you can start development with the <a " +"href=\"#start.streaming\">streaming library</a> or datagram library.\n" +"Using another programming language, SAM or BOB can be used." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:310 +msgid "Developing with the streaming library" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:312 +msgid "" +"The following example shows how to create TCP-like client and server " +"applications\n" +"using the streaming library." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:317 +msgid "This will require the following libraries in your classpath:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:321 +msgid "The streaming library itself" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:322 +msgid "Factory and interfaces for the streaming library" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:323 +msgid "Standard I2P classes, data structures, API, and utilities" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:326 +msgid "" +"Network communication requires the usage of I2P network sockets.\n" +"To demonstrate this, we will create an application where a client can " +"send text messages to a server,\n" +"who will print the messages and send them back to the client. In other " +"words, the server will function as an echo." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:331 +msgid "" +"We will start by initializing the server application. This requires " +"getting an I2PSocketManager\n" +"and creating an I2PServerSocket.\n" +"We will not provide the I2PSocketManagerFactory with the saved keys for " +"an existing Destination,\n" +"so it will create a new Destination for us.\n" +"So we will ask the I2PSocketManager for an I2PSession, so we can find out" +" the Destination that\n" +"was created, as we will need to copy and paste that information later so " +"the client can connect to us." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:362 +msgid "Code example 1: initializing the server application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:364 +msgid "" +"Once we have an I2PServerSocket, we can create I2PSocket instances to " +"accept connections from clients.\n" +"In this example, we will create a single I2PSocket instance, that can " +"only handle one client at a time.\n" +"A real server would have to be able to handle multiple clients.\n" +"To do this, multiple I2PSocket instances would have to be created, each " +"in separate threads.\n" +"Once we have created the I2PSocket instance, we read data, print it and " +"send it back to the client.\n" +"The bold code is the new code we add." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:448 +msgid "Code example 2: accepting connections from clients and handling messages." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:452 +msgid "" +"When you run the above server code, it should print something like this " +"(but without the line endings, it should just be\n" +"one huge block of characters):" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:466 +msgid "" +"This is the base64-representation of the server Destination. The client " +"will need this string to reach the server." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:470 +msgid "" +"Now, we will create the client application. Again, a number of steps are " +"required for initialization.\n" +"Again, we will need to start by getting an I2PSocketManager.\n" +"We won't use an I2PSession and an I2PServerSocket this time.\n" +"Instead, we will use the server Destination string to start our " +"connection.\n" +"We will ask the user for the Destination string, and create an I2PSocket " +"using this string.\n" +"Once we have an I2PSocket, we can start sending and receiving data to and" +" from the server." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:554 +msgid "" +"Code example 3: starting the client and connecting it to the server " +"application." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:556 +msgid "" +"Finally, you can run both the server and the client application.\n" +"First, start the server application. It will print a Destination string " +"(like shown <a href=\"#start.streaming.destination\">above</a>).\n" +"Next, start the client application. When it requests a Destination " +"string, you can enter the string printed by the server.\n" +"The client will then send 'Hello I2P!' (along with a newline) to the " +"server, who will print the message and send it back to the client." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:562 +msgid "Congratulations, you have successfully communicated over I2P!" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:566 +msgid "Existing Applications" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:567 +msgid "Contact us if you would like to contribute." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:588 +msgid "Application Ideas" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:590 +msgid "NNTP server - there have been some in the past, none at the moment" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:593 +msgid "" +"Jabber server - there have been some in the past, and there is one at the" +" moment, with access to the public internet" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:596 +msgid "PGP Key server and/or proxy" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:599 +msgid "" +"Content Distribution / DHT applications - resurrect feedspace,\n" +"port dijjer, look for alternatives" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:603 +msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:606 +msgid "" +"Web-based applications - The sky is the limit for hosting web-server-" +"based\n" +"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n" +"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:611 +msgid "" +"Resurrect some old apps, several previously in the i2p source package -\n" +"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2 +msgid "I2P Developer's MTN Keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4 +msgid "" +"Monotone servers used by the I2P project require two types of keys to be " +"used." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:8 +msgid "" +"<a href=\"#commit\">Commit Keys</a> to sign changes checked-in to the " +"respository; and" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9 +msgid "" +"<a href=\"#transport\">Transport Keys</a> to push changes to remote " +"servers." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:12 +#, python-format +msgid "" +"Everyone that uses Monotone to checkout the I2P codebase will need to\n" +"<a href=\"%(monotone)s#obtaining-and-deploying-developers-" +"keys\">import</a> the\n" +"developer commit keys, but only Monotone <a " +"href=\"%(monotone)s#operating-a-monotone-server\">\n" +"server operators</a> will need to import the <a " +"href=\"#transport\">transport keys</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:19 +msgid "Developer Commit keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:277 +msgid "Developer Transport Keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/developers-keys.html:278 +#, python-format +msgid "" +"<b>Note:</b> Transport keys are only needed for setting up a\n" +"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2 +msgid "License Agreements" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5 +#, python-format +msgid "For more information see <a href=\"%(licenses)s\">the licenses page</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8 +msgid "" +"Following is a monotonerc file defining the current trust list.\n" +"Developers must use this file in ~/.monotone/monotonerc or\n" +"_MTN/montonerc in their i2p.i2p workspace." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17 +msgid "Agreements" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:2 +msgid "I2P Software Licenses" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:4 +#, python-format +msgid "" +"As required by our\n" +"<a href=\"%(threatmodel)s\">threat model</a> (among other reasons), the \n" +"software developed to support the anonymous communication \n" +"network we call I2P must be freely available, open source, \n" +"and user modifiable. To meet these criteria, we make use of\n" +"a variety of legal and software engineering techniques so\n" +"as to remove as many barriers to entry for those considering\n" +"making use of or contributing to the I2P effort." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:15 +msgid "" +"While the information below may be more confusing than just simply \n" +"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n" +"the short answer to the question \"How is I2P licensed?\" is this:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:21 +msgid "All software bundled in the I2P distributions will allow:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:23 +msgid "use without fee" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:24 +msgid "" +"use with no restrictions on how, when, where, why, or by whom is running " +"it" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:25 +msgid "access to the source code without fee" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:26 +msgid "modifications to the source" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:29 +msgid "" +"Most of the software guarantees much more - the ability of <b>anyone</b> " +"to \n" +"distribute the modified source however they choose. However, not all of " +"the \n" +"software bundled provides this freedom - the GPL restricts the ability of" +" \n" +"developers who wish to integrate I2P with their own applications that are" +" not \n" +"themselves open source applications. While we applaud the noble goals of" +" \n" +"increasing the resources in the commons, I2P is best served by removing " +"any\n" +"barriers that stand in the way of its adoption - if a developer " +"considering whether\n" +"they can integrate I2P with their application has to stop and check with " +"their lawyer,\n" +"or conduct a code audit to make sure their own source can be released as " +"GPL-compatible,\n" +"we lose out." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:42 +msgid "Component licenses" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:43 +msgid "" +"The I2P distribution contains several resources, reflecting the " +"partitioning of \n" +"the source code into components. Each component has its own license, " +"which all \n" +"developers who contribute to it agree to - either by explicitly declaring" +" the release\n" +"of code committed under a license compatible with that component, or by " +"implicitly\n" +"releasing the code committed under the component's primary license. Each" +" of these \n" +"components has a lead developer who has the final say as to what license " +"is compatible\n" +"with the component's primary license, and the I2P project manager has the" +" final say as\n" +"to what licenses meet the above four guarantees for inclusion in the I2P " +"distribution." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:56 +msgid "Component" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:57 +msgid "Source path" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:58 +msgid "Resource" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:59 +msgid "Primary license" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:60 +msgid "Alternate licenses" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:61 +msgid "Lead developer" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:270 +msgid "GPL + java exception" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:271 +#, python-format +msgid "" +"While it may be redundant, just for clarity the\n" +"<a href=\"%(gpl)s\">GPL</a>'ed code included within\n" +"I2PTunnel and other apps must be released under the GPL with an " +"additional \"exception\"\n" +"explicitly authorizing the use of Java's standard libraries:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:287 +msgid "" +"All source code under each component will by default be licensed under " +"the\n" +"primary license, unless marked otherwise in the code. All of the above " +"is\n" +"summary of the license terms - please see the specific license for the " +"component\n" +"or source code in question for authoritative terms. Component source " +"locations and\n" +"resource packaging may be changed if the repository is reorganized." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:295 +msgid "Commit privileges" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:296 +#, python-format +msgid "" +"Developers may push changes to a distributed monotone repository if you\n" +"receive permission from the person running that repository.\n" +"See the <a href=\"%(monotone)s\">Monotone Page</a> for details." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:302 +msgid "" +"However, to have changes included in a release, developers\n" +"must be trusted by the release manager (currently zzz).\n" +"In addition, they must explicitly agree with the above terms to be " +"trusted.\n" +"That means that they must send one of the release managers a signed " +"message affirming that:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:309 +msgid "" +"Unless marked otherwise, all code I commit is implicitly licensed under\n" +"the component's primary license" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:313 +msgid "" +"If specified in the source, the code may be explicitly licensed under one" +"\n" +"of the component's alternate licenses" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:317 +msgid "" +"I have the right to release the code I commit under the terms I\n" +"am committing it" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/licenses.html:323 +#, python-format +msgid "" +"If anyone is aware of any instances where the above conditions are not " +"met,\n" +"please contact the component lead and/or an I2P release manager with " +"further\n" +"information.\n" +"<a href=\"%(licenseagreements)s\">See developers' license agreements</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2 +msgid "Release Signing Key" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4 +msgid "Releases 0.7.6 and later are signed by zzz. His current public key is:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:190 +msgid "Releases 0.7.6 through 0.9.12 were signed by zzz with the following key:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:226 +msgid "" +"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public " +"key is:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/security-key.html:2 +msgid "Security GPG Key" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/security-key.html:4 +msgid "Following is the GPG key for the security@geti2p.net email address:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2 +msgid "Signed Developer Keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4 +msgid "" +"Keys for zzz, Complication and welterde are provided clearsigned. The key" +" for jrandom must be\n" +"verified differently, since he's away, and only left a binary detached\n" +"signature for his key." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10 +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16 +msgid "Monotone keys for zzz" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11 +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47 +msgid "Monotone keys for welterde" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12 +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79 +msgid "Monotone keys for Complication" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13 +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114 +msgid "Monotone keys for jrandom" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14 +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169 +msgid "Others" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17 +msgid "" +"<u>Tip:</u> To find zzz's GPG key, on his eepsite locate the key " +"`0xA76E0BED`, with\n" +"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 " +"B310 4155\n" +"76BA A76E 0BED`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49 +msgid "" +"<b>Tip:</b> To find welterde's GPG key, on public keyservers locate the " +"key\n" +"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720" +" FD81\n" +"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81 +msgid "" +"<b>Tip:</b> To find Complication's GPG key, on his eepsite locate the key" +"\n" +"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint " +"`73CF\n" +"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116 +msgid "" +"<b>Tip:</b> To find jrandom's GPG key for Syndie releases, on public " +"keyservers locate\n" +"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n" +"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122 +msgid "" +"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n" +"deployed in the Syndie Monotone repository, in a file named `mtn-" +"committers`.\n" +"That file also had a GPG signature, `mtn-committers.sig`, but it was a " +"binary\n" +"detached signature. I am going to supply both files in GPG ASCII-armoured" +" form\n" +"below." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130 +msgid "" +"First, the file `mtn-committers` containing jrandom's Monotone key. Save " +"as\n" +"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers " +"--dearmor\n" +"mtn-committers.asc`:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151 +msgid "" +"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n" +"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-" +"committers.sig\n" +"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n" +"`mtn-committers` file:" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170 +#, python-format +msgid "" +"Some of the developers have included their Monotone keys in their <a " +"href=\"%(licenseagreements)s\">signed license agreement</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2 +msgid "Developer Guidelines and Coding Style" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4 +#, python-format +msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8 +msgid "Basic Guidelines and Coding Style" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10 +msgid "" +"Most of the following should be common sense for anybody who has worked " +"on open source or in a commercial\n" +"programming envrionment.\n" +"The following applies mostly to the main development branch i2p.i2p.\n" +"Guidelines for other branches, plugins, and external apps may be " +"substantially different;\n" +"check with the appropriate developer for guidance." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18 +msgid "Community" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20 +msgid "" +"Please don't just \"write code\". If you can, participate in other " +"development activities, including:\n" +"development discussions and support on IRC, zzz.i2p, and forum.i2p; " +"testing;\n" +"bug reporting and responses; documentation; code reviews; etc." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25 +msgid "" +"Active devs should be available periodically on IRC #i2p-dev.\n" +"Be aware of the current release cycle.\n" +"Adhere to release milestones such as feature freeze, tag freeze, and\n" +"the checkin deadline for a release." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35 +msgid "" +"Have a basic understanding of distributed source control systems, even if" +" you haven't\n" +"used monotone before. Ask for help if you need it.\n" +"Once pushed, checkins are forever, there is no undo. Please be careful.\n" +"If you have not used monotone before, start with baby steps.\n" +"Check in some small changes and see how it goes." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42 +msgid "" +"Test your changes before checking them in.\n" +"If you prefer the checkin-before-test development model,\n" +"use your own development branch (e.g. i2p.i2p.yourname.test)\n" +"and propagate back to i2p.i2p once it is working well.\n" +"Do not break the build. Do not cause regressions.\n" +"In case you do (it happens), please do not vanish for a long period after" +"\n" +"you push your change." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51 +msgid "" +"If your change is non-trivial, or you want people to test it and need " +"good test reports\n" +"to know whether your change was tested or not, add a checkin comment to " +"history.txt\n" +"and increment the build revision in RouterVersion.java." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:56 +msgid "" +"Ensure that you have the latest monotonerc file in _MTN.\n" +"Do not check in on top of untrusted revisions." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60 +msgid "" +"Ensure that you pull the latest revision before you check in.\n" +"If you inadvertently diverge, merge and push as soon as possible.\n" +"Don't routinely make others merge for you.\n" +"Yes, we know that monotone says you should push and then merge,\n" +"but in our experience, in-workspace merge works just as well as in-" +"database merge,\n" +"without creating a merge revision." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68 +msgid "" +"Do not check in major changes into the main i2p.i2p branch late in the " +"release cycle.\n" +"If a project will take you more than a couple days, create your own " +"branch in monotone\n" +"and do the development there so you do not block releases." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75 +msgid "Coding Style" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77 +msgid "" +"Coding style throughout most of the code is 4-spaces for indentation. Do " +"not use tabs.\n" +"Do not reformat code. If your IDE or editor wants to reformat everything," +" get control of it.\n" +"Yes, we know 4 spaces is a pain, but perhaps you can configure your " +"editor appropriately.\n" +"In some places, the coding style is different.\n" +"Use common sense. Emulate the style in the file you are modifying." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84 +msgid "" +"New classes and methods require at least brief javadocs. Add @since " +"release-number." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87 +msgid "" +"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our " +"official API.\n" +"There are several out-of-tree plugins and other applications that rely on" +" this API.\n" +"Be careful not to make any changes that break compatibility.\n" +"Don't add methods to the API unless they are of general utility.\n" +"Javadocs for API methods should be clear and complete.\n" +"If you add or change the API, also update the documentation on the " +"website (i2p.www branch)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95 +msgid "" +"Tag strings for translation where appropriate.\n" +"Don't change existing tagged strings unless really necessary, as it will " +"break existing translations.\n" +"Do not add or change tagged strings after the \"tag freeze\" in the " +"release cycle so that\n" +"translators have a chance to update before the release." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101 +msgid "" +"Use generics and concurrent classes where possible. I2P is a highly " +"multi-threaded application." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104 +msgid "" +"We require Java 6 to build but only Java 5 to run I2P.\n" +"Do not use Java 6 classes or methods without handling the class not found" +" exceptions\n" +"and providing alternate Java 5 code. See classes in net.i2p.util for " +"examples." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:109 +msgid "" +"Explicitly convert between primitive types and classes;\n" +"don't rely on autoboxing/unboxing." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115 +msgid "Licenses" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117 +msgid "" +"Only check in code that you wrote yourself.\n" +"Before checking in any code or library jars from other sources,\n" +"justify why it is necessary,\n" +"verify the license is compatible,\n" +"and obtain approval from the lead developer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124 +msgid "" +"For any images checked in from external sources,\n" +"it is your responsibility to first verify the license is compatible.\n" +"Include the license and source information in the checkin comment." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131 +msgid "Bugs" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133 +#, python-format +msgid "" +"Managing Trac tickets is everybody's job, please help.\n" +"Monitor %(trac)s for tickets you have been assigned or can help with.\n" +"Assign, categorize, comment on, fix, or close tickets if you can." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138 +msgid "" +"Close a ticket when you think you've fixed it.\n" +"We don't have a test department to verify and close tickets.\n" +"If you arent sure you fixed it, close it and add a note saying\n" +"\"I think I fixed it, please test and reopen if it's still broken\".\n" +"Add a comment with the dev build number or revision and set\n" +"the milestone to the next release." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:2 +msgid "Using an IDE with I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:4 +msgid "" +"The main I2P development branch (<code>i2p.i2p</code>) has been set up to" +" enable developers to easily set up two of the commonly-used IDEs for " +"Java development: Eclipse and NetBeans." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:10 +msgid "" +"The main I2P development branches (<code>i2p.i2p</code> and branches from" +" it) contain .project and .classpath Eclipse files, to enable the branch " +"to be easily set up in Eclipse." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:16 +msgid "" +"Check out the I2P branch into some directory (e.g. " +"<code>$HOME/dev/i2p.i2p</code>)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:20 +msgid "" +"Open Eclipse and create a new Workspace, based in the directory that the " +"I2P branch was checked out to." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:24 +msgid "" +"Select \"File - Import...\" and then under \"General\" select \"Existing " +"Projects into Workspace\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:28 +msgid "" +"For \"Select root directory:\" choose the directory that the I2P branch " +"was checked out to." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:32 +msgid "If necessary, click \"Refresh\" to refresh the list of projects." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:36 +msgid "Select every project in the list, and click \"Finish\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:40 +msgid "" +"Done! Your workspace should now contain all projects within the I2P " +"branch, and their build dependencies should be correctly set up." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/ides.html:48 +msgid "" +"The main I2P development branches (<code>i2p.i2p</code> and branches from" +" it) contain NetBeans project files." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:2 +msgid "Monotone Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:7 +msgid "Operating a Monotone client" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:9 +#: i2p2www/pages/site/get-involved/guides/monotone.html:61 +msgid "Generating Monotone keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:10 +msgid "Trust and initializing your repository" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:11 +#: i2p2www/pages/site/get-involved/guides/monotone.html:194 +msgid "Obtaining and deploying developers' keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:12 +#: i2p2www/pages/site/get-involved/guides/monotone.html:225 +msgid "Setting up trust evaluation hooks" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:13 +#: i2p2www/pages/site/get-involved/guides/monotone.html:266 +msgid "" +"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and " +"<code>i2p.syndie</code> branches" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:14 +#: i2p2www/pages/site/get-involved/guides/monotone.html:312 +msgid "Verifying that trust evaluation works" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:15 +#: i2p2www/pages/site/get-involved/guides/monotone.html:361 +msgid "Checking out a working copy of the latest version" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:16 +#: i2p2www/pages/site/get-involved/guides/monotone.html:388 +msgid "Updating your working copy to the latest version" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:20 +#: i2p2www/pages/site/get-involved/guides/monotone.html:418 +msgid "Operating a Monotone Server" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:22 +msgid "Obtaining and deploying developers’ transport keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:23 +#: i2p2www/pages/site/get-involved/guides/monotone.html:428 +msgid "Granting push and pull access" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:24 +#: i2p2www/pages/site/get-involved/guides/monotone.html:473 +msgid "Running Monotone in server mode" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:25 +#: i2p2www/pages/site/get-involved/guides/monotone.html:498 +msgid "Differences under Debian GNU/Linux" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:32 +#, python-format +msgid "" +"This is a revised version of <a " +"href=\"%(transitionguide)s\">Complication's original\n" +" guide</a> detailing the use of Monotone in I2P development.\n" +" For basic instructions see the <a href=\"%(newdevs)s\">quick-start " +"guide</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:40 +#, python-format +msgid "" +"I2P has a distributed development model. The source code is replicated " +"across\n" +" independently administered <a " +"href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\") repositories.\n" +" Developers with commit rights are able to push their changes to the " +"repository\n" +" (a <a href=\"%(licenses)s#commit\">license agreement</a> needs to be " +"signed\n" +" before commit rights are granted)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:50 +msgid "" +"Some of Monotone's noteworthy qualities are: distributed\n" +" version control, cryptographic authentication, access control, its " +"small size, having few\n" +" dependencies, storage of projects in a compressed SQLite database file," +" and\n" +" having the ability to resume interrupted synchronization attempts." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:59 +msgid "Operating a Monotone Client" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:64 +msgid "" +"A transport key grants you the ability to push your changes to a Monotone" +" repository server.\n" +" In order to commit code into Monotone (in essence signing your code), a" +" commit key is also needed.\n" +" None of the public Monotone servers on I2P currently require a key in " +"order to read (or pull) the source code." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:72 +msgid "" +"Without a transport key, one cannot:\n" +" <ul>\n" +" <li>pull code from a server which doesn't allow global read " +"access</li>\n" +" <li>push code to any server</li>\n" +" <li>run a Monotone server</li>\n" +" </ul>" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:83 +msgid "" +"Without a commit key, one cannot:\n" +" <ul>\n" +" <li>commit any code</li>\n" +" </ul>" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:92 +msgid "" +"If you only intend to retrieve code from MTN, feel free to skip to the\n" +" <a href=\"#trust-and-initializing-your-repository\">next section</a>. " +"If you want\n" +" to generate keys, read the following." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:100 +msgid "" +"By convention keys are named like an e-mail addresses, but a " +"corresponding e-mail\n" +" address does not need to exist. For example, your keys might be named:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:111 +msgid "" +"Monotone stores keys under <code><b>$HOME/.monotone/keys</b></code> in " +"text files which\n" +" are named identically to the keys. For example:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:121 +msgid "" +"To generate transport and commit keys, enter the following commands at a " +"prompt:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:131 +msgid "" +"Monotone will prompt you for a password to protect your keys. You are " +"very strongly encouraged to set a password\n" +" for the commit key. Many users will leave an empty password for the " +"transport key, especially those running a\n" +" Monotone server." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:139 +msgid "Trust, and initializing your repository" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:143 +msgid "" +"Monotone's security model helps to ensure that nobody can easily " +"impersonate a developer without\n" +" it being noticed. Since developers can make mistakes and become " +"compromised,only manual review can\n" +" ensure quality of code. Monotone's trust model will ensure that you " +"read the right diffs. It does\n" +" not replace reading diffs." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:153 +msgid "" +"A Monotone repository is a single file (a compressed SQLite database) " +"which contains all of the project's source code and history." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:159 +msgid "" +"After <a href=\"#obtaining-and-deploying-developers-keys\">importing the " +"developers' keys into Monotone</a> and\n" +" <a href=\"#setting-up-trust-evaluation-hooks\">setting up trust " +"evaluation hooks</a>,\n" +" Monotone will prevent untrusted code from being checked out into your " +"workspace.\n" +" There are commands available to clean untrusted code from your " +"workspace but in practice they've not been\n" +" needed due to the push access policies in place." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:169 +msgid "" +"A repository can hold many branches. For example, our repository holds " +"the\n" +" following main branches:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:174 +msgid "The I2P router and associated programs" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:175 +msgid "The I2P project website" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:176 +msgid "Syndie, a distributed forums tool" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:181 +msgid "" +"By convention, the I2P Monotone repository is named <code>i2p.mtn</code>." +" Before pulling\n" +" source code from servers, a database for your repository will need to " +"be initialized.\n" +" To initialize your local repository, change into the directory that you" +" want the\n" +" <code>i2p.mtn</code> file and branch directories to be stored and issue" +" the following\n" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:197 +msgid "" +"Keys which developers use to commit code are essential for trust " +"evaluation in\n" +" Monotone. The other developers' transport keys are only required for " +"Monotone server operators.\n" +" " +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:204 +#, python-format +msgid "" +"Developers' commit keys are provided GPG-signed <a " +"href=\"%(signedkeys)s\">on another page</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:210 +#, python-format +msgid "" +"To import developers' keys after verifying their authenticity, copy <a " +"href=\"%(devkeys)s\">all of the keys</a> into a new\n" +" file. Create this file (e.g. <code><b>keys.txt</b></code>) in the same " +"directory where <code>i2p.mtn</code> is located. Import the keys with the" +" command:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:220 +msgid "" +"<b>Note</b>: <i>Never</i> add keys to " +"<code><b>$HOME/.monotone/keys</b></code> manually." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:228 +msgid "" +"The default Monotone trust policy is way too lax for our requirements: " +"every committer is trusted by default.\n" +" That is not acceptable for I2P development." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:235 +msgid "" +"Change into the directory <code><b>$HOME/.monotone</b></code> and open " +"the file\n" +" <code>monotonerc</code> with a text editor. Copy and paste the " +"following two functions into this file:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:244 +msgid "" +"The first function determines an intersection between two sets, in our " +"case a\n" +" revision's signers and trusted signers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:251 +msgid "" +"The second function determines trust in a given revision, by calling the " +"first\n" +" function with \"signers\" and \"trusted\" as arguments. If the " +"intersection is\n" +" null, the revision is not trusted. If the intersection is not empty, " +"the\n" +" revision is trusted. Otherwise, the revision is not trusted." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:260 +msgid "" +"More information about Trust Evaluation Hooks can be found in the <a " +"href=\"http://www.monotone.ca/docs/Hooks.html\">official Monotone " +"documentation</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:268 +msgid "" +"I2P is shipped with a pre-configured tunnel pointing to the project " +"Monotone server. Ensure that the tunnel has been started\n" +" within <a href=\"http://127.0.0.1:7657/i2ptunnel\">I2PTunnel</a> before" +" attempting to pull the source code from 127.0.0.1:8998." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:275 +msgid "" +"Enter the directory where you initialized <code>i2p.mtn</code>. Depending" +" on whether you\n" +" want only I2P sources, or also sources for the I2P website and Syndie, " +"you can\n" +" perform the <code>pull</code> operation in different ways." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:283 +msgid "If you only want I2P sources:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:292 +msgid "If you want all branches:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:298 +msgid "" +"If the transfer aborts before completing sucessfully, simply repeating " +"the pull command will resume the transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:304 +msgid "" +"Pulling in the above examples is done anonymously by specifying an empty " +"transport key.\n" +" If everyone pulls anonymously it will be harder for an attacker who " +"gains control of the server\n" +" to selectively provide some people with tampered data." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:315 +msgid "To verify that trust evaluation works:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:319 +msgid "Make a backup of your <code>monotonerc</code> file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:320 +msgid "" +"Modify <code><b>monotonerc</b></code> by setting the trusted_signers " +"variable in the following way:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:326 +msgid "" +"With <code><b>monotonerc</b></code> configured as above, Monotone will no" +" longer trust any committers. Confirm this by changing into the\n" +"directory where <code>i2p.mtn</code> was created and attempt a checkout " +"of the I2P branch:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:336 +msgid "" +"A directory named <code>i2p.i2p</code> should <b>not</b> appear. You " +"should encounter many\n" +" error messages like:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:353 +msgid "" +"If you are satisfied with results, restore the backup of\n" +" <code>monotonerc</code> that was created above. If you didn't create a " +"backup\n" +" as advised, re-read <a href=\"#setting-up-trust-evaluation-" +"hooks\">Setting up trust evaluation hooks</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:364 +msgid "" +"If you already have a branch checked out, skip to the <a href" +"=\"#updating-your-working-copy-to-the-latest-version\">next\n" +" section</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:371 +msgid "" +"Change into the directory where <code>i2p.mtn</code> is located. Over " +"there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:380 +msgid "" +"The checkout should complete without error messages and a directory named" +"\n" +" <code>i2p.i2p</code> should appear in the current directory. " +"Congratulations! You have\n" +" successfully checked out the latest I2P sources, ready to be compiled." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:391 +msgid "" +"If you haven't done this already, pull fresh code from the server to your" +" local\n" +" Monotone repository. To accomplish this, change into the directory " +"where\n" +" <code>i2p.mtn</code> is located and issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:402 +msgid "Now change into your <code>i2p.i2p</code> directory, and over there issue:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:411 +msgid "" +"As long as there were no errors…Congratulations! You have " +"successfully updated to the latest I2P sources. They\n" +" should be ready to compile." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:420 +msgid "Obtaining and deploying developers' transport keys" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:423 +msgid "" +"As a server operator you may want to grant push access to certain " +"developers." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:431 +msgid "By default the Monotone server denies all access." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:437 +msgid "To grant pull access to all clients, set the following in" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:449 +msgid "" +"No one will not be able to push code to your server without permission " +"being explicitly granted. To grant push access:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:455 +msgid "" +"Add the name of the user's transport key to\n" +"<code>$HOME/.monotone/write-permissions</code>, such as\n" +"<code><pre>\n" +" zzz-transport@mail.i2p\n" +" complication-transport@mail.i2p\n" +"</pre></code>\n" +"with one key per line." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:466 +msgid "" +"Import the transport key(s) into your database. The procedure for " +"importing transport keys is the same as for\n" +"importing commit keys, which is described in the section <a href" +"=\"#obtaining-and-deploying-developers-keys\">Obtaining and deploying " +"developers' keys</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:476 +msgid "" +"A separate database should be used for your Monotone server because " +"monotone will lock the database while it is served to others.\n" +" Make a copy of your development database, then start the server with:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:483 +msgid "" +"If your key is protected with a passphrase, Monotone may request the " +"passphrase\n" +" when the first client connects. You can work around this by connecting " +"making the first client connection to your server\n" +" (or by clearing the password for your transport key)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:491 +msgid "" +"For your server to be accessible for others over I2P, you will need to " +"create a\n" +" server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" " +"profile." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:501 +msgid "" +"Debian (amongst other distributions) has integrated Monotone into their\n" +" framework of daemons/services. Although Monotone servers can still be " +"run\n" +" \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may" +" be more straightforward." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/monotone.html:509 +msgid "" +"Permissions are granted by editing the files\n" +" <code>/etc/monotone/read-permissions</code> and\n" +" <code>/etc/monotone/write-permissions</code>. You'll also need to edit\n" +" <code>/etc/default/monotone</code> to enable monotone to start at boot " +"or to\n" +" customize the host, port, or database location." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:2 +msgid "New Developer's Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:4 +msgid "" +"\n" +"So you want to start work on I2P? Great!\n" +"Here's a quick guide to getting started\n" +"on contributing to the website or the software, doing development or " +"creating translations." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:9 +#, python-format +msgid "" +"\n" +"Not quite ready for coding?\n" +"Try <a href=\"%(volunteer)s\">getting involved</a> first." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:16 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:27 +msgid "Basic study" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:17 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:41 +msgid "Getting the I2P code" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:18 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:112 +msgid "Building I2P" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:19 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:133 +msgid "Development ideas" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:20 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:141 +msgid "Making the results available" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:21 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:162 +msgid "Get to know us!" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:22 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:168 +msgid "Translations" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:23 +#: i2p2www/pages/site/get-involved/guides/new-developers.html:174 +msgid "Tools" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:29 +msgid "" +"Basic development on the I2P router or the embedded applications uses " +"Java as the main development language.\n" +"If you don't have experience with Java, you can always have a look at <a " +"href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:33 +#, python-format +msgid "" +"Study the <a href=\"%(intro)s\">how intro</a>,\n" +"the <a href=\"%(docs)s\">other \"how\" documents</a>,\n" +"the <a href=\"%(techintro)s\">tech intro</a>,\n" +"and associated documents.\n" +"These will give you a good overview of how I2P is structured and what " +"different things it does." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:43 +msgid "" +"For development on the i2p router or the embedded applications,\n" +"get the monotone source repository installed - short instructions:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:48 +msgid "" +"Install <a href=\"http://www.monotone.ca/\">monotone</a>.\n" +"Monotone is a version control system.\n" +"We use it because it allows us to keep track of who does what changes to " +"the source code (and for a lot of complicated things, but 'keeping track " +"of changes' is the basic idea)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:53 +msgid "" +"Skim over the <a " +"href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone tutorial</a>," +" to make sure you understand the concepts." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:57 +msgid "" +"If you want to remain anonymous, you need to do an additional step, to " +"set up a connection to a monotone server over I2P:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:60 +#, python-format +msgid "" +"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port " +"8998 pointing to mtn.i2p2.i2p." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:64 +msgid "" +"Pick a directory where you want to put all your I2P files, and create a " +"monotone database:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:67 +msgid "" +"Define the trust list by creating <code>~/.monotone/monotonerc</code> (or" +" <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the " +"following contents:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:72 +#, python-format +msgid "" +"Copy and paste the <a href=\"%(devkeys)s\">developer's commit keys</a> " +"into a new file (e.g. <code>keys.txt</code>) in the same directory\n" +" that <code>i2p.mtn</code> is in. Import the keys into your database " +"with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:76 +msgid "" +"Pull the I2P sources to your machine. This may take a long time, " +"especially if you are doing this over I2P!" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:78 +msgid "Anonymously:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:81 +msgid "Non-anonymously:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:83 +msgid "" +"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn" +".i2p-projekt.de." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:90 +msgid "" +"All the sources are now present on your machine, in the database file. To" +" make them available in a directory, you need to check them out:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:92 +msgid "" +"The above command creates a directory i2p.i2p, which contains all of the " +"I2P sources." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:96 +msgid "Remarks" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:97 +msgid "" +"\n" +"To download the website files instead of the I2P source files, use " +"'i2p.www' instead of 'i2p.i2p'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:100 +msgid "" +"The initial pull may take several hours using the tunnel.\n" +"If it fails after a partial pull, simply rerun it, it will start where it" +" left off.\n" +"If you are in a hurry, use the non-anonymous access." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:105 +#, python-format +msgid "" +"A full list of branches, including i2p.i2p and i2p.www can be found on <a" +" href=\"%(viewmtn)s\">viewmtn</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:108 +#, python-format +msgid "" +"A long explanation about using monotone is available on the <a " +"href=\"%(monotone)s\">monotone page</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:114 +#, python-format +msgid "" +"To compile the code, you need the Sun Java Development Kit 6 or higher, " +"or equivalent JDK\n" +"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> strongly recommended) and\n" +"<a href=\"http://ant.apache.org/\">Apache ant</a>\n" +"version 1.7.0 or higher.\n" +"If you go are working on the main I2P code, you can go into the i2p.i2p " +"directory and run 'ant' to see the build options." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:122 +msgid "" +"To build or work on console translations, you need\n" +"the xgettext, msgfmt, and msgmerge tools from the\n" +"<a href=\"http://www.gnu.org/software/gettext/\">GNU gettext package</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:128 +#, python-format +msgid "" +"For development on new applications,\n" +"see the <a href=\"%(apps)s\">application development guide</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:134 +#, python-format +msgid "" +"See <a href=\"http://%(zzz)s/forums/3\">zzz's TODO lists</a>,\n" +"<a href=\"%(todo)s\">this website's TODO list</a> or\n" +"<a href=\"%(trac)s\">Trac</a>\n" +"for ideas." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:143 +#, python-format +msgid "" +"See the bottom of <a href=\"%(licenses)s#commit\">the licenses page</a> " +"for\n" +"commit privilege requirements. You need these to put code into i2p.i2p " +"(not required for the website!)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:148 +msgid "Short version of how to generate and use keys if you plan to commit:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:150 +msgid "use an empty passphrase" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:151 +msgid "enter a passphrase" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:152 +#, python-format +msgid "" +"<a href=\"mailto:%(email)s\">send</a> this to a mtn repo operator to get " +"push privileges" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:153 +#, python-format +msgid "" +"send this to <a href=\"mailto:%(email)s\">a release manager</a> to get " +"commit privileges - not required for website" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:154 +msgid "check in with this key" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:155 +msgid "push with this key" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:157 +#, python-format +msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:163 +#, python-format +msgid "" +"The developers hang around on IRC. They can be reached on the Freenode " +"network, OFTC, and on the I2P internal networks. The usual place to look " +"is #i2p-dev. Join the channel and say hi!\n" +"We also have <a href=\"%(guidelines)s\">additional guidelines for regular" +" developers</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:169 +#, python-format +msgid "" +"Website and router console translators: See the <a " +"href=\"%(newtrans)s\">New Translator's Guide</a>\n" +"for next steps." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:175 +msgid "" +"I2P is open source software that is mostly developed using open sourced\n" +"toolkits. The I2P project recently acquired a license for the YourKit " +"Java\n" +"Profiler. Open source projects are eligible to receive a free license " +"provided\n" +"that YourKit is referenced on the project web site. Please get in touch " +"if you\n" +"are interested in profiling the I2P codebase." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-developers.html:183 +#, python-format +msgid "" +"YourKit is kindly supporting open source projects with its full-featured " +"Java Profiler.\n" +"YourKit, LLC is the creator of innovative and intelligent tools for " +"profiling\n" +"Java and .NET applications. Take a look at YourKit's leading software " +"products:\n" +"<a href=\"%(java)s\">YourKit Java Profiler</a> and\n" +"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:2 +msgid "New Translator's Guide" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:4 +msgid "Here's a very quick guide to getting started." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:6 +msgid "How to Translate the Website" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:8 +#, python-format +msgid "" +"Translation of the website is done with .po files. The easiest way by far" +" to\n" +"translate the website is to sign up for an account at \n" +"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation" +" team. \n" +"Alternatively it can be done \"the old way\" as outlined below." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:17 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:82 +msgid "Preparation" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:19 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:84 +#, python-format +msgid "" +"Come to #i2p-dev on irc and talk to people.\n" +"Claim the language -\n" +"To make sure other coworkers don't bump onto the files you are working " +"on,\n" +"please update the translation status on <a href=\"%(url)s\">this wiki " +"page</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:25 +#, python-format +msgid "" +"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n" +"Including the installation of monotone,\n" +"checking out i2p.www branch, and generate your own monotone keys.\n" +"It is not required that you sign a dev agreement." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:33 +msgid "" +"<b>Create files:</b>\n" +"If the file for your language does not exist yet:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:38 +msgid "" +"Run \"<code>./extract-messages.sh</code>\" to generate a " +"<code>messages.pot</code> in the base directory.\n" +"Edit the header of this file, then run \"<code>./init-new-po.sh " +"locale</code>\" to generate the file\n" +"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. " +"\"<code>mtn add</code>\" this file." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:43 +msgid "" +"Edit <code>i2p2www/pages/global/lang.html</code> and add a line for your " +"language (copy an existing line)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:46 +msgid "" +"Add a flag image file to <code>i2p2www/static/images/flags/</code> for " +"the menu (copy from the router)." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:52 +msgid "" +"<b>Edit files:</b>\n" +"Edit <code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n" +"To work with .po files efficiently, you may wish to use <a " +"href=\"http://www.poedit.net/download.php\">POEdit</a>" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:58 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:151 +msgid "" +"<b>Check in:</b>\n" +"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Then check in by " +"\"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n" +"This collects the diff info of your changed file into your local repo. " +"Then \"<code>mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p " +"i2p.i2p</code>\".\n" +"This synchronizes your local repo with the repo on the target machine." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:65 +#: i2p2www/pages/site/get-involved/guides/new-translators.html:158 +msgid "Repeat. Check in often. Don't wait until it is perfect." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:72 +msgid "How to Translate the Router Console" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:74 +#, python-format +msgid "" +"The easiest way by far to translate the router console is to sign up for " +"an account at \n" +"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation" +" team. \n" +"Alternatively it can be done \"the old way\" as outlined below." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:90 +#, python-format +msgid "" +"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n" +"including the installation of monotone and the gettext tools,\n" +"checking out i2p.i2p branch, and generate your own monotone keys." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:95 +msgid "Generate your own gpg key and sign the dev agreement." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:101 +msgid "" +"Before starting a console translation, better help translate some i2p " +"webpages first.\n" +"At least an i2p homepage in your language would be great." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:106 +msgid "" +"<b>What to translate:</b>\n" +"There are about 15 files in the i2p.i2p branch that needs translation:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:132 +msgid "" +"Where xx is your language code like fr/de/ch/zh/...\n" +"There may be or may not be files with your lang code. If not, you can " +"create your own. by copying and renaming other language files you know " +"with your own lang code." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:137 +msgid "" +"<b>Create files:</b>\n" +"If the file for your language does not exist yet, copy another language " +"file to a new file <code>foo_xx.bar</code> for your language.\n" +"Then \"<code>mtn add</code>\" the file.\n" +"After creating a .po file, edit the headers. Then run \"<code>ant " +"distclean poupdate</code>\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:144 +msgid "" +"<b>Start to work:</b>\n" +"Edit the HTML files with any text editor.\n" +"Be sure not to use an editor in HTML mode that reformats everything.\n" +"To work with .po files efficiently, you may wish to use <a " +"href=\"http://www.poedit.net/download.php\">POEdit</a>" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:163 +msgid "" +"As you can see, it's not that difficult.\n" +"If you have questions about the meaning of the terms in the console, ask " +"in <code>#i2p-dev</code> on IRC." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:169 +msgid "FAQ" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:171 +msgid "" +"Q: Why do I have to install monotone, Java, jsp, learn about .po files " +"and html, etc.? Why can't I just do a translation and email it to you?" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:175 +msgid "A: Several reasons:" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:178 +#, python-format +msgid "" +"You might be interested in translating via Transifex. Request to join a " +"translation team <a href=\"%(transifex)s\">here</a>." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:182 +msgid "" +"We don't have anybody who has time to accept manual contributions and " +"submit them to our source control system on your behalf. Even if we did, " +"it doesn't scale." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:186 +msgid "" +"Maybe you are thinking translation is a one-step process. It isn't. You " +"can't do it all at once. You will make mistakes. You need to test it and " +"tweak it to make it look right <i>before</i> you submit it. Developers " +"will update or add to the English text, thus requiring a translation " +"update." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:190 +msgid "" +"Having translators use a source control system directly provides " +"authentication and accountablility - we know who is doing what, and we " +"can track changes, and revert them if necessary." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:194 +msgid "" +".po files are not difficult. If you don't want to work directly with " +"them, we recommend 'poedit'." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:198 +msgid "" +"HTML files are not difficult. Just ignore the html stuff and translate " +"the text." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:202 +msgid "" +"Installing and using monotone is not that difficult. Several of the " +"translators and other contributors to I2P are non-programmers, and they " +"use monotone regularly. Monotone is simply a source control system, it is" +" not about \"coding\"." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:206 +msgid "" +"Our items to translate are not \"documents\". They are html files and po " +"files, with a specific format and character encoding (UTF-8) that must be" +" maintained, and not corrupted by email programs or other methods of " +"transfer." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:210 +msgid "" +"We looked at 'pootle' as a front-end for translators. It didn't work " +"well, needed an administrator, and a pootle-based process would suffer " +"from a number of the above flaws." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:215 +msgid "" +"<b>In summary:</b>\n" +"Yes, we know it is somewhat of a hurdle to get started. It's really the " +"only possible way we can do it. Give it a try, it really isn't that hard." +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:220 +msgid "More Information" +msgstr "" + +#: i2p2www/pages/site/get-involved/guides/new-translators.html:221 +#, python-format +msgid "" +"The #i2p-dev channel on IRC, or the <a " +"href=\"http://%(zzz)s/forums/14\">translation forum on %(zzz)s</a>." +msgstr "" +