Hi Chris, Couple more questions
1) you mentioned about placing the pot file in /po. I have pootle installed in /usr/local/pootle, where do I place that pot file for my install? If I put the lang specific .po file in /usr/local/pootle/po/<proj name>/<lang> and do a 'rescan project files' I can see it show up. But I have not been able to generate the .po uses using the .pot. 2) In the pootle UI, under the 'files' tab for each project, it has a 'update files from templates' button, where does it read the .pot from? I assume this creates .po from .pot 3) Did you guys have something that hookup git and pootle? I don't see there is a 'commit to vcs' link anywhere. The user I use has the permission to 'can commit to version control', but I just don't see how to enable it in pootle Thanks, Mason On Thu, Dec 15, 2011 at 6:38 PM, Chris Leonard <[email protected]>wrote: > On Thu, Dec 15, 2011 at 8:30 PM, Mason Leung <[email protected]> wrote: > > Hi Chris, > > > > Thank you very much for the info. I read through the sugarlabs pages and > > want to see if this setup makes sense > > > > 1) there is a git repo that store all the translated .po files > > 2) pootle holds it owns set of .po files locally > > 3) translators update the .po files, a cron can merge those files back > into > > git > > 4) a cron do pull from git and generated the .mo files for pages to use > > 5) a cron extracts and create new .po files from pages and does a merge > with > > the existing .po files on pootle > > Repeat step 3 to 5 nightly. > > > > I got these steps based on reading the helper files, does it look > similar to > > what you guys do in sugarlabs? > > > > Thanks, > > Mason > > > I think our workflow is more like this. > > 1) An "activity devloper" (Sugar labs term for owner a git project) > creatred a new project in git. Here is an example: > http://git.sugarlabs.org/abacus > > They are requested to follow "Gnu" formatting for git structure, > meaning the PO directory (/po) can always be found in the same place. > at the top-level of the projectrepo. > > http://git.sugarlabs.org/abacus/mainline/trees/master > > 2) The activity developer does two things. They generate the POT > file and place it in the /po directory and they grant commit access to > a special suer called "pootle". > > http://git.sugarlabs.org/abacus/mainline/trees/master/po > > 3) After creating the POT file and placing it in the /po directory, we > ask the developer not to mess with the .po directory to avoid loss of > synchronization. > > From this point on, Pooltl essentially controls the /po directory > without any intervention from the developer. > > Steps 1-3 are developer actions > > 4) The POT file is added to the 'Templates" language project. > http://wiki.sugarlabs.org/go/Service/translate#Adding_activities > > 5) The language admins (or the Poolte admin) can do an 'Update from > Templates" via the Poolte UI, which causes the new POT from Templates > to be created as a PO file in a given language project. > > Any subsequent "Update from Templates" is a merge operation on the PO > file, the existing translations are merged into the new template > derived from the POT in the Templates "language". > > 6) The localizers do their translations, the lang admin reviews and > then "commits" the translated PO file using "Commit to VCS" link on > the Translate Tab in Poolte. > > 7) The special gituser: poolte is essentially a proxy who's commit > priv is "borrowed" by language admins (granted commit priv in Poolte > Admin UI). > > See for example the git commit logs here: > http://git.sugarlabs.org/abacus > > Where the Polish language administrator "Jakub" committed the lang-pl > PO file for abacus by selecting the "Commit to VCS" option, which > appears for him in Pootle because he has been granted "commit to VCS" > priv (for lang-l) as a lang-admin for lang-pl. > > We do not automate this commit to git because we believe it should be > an affirmative action by a human reviewer, not a machine's call. > > During the period of time before the commit action by the lang-admin, > the translations in the PO exist in Pootle, but not git. (Your point > #2) > > Points 4-7 are actions taken by Pootle admin (or lang admin) > > 8) We do however automate the process of updating the POT files in the > templates language (the potgenerator script) This means that when the > developer adds a new string, it is added to the POT in the Templates > "language" by the script, ultimately propagated to the individual > languages by "Update from templates" actions. > > 9) For localization testing purposes, we take the PO files (the ones > commited to git, I think, not the ones in Pootle) and we generate the > .mo files as a part of self-installing scripts we call "language > packs". > > Steps 8 and 9 are performed by the scripts. > > 10) Under normal circumstances (a developer's build or release > generation), the .mo files are generated from the git-committed PO > files in the git project's /po directory. > > Does that make sense? > > cjl > ------------------------------------------------------------------------------ Learn Windows Azure Live! Tuesday, Dec 13, 2011 Microsoft is holding a special Learn Windows Azure training event for developers. It will provide a great way to learn Windows Azure and what it provides. You can attend the event by watching it streamed LIVE online. Learn more at http://p.sf.net/sfu/ms-windowsazure _______________________________________________ Translate-pootle mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/translate-pootle
