Development discussions
Router Console Translation Guide - NEW :-D « Translation Howtos and Discussion « I2P Development
Sun, 08 Nov 2009, 03:19am #1
I2P Legend

0. Before starting a console translation, better help translate some i2p webpage first. at least an i2p homepage in your language would be great :) This could also help you familiarize with mtn.

1. Preparation
generate your own gpg key for i2p. sign the dev agreement.
install mtn from http://www.monotone.ca/
follow the developer guide on http://www.i2p2.i2p/newdevelopers.html
check out i2p.i2p branch and generate your mtn key.
come to #i2p-dev on irc and talk to welter to add your key.

2 What to translate
There are 5 files in the i2p.i2p branch that needs translation:

For the console itself:(possible Priority #1)
Client function:
1 - \i2p.i2p\installer\resources\readme\readme_%lang%.html
2 - \i2p.i2p\apps\routerconsole\local\messages_%lang%.po
3 - \i2p.i2p\installer\resources\proxy\*_%lang%.ht
4 - \i2p.i2p\apps\routerconsole\jsp\help_%lang%.jsp

Server function:
5 - \i2p.i2p\installer\resources\eepsite_index_%lang%.html
6. apps/i2ptunnel/locale/messages_%lang%.po

For the applications shipped with i2p:
7. apps/i2psnark/locale/messages_%lang%.po
8. apps/susidns/locale/messages_%lang%.po

Where %lang% is your language code like fr/de/ch/zh/...

[1]Welcome page - brief newbie guide [2]Console text
[3]Http Err page [4][General] help in console
[5]Eepsite default help page.[6]i2ptunnel - introduced in[5]
- where people create new tunnels [7]i2pSnark [8]susidns

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.

3.0 Claim the files
To make sure other coworkers don't bump onto the files you are working on, please update the translation status on this wiki page: http://ugha.i2p/i2pTranslation .

3 Start to work
Edit the HTML/JSP file with your text editor like notepad2/leappad
To work with po files efficiently,pls install POEdit http://www.poedit.net/download.php
To see which file works for

4 Finish
issue "mtn pull mtn.i2p2.de" in your work space --i2p.mtn is a sqlite database aka "repo" in the folder one level up your workspace's root folder(if you follow the dev guide exactly). this command fetch all code revision info from a repo on remote machine into this local repo -- and "mtn update" -- this use the latest repo entries to update files in your workspace -- and after translation, you can check in by "mtn ci -k yourname@mail.i2p filepath\filename_langcode.html" -- this collect the diff info of your changed file into your local repo -- and then "mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p i2p.i2p" -- this synchronize your local repo with the repo on the target machine.

As you see it's simple :-) only 4 steps.

*If you have questions about the meaning of the terms in the console, ask in #i2p-dev on irc or follow post here :-D

Last edited: Fri, 11 Dec 2009, 04:18am by walking

Sun, 08 Nov 2009, 03:24am #2
I2P Legend

Solutions to the Problems I encountered before :

!. Country Name translation - long and boring:

No need to translate by hand, skip them and deal with them at last.

copy the content from file i2p.i2p\installer\resources\countries.txt
into Google translate and copy and paste the results into POEdit.
the country names in chinese are nearly 100% accurate :-)

2. JSP/HTML Encoding conversion

Text editors dont convert code into another encoding while you change the encoding page options. it simplely try to decode and display the code in other encoding.
So the right way to save a ansi/iso** encoded file as utf-8 is to:
a. select all the text in the editor and cut
b. change encoding page to utf-8
c. paste them back :-D the system will automatically convert it for you.

3. hasnt figure out what to write :-)

Last edited: Mon, 09 Nov 2009, 03:52am by walking

Sun, 15 Nov 2009, 06:38pm #3

Don't feel that you must translate everything, especially the country names. There are 235 of them! It is OK to have untranslated things. Translate your own country name only. Or only the common ones. Or none of them. I put the countries in there so people can see their own country name in their native language, not to give the translators more work.

Last edited: Sun, 15 Nov 2009, 06:49pm by zzz

Fri, 20 Nov 2009, 01:20pm #4

As requested by walking on this thread, you must now do 'ant poupdate' after tagging, or after creating a new messages_xx.po file.

Edit: There are some problems reported with 'ant poupdate' not picking up new tags; do 'ant distclean poupdate' to be sure to get them all.

Last edited: Thu, 10 Dec 2009, 03:28pm by zzz

Thu, 10 Dec 2009, 03:27pm #5

And coming soon, adding to walking's list of what to translate:

6. apps/i2psnark/locale/messages_xx.po
7. apps/i2ptunnel/locale/messages_xx.po
8. apps/susidns/locale/messages_xx.po

Fri, 11 Dec 2009, 06:39pm #6

As of today (0.7.8-2), translations now supported for the 3 webapps listed above.

i2psnark fully tagged (~140 strings), ready for translators.
i2ptunnel and susidns are untagged, looking for volunteers. It's mostly jsp's. After the jsp's are tagged I will help with the java if required.

Yes, it's now 4 separate .po files, one for each webapp. No, they can't be merged.

The last webapp is susimail, which I'm not very familiar with (in part because I don't use it). So it's not very high priority to me.

(Edit: wasn't working, fixed in 0.7.8-6. Thanks to walking for testing)

(Edit 2: i2ptunnel and susidns are now tagged)

Last edited: Sat, 02 Jan 2010, 03:06pm by zzz

Wed, 13 Jan 2010, 01:07pm #7

One other file for the list:

9. installer/resources/initialNews.xml

This is displayed as the news on the router console for a new install for the first few minutes, until it gets the news update. Right now it has .en and .de in it. We don't have support for separate files for each language. Obviously it's going to get big if we keep adding langs, but that's all we have for now. Perhaps we need to squish it a little.

To view for testing, copy it to ~/.i2p/docs/news.xml

Wed, 14 Nov 2018, 07:10pm #8

Cool , contact me , I can Translate in to Simplify Chinese language and Traditional

Chinese language ,

may be My -ex GF can translate in To Japanese language / Korean

Language and Vietnam language,

The Thai language and Malaysia language / The Laos language

Philippines /Uyghur language and Tibetan language is quiet difficult

The Arabic language / The urdu language / The Farsi language is so similar

We thought most of the .i2p user using Russian language ( PYCCKNN) and French (Francais)

langue / German (Deutsch) language and Italian language ( Italia) / Romansch / The

Norwegian langue (Norsk) / Sweden language (Suomi) / Finland language ( Finnish)

Don't Forgot the Wales language (Cymru) and Scotland language ( Scots) and Ireland

language ( Irish)

The Spanish ( EspaƱola ), The Catalan language , and the( African language ) , The

Nederland language ( Dutch) , The LX language

still finding how to use Pretty good privacy certificate generate by GPG4win

Wed, 14 Nov 2018, 10:12pm #9

The instructions in this thread from 2009 are obsolete.
We are now on Transifex, sign up and translate there.