Welcome to the I2P Translation help page!
Please help spread the word about I2P by translating the application and the website to YOUR language!
All translation is now done on Transifex: https://www.transifex.com/projects/p/I2P/
Translation help inside I2P: http://zzz.i2p/forums/14-translation-howtos-and-discussion
For help: IRC #i2p-dev on freenode or inside I2P or via https://webchat.freenode.net/#i2p-dev
Getting Started
- Review our website https://geti2p.net/
- Download, install, and run I2P https://geti2p.net/get
- Register on Transifex
- Request to join a language team, or request a new language. Please wait up to 48 hours for approval. If you don't get approval after 48 hours, please ask for approval on IRC #i2p-dev.
New Languages
Please request on Transifex. Do not request "language (country)", it will be denied. Request the plain "language" instead.
New Resources
If your project is closely related to I2P we may consider adding it to our Transifex page. Otherwise we would be happy to link to your own Transifex page from here. Discuss it with us on IRC #i2p-dev.
Resource priorities
Highest; website (higher priority)
High: routerconsole, debconf, i2prouter-script, welcome
Medium: i2psnark, i2ptunnel, streaming, susidns, susimail, proxy, Android, All website resources not listed above or below
Low: getopt, itoopie, countries, Syndie, website (misc), website (docs)
Don't bother: desktopgui, Robert
Resources not on Transifex
Big router help page ("readme"), Welcome to your Website page, …
Copy and edit, then let us know on IRC #i2p-dev where to get it, we will copy it in.
We know this is a pain, we are working to migrate the remaining resources to Transifex.
Related I2P Projects
Put links to associated projects and Transifex pages here
- i2pd: Does not support translations yet
- Vuze: ?
- others?
Tips on Formatting and Strings
- All translated files must be in UTF-8. If you use the Transifex editor, this will happen automatically. If you do your translations offline and upload the new po file, please ensure it is UTF-8.
Most non-website resources
- Strings should never include a trailing \n
- In any string containing {0}, single quotes must be escaped as TWO single quotes. This is a Java requirement.
Website rules are different
- Website Strings containing % symbols: Several translators have posted issues about problems translating strings containing a % symbol as part of the text (e.g. "Is the CPU usage simply higher than you would like, or is it pegged at 100% for a long time?"). These strings have now been fixed. The % symbols have been replaced with their HTML code % and this code should be used instead of % in the translation as well. Please mark your open issues relating to this bug as resolved when you translate the string.
- Doesn't matter if you include the \n or keep them in the same place as the English string
Other Helpful Hints
Todo…
Process
Main I2P package
routerconsole, i2ptunnel, i2psnark, streaming, susidns, susimail, proxy, welcome, countries, getopt, desktopgui, debconf, i2prouter-script
We generally announce a deadline for a release about a week to ten days in advance. Just before the announcement, we will push the new strings to Transifex. This is the best time to update your translations.
Android
Generally released shortly after the main I2P package. Checkin deadline will be a few days after the main package deadline.
Plugins
I2P-Bote has not had a release in a while, but hopefully will soon.
Other Applications
itoopie: released periodically
Robert has not had a release in years.
Syndie: about one release a year
Website
Strings updated occasionally. Translate anytime. If you do not see your updates on the live website https://geti2p.net/ after several weeks, remind us on IRC #i2p-dev to pull the new translations.
Testing
To test your new translations, get the I2P source https://geti2p.net/get and the "tx" program (in your favorite package manager), then do 'tx pull' then 'ant updater'. Copy i2pupdate.zip to ~/.i2p and restart. More info: https://geti2p.net/newdevelopers
After a release, please update to that release and check to see if everything looks good. If your changes were not included in the release, please ask us to fix the problem on IRC #i2p-dev. Note that some languages may not be included until a minimum percentage of strings are translated.
Per-string "issues"
Several of you are using the new "issues" feature to identify problems with individual strings. That's great, but we didn't see this feature coming and don't really have anybody at the moment to go through the issues, research, fix in monotone, and respond in tx. We're working to find a volunteer and we'll let you know. Don't stop filing issues if that's the way you'd like to do it, but please be patient.
I also see a few issues that are really questions. For those, the best way to do research on what a string really means is to look in a running copy of I2P, or get the source from monotone or github. The po files in the source have a cross-reference to the source code for each string, if you need to find the exact line in the code defining the string. The 'poedit' tool may help here. You may also get faster answers on IRC #i2p-dev.
Translated resource currently broken
- currently fails check - apps/routerconsole/locale-news/messages_mg.po - currently fails check - apps/susimail/locale/messages_mg.po - currently fails check - installer/resources/locale/po/messages_ca.po - currently fails check - installer/resources/locale/po/messages_ko.po - currently fails check - installer/resources/locale/po/messages_uk.po - currently corrupt, non-UTF-8 - core/java/src/gnu/getopt/MessagesBundle_pt.properties - currently corrupt, non-UTF-8 - core/java/src/gnu/getopt/MessagesBundle_pt_BR.properties - currently corrupt, non-UTF-8 - core/java/src/gnu/getopt/MessagesBundle_sq.properties
Privacy
Email addresses in source code: Your email address may appear in the po files in our source distribution (and websites that host source code) unless you disable it as follows:
- Click on your name in the upper right to go to the settings page.
- Near the bottom, uncheck "Show my e-mail address in translation files" and save the settings.
Note that we can't erase history on sites that store them, like trac and github.
FAQ
- What is Open Technology Fund? It's a "hub" on Transifex. We are not a part of, or funded by, the OTF organization. But please help translate the other OTF projects on Transifex (once you are done with I2P!)