Added translation tags to get-involved/guides/[dev-guidelines,ides]

This commit is contained in:
str4d
2013-01-23 13:33:10 +00:00
parent 8795882eb9
commit a5afdff42f
2 changed files with 81 additions and 63 deletions

View File

@@ -1,42 +1,45 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{% block title %}Developer Guidelines and Coding Style{% endblock %} {% block title %}{{ _('Developer Guidelines and Coding Style') }}{% endblock %}
{% block content %} {% block content %}
<p> <p>{% trans newdevs=site_url('get-involved/guides/new-developers') -%}
Read the <a href="{{ site_url('get-involved/guides/newdevelopers') }}">new developers guide</a> first. Read the <a href="{{ newdevs }}">new developers guide</a> first.
</p> {%- endtrans %}</p>
<h2>Basic Guidelines and Coding Style</h2> <h2>{{ _('Basic Guidelines and Coding Style') }}</h2>
<p> <p>{% trans -%}
Most of the following should be common sense for anybody who has worked on open source or in a commercial Most of the following should be common sense for anybody who has worked on open source or in a commercial
programming envrionment. programming envrionment.
The following applies mostly to the main development branch i2p.i2p. The following applies mostly to the main development branch i2p.i2p.
Guidelines for other branches, plugins, and external apps may be substantially different; Guidelines for other branches, plugins, and external apps may be substantially different;
check with the appropriate developer for guidance. check with the appropriate developer for guidance.
</p> {%- endtrans %}</p>
<h3>Community</h3> <h3>{{ _('Community') }}</h3>
<ul> <ul>
<li> <li>{% trans -%}
Please don't just "write code". If you can, participate in other development activities, including: Please don't just "write code". If you can, participate in other development activities, including:
development discussions and support on IRC, zzz.i2p, and forum.i2p; testing; development discussions and support on IRC, zzz.i2p, and forum.i2p; testing;
bug reporting and responses; documentation; code reviews; etc. bug reporting and responses; documentation; code reviews; etc.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Active devs should be available periodically on IRC #i2p-dev. Active devs should be available periodically on IRC #i2p-dev.
Be aware of the current release cycle. Be aware of the current release cycle.
Adhere to release milestones such as feature freeze, tag freeze, and Adhere to release milestones such as feature freeze, tag freeze, and
the checkin deadline for a release. the checkin deadline for a release.
</li></ul> {%- endtrans %}</li>
</ul>
<h3>Monotone</h3> <h3>Monotone</h3>
<ul> <ul>
<li> <li>{% trans -%}
Have a basic understanding of distributed source control systems, even if you haven't Have a basic understanding of distributed source control systems, even if you haven't
used monotone before. Ask for help if you need it. used monotone before. Ask for help if you need it.
Once pushed, checkins are forever, there is no undo. Please be careful. Once pushed, checkins are forever, there is no undo. Please be careful.
If you have not used monotone before, start with baby steps. If you have not used monotone before, start with baby steps.
Check in some small changes and see how it goes. Check in some small changes and see how it goes.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Test your changes before checking them in. Test your changes before checking them in.
If you prefer the checkin-before-test development model, If you prefer the checkin-before-test development model,
use your own development branch (e.g. i2p.i2p.yourname.test) use your own development branch (e.g. i2p.i2p.yourname.test)
@@ -44,87 +47,102 @@ and propagate back to i2p.i2p once it is working well.
Do not break the build. Do not cause regressions. Do not break the build. Do not cause regressions.
In case you do (it happens), please do not vanish for a long period after In case you do (it happens), please do not vanish for a long period after
you push your change. you push your change.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
If your change is non-trivial, or you want people to test it and need good test reports If your change is non-trivial, or you want people to test it and need good test reports
to know whether your change was tested or not, add a checkin comment to history.txt to know whether your change was tested or not, add a checkin comment to history.txt
and increment the build revision in RouterVersion.java. and increment the build revision in RouterVersion.java.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Ensure that you have the latest monotonerc file in _MTN. Ensure that you have the latest monotonerc file in _MTN.
Do not check in on top of untrusted revisions. Do not check in on top of untrusted revisions.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Ensure that you pull the latest revision before you check in. Ensure that you pull the latest revision before you check in.
If you inadvertently diverge, merge and push as soon as possible. If you inadvertently diverge, merge and push as soon as possible.
Don't routinely make others merge for you. Don't routinely make others merge for you.
Yes, we know that monotone says you should push and then merge, Yes, we know that monotone says you should push and then merge,
but in our experience, in-workspace merge works just as well as in-database merge, but in our experience, in-workspace merge works just as well as in-database merge,
without creating a merge revision. without creating a merge revision.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Do not check in major changes into the main i2p.i2p branch late in the release cycle. Do not check in major changes into the main i2p.i2p branch late in the release cycle.
If a project will take you more than a couple days, create your own branch in monotone If a project will take you more than a couple days, create your own branch in monotone
and do the development there so you do not block releases. and do the development there so you do not block releases.
</li></ul> {%- endtrans %}</li>
</ul>
<h3>Coding Style</h3> <h3>{{ _('Coding Style') }}</h3>
<ul> <ul>
<li> <li>{% trans -%}
Coding style throughout most of the code is 4-spaces for indentation. Do not use tabs. Coding style throughout most of the code is 4-spaces for indentation. Do not use tabs.
Do not reformat code. If your IDE or editor wants to reformat everything, get control of it. Do not reformat code. If your IDE or editor wants to reformat everything, get control of it.
Yes, we know 4 spaces is a pain, but perhaps you can configure your editor appropriately. Yes, we know 4 spaces is a pain, but perhaps you can configure your editor appropriately.
In some places, the coding style is different. In some places, the coding style is different.
Use common sense. Emulate the style in the file you are modifying. Use common sense. Emulate the style in the file you are modifying.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
New classes and methods require at least brief javadocs. Add @since release-number. New classes and methods require at least brief javadocs. Add @since release-number.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our official API. Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our official API.
There are several out-of-tree plugins and other applications that rely on this API. There are several out-of-tree plugins and other applications that rely on this API.
Be careful not to make any changes that break compatibility. Be careful not to make any changes that break compatibility.
Don't add methods to the API unless they are of general utility. Don't add methods to the API unless they are of general utility.
Javadocs for API methods should be clear and complete. Javadocs for API methods should be clear and complete.
If you add or change the API, also update the documentation on the website (i2p.www branch). If you add or change the API, also update the documentation on the website (i2p.www branch).
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Tag strings for translation where appropriate. Tag strings for translation where appropriate.
Don't change existing tagged strings unless really necessary, as it will break existing translations. Don't change existing tagged strings unless really necessary, as it will break existing translations.
Do not add or change tagged strings after the "tag freeze" in the release cycle so that Do not add or change tagged strings after the "tag freeze" in the release cycle so that
translators have a chance to update before the release. translators have a chance to update before the release.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Use generics and concurrent classes where possible. I2P is a highly multi-threaded application. Use generics and concurrent classes where possible. I2P is a highly multi-threaded application.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
We require Java 6 to build but only Java 5 to run I2P. We require Java 6 to build but only Java 5 to run I2P.
Do not use Java 6 classes or methods without handling the class not found exceptions Do not use Java 6 classes or methods without handling the class not found exceptions
and providing alternate Java 5 code. See classes in net.i2p.util for examples. and providing alternate Java 5 code. See classes in net.i2p.util for examples.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Explicitly convert between primitive types and classes; Explicitly convert between primitive types and classes;
don't rely on autoboxing/unboxing. don't rely on autoboxing/unboxing.
</li></ul> {%- endtrans %}</li>
</ul>
<h3>Licenses</h3> <h3>{{ _('Licenses') }}</h3>
<ul> <ul>
<li> <li>{% trans -%}
Only check in code that you wrote yourself. Only check in code that you wrote yourself.
Before checking in any code or library jars from other sources, Before checking in any code or library jars from other sources,
justify why it is necessary, justify why it is necessary,
verify the license is compatible, verify the license is compatible,
and obtain approval from the lead developer. and obtain approval from the lead developer.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
For any images checked in from external sources, For any images checked in from external sources,
it is your responsibility to first verify the license is compatible. it is your responsibility to first verify the license is compatible.
Include the license and source information in the checkin comment. Include the license and source information in the checkin comment.
</li></ul> {%- endtrans %}</li>
</ul>
<h3>Bugs</h3> <h3>{{ _('Bugs') }}</h3>
<ul> <ul>
<li> <li>{% trans trac=i2pconv('trac.i2p2.i2p') -%}
Managing Trac tickets is everybody's job, please help. Managing Trac tickets is everybody's job, please help.
Monitor trac.i2p2.i2p for tickets you have been assigned or can help with. Monitor {{ trac }} for tickets you have been assigned or can help with.
Asssign, categorize, comment on, fix, or close tickets if you can. Assign, categorize, comment on, fix, or close tickets if you can.
</li><li> {%- endtrans %}</li>
<li>{% trans -%}
Close a ticket when you think you've fixed it. Close a ticket when you think you've fixed it.
We don't have a test department to verify and close tickets. We don't have a test department to verify and close tickets.
If you arent sure you fixed it, close it and add a note saying If you arent sure you fixed it, close it and add a note saying
"I think I fixed it, please test and reopen if it's still broken". "I think I fixed it, please test and reopen if it's still broken".
Add a comment with the dev build number or revision and set Add a comment with the dev build number or revision and set
the milestone to the next release. the milestone to the next release.
</li> {%- endtrans %}</li>
</ul> </ul>
{% endblock %} {% endblock %}

View File

@@ -1,51 +1,51 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{% block title %}Using an IDE with I2P{% endblock %} {% block title %}{{ _('Using an IDE with I2P') }}{% endblock %}
{% block content %} {% block content %}
<p> <p>{% trans -%}
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. 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.
</p> {%- endtrans %}</p>
<h1>Eclipse</h1> <h1>Eclipse</h1>
<p> <p>{% trans -%}
The main I2P development branches (<code>i2p.i2p</code> and branches from it) contain .project and .classpath Eclipse files, to enable the branch to be easily set up in Eclipse. The main I2P development branches (<code>i2p.i2p</code> and branches from it) contain .project and .classpath Eclipse files, to enable the branch to be easily set up in Eclipse.
</p> {%- endtrans %}</p>
<ol> <ol>
<li> <li>{% trans -%}
Check out the I2P branch into some directory (e.g. <code>$HOME/dev/i2p.i2p</code>). Check out the I2P branch into some directory (e.g. <code>$HOME/dev/i2p.i2p</code>).
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
Open Eclipse and create a new Workspace, based in the directory that the I2P branch was checked out to. Open Eclipse and create a new Workspace, based in the directory that the I2P branch was checked out to.
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
Select "File - Import..." and then under "General" select "Existing Projects into Workspace". Select "File - Import..." and then under "General" select "Existing Projects into Workspace".
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
For "Select root directory:" choose the directory that the I2P branch was checked out to. For "Select root directory:" choose the directory that the I2P branch was checked out to.
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
If necessary, click "Refresh" to refresh the list of projects. If necessary, click "Refresh" to refresh the list of projects.
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
Select every project in the list, and click "Finish". Select every project in the list, and click "Finish".
</li> {%- endtrans %}</li>
<li> <li>{% trans -%}
Done! Your workspace should now contain all projects within the I2P branch, and their build dependencies should be correctly set up. Done! Your workspace should now contain all projects within the I2P branch, and their build dependencies should be correctly set up.
</li> {%- endtrans %}</li>
</ol> </ol>
<h1>NetBeans</h1> <h1>NetBeans</h1>
<p> <p>{% trans -%}
The main I2P development branches (<code>i2p.i2p</code> and branches from it) contain NetBeans project files. The main I2P development branches (<code>i2p.i2p</code> and branches from it) contain NetBeans project files.
</p> {%- endtrans %}</p>
{% endblock %} {% endblock %}