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

Reply via email to