| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | ##      Instructions for helping translate text for Vidalia, TorButton##      and TorCheck##  ( More translation information for Tor related apps will accumulate here )Our translations are handled in one of two places. The Tor Translation Portalhandles all of the translations for Vidalia, Torbutton and TorCheck. The Torwebsite itself is currently handled by hand translations using subversion.-------------------------------------------------------------------------For the Tor website, you'll need a Tor SVN account.If you do not have one and you need one, please run this command with yourdesired username in place of 'USERNAME':    htdigest -c passwd.tmp "Tor subversion repository" USERNAMEand send us the contents of passwd.tmp.-------------------------------------------------------------------------For the Portal-based projects, all three check in their respective .pofiles into the following subversion urls:    https://tor-svn.freehaven.net/svn/translation/trunk/projects/torbutton    https://tor-svn.freehaven.net/svn/translation/trunk/projects/torcheck    https://svn.vidalia-project.net/svn/vidalia/trunk/src/vidalia/i18n/The current pootle configuration is checked into subversion as well:    https://tor-svn.freehaven.net/svn/translation/trunk/pootle---------------------------- TorCheck -------------------------------TorCheck uses our translation portal to accept translations. Users usethe portal to check in their changes.  To make use of the translationsthat users have committed to the translations/ subversion module, you'llneed to ensure that you have a current checked out copy of TorCheck:    cd check/trunk/i18n/    check/trunk/i18n$ svn upYou should see something like the following:    Fetching external item into 'pootle'    External at revision 15300.    At revision 15300.Now if you had changes, you'd simply want to move the newly updated .po filesinto the current stable directory.  Moving the .po files from'check/trunk/i18n/pootle/' into 'check/trunk/i18n' properly naming the filesfor their respective locale.Here's an example of how to move all of the current pootle translations intothe svn trunk area of TorCheck:    cd check/trunk/i18n/    for locale in `ls -1 pootle/|grep -v template`;    do    mv -v pootle/$locale/TorCheck_$locale.po TorCheck_$locale.po;    doneNow check the differences (ensure the output looks reasonable):    svn diffEnsure that msgfmt has no errors:    msgfmt -C *.poAnd finally check in the changes:    svn commit---------------------------- Torbutton -------------------------------Torbutton uses our translation portal to accept translations. Users usethe portal to check in their changes.To make use of the translations that users have committed to the translations/subversion module, you'll need to ensure that you have a current checked outcopy of them in your torbutton git checkout:    cd torbutton.git/trans_tools    torbutton.git/trans_tools$ svn co https://tor-svn.freehaven.net/svn/translation/trunk/projects/torbutton pootleYou should see something like the following:    Checked out revision 21092.If you made changes to strings in Torbutton, you need to rebuild thetemplates in torbutton.git/trans_tools/pootle/templates. This is done withthe following command from within the torbutton.git checkout directory:    moz2po -P -i src/chrome/locale/en/ -o trans_tools/pootle/templates/You now have two options:Option 1 (The [shitty] Pootle Web UI Way):View then commit the changes to the template with:    cd trans_tools/pootle    svn diff templates    svn commit templatesThen poke Jake to 'svn up' on the Pootle side. If you do this enoughtimes, he may give you a button to click to update templates in Pootle,or maybe even an account on the Pootle server. Persistence is a virtue.You then need to go to the Pootle website and click the checkbox next toevery language on:https://translation.torproject.org/projects/torbutton/admin.htmland then click "Update Languages" at the bottom.You then need to go to each language and go to "Editing Options" and click "Commit" for each one. You then need to 'svn up' locally, and follow the procedure above forrebuilding your .dtd and .properties files.Yes, this sucks. :/Option 2 (Use your own msgmerge: YMMV, may change .po flags and formatting):Run msgmerge yourself for each language:    cd trans_tools    for i in `ls -1 pootle`    do       msgmerge -U ./pootle/$i/torbutton.dtd.po ./pootle/templates/torbutton.dtd.pot       msgmerge -U ./pootle/$i/torbutton.properties.po ./pootle/templates/torbutton.properties.pot    done    svn diff pootle    svn commit pootleThen poke Jake to 'svn up' on the Pootle side. If you do this enough times, he may give you a button on Pootle, or maybe even an account on the Pootle server. Persistence is a virtue.You may notice that some .po file flags and string formatting have changed with this method, depending on your gettext version. It is unclear if this is a problem. Please update this doc if you hit a landmine and everything breaks :)After this process is done, you then need to regenerate the mozilla.dtd and .properties files as specified above.Regardless of whether or not you had changes in the torbutton strings, if therewere updated strings in pootle that you checked out from svn you now need toconvert from .po and move the newly updated mozilla files into the currentstable locale directory. First convert them with the 'mkmoz.sh' script andthen move the proper mozilla files from 'torbutton.git/trans_tools/moz/' into'torbutton.git/src/chrome/locale/' directory while properly naming the filesfor their respective locale.Here's an example of how to move all of the current pootle translations intothe svn trunk area of Torbutton:    cd trans_tools    ./mkmoz.sh    for locale in `ls -1 moz/`;    do      mv -v moz/$locale/*.{dtd,properties} ../src/chrome/locale/$locale/    doneNow check the differences to your git branch to ensure the output looksreasonable:    cd ..    git diffAnd finally check in the changes:    cd src/chrome/locale    git commit .---------------------------- Vidalia -------------------------------Vidalia uses our translation portal to accept translations. Users use theportal to check in their changes. No conversion or moving is required otherthan normal pootle usage.
 |