diff --git a/i2p2www/translations/ar/LC_MESSAGES/get-involved.po b/i2p2www/translations/ar/LC_MESSAGES/get-involved.po
new file mode 100644
index 0000000000000000000000000000000000000000..2a4e5980e06520f8b61ad227e388803508acec28
--- /dev/null
+++ b/i2p2www/translations/ar/LC_MESSAGES/get-involved.po
@@ -0,0 +1,4098 @@
+# Arabic translations for I2P.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2017-07-26 20:35+0000\n"
+"PO-Revision-Date: 2017-09-23 16:23+0000\n"
+"Last-Translator: str4d <str4d@i2pmail.org>\n"
+"Language-Team: Arabic (http://www.transifex.com/otf/I2P/language/ar/)\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : "
+"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\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:82
+msgid "Donate"
+msgstr "ادعم"
+
+#: i2p2www/pages/site/get-involved/donate.html:4
+msgid ""
+"Thank you for your interest in contributing to I2P!\n"
+"The details of how you\n"
+"can make your contribution are provided below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:10
+msgid "Tax Status"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:17
+msgid "Stickers"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:25
+msgid "Please allow 30-60 days for delivery."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:30
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:42
+#: i2p2www/pages/site/get-involved/donate.html:59
+#: i2p2www/pages/site/get-involved/donate.html:75
+#: i2p2www/pages/site/get-involved/donate.html:91
+msgid "For easy usage, use the QR code below!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:47
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:64
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:80
+#, python-format
+msgid ""
+"As of %(date)s, echelon 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 echelon a note if you'd like your donation to be\n"
+" mentioned on the I2P webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:97
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:104
+#, python-format
+msgid "You can donate direct via PayPal to the account \"%(account)s\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:110
+msgid "One time donation:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:124
+msgid "Donate 10 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:132
+#: i2p2www/pages/site/get-involved/donate.html:144
+#: i2p2www/pages/site/get-involved/donate.html:156
+#: i2p2www/pages/site/get-involved/donate.html:168
+msgid "I2P donation "
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:138
+msgid "Donate 20 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:150
+msgid "Donate 30 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:162
+msgid "Donate 50 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:177
+msgid "Flattr this"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:182
+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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:186
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:191
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/index.html:2
+msgid "Get Involved!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:4
+msgid "We need your help!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:5
+msgid ""
+"To get involved, please feel free to join us on the #i2p-dev IRC channel "
+"(on\n"
+"irc.freenode.net, irc.oftc.net, or within I2P on irc.echelon.i2p, "
+"irc.dg.i2p or irc.postman.i2p)."
+msgstr ""
+
+#: 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 ""
+
+#: 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 get you started!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:18
+msgid "Spread the Word!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:19
+msgid ""
+"Tell people about I2P on forums, blogs, and comments to articles.\n"
+"Fix up the Wikipedia article about I2P in your language.\n"
+"Tell your friends."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:24
+msgid "Testing"
+msgstr "جاري التجريب"
+
+#: i2p2www/pages/site/get-involved/index.html:25
+#, python-format
+msgid ""
+"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
+"and report results on #i2p or as bugs on <a href=\"%(trac)s\">Trac</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:30
+msgid "Documentation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:31
+msgid ""
+"Help fix the parts of the website that are outdated or incomplete.\n"
+"Translate pages into other languages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:35
+msgid "Pictures"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:36
+msgid "Make some more pictures, fix the old ones on the website"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:39
+msgid "Content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:40
+msgid "Make an eepsite! Add some content! Contribute to the community!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:43
+msgid "Services"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:44
+msgid ""
+"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
+"a naming service, a search engine, an eepsite monitor... many of these\n"
+"aren't that hard."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:49
+msgid "Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:50
+#, python-format
+msgid ""
+"Write or port applications for I2P! There's some guidelines and\n"
+"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:54
+msgid "Coding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:55
+#, python-format
+msgid ""
+"There's plenty to do if you know Java or are ready to learn.\n"
+"Check for open tickets on <a href=\"%(trac)s\">Trac</a>\n"
+"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
+"some ideas on where to start.\n"
+"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:64
+msgid "Translation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:65
+#, python-format
+msgid ""
+"Help translate the website and the software into your language.\n"
+"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:69
+msgid "Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:70
+#, python-format
+msgid ""
+"Study or test the code to look for vulnerabilities.\n"
+"Both anonymity vulnerabilities from the various\n"
+"<a href=\"%(threatmodel)s\">threat models</a>,\n"
+"and DOS and other weaknesses due to securities holes,\n"
+"need researching."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:77
+msgid "Reseeding"
+msgstr "اعادة التوزيع"
+
+#: i2p2www/pages/site/get-involved/index.html:78
+#, python-format
+msgid ""
+"Set up a reseed server for new routers to bootstrap from.\n"
+"Detailed instructions are on our <a href=\"%(reseed)s\">reseed server "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:2
+msgid "Roadmap"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:3
+msgid "June 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:304
+#, python-format
+msgid ""
+"Reachability Mapping / handle peers partially reachable / enhanced <a "
+"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:307
+msgid "Full restricted routes"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:308
+msgid "Tunnel mixing and padding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:309
+msgid "User defined message delays"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:317
+#, 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:5
+#: i2p2www/pages/site/get-involved/todo.html:47
+msgid "Core functionality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:7
+#: i2p2www/pages/site/get-involved/todo.html:50
+msgid "NetworkDB and profile tuning and ejection policy for large nets"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:11
+#: i2p2www/pages/site/get-involved/todo.html:74
+msgid "Security / anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:13
+#: i2p2www/pages/site/get-involved/todo.html:77
+msgid "Full blown n-hop restricted routes with optional trusted links"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:16
+#: i2p2www/pages/site/get-involved/todo.html:96
+msgid "Hashcash for routerIdentity, destination, and tunnel request"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:19
+#: i2p2www/pages/site/get-involved/todo.html:125
+msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:22
+#: i2p2www/pages/site/get-involved/todo.html:162
+msgid "Stop &amp; go mix w/ garlics &amp; tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:26
+#: i2p2www/pages/site/get-involved/todo.html:176
+msgid "Performance"
+msgstr "الأداء"
+
+#: i2p2www/pages/site/get-involved/todo.html:31
+#, python-format
+msgid ""
+"Note: This page is not up-to-date.\n"
+"See <a href=\"%(roadmap)s\">the roadmap</a> for current plans."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:36
+#, 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:53
+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:68
+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:80
+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:99
+#, 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:107
+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:118
+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:128
+#, 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:141
+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:154
+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:165
+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:177
+#, 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 &euro; 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) and has been updated just with\n"
+"small fixes to keep it running. 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 3 Bitcoin."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:23
+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 &euro;"
+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&#37; 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&#37;\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:7
+#: i2p2www/pages/site/get-involved/develop/applications.html:15
+msgid "Why write I2P-specific code?"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:8
+#: i2p2www/pages/site/get-involved/develop/applications.html:101
+msgid "Important concepts"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:9
+#: i2p2www/pages/site/get-involved/develop/applications.html:189
+msgid "Development options"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:10
+#: i2p2www/pages/site/get-involved/develop/applications.html:302
+msgid "Start developing - a simple guide"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:17
+#, 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:25
+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:36
+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:42
+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:56
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid ""
+"Creating a server-client connection using I2PTunnel only requires "
+"creating a single tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid "Figure 1:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:63
+#: i2p2www/pages/site/get-involved/develop/applications.html:65
+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:65
+msgid "Figure 2:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:69
+msgid "In summary, a number of reasons to write I2P-specific code:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:73
+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:77
+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:82
+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:89
+#, 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:95
+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:103
+msgid "There are a few changes that require adjusting to when using I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:107
+msgid "Destination ~= host+port"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:109
+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:117
+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:122
+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:129
+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:134
+#, 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:148
+#, 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:157
+msgid "Anonymity and confidentiality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:159
+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:166
+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:175
+msgid "I2P datagrams can be up to several KB"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:177
+#, 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:191
+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:196
+msgid "Streaming Lib"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:197
+#, 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:203
+#, 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:216
+msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:217
+#, 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:224
+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:227
+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:230
+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:236
+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:243
+#, 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:251
+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:263
+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:270
+msgid "Removed"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:271
+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:276
+msgid "Datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:277
+msgid "Recommended for UDP-like applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:278
+#, 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:283
+msgid "Repliable datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:284
+msgid "Raw datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:288
+msgid "Not recommended"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:289
+#, 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:296
+msgid "Web Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:297
+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:303
+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:309
+msgid "Developing with the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:311
+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:316
+msgid "This will require the following libraries in your classpath:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:320
+msgid "The streaming library itself"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:321
+msgid "Factory and interfaces for the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:322
+msgid "Standard I2P classes, data structures, API, and utilities"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:325
+msgid ""
+"You can fetch these from an I2P installation, or add the following "
+"dependencies\n"
+"from Maven Central:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:334
+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:339
+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:370
+msgid "Code example 1: initializing the server application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:372
+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:456
+msgid "Code example 2: accepting connections from clients and handling messages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:460
+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:474
+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:478
+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:562
+msgid ""
+"Code example 3: starting the client and connecting it to the server "
+"application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:564
+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:570
+msgid "Congratulations, you have successfully communicated over I2P!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:574
+msgid "Existing Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:575
+msgid "Contact us if you would like to contribute."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:596
+msgid "Application Ideas"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:598
+msgid "NNTP server - there have been some in the past, none at the moment"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:601
+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:604
+msgid "PGP Key server and/or proxy"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:607
+msgid ""
+"Content Distribution / DHT applications - resurrect feedspace,\n"
+"port dijjer, look for alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:611
+msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:614
+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:619
+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:291
+msgid "Developer Transport Keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:292
+#, 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:275
+msgid "GPL + java exception"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:276
+#, 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:292
+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:300
+msgid "Website content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:308
+msgid "Commit privileges"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:309
+#, 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:315
+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:322
+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:326
+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:330
+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:336
+#, 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 from 0.9.9 could be signed by str4d. His current public key is:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:563
+msgid "str4d has signed the following releases:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:571
+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:607
+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 _at_ 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:3
+msgid "January 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:5
+#, python-format
+msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:9
+msgid "Basic Guidelines and Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:11
+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:19
+msgid "Community"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:21
+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:26
+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 "Release Cycle"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:36
+msgid ""
+"Our normal release cycle is 6-10 weeks.\n"
+"Following are the approximate deadlines within a typical 8-week cycle.\n"
+"Actual deadlines for each release are set by the lead developer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:43
+msgid "1-2 days after previous release: Checkins to trunk are allowed."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:46
+msgid ""
+"2-3 weeks after previous release: Deadline to propagate major changes "
+"from other branches to trunk."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:49
+msgid "4-5 weeks before release: Deadline to request new home page links."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:52
+msgid "3-4 weeks before release: Feature freeze. Deadline for major new features."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:55
+msgid ""
+"2-3 weeks before release: Hold project meeting to review new home page "
+"link requests, if any."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:58
+msgid ""
+"7-10 days before release: String freeze. No more changes to translated "
+"(\"tagged\") strings.\n"
+"Push strings to Transifex, announce translation deadline on Transifex."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:62
+msgid ""
+"7-10 days before release: Feature deadline. Bug fixes only after this "
+"time. No more features, refactoring or cleanup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:65
+msgid ""
+"3-4 days before release: Translation deadline. Pull translations from "
+"Transifex and check in."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
+msgid ""
+"2-3 days before release: Checkin deadline. No checkins after this time "
+"without the permission of the release builder."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:71
+msgid "Hours before release: Code review deadline."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:80
+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:87
+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:96
+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:101
+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:105
+msgid ""
+"Ensure that you 'mtn pull' and 'mtn update' to the latest revision before"
+" you check in and push.\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:113
+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:120
+msgid "Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:122
+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:129
+msgid ""
+"All new public and package-private classes and methods require Javadocs. "
+"Add @since release-number.\n"
+"Javadocs for new private methods are desirable."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
+msgid ""
+"For any Javadocs added, there must not be any doclint errors or warnings."
+"\n"
+"Run 'ant javadoc' with Oracle Java 8 or higher to check.\n"
+"All params must have @param lines, all non-void methods must have @return"
+" lines,\n"
+"all exceptions declared thrown must have @throws lines, and no HTML "
+"errors."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:139
+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:147
+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:153
+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:156
+msgid ""
+"Be familiar with common Java pitfalls that are caught by findbugs.\n"
+"Run 'ant findbugs' to learn more."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:160
+msgid ""
+"We require Java 7 to build and run I2P.\n"
+"Do not use Java 8 classes or methods anywhere.\n"
+"Do not use Java 7 or 8 classes or methods in embedded subsystems (core, "
+"router, mstreaming, streaming, i2ptunnel),\n"
+"as Android and embedded applications require only Java 6. All classes "
+"must be available in Android API 9.\n"
+"Java 7 language features are acceptable in these subsystems if supported "
+"by the current version\n"
+"of the Android SDK and they compile to Java 6-compatible code."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:168
+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:172
+msgid "Don't use URL. Use URI."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:175
+msgid ""
+"Don't catch Exception. Catch RuntimeException and checked exceptions "
+"individually."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:178
+msgid ""
+"Don't use String.getBytes() without a UTF-8 charset argument. You may "
+"also use DataHelper.getUTF8() or DataHelper.getASCII()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:181
+msgid ""
+"Always specify a UTF-8 charset when reading or writing files. The "
+"DataHelper utilities may be helpful."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:184
+msgid ""
+"Always specify a locale (for example Locale.US) when using "
+"String.toLowerCase() or String.toUpperCase().\n"
+"Do not use String.equalsIgnoreCase(), as a locale cannot be specified."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:188
+msgid "Don't use String.split(). Use DataHelper.split()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:191
+msgid "Ensure that InputStreams and OutputStreams are closed in finally blocks."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:194
+msgid ""
+"Use {} for all for and while blocks, even if only one line.\n"
+"If you use {} for either the if, else, or if-else block, use it for all "
+"blocks.\n"
+"Put \"} else {\" on a single line."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:199
+msgid "Specify fields as final wherever possible."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:202
+msgid ""
+"Don't store I2PAppContext, RouterContext, Log, or any other references to"
+" router or context items in static fields."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:205
+msgid "Don't start threads in constructors. Use I2PAppThread instead of Thread."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:210
+msgid "Licenses"
+msgstr "الرخص"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:212
+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:219
+msgid ""
+"If you do obtain approval to add external code or jars,\n"
+"and binaries are available in any Debian or Ubuntu package,\n"
+"you must implement build and packaging options to use the external "
+"package instead.\n"
+"Checklist of files to modify:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:227
+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:234
+msgid "Bugs"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:236
+#, 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:241
+msgid ""
+"New developers should start by fixing a bug.\n"
+"Search for bugs with the 'easy' keyword on trac.\n"
+"When you have a fix, attach your patch to the ticket and add the keyword "
+"'review-needed'.\n"
+"Do not close the ticket until it's been successfully reviewed and you've "
+"checked your changes in.\n"
+"Once you've done this smoothly for a couple of tickets, you may follow "
+"the normal procedure below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:248
+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:6
+msgid "Operating a Monotone client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:8
+#: i2p2www/pages/site/get-involved/guides/monotone.html:61
+msgid "Generating Monotone keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:9
+msgid "Trust and initializing your repository"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:10
+#: i2p2www/pages/site/get-involved/guides/monotone.html:194
+msgid "Obtaining and deploying developers' keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:11
+#: i2p2www/pages/site/get-involved/guides/monotone.html:225
+msgid "Setting up trust evaluation hooks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:12
+#: 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:13
+#: i2p2www/pages/site/get-involved/guides/monotone.html:312
+msgid "Verifying that trust evaluation works"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:14
+#: 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:15
+#: 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:19
+#: i2p2www/pages/site/get-involved/guides/monotone.html:418
+msgid "Operating a Monotone Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:21
+msgid "Obtaining and deploying developers’ transport keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:22
+#: i2p2www/pages/site/get-involved/guides/monotone.html:428
+msgid "Granting push and pull access"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:23
+#: i2p2www/pages/site/get-involved/guides/monotone.html:473
+msgid "Running Monotone in server mode"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:24
+#: 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&hellip;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:5
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+msgid "Basic study"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:6
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:45
+msgid "Getting the I2P code"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:8
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:52
+msgid "The easy way: Git"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
+msgid "The proper way: Monotone"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:11
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:135
+msgid "Building I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:12
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:156
+msgid "Development ideas"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:13
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:164
+msgid "Making the results available"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:14
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:185
+msgid "Get to know us!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:15
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:191
+msgid "Translations"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:197
+msgid "Tools"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
+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:26
+#, 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:33
+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:37
+#, 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:47
+msgid ""
+"For development on the I2P router or the embedded applications,\n"
+"there are two ways to get the source code:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:54
+#, python-format
+msgid "Install <a href=\"%(git_url)s\">Git</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
+#, python-format
+msgid "Get the code from <a href=\"%(i2p_git)s\">the GitHub mirror</a>:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:119
+msgid "Remarks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:65
+#, python-format
+msgid ""
+"The Git repository is currently a read-only mirror. If you wish to use it"
+" for\n"
+"development, you will need to submit patches to <a href=\"%(trac)s\">our "
+"issue\n"
+"tracker</a>. We can accept GitHub pull requests, but they must be "
+"processed\n"
+"manually by turning them into patches anyway."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:74
+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:79
+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:83
+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:86
+#, python-format
+msgid ""
+"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
+"8998 pointing to mtn.i2p-projekt.i2p."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
+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:93
+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:98
+#, 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:102
+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:104
+msgid "Anonymously:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+msgid "Non-anonymously:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:113
+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:115
+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:120
+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:123
+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:128
+#, 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:131
+#, 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:137
+#, 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:145
+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:151
+#, 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:157
+#, 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:166
+#, 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:171
+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:173
+msgid "use an empty passphrase"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
+msgid "enter a passphrase"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
+#, 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:176
+#, 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:177
+msgid "check in with this key"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:178
+msgid "push with this key"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:180
+#, python-format
+msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:186
+#, 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:192
+#, 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:198
+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:206
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:2
+msgid "How to Set up a Reseed Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:3
+msgid "February 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:6
+msgid "Overview"
+msgstr "نظرة عامة"
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:8
+msgid ""
+"Thank you for volunteering to run an I2P reseed server.\n"
+"\"Reseeding\" is our term for bootstrapping new routers into the network."
+"\n"
+"New routers fetch a bundle of peer references, or \"router infos\", from "
+"one or more of a hardcoded list of HTTPS URLs."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:14
+msgid "Requirements"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:16
+msgid ""
+"At its simplest, a reseed server consists of a Java I2P router, an HTTPS "
+"web server,\n"
+"and some scripts that periodically gather router infos from the router,\n"
+"bundle and sign them into a custom file format, and deliver these files "
+"over HTTPS.\n"
+"In practice, it's a bit more complex, and a reseed operator must be "
+"fairly competent and attentive.\n"
+"A reseed server is not appropriate for a residential internet connection."
+" The complexities include:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:25
+msgid ""
+"You must have a secure SSL setup with either a self-signed certificate or"
+" a cert that chains up to a standard CA"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:28
+msgid ""
+"The SSL configuration must conform to current best practices on allowed "
+"ciphers and protocols, and the CN/SAN host name must match the URL"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:31
+msgid ""
+"The scripts are designed to deliver different router info bundles to "
+"different requestors for network diversity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:34
+msgid ""
+"The scripts are designed to deliver the same bundle to the same repeated "
+"requestor to prevent scraping"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:37
+msgid ""
+"The reseed servers are under periodic attacks and DDoS attempts, and from"
+" other buggy I2P implementations and botnets.\n"
+"This necessitates that you run fail2ban or an equivalent solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:43
+msgid "Information Required"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:45
+msgid ""
+"When your setup is complete and ready for testing, we will need the HTTPS"
+" URL,\n"
+"the SSL public key certificate, and the \"su3\" bundle public key.\n"
+"After testing is complete, these will be added to the hardcoded entries "
+"in the Java and C++ routers in the next release,\n"
+"and you will start seeing traffic.\n"
+"We also will need your email address so we may continue to contact you "
+"about reseed administration issues.\n"
+"The email will not be made public but will be known to the other reseed "
+"operators.\n"
+"You should expect that your nick or name and its association with that "
+"URL or IP will become public."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:55
+msgid "Privacy Policy"
+msgstr "سياسة الخصوصية"
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:57
+msgid ""
+"A reseed operator is a trusted role in the network.\n"
+"While we do not yet have a formal privacy policy, you must ensure the "
+"privacy of our users\n"
+"by not publicizing logs or IPs found in those logs, except as necessary "
+"to discuss administration issues with the I2P reseed team."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:63
+msgid "Financial Support"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:65
+msgid ""
+"Modest financial support may be available to those running reseed "
+"servers.\n"
+"This support would be in partial reimbursement for your server costs.\n"
+"Support will not be paid in advance and will probably not cover all your "
+"expenses.\n"
+"Support is only available to those who have been running reseed servers "
+"in good standing for several months, and is based on actual need."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:72
+msgid ""
+"If you would like to discuss support, please contact echelon and CC: "
+"backup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:77
+msgid "Getting Started"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:79
+msgid ""
+"Our reseed coordinator is \"backup\" and he may be contacted at backup at"
+" mail.i2p or backup at i2pmail.org.\n"
+"Unfortunately, he is not generally on IRC. The reseed setup is somewhat "
+"specialized, and you should direct most questions to him."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:84
+msgid ""
+"For actual implementation, details below. We have one recommended reseed "
+"solution:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:89
+msgid ""
+"A Go implementation that includes the web server and all the scripts. "
+"This is the recommended solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:95
+msgid ""
+"For further information, read the information at the following links, and"
+" then contact backup.\n"
+"Thank you!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:110
+msgid "Detailed Instructions"
+msgstr ""
+
diff --git a/i2p2www/translations/fa/LC_MESSAGES/get-involved.po b/i2p2www/translations/fa/LC_MESSAGES/get-involved.po
new file mode 100644
index 0000000000000000000000000000000000000000..2d638449b0e57980fb5dafc5d62885e9c4123048
--- /dev/null
+++ b/i2p2www/translations/fa/LC_MESSAGES/get-involved.po
@@ -0,0 +1,4098 @@
+# Persian translations for I2P.
+# Copyright (C) 2017 ORGANIZATION
+# This file is distributed under the same license as the I2P project.
+#
+# Translators:
+# NoProfile, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version:  I2P\n"
+"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
+"POT-Creation-Date: 2017-07-26 20:35+0000\n"
+"PO-Revision-Date: 2017-10-02 07:00+0000\n"
+"Last-Translator: str4d <str4d@i2pmail.org>\n"
+"Language-Team: Persian (http://www.transifex.com/otf/I2P/language/fa/)\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:82
+msgid "Donate"
+msgstr "حمایت مالی"
+
+#: i2p2www/pages/site/get-involved/donate.html:4
+msgid ""
+"Thank you for your interest in contributing to I2P!\n"
+"The details of how you\n"
+"can make your contribution are provided below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:10
+msgid "Tax Status"
+msgstr "وضعیت مالیات"
+
+#: 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:17
+msgid "Stickers"
+msgstr ""
+
+#: 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:25
+msgid "Please allow 30-60 days for delivery."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:30
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:42
+#: i2p2www/pages/site/get-involved/donate.html:59
+#: i2p2www/pages/site/get-involved/donate.html:75
+#: i2p2www/pages/site/get-involved/donate.html:91
+msgid "For easy usage, use the QR code below!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:47
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:64
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:80
+#, python-format
+msgid ""
+"As of %(date)s, echelon 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 echelon a note if you'd like your donation to be\n"
+" mentioned on the I2P webpage."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:97
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:104
+#, python-format
+msgid "You can donate direct via PayPal to the account \"%(account)s\"."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:110
+msgid "One time donation:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:124
+msgid "Donate 10 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:132
+#: i2p2www/pages/site/get-involved/donate.html:144
+#: i2p2www/pages/site/get-involved/donate.html:156
+#: i2p2www/pages/site/get-involved/donate.html:168
+msgid "I2P donation "
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:138
+msgid "Donate 20 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:150
+msgid "Donate 30 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:162
+msgid "Donate 50 &euro;/month for 12 months:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:177
+msgid "Flattr this"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/donate.html:182
+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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:186
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/donate.html:191
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/index.html:2
+msgid "Get Involved!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:4
+msgid "We need your help!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:5
+msgid ""
+"To get involved, please feel free to join us on the #i2p-dev IRC channel "
+"(on\n"
+"irc.freenode.net, irc.oftc.net, or within I2P on irc.echelon.i2p, "
+"irc.dg.i2p or irc.postman.i2p)."
+msgstr ""
+
+#: 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 ""
+
+#: 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 get you started!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:18
+msgid "Spread the Word!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:19
+msgid ""
+"Tell people about I2P on forums, blogs, and comments to articles.\n"
+"Fix up the Wikipedia article about I2P in your language.\n"
+"Tell your friends."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:24
+msgid "Testing"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:25
+#, python-format
+msgid ""
+"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
+"and report results on #i2p or as bugs on <a href=\"%(trac)s\">Trac</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:30
+msgid "Documentation"
+msgstr "مستندات"
+
+#: i2p2www/pages/site/get-involved/index.html:31
+msgid ""
+"Help fix the parts of the website that are outdated or incomplete.\n"
+"Translate pages into other languages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:35
+msgid "Pictures"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:36
+msgid "Make some more pictures, fix the old ones on the website"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:39
+msgid "Content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:40
+msgid "Make an eepsite! Add some content! Contribute to the community!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:43
+msgid "Services"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:44
+msgid ""
+"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
+"a naming service, a search engine, an eepsite monitor... many of these\n"
+"aren't that hard."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:49
+msgid "Applications"
+msgstr "برنامه های کاربردی"
+
+#: i2p2www/pages/site/get-involved/index.html:50
+#, python-format
+msgid ""
+"Write or port applications for I2P! There's some guidelines and\n"
+"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:54
+msgid "Coding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:55
+#, python-format
+msgid ""
+"There's plenty to do if you know Java or are ready to learn.\n"
+"Check for open tickets on <a href=\"%(trac)s\">Trac</a>\n"
+"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
+"some ideas on where to start.\n"
+"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:64
+msgid "Translation"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:65
+#, python-format
+msgid ""
+"Help translate the website and the software into your language.\n"
+"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:69
+msgid "Analysis"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:70
+#, python-format
+msgid ""
+"Study or test the code to look for vulnerabilities.\n"
+"Both anonymity vulnerabilities from the various\n"
+"<a href=\"%(threatmodel)s\">threat models</a>,\n"
+"and DOS and other weaknesses due to securities holes,\n"
+"need researching."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:77
+msgid "Reseeding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/index.html:78
+#, python-format
+msgid ""
+"Set up a reseed server for new routers to bootstrap from.\n"
+"Detailed instructions are on our <a href=\"%(reseed)s\">reseed server "
+"page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:2
+msgid "Roadmap"
+msgstr "نقشه راه"
+
+#: i2p2www/pages/site/get-involved/roadmap.html:3
+msgid "June 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:304
+#, python-format
+msgid ""
+"Reachability Mapping / handle peers partially reachable / enhanced <a "
+"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:307
+msgid "Full restricted routes"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:308
+msgid "Tunnel mixing and padding"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:309
+msgid "User defined message delays"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/roadmap.html:317
+#, 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:5
+#: i2p2www/pages/site/get-involved/todo.html:47
+msgid "Core functionality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:7
+#: i2p2www/pages/site/get-involved/todo.html:50
+msgid "NetworkDB and profile tuning and ejection policy for large nets"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:11
+#: i2p2www/pages/site/get-involved/todo.html:74
+msgid "Security / anonymity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:13
+#: i2p2www/pages/site/get-involved/todo.html:77
+msgid "Full blown n-hop restricted routes with optional trusted links"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:16
+#: i2p2www/pages/site/get-involved/todo.html:96
+msgid "Hashcash for routerIdentity, destination, and tunnel request"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:19
+#: i2p2www/pages/site/get-involved/todo.html:125
+msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:22
+#: i2p2www/pages/site/get-involved/todo.html:162
+msgid "Stop &amp; go mix w/ garlics &amp; tunnels"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:26
+#: i2p2www/pages/site/get-involved/todo.html:176
+msgid "Performance"
+msgstr "کارایی"
+
+#: i2p2www/pages/site/get-involved/todo.html:31
+#, python-format
+msgid ""
+"Note: This page is not up-to-date.\n"
+"See <a href=\"%(roadmap)s\">the roadmap</a> for current plans."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/todo.html:36
+#, 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:53
+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:68
+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:80
+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:99
+#, 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:107
+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:118
+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:128
+#, 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:141
+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:154
+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:165
+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:177
+#, 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 &euro; 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) and has been updated just with\n"
+"small fixes to keep it running. 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 3 Bitcoin."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:23
+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 &euro;"
+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&#37; 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&#37;\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:7
+#: i2p2www/pages/site/get-involved/develop/applications.html:15
+msgid "Why write I2P-specific code?"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:8
+#: i2p2www/pages/site/get-involved/develop/applications.html:101
+msgid "Important concepts"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:9
+#: i2p2www/pages/site/get-involved/develop/applications.html:189
+msgid "Development options"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:10
+#: i2p2www/pages/site/get-involved/develop/applications.html:302
+msgid "Start developing - a simple guide"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:17
+#, 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:25
+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:36
+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:42
+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:56
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid ""
+"Creating a server-client connection using I2PTunnel only requires "
+"creating a single tunnel."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:58
+msgid "Figure 1:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:63
+#: i2p2www/pages/site/get-involved/develop/applications.html:65
+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:65
+msgid "Figure 2:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:69
+msgid "In summary, a number of reasons to write I2P-specific code:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:73
+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:77
+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:82
+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:89
+#, 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:95
+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:103
+msgid "There are a few changes that require adjusting to when using I2P:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:107
+msgid "Destination ~= host+port"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:109
+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:117
+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:122
+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:129
+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:134
+#, 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:148
+#, 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:157
+msgid "Anonymity and confidentiality"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:159
+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:166
+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:175
+msgid "I2P datagrams can be up to several KB"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:177
+#, 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:191
+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:196
+msgid "Streaming Lib"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:197
+#, 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:203
+#, 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:216
+msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:217
+#, 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:224
+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:227
+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:230
+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:236
+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:243
+#, 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:251
+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:263
+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:270
+msgid "Removed"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:271
+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:276
+msgid "Datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:277
+msgid "Recommended for UDP-like applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:278
+#, 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:283
+msgid "Repliable datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:284
+msgid "Raw datagrams"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:288
+msgid "Not recommended"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:289
+#, 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:296
+msgid "Web Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:297
+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:303
+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:309
+msgid "Developing with the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:311
+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:316
+msgid "This will require the following libraries in your classpath:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:320
+msgid "The streaming library itself"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:321
+msgid "Factory and interfaces for the streaming library"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:322
+msgid "Standard I2P classes, data structures, API, and utilities"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:325
+msgid ""
+"You can fetch these from an I2P installation, or add the following "
+"dependencies\n"
+"from Maven Central:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:334
+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:339
+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:370
+msgid "Code example 1: initializing the server application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:372
+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:456
+msgid "Code example 2: accepting connections from clients and handling messages."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:460
+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:474
+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:478
+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:562
+msgid ""
+"Code example 3: starting the client and connecting it to the server "
+"application."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:564
+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:570
+msgid "Congratulations, you have successfully communicated over I2P!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:574
+msgid "Existing Applications"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:575
+msgid "Contact us if you would like to contribute."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:596
+msgid "Application Ideas"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:598
+msgid "NNTP server - there have been some in the past, none at the moment"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:601
+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:604
+msgid "PGP Key server and/or proxy"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:607
+msgid ""
+"Content Distribution / DHT applications - resurrect feedspace,\n"
+"port dijjer, look for alternatives"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:611
+msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/applications.html:614
+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:619
+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:291
+msgid "Developer Transport Keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/developers-keys.html:292
+#, 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:275
+msgid "GPL + java exception"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:276
+#, 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:292
+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:300
+msgid "Website content"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:308
+msgid "Commit privileges"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/licenses.html:309
+#, 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:315
+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:322
+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:326
+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:330
+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:336
+#, 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 from 0.9.9 could be signed by str4d. His current public key is:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:563
+msgid "str4d has signed the following releases:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:571
+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:607
+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 _at_ 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:3
+msgid "January 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:5
+#, python-format
+msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:9
+msgid "Basic Guidelines and Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:11
+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:19
+msgid "Community"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:21
+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:26
+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 "Release Cycle"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:36
+msgid ""
+"Our normal release cycle is 6-10 weeks.\n"
+"Following are the approximate deadlines within a typical 8-week cycle.\n"
+"Actual deadlines for each release are set by the lead developer."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:43
+msgid "1-2 days after previous release: Checkins to trunk are allowed."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:46
+msgid ""
+"2-3 weeks after previous release: Deadline to propagate major changes "
+"from other branches to trunk."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:49
+msgid "4-5 weeks before release: Deadline to request new home page links."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:52
+msgid "3-4 weeks before release: Feature freeze. Deadline for major new features."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:55
+msgid ""
+"2-3 weeks before release: Hold project meeting to review new home page "
+"link requests, if any."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:58
+msgid ""
+"7-10 days before release: String freeze. No more changes to translated "
+"(\"tagged\") strings.\n"
+"Push strings to Transifex, announce translation deadline on Transifex."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:62
+msgid ""
+"7-10 days before release: Feature deadline. Bug fixes only after this "
+"time. No more features, refactoring or cleanup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:65
+msgid ""
+"3-4 days before release: Translation deadline. Pull translations from "
+"Transifex and check in."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
+msgid ""
+"2-3 days before release: Checkin deadline. No checkins after this time "
+"without the permission of the release builder."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:71
+msgid "Hours before release: Code review deadline."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:80
+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:87
+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:96
+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:101
+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:105
+msgid ""
+"Ensure that you 'mtn pull' and 'mtn update' to the latest revision before"
+" you check in and push.\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:113
+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:120
+msgid "Coding Style"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:122
+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:129
+msgid ""
+"All new public and package-private classes and methods require Javadocs. "
+"Add @since release-number.\n"
+"Javadocs for new private methods are desirable."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
+msgid ""
+"For any Javadocs added, there must not be any doclint errors or warnings."
+"\n"
+"Run 'ant javadoc' with Oracle Java 8 or higher to check.\n"
+"All params must have @param lines, all non-void methods must have @return"
+" lines,\n"
+"all exceptions declared thrown must have @throws lines, and no HTML "
+"errors."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:139
+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:147
+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:153
+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:156
+msgid ""
+"Be familiar with common Java pitfalls that are caught by findbugs.\n"
+"Run 'ant findbugs' to learn more."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:160
+msgid ""
+"We require Java 7 to build and run I2P.\n"
+"Do not use Java 8 classes or methods anywhere.\n"
+"Do not use Java 7 or 8 classes or methods in embedded subsystems (core, "
+"router, mstreaming, streaming, i2ptunnel),\n"
+"as Android and embedded applications require only Java 6. All classes "
+"must be available in Android API 9.\n"
+"Java 7 language features are acceptable in these subsystems if supported "
+"by the current version\n"
+"of the Android SDK and they compile to Java 6-compatible code."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:168
+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:172
+msgid "Don't use URL. Use URI."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:175
+msgid ""
+"Don't catch Exception. Catch RuntimeException and checked exceptions "
+"individually."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:178
+msgid ""
+"Don't use String.getBytes() without a UTF-8 charset argument. You may "
+"also use DataHelper.getUTF8() or DataHelper.getASCII()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:181
+msgid ""
+"Always specify a UTF-8 charset when reading or writing files. The "
+"DataHelper utilities may be helpful."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:184
+msgid ""
+"Always specify a locale (for example Locale.US) when using "
+"String.toLowerCase() or String.toUpperCase().\n"
+"Do not use String.equalsIgnoreCase(), as a locale cannot be specified."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:188
+msgid "Don't use String.split(). Use DataHelper.split()."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:191
+msgid "Ensure that InputStreams and OutputStreams are closed in finally blocks."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:194
+msgid ""
+"Use {} for all for and while blocks, even if only one line.\n"
+"If you use {} for either the if, else, or if-else block, use it for all "
+"blocks.\n"
+"Put \"} else {\" on a single line."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:199
+msgid "Specify fields as final wherever possible."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:202
+msgid ""
+"Don't store I2PAppContext, RouterContext, Log, or any other references to"
+" router or context items in static fields."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:205
+msgid "Don't start threads in constructors. Use I2PAppThread instead of Thread."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:210
+msgid "Licenses"
+msgstr "گواهینامه ها"
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:212
+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:219
+msgid ""
+"If you do obtain approval to add external code or jars,\n"
+"and binaries are available in any Debian or Ubuntu package,\n"
+"you must implement build and packaging options to use the external "
+"package instead.\n"
+"Checklist of files to modify:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:227
+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:234
+msgid "Bugs"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:236
+#, 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:241
+msgid ""
+"New developers should start by fixing a bug.\n"
+"Search for bugs with the 'easy' keyword on trac.\n"
+"When you have a fix, attach your patch to the ticket and add the keyword "
+"'review-needed'.\n"
+"Do not close the ticket until it's been successfully reviewed and you've "
+"checked your changes in.\n"
+"Once you've done this smoothly for a couple of tickets, you may follow "
+"the normal procedure below."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:248
+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 "استفاده از IDE برای توسعه I2P"
+
+#: i2p2www/pages/site/get-involved/guides/ides.html:4
+msgid ""
+"The main I2P development branch (<code>i2p.i2p</code>) has been set up to"
+" enable developers to easily set up two of the commonly-used IDEs for "
+"Java development: Eclipse and NetBeans."
+msgstr ""
+
+#: 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:6
+msgid "Operating a Monotone client"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:8
+#: i2p2www/pages/site/get-involved/guides/monotone.html:61
+msgid "Generating Monotone keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:9
+msgid "Trust and initializing your repository"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:10
+#: i2p2www/pages/site/get-involved/guides/monotone.html:194
+msgid "Obtaining and deploying developers' keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:11
+#: i2p2www/pages/site/get-involved/guides/monotone.html:225
+msgid "Setting up trust evaluation hooks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:12
+#: 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:13
+#: i2p2www/pages/site/get-involved/guides/monotone.html:312
+msgid "Verifying that trust evaluation works"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:14
+#: 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:15
+#: 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:19
+#: i2p2www/pages/site/get-involved/guides/monotone.html:418
+msgid "Operating a Monotone Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:21
+msgid "Obtaining and deploying developers’ transport keys"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:22
+#: i2p2www/pages/site/get-involved/guides/monotone.html:428
+msgid "Granting push and pull access"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:23
+#: i2p2www/pages/site/get-involved/guides/monotone.html:473
+msgid "Running Monotone in server mode"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/monotone.html:24
+#: 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&hellip;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:5
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
+msgid "Basic study"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:6
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:45
+msgid "Getting the I2P code"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:8
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:52
+msgid "The easy way: Git"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
+msgid "The proper way: Monotone"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:11
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:135
+msgid "Building I2P"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:12
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:156
+msgid "Development ideas"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:13
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:164
+msgid "Making the results available"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:14
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:185
+msgid "Get to know us!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:15
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:191
+msgid "Translations"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:197
+msgid "Tools"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
+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:26
+#, 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:33
+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:37
+#, 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:47
+msgid ""
+"For development on the I2P router or the embedded applications,\n"
+"there are two ways to get the source code:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:54
+#, python-format
+msgid "Install <a href=\"%(git_url)s\">Git</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
+#, python-format
+msgid "Get the code from <a href=\"%(i2p_git)s\">the GitHub mirror</a>:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:119
+msgid "Remarks"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:65
+#, python-format
+msgid ""
+"The Git repository is currently a read-only mirror. If you wish to use it"
+" for\n"
+"development, you will need to submit patches to <a href=\"%(trac)s\">our "
+"issue\n"
+"tracker</a>. We can accept GitHub pull requests, but they must be "
+"processed\n"
+"manually by turning them into patches anyway."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:74
+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:79
+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:83
+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:86
+#, python-format
+msgid ""
+"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
+"8998 pointing to mtn.i2p-projekt.i2p."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
+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:93
+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:98
+#, 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:102
+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:104
+msgid "Anonymously:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:107
+msgid "Non-anonymously:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:113
+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:115
+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:120
+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:123
+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:128
+#, 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:131
+#, 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:137
+#, 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:145
+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:151
+#, 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:157
+#, 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:166
+#, 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:171
+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:173
+msgid "use an empty passphrase"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
+msgid "enter a passphrase"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
+#, 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:176
+#, 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:177
+msgid "check in with this key"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:178
+msgid "push with this key"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:180
+#, python-format
+msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/new-developers.html:186
+#, 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:192
+#, 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:198
+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:206
+#, 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 ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:2
+msgid "How to Set up a Reseed Server"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:3
+msgid "February 2017"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:6
+msgid "Overview"
+msgstr "بررسی اجمالی"
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:8
+msgid ""
+"Thank you for volunteering to run an I2P reseed server.\n"
+"\"Reseeding\" is our term for bootstrapping new routers into the network."
+"\n"
+"New routers fetch a bundle of peer references, or \"router infos\", from "
+"one or more of a hardcoded list of HTTPS URLs."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:14
+msgid "Requirements"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:16
+msgid ""
+"At its simplest, a reseed server consists of a Java I2P router, an HTTPS "
+"web server,\n"
+"and some scripts that periodically gather router infos from the router,\n"
+"bundle and sign them into a custom file format, and deliver these files "
+"over HTTPS.\n"
+"In practice, it's a bit more complex, and a reseed operator must be "
+"fairly competent and attentive.\n"
+"A reseed server is not appropriate for a residential internet connection."
+" The complexities include:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:25
+msgid ""
+"You must have a secure SSL setup with either a self-signed certificate or"
+" a cert that chains up to a standard CA"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:28
+msgid ""
+"The SSL configuration must conform to current best practices on allowed "
+"ciphers and protocols, and the CN/SAN host name must match the URL"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:31
+msgid ""
+"The scripts are designed to deliver different router info bundles to "
+"different requestors for network diversity"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:34
+msgid ""
+"The scripts are designed to deliver the same bundle to the same repeated "
+"requestor to prevent scraping"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:37
+msgid ""
+"The reseed servers are under periodic attacks and DDoS attempts, and from"
+" other buggy I2P implementations and botnets.\n"
+"This necessitates that you run fail2ban or an equivalent solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:43
+msgid "Information Required"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:45
+msgid ""
+"When your setup is complete and ready for testing, we will need the HTTPS"
+" URL,\n"
+"the SSL public key certificate, and the \"su3\" bundle public key.\n"
+"After testing is complete, these will be added to the hardcoded entries "
+"in the Java and C++ routers in the next release,\n"
+"and you will start seeing traffic.\n"
+"We also will need your email address so we may continue to contact you "
+"about reseed administration issues.\n"
+"The email will not be made public but will be known to the other reseed "
+"operators.\n"
+"You should expect that your nick or name and its association with that "
+"URL or IP will become public."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:55
+msgid "Privacy Policy"
+msgstr "حریم خصوصی"
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:57
+msgid ""
+"A reseed operator is a trusted role in the network.\n"
+"While we do not yet have a formal privacy policy, you must ensure the "
+"privacy of our users\n"
+"by not publicizing logs or IPs found in those logs, except as necessary "
+"to discuss administration issues with the I2P reseed team."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:63
+msgid "Financial Support"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:65
+msgid ""
+"Modest financial support may be available to those running reseed "
+"servers.\n"
+"This support would be in partial reimbursement for your server costs.\n"
+"Support will not be paid in advance and will probably not cover all your "
+"expenses.\n"
+"Support is only available to those who have been running reseed servers "
+"in good standing for several months, and is based on actual need."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:72
+msgid ""
+"If you would like to discuss support, please contact echelon and CC: "
+"backup."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:77
+msgid "Getting Started"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:79
+msgid ""
+"Our reseed coordinator is \"backup\" and he may be contacted at backup at"
+" mail.i2p or backup at i2pmail.org.\n"
+"Unfortunately, he is not generally on IRC. The reseed setup is somewhat "
+"specialized, and you should direct most questions to him."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:84
+msgid ""
+"For actual implementation, details below. We have one recommended reseed "
+"solution:"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:89
+msgid ""
+"A Go implementation that includes the web server and all the scripts. "
+"This is the recommended solution."
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:95
+msgid ""
+"For further information, read the information at the following links, and"
+" then contact backup.\n"
+"Thank you!"
+msgstr ""
+
+#: i2p2www/pages/site/get-involved/guides/reseed.html:110
+msgid "Detailed Instructions"
+msgstr ""
+