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 €/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 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:150 +msgid "Donate 30 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:162 +msgid "Donate 50 €/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 & go mix w/ garlics & 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 € 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 €" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29 +msgid "server runs and this section is blocked" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31 +msgid "" +"To collect this bounty, a continuous integration server (Jenkins,\n" +"old name was Hudson) must be set up and a connected IRC bot needs \n" +"to set up in the channel #i2p-dev on IRC2p network to print out\n" +"results of build tests.<br>\n" +"The server needs to be run long term." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41 +msgid "Check existing SDK tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69 +msgid "paid to str4d" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45 +#, python-format +msgid "" +"To collect this bounty, the existing SDK tests must be checked \n" +"and made to work again. The need to be integrated into the ant \n" +"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g." +" \n" +"<a href=\"%(clover)s\">Clover</a>). The ant script\n" +"must be capable of generating test status results as a web page, \n" +"which will be published online." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56 +msgid "SDK test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80 +msgid "paid to unittests dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60 +msgid "" +"To collect this bounty, the automated unit tests of the SDK \n" +"(i2p/core/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67 +msgid "Router test migration" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71 +msgid "" +"As with phase 2, the existing unit tests for the router must be\n" +"moved over to the automated system." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78 +msgid "Router test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82 +msgid "" +"To collect this bounty, the automated unit tests of the router \n" +"(i2p/router/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89 +msgid "Streaming lib tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94 +msgid "" +"To collect this bounty, a new set of unit tests must meet a \n" +"measured code coverage of 90% of the streaming lib \n" +"(i2p/apps/ministreaming/ and i2p/apps/streaming/)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102 +msgid "Unit tests coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106 +msgid "" +"To collect this bounty, all above unit tests must meet the 100%\n" +"coverage marker (except for log statements)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113 +msgid "MultiRouter simulation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115 +msgid "will be split in more sub-tasks" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117 +msgid "" +"To collect this bounty, the existing in-memory multi-router\n" +"simulation must be checked, made work again and extend to simulate\n" +"lots of routers in memory on a single machine. This bounty will\n" +"be split in more fine grained subworks." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126 +msgid "" +"Judge on all these works is the donor and donor decides if a phase is\n" +"called succesfull done and money can be paid." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2 +msgid "Bounty I2P vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3 +msgid "vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2P torrent P2P I setout the bounty for a working I2P vuze\n" +"plugin.\n" +"The plugin needs to be official and submitted to vuze for publication\n" +"on their webpage/repository for plugins.\n" +"It should be easy to install and configured, work smooth and flawless.\n" +"Configuration should be friendly to starters and made easy to be " +"anonymous.\n" +"It should work with *.b32.i2p destinations as with signed (516++ bits) \n" +"destinations." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:2 +msgid "Application Development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:3 +msgid "May 2013" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html: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…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 €/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 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:150 +msgid "Donate 30 €/month for 12 months:" +msgstr "" + +#: i2p2www/pages/site/get-involved/donate.html:162 +msgid "Donate 50 €/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 & go mix w/ garlics & 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 € 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 €" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29 +msgid "server runs and this section is blocked" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31 +msgid "" +"To collect this bounty, a continuous integration server (Jenkins,\n" +"old name was Hudson) must be set up and a connected IRC bot needs \n" +"to set up in the channel #i2p-dev on IRC2p network to print out\n" +"results of build tests.<br>\n" +"The server needs to be run long term." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41 +msgid "Check existing SDK tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69 +msgid "paid to str4d" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45 +#, python-format +msgid "" +"To collect this bounty, the existing SDK tests must be checked \n" +"and made to work again. The need to be integrated into the ant \n" +"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g." +" \n" +"<a href=\"%(clover)s\">Clover</a>). The ant script\n" +"must be capable of generating test status results as a web page, \n" +"which will be published online." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56 +msgid "SDK test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58 +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80 +msgid "paid to unittests dev team" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60 +msgid "" +"To collect this bounty, the automated unit tests of the SDK \n" +"(i2p/core/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67 +msgid "Router test migration" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71 +msgid "" +"As with phase 2, the existing unit tests for the router must be\n" +"moved over to the automated system." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78 +msgid "Router test coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82 +msgid "" +"To collect this bounty, the automated unit tests of the router \n" +"(i2p/router/java/src) must work again." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89 +msgid "Streaming lib tests" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94 +msgid "" +"To collect this bounty, a new set of unit tests must meet a \n" +"measured code coverage of 90% of the streaming lib \n" +"(i2p/apps/ministreaming/ and i2p/apps/streaming/)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102 +msgid "Unit tests coverage" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106 +msgid "" +"To collect this bounty, all above unit tests must meet the 100%\n" +"coverage marker (except for log statements)." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113 +msgid "MultiRouter simulation" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115 +msgid "will be split in more sub-tasks" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117 +msgid "" +"To collect this bounty, the existing in-memory multi-router\n" +"simulation must be checked, made work again and extend to simulate\n" +"lots of routers in memory on a single machine. This bounty will\n" +"be split in more fine grained subworks." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126 +msgid "" +"Judge on all these works is the donor and donor decides if a phase is\n" +"called succesfull done and money can be paid." +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2 +msgid "Bounty I2P vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3 +msgid "vuze plugin" +msgstr "" + +#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6 +msgid "" +"To improve I2P usage and attract more people\n" +"into I2P torrent P2P I setout the bounty for a working I2P vuze\n" +"plugin.\n" +"The plugin needs to be official and submitted to vuze for publication\n" +"on their webpage/repository for plugins.\n" +"It should be easy to install and configured, work smooth and flawless.\n" +"Configuration should be friendly to starters and made easy to be " +"anonymous.\n" +"It should work with *.b32.i2p destinations as with signed (516++ bits) \n" +"destinations." +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:2 +msgid "Application Development" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html:3 +msgid "May 2013" +msgstr "" + +#: i2p2www/pages/site/get-involved/develop/applications.html: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…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 "" +