3043 lines
105 KiB
Plaintext
3043 lines
105 KiB
Plaintext
# Translations template for I2P.
|
||
# Copyright (C) 2022 ORGANIZATION
|
||
# This file is distributed under the same license as the I2P project.
|
||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||
#
|
||
#, fuzzy
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: I2P website\n"
|
||
"Report-Msgid-Bugs-To: http://trac.i2p2.de\n"
|
||
"POT-Creation-Date: 2022-11-08 21:15+0000\n"
|
||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
"Language-Team: LANGUAGE <LL@li.org>\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/index.html:1
|
||
msgid "Get Involved"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:2
|
||
msgid "There are many ways you can help I2P."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:3
|
||
msgid "Grow the Community"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:5
|
||
msgid "Support I2P Core Development"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:5
|
||
msgid ""
|
||
"The project hosts meetings on the first Tuesday of every month that are "
|
||
"open to the community. This is a great opportunity to see what is "
|
||
"happening with I2P core development and\n"
|
||
" familiarize yourself with Roadmap tasks. Additionally, protocol "
|
||
"development meetings take place every Tuesday and zzz's development forum"
|
||
" is available all of the time as a place to participate in development "
|
||
"and issues that need fixing. See the\n"
|
||
" new developer's guide for how to get started."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:9
|
||
msgid "Spread the Word."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:9
|
||
msgid ""
|
||
"Tell people about I2P on forums, blogs, and comments to articles. Fix up "
|
||
"the\n"
|
||
" <a href=\"https://wikipedia.org/wiki/I2P\">Wikipedia article "
|
||
"about I2P in your language</a>. Tell your friends, and more importantly, "
|
||
"use I2P to communicate with your friends. We have many tools that can "
|
||
"help you keep your private conversations\n"
|
||
" private."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:13
|
||
msgid "Translation and Documentation"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:13
|
||
#, python-format
|
||
msgid ""
|
||
"Help translate the website and the software into your language. "
|
||
"Translators are a very important\n"
|
||
" part of this decentralized project and your work is always "
|
||
"appreciated. See the new translator's guide for details. The project also"
|
||
" welcomes support to help keep its documentation updated. See the <a "
|
||
"href=\"%(newtrans)s\">new translator's guide</a> for details."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:17
|
||
msgid "Host Services for Yourself and Others"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:19
|
||
msgid "Services"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:19
|
||
msgid ""
|
||
"Self-hosting almost anything, from an SSH server for yourself to an "
|
||
"ActivityPub forum for everyone and anything in between, is helpful to the"
|
||
" I2P network,\n"
|
||
" especially if you write down instructions for others. Almost "
|
||
"anything you can think of can be made to work with I2P, and your service "
|
||
"is valuable to the network."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:22
|
||
msgid "Reseeding"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:22
|
||
#, python-format
|
||
msgid ""
|
||
"Getting new users onto the network is a very important task, and that "
|
||
"task is handled by our reseed servers. The more reseed\n"
|
||
" servers we have, the more de-centralized and redundant our "
|
||
"infrastructure is. It's a big responsibility, but it's pretty easy to set"
|
||
" up a reseed server for new routers to bootstrap from. Detailed "
|
||
"instructions are on our <a href=\"%(reseed)s\">reseed server page</a>."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:27
|
||
msgid "Develop and Test Software"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:29
|
||
msgid "Applications"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:29
|
||
#, python-format
|
||
msgid ""
|
||
"Write or port applications for I2P. There's some guidelines and a list of"
|
||
" ideas\n"
|
||
" on the <a href=\"%(apps)s\">applications page</a>."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:32
|
||
msgid "Coding"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:32
|
||
#, python-format
|
||
msgid ""
|
||
"There's plenty to do if\n"
|
||
" you know Java or are ready to learn. Check for open tickets on <a"
|
||
" href=\"http://%(trac)s/report/1\">Trac</a> or the TODO list on <a "
|
||
"href=\"http://%(zzz)s\">%(zzz)s</a> for some ideas on where to start. See"
|
||
" the <a href=\"%(newdevs)s\">new developer's guide</a> for "
|
||
"details."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:35
|
||
msgid "Analysis"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:35
|
||
#, python-format
|
||
msgid ""
|
||
"Study or test the code to look for vulnerabilities. Both anonymity "
|
||
"vulnerabilities from the various\n"
|
||
" <a href=\"%(threatmodel)s\">threat models</a>, and DOS and other "
|
||
"weaknesses due to security holes, benefit from ongoing research."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:39
|
||
msgid "When you're ready, join us on our Gitlab"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:41
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
|
||
msgid "Inside I2P - (http://git.idk.i2p)"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/index.html:43
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:66
|
||
msgid "Outside I2P - (https://i2pgit.org)"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/roadmap-archive.html:2
|
||
#: i2p2www/pages/site/get-involved/roadmap.html:2
|
||
msgid "Roadmap"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/roadmap.html:281
|
||
msgid ""
|
||
"Looking for older releases? Check the roadmap archive by following this "
|
||
"link."
|
||
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/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/\">I2P Site</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:305
|
||
msgid "Developer Transport Keys"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:306
|
||
#, 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 git repository if you\n"
|
||
"receive permission from the person running that repository.\n"
|
||
"See the <a href=\"%(git)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 "Windows installers for releases 0.9.38 and later are signed by zlatinb."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:7
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:13
|
||
msgid "Download code signing certificate"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:10
|
||
msgid "Mac OSX installers for releases 0.9.38 and later are signed by zlatinb."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:16
|
||
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:20
|
||
msgid "Download PGP public key"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:209
|
||
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:582
|
||
msgid "str4d has signed the following releases:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:590
|
||
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:626
|
||
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 I2P Site 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 I2P Site 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: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 i2pforum.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: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: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 git 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 git 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\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 'git pull' 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."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:106
|
||
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 git\n"
|
||
"and do the development there so you do not block releases."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:113
|
||
msgid "Coding Style"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115
|
||
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:122
|
||
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:126
|
||
msgid ""
|
||
"For any Javadocs added, there must not be any doclint errors or warnings."
|
||
"\n"
|
||
"Run 'ant javadoc' with Oracle Java 14 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:132
|
||
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:140
|
||
msgid ""
|
||
"Tag strings for translation where appropriate, which is true for all UI "
|
||
"strings.\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:146
|
||
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:149
|
||
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:177
|
||
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:181
|
||
msgid "Don't use URL. Use URI."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:184
|
||
msgid ""
|
||
"Don't catch Exception. Catch RuntimeException and checked exceptions "
|
||
"individually."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:187
|
||
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:190
|
||
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:193
|
||
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:197
|
||
msgid "Don't use String.split(). Use DataHelper.split()."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:203
|
||
msgid "Ensure that InputStreams and OutputStreams are closed in finally blocks."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:206
|
||
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:211
|
||
msgid "Specify fields as final wherever possible."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:214
|
||
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:217
|
||
msgid "Don't start threads in constructors. Use I2PAppThread instead of Thread."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:223
|
||
msgid "Logging"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:254
|
||
msgid "Licenses"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:256
|
||
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:263
|
||
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:271
|
||
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:278
|
||
msgid "Bugs"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:280
|
||
#, 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:285
|
||
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:292
|
||
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 build.gradle to enable the branch to be easily set up in "
|
||
"Eclipse."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:16
|
||
msgid ""
|
||
"Make sure you have a recent version of Eclipse. Anything newer than 2017"
|
||
" should do."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:20
|
||
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:24
|
||
msgid ""
|
||
"Select \"File - Import...\" and then under \"Gradle\" select \"Existing "
|
||
"Gradle Project\"."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:28
|
||
msgid ""
|
||
"For \"Project root directory:\" choose the directory that the I2P branch "
|
||
"was checked out to."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:32
|
||
msgid ""
|
||
"In the \"Import Options\" dialog, select \"Gradle Wrapper\" and press "
|
||
"continue."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:36
|
||
msgid ""
|
||
"In the \"Import Preview\" dialog you can review the project structure. "
|
||
"Multiple projects should appear under \"i2p.i2p\". Press \"Finish.\""
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:40
|
||
msgid ""
|
||
"Done! Your workspace should now contain all projects within the I2P "
|
||
"branch, and their build dependencies should be correctly set up."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/ides.html:48
|
||
msgid ""
|
||
"The main I2P development branches (<code>i2p.i2p</code> and branches from"
|
||
" it) contain NetBeans project files."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:2
|
||
msgid "Monotone Guide"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:7
|
||
msgid "Operating a Monotone client"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:9
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:64
|
||
msgid "Generating Monotone keys"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:10
|
||
msgid "Trust and initializing your repository"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:11
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:197
|
||
msgid "Obtaining and deploying developers' keys"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:12
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:228
|
||
msgid "Setting up trust evaluation hooks"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:13
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:269
|
||
msgid ""
|
||
"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and "
|
||
"<code>i2p.syndie</code> branches"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:14
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:315
|
||
msgid "Verifying that trust evaluation works"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:15
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:364
|
||
msgid "Checking out a working copy of the latest version"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:16
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:391
|
||
msgid "Updating your working copy to the latest version"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:20
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:421
|
||
msgid "Operating a Monotone Server"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:22
|
||
msgid "Obtaining and deploying developers’ transport keys"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:23
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:431
|
||
msgid "Granting push and pull access"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:24
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:476
|
||
msgid "Running Monotone in server mode"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:25
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:501
|
||
msgid "Differences under Debian GNU/Linux"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:35
|
||
#, 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:43
|
||
#, 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:53
|
||
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:62
|
||
msgid "Operating a Monotone Client"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:67
|
||
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:75
|
||
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:86
|
||
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:95
|
||
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:103
|
||
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:114
|
||
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:124
|
||
msgid ""
|
||
"To generate transport and commit keys, enter the following commands at a "
|
||
"prompt:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:134
|
||
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:142
|
||
msgid "Trust, and initializing your repository"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:146
|
||
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:156
|
||
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:162
|
||
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:172
|
||
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:177
|
||
msgid "The I2P router and associated programs"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:178
|
||
msgid "The I2P project website"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:179
|
||
msgid "Syndie, a distributed forums tool"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:184
|
||
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:200
|
||
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:207
|
||
#, 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:213
|
||
#, 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:223
|
||
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:231
|
||
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:238
|
||
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:247
|
||
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:254
|
||
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:263
|
||
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:271
|
||
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:278
|
||
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:286
|
||
msgid "If you only want I2P sources:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:295
|
||
msgid "If you want all branches:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:301
|
||
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:307
|
||
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:318
|
||
msgid "To verify that trust evaluation works:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:322
|
||
msgid "Make a backup of your <code>monotonerc</code> file."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:323
|
||
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:329
|
||
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:339
|
||
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:356
|
||
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:367
|
||
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:374
|
||
msgid ""
|
||
"Change into the directory where <code>i2p.mtn</code> is located. Over "
|
||
"there issue:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:383
|
||
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:394
|
||
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:405
|
||
msgid "Now change into your <code>i2p.i2p</code> directory, and over there issue:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:414
|
||
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:423
|
||
msgid "Obtaining and deploying developers' transport keys"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:426
|
||
msgid ""
|
||
"As a server operator you may want to grant push access to certain "
|
||
"developers."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:434
|
||
msgid "By default the Monotone server denies all access."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:440
|
||
msgid "To grant pull access to all clients, set the following in"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/monotone.html:452
|
||
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:458
|
||
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:469
|
||
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:479
|
||
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:486
|
||
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:494
|
||
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:504
|
||
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:512
|
||
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:6
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:31
|
||
msgid "Basic study"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:7
|
||
#: 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:9
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:52
|
||
msgid "The new way: Git"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:11
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:81
|
||
msgid "Building I2P"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:12
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:102
|
||
msgid "Development ideas"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:13
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:110
|
||
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:117
|
||
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:123
|
||
msgid "Translations"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:129
|
||
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 ""
|
||
"I2P now has official Git services and accepts contributions via Git at "
|
||
"our own gitlab.\n"
|
||
"Trac issues have also been migrated to <a href=\"%(trac)s\">gitlab</a>, "
|
||
"however Trac still available for now. Two-way syncing of\n"
|
||
"issues between Gitlab and Github is a work-in-progress."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:58
|
||
#, python-format
|
||
msgid "Install <a href=\"%(git_url)s\">Git</a>."
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:74
|
||
#, python-format
|
||
msgid "<a href=\"%(i2p_git)s\">GitHub mirror</a></strong>:"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/new-developers.html:83
|
||
#, 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:91
|
||
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:97
|
||
#, 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:103
|
||
#, 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:112
|
||
#, 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:118
|
||
#, 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:124
|
||
#, 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:130
|
||
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:138
|
||
#, 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: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 (only if selfsigned), and the su3 public "
|
||
"key certificate.\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: zzz"
|
||
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 \"zzz\" and he may be contacted at zzz at "
|
||
"mail.i2p or zzz 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 zzz.\n"
|
||
"Thank you!"
|
||
msgstr ""
|
||
|
||
#: i2p2www/pages/site/get-involved/guides/reseed.html:110
|
||
msgid "Detailed Instructions"
|
||
msgstr ""
|
||
|