Added translation tags to get-involved/guides/new-developers

This commit is contained in:
str4d
2013-01-26 02:15:45 +00:00
parent a5afdff42f
commit 8feb48485d

View File

@@ -1,186 +1,190 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{% block title %}New Developer's Guide{% endblock %} {% block title %}{% trans %}New Developer's Guide{% endtrans %}{% endblock %}
{% block content %} {% block content %}
<p> <p>{% trans %}
So you want to start work on I2P? Great! So you want to start work on I2P? Great!
Here's a quick guide to getting started Here's a quick guide to getting started
on contributing to the website or the software, doing development or creating translations. on contributing to the website or the software, doing development or creating translations.
</p> {%- endtrans %}</p>
<p> <p>{% trans volunteer=site_url('get-involved') %}
Not quite ready for coding? Not quite ready for coding?
Try <a href="{{ site_url('get-involved') }}">getting involved</a> first. Try <a href="{{ volunteer }}">getting involved</a> first.
</p> {%- endtrans %}</p>
<div id="TOC"> <div id="TOC">
<ol> <ol>
<li><a href="#basic-study">Basic study</a></li> <li><a href="#basic-study">{% trans %}Basic study{% endtrans %}</a></li>
<li><a href="#getting-the-i2p-code">Getting the I2P code</a></li> <li><a href="#getting-the-i2p-code">{% trans %}Getting the I2P code{% endtrans %}</a></li>
<li><a href="#building-i2p">Building I2P</a></li> <li><a href="#building-i2p">{% trans %}Building I2P{% endtrans %}</a></li>
<li><a href="#development-ideas">Development ideas</a></li> <li><a href="#development-ideas">{% trans %}Development ideas{% endtrans %}</a></li>
<li><a href="#making-the-results-available">Making the results available</a></li> <li><a href="#making-the-results-available">{% trans %}Making the results available{% endtrans %}</a></li>
<li><a href="#get-to-know-us">Get to know us!</a></li> <li><a href="#get-to-know-us">{% trans %}Get to know us!{% endtrans %}</a></li>
<li><a href="#translations">Translations</a></li> <li><a href="#translations">{% trans %}Translations{% endtrans %}</a></li>
<li><a href="#tools">Tools</a></li> <li><a href="#tools">{% trans %}Tools{% endtrans %}</a></li>
</ol> </ol>
</div> </div>
<h2 id="basic-study">Basic 'study'</h2> <h2 id="basic-study">{% trans %}Basic study{% endtrans %}</h2>
<p> <p>{% trans -%}
Basic development on the I2P router or the embedded applications uses Java as the main development language. Basic development on the I2P router or the embedded applications uses Java as the main development language.
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>. 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>.
</p> {%- endtrans %}</p>
<p> <p>{% trans intro=site_url('docs/how/intro'), docs=site_url('docs'), techintro=site_url('docs/how/tech-intro') -%}
Study the <a href="{{ site_url('docs/how/intro') }}">how intro</a>, Study the <a href="{{ intro }}">how intro</a>,
the <a href="{{ site_url('docs') }}">other "how" documents</a>, the <a href="{{ docs }}">other "how" documents</a>,
the <a href="{{ site_url('docs/how/techintro') }}">tech intro</a>, the <a href="{{ techintro }}">tech intro</a>,
and associated documents. and associated documents.
These will give you a good overview of how I2P is structured and what different things it does. These will give you a good overview of how I2P is structured and what different things it does.
</p> {%- endtrans %}</p>
<h2 id="getting-the-i2p-code">Getting the I2P code</h2> <h2 id="getting-the-i2p-code">{% trans %}Getting the I2P code{% endtrans %}</h2>
<p> <p>{% trans -%}
For development on the i2p router or the embedded applications, For development on the i2p router or the embedded applications,
get the monotone source repository installed - short instructions: get the monotone source repository installed - short instructions:
</p> {%- endtrans %}</p>
<ul> <ul>
<li> <li>{% trans -%}
Install <a href="http://www.monotone.ca/">monotone</a>. Install <a href="http://www.monotone.ca/">monotone</a>.
Monotone is a version control system. Monotone is a version control system.
We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea). We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea).
</li> {%- endtrans %}</li>
<li>Skim over the <a href="http://monotone.ca/docs/Tutorial.html">monotone tutorial</a>, to make sure you understand the concepts.</li> <li>{% trans -%}
Skim over the <a href="http://monotone.ca/docs/Tutorial.html">monotone tutorial</a>, to make sure you understand the concepts.
{%- endtrans %}</li>
<li> <li>
<p> <p>{% trans -%}
If you want to remain anonymous, you need to do an additional step, to set up a connection to a monotone server over I2P: If you want to remain anonymous, you need to do an additional step, to set up a connection to a monotone server over I2P:
</p> {%- endtrans %}</p>
<p> <p>{% trans i2ptunnel=site_url('docs/api/i2ptunnel') -%}
Enable the <a href="{{ site_url('docs/api/i2ptunnel') }}">i2ptunnel</a> client tunnel on port 8998 pointing to mtn.i2p2.i2p. Enable the <a href="{{ i2ptunnel }}">i2ptunnel</a> client tunnel on port 8998 pointing to mtn.i2p2.i2p.
</p> {%- endtrans %}</p>
</li> </li>
<li> <li>{% trans -%}
Pick a directory where you want to put all your I2P files, and create a monotone database: <code><b>mtn -d i2p.mtn db init</b></code> Pick a directory where you want to put all your I2P files, and create a monotone database:{% endtrans %} <code><b>mtn -d i2p.mtn db init</b></code>
</li> </li>
<li>Define the trust list by creating <code>~/.monotone/monotonerc</code> (or <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the following contents: <li>{% trans -%}
Define the trust list by creating <code>~/.monotone/monotonerc</code> (or <code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the following contents:
{%- endtrans %}
{% include "include/monotonerc.html" %} {% include "include/monotonerc.html" %}
</li> </li>
<li>Copy and paste the <a href="developerskeys">developer's commit keys</a> into a new file (e.g. <code>keys.txt</code>) in the same directory <li>{% trans devkeys=site_url('get-involved/develop/developers-keys') -%}
Copy and paste the <a href="{{ devkeys }}">developer's commit keys</a> into a new file (e.g. <code>keys.txt</code>) in the same directory
that <code>i2p.mtn</code> is in. Import the keys into your database with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code> that <code>i2p.mtn</code> is in. Import the keys into your database with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>
<li> {%- endtrans %}</li>
Pull the I2P sources to your machine. This may take a long time, especially if you are doing this over I2P! <li>{% trans %}Pull the I2P sources to your machine. This may take a long time, especially if you are doing this over I2P!{% endtrans %}
<ul> <ul>
<li>Anonymously: <code><b>mtn -d i2p.mtn pull 127.0.0.1:8998 i2p.i2p -k""</b></code></li> <li>{% trans %}Anonymously:{% endtrans %} <code><b>mtn -d i2p.mtn pull 127.0.0.1:8998 i2p.i2p -k""</b></code></li>
<li> <li>
<p> <p>
Non-anonymously: <code><b>mtn -d i2p.mtn pull mtn.i2p2.de i2p.i2p -k"" </b></code> {% trans %}Non-anonymously:{% endtrans %} <code><b>mtn -d i2p.mtn pull mtn.i2p2.de i2p.i2p -k"" </b></code>
</p> </p>
<p> <p>{% trans -%}
Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn.i2p-projekt.de. Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn.i2p-projekt.de.
</p> {%- endtrans %}</p>
</ul> </ul>
</li> </li>
<li> <li>
<p> <p>
All the sources are now present on your machine, in the database file. To make them available in a directory, you need to check them out: <code><b>mtn -d i2p.mtn co --branch=i2p.i2p</b></code> {% trans %}All the sources are now present on your machine, in the database file. To make them available in a directory, you need to check them out:{% endtrans %} <code><b>mtn -d i2p.mtn co --branch=i2p.i2p</b></code>
</p>
<p>
The above command creates a directory i2p.i2p, which contains all of the I2P sources.
</p> </p>
<p>{% trans %}The above command creates a directory i2p.i2p, which contains all of the I2P sources.{% endtrans %}</p>
</li> </li>
</ul> </ul>
<h3>Remarks</h3> <h3>{% trans %}Remarks{% endtrans %}</h3>
<p> <p>{% trans %}
To download the website files instead of the I2P source files, use 'i2p.www' instead of 'i2p.i2p'. To download the website files instead of the I2P source files, use 'i2p.www' instead of 'i2p.i2p'.
</p> {%- endtrans %}</p>
<p> <p>{% trans -%}
The initial pull may take several hours using the tunnel. The initial pull may take several hours using the tunnel.
If it fails after a partial pull, simply rerun it, it will start where it left off. If it fails after a partial pull, simply rerun it, it will start where it left off.
If you are in a hurry, use the non-anonymous access. If you are in a hurry, use the non-anonymous access.
</p> {%- endtrans %}</p>
<p> <p>{% trans viewmtn='http://stats.i2p/cgi-bin/viewmtn/' -%}
A full list of branches, including i2p.i2p and i2p.www can be found on <a href="http://stats.i2p/cgi-bin/viewmtn/">viewmtn</a>. A full list of branches, including i2p.i2p and i2p.www can be found on <a href="{{ viewmtn }}">viewmtn</a>.
</p> {%- endtrans %}</p>
<p> <p>{% trans monotone=site_url('get-involved/guides/monotone') -%}
A long explanation about using monotone is available on the <a href="monotone">monotone page</a>. A long explanation about using monotone is available on the <a href="{{ monotone }}">monotone page</a>.
</p> {%- endtrans %}</p>
<h2 id="building-i2p">Building I2P</h2> <h2 id="building-i2p">{% trans %}Building I2P{% endtrans %}</h2>
<p> <p>{% trans sunjdk6='http://java.sun.com/javase/downloads/index.jsp' -%}
To compile the code, you need the Sun Java Development Kit 6 or higher, or equivalent JDK To compile the code, you need the Sun Java Development Kit 6 or higher, or equivalent JDK
(<a href="http://java.sun.com/javase/downloads/index.jsp">Sun JDK 6</a> strongly recommended) and (<a href="{{ sunjdk6 }}">Sun JDK 6</a> strongly recommended) and
<a href="http://ant.apache.org/">Apache ant</a> <a href="http://ant.apache.org/">Apache ant</a>
version 1.7.0 or higher. version 1.7.0 or higher.
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. 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.
</p> {%- endtrans %}</p>
<p> <p>{% trans -%}
To build or work on console translations, you need To build or work on console translations, you need
the xgettext, msgfmt, and msgmerge tools from the the xgettext, msgfmt, and msgmerge tools from the
<a href="http://www.gnu.org/software/gettext/">GNU gettext package</a>. <a href="http://www.gnu.org/software/gettext/">GNU gettext package</a>.
</p> {%- endtrans %}</p>
<p> <p>{% trans apps=site_url('get-involved/develop/applications') -%}
For development on new applications, For development on new applications,
see the <a href="{{ site_url('develop/applications') }}">application development guide</a>. see the <a href="{{ apps }}">application development guide</a>.
</p> {%- endtrans %}</p>
<h2 id="development-ideas">Development ideas</h2> <h2 id="development-ideas">{% trans %}Development ideas{% endtrans %}</h2>
<p> <p>{% trans zzz=i2pconv('zzz.i2p'), todo=site_url('get-involved/todo'), trac=i2pconv('trac.i2p2.i2p') -%}
See <a href="http://zzz.i2p/forums/3">zzz's TODO lists</a>, See <a href="http://{{ zzz }}/forums/3">zzz's TODO lists</a>,
<a href="{{ site_url('get-involved/todo') }}">this website's TODO list</a> or <a href="{{ todo }}">this website's TODO list</a> or
<a href="http://trac.i2p2.de/report/1">Trac</a> <a href="http://{{ trac }}/report/1">Trac</a>
for ideas. for ideas.
</p> {%- endtrans %}</p>
<h2 id="making-the-results-available">Making the results available</h2> <h2 id="making-the-results-available">{% trans %}Making the results available{% endtrans %}</h2>
<p> <p>{% trans licenses=site_url('get-involved/develop/licenses') -%}
See the bottom of <a href="{{ site_url('develop/licenses') }}#commit">licenses.html</a> for See the bottom of <a href="{{ licenses }}#commit">the licenses page</a> for
commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!). commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!).
</p> {%- endtrans %}</p>
<p> <p>{% trans %}Short version of how to generate and use keys if you plan to commit:{% endtrans %}
Short version of how to generate and use keys if you plan to commit:
<ul> <ul>
<li>mtn genkey yourname-transport@mail.i2p <i>(use an empty passphrase)</i> <li>mtn genkey yourname-transport@mail.i2p <i>({% trans %}use an empty passphrase{% endtrans %})</i>
<li>mtn genkey yourname@mail.i2p <i>(enter a passphrase)</i> <li>mtn genkey yourname@mail.i2p <i>({% trans %}enter a passphrase{% endtrans %})</i>
<li>mtn pubkey yourname-transport@mail.i2p <i>(<a href="mailto:mtn@welterde.de">send</a> this to a mtn repo operator to get push privileges)</i> <li>mtn pubkey yourname-transport@mail.i2p <i>({% trans email='mtn@welterde.de' %}<a href="mailto:{{ email }}">send</a> this to a mtn repo operator to get push privileges{% endtrans %})</i>
<li>mtn pubkey yourname@mail.i2p <i>(send this to <a href="mailto:zzz@mail.i2p">a release manager</a> to get commit privileges - not required for website)</i> <li>mtn pubkey yourname@mail.i2p <i>({% trans email='zzz@'+i2pconv('mail.i2p') %}send this to <a href="mailto:{{ email }}">a release manager</a> to get commit privileges - not required for website{% endtrans %})</i>
<li>mtn ci -k yourname@mail.i2p <i>(check in with this key)</i> <li>mtn ci -k yourname@mail.i2p <i>({% trans %}check in with this key{% endtrans %})</i>
<li>mtn sync -k yourname-transport@mail.i2p <i>(push with this key)</i> <li>mtn sync -k yourname-transport@mail.i2p <i>({% trans %}push with this key{% endtrans %})</i>
</ul> </ul>
Long version: see the <a href="monotone">monotone page</a>. {% trans monotone=site_url('get-involved/guides/monotone') -%}
Long version: see the <a href="{{ monotone }}">monotone page</a>.
{%- endtrans %}
</p> </p>
<h2 id="get-to-know-us">Get to know us!</h2> <h2 id="get-to-know-us">{% trans %}Get to know us!{% endtrans %}</h2>
<p> <p>{% trans guidelines=site_url('get-involved/guides/dev-guidelines') -%}
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! 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!
We also have <a href="dev-guidelines">additional guidelines for regular developers</a>. We also have <a href="{{ guidelines }}">additional guidelines for regular developers</a>.
</p> {%- endtrans %}</p>
<h2 id="translations">Translations</h2> <h2 id="translations">{% trans %}Translations{% endtrans %}</h2>
<p> <p>{% trans newtrans=site_url('get-involved/guides/new-translators') -%}
Website and router console translators: See the <a href="{{ site_url('get-involved/guides/newtranslators') }}">New Translators Page</a> Website and router console translators: See the <a href="{{ newtrans }}">New Translator's Guide</a>
for next steps. for next steps.
</p> {%- endtrans %}</p>
<h2 id="tools">Tools</h2> <h2 id="tools">{% trans %}Tools{% endtrans %}</h2>
<p> <p>{% trans -%}
I2P is open source software that is mostly developed using open sourced I2P is open source software that is mostly developed using open sourced
toolkits. The I2P project recently acquired a license for the YourKit Java toolkits. The I2P project recently acquired a license for the YourKit Java
Profiler. Open source projects are eligible to receive a free license provided Profiler. Open source projects are eligible to receive a free license provided
that YourKit is referenced on the project web site. Please get in touch if you that YourKit is referenced on the project web site. Please get in touch if you
are interested in profiling the I2P codebase. are interested in profiling the I2P codebase.
</p> {%- endtrans %}</p>
<p> <p>{% trans java='http://www.yourkit.com/java/profiler/index.jsp', dotnet='http://www.yourkit.com/.net/profiler/index.jsp' -%}
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products: Java and .NET applications. Take a look at YourKit's leading software products:
<a href="http://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and <a href="{{ java }}">YourKit Java Profiler</a> and
<a href="http://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>. <a href="{{ dotnet }}">YourKit .NET Profiler</a>.
</p> {%- endtrans %}</p>
{% endblock %} {% endblock %}