Changes

3,539 bytes added ,  13:43, 6 February 2011
no edit summary
Line 73: Line 73:       −
== See Also ==
+
== Mantainance Notes ==
 +
 
 +
Pootle in Sugar is ''actually'' unmaintained.
 +
 
 +
We (godiard / martin_xsa / erikos / dirakx) are trying to resolve the pending issues because we need working translations but need a real maintainer.
 +
 
 +
The last maintainer was Sayamindu Dasgupta and we asked he our doubts, i am putting here this information.
 +
 
 +
== Basic info: ==
 +
 
 +
The pootle directory is:
 +
/var/lib/pootle
 +
 
 +
The translations live in:
 +
 
 +
/var/lib/pootle/translations
 +
 
 +
== Adding activities ==
 +
 
 +
Testing
 +
 
 +
2!root@pootle:/var/lib/pootle/maintenance/helpers/admin# sudo -u pootle python ./pootlepopulator.py  honey git://git.sugarlabs.org/fototoon/mainline.git fototoon
 +
******** Cloning git://git.sugarlabs.org/fototoon/mainline.git to /var/lib/pootle/checkouts/honey/fototoon *********
 +
Running git clone git://git.sugarlabs.org/fototoon/mainline.git /var/lib/pootle/checkouts/honey/fototoon
 +
Initialized empty Git repository in /var/lib/pootle/checkouts/honey/fototoon/.git/
 +
******** Switching to branch master *********
 +
Running  git checkout --track -b master origin/master
 +
Running git pull
 +
Already up-to-date.
 +
********* Git operation completed, moving to next stage ********
 +
********* Searching for POT file *********
 +
********* Found POT file FotoToon.pot *********
 +
********* Starting to symlink files *********
 +
  Linking /var/lib/pootle/checkouts/honey/fototoon/po/es.po to /var/lib/pootle/translations/honey/es/fototoon.po
 +
  Linking /var/lib/pootle/checkouts/honey/fototoon/po/fr.po to /var/lib/pootle/translations/honey/fr/fototoon.po
 +
  Linking /var/lib/pootle/checkouts/honey/fototoon/po/FotoToon.pot to /var/lib/pootle/translations/honey/templates/fototoon.pot
 +
********* Done Symlinking *********
 +
 
 +
== Creating branches: ==
 +
 
 +
* Each branch (eg: glucose-0.90) is a directory in the translations directory
 +
Each project is a subdirectory inside this directory (eg: glucose-0.90/sugar)
 +
These are actually symlinks to directories /var/lib/pootle/checkouts
 +
 
 +
* There's a script called pootlepopulator.py[1] It is invoked as
 +
pootlepopulator.py category GIT_URL checkout_directory [branch]
 +
So, assuming the directory /var/lib/pootle/translations/sucrose-0.90 exists,
 +
you can issue a command:
 +
 
 +
pootlepopulator.py sucrose-0.90 git://dev.laptop.org/git/sugar sugar sucrose-0.90
 +
 
 +
The script can be found in maintainance/helpers directory in /var/lib/pootle
 +
 
 +
* Once this is done, you need to create project in Pootle admin - go
 +
to '''admin->projects''' and createa project called Sucrose 0.90 with the
 +
code sucrose-0.90 (same as the directory name)
 +
 
 +
* '''Restart''' Pootle and Apache if the new project does not show up after this...
 +
 
 +
* '''Add''' the new projects to  maintenance/helpers/potupdater/project_list.ini
 +
 
 +
-sdg-
 +
 
 +
[1] http://git.sugarlabs.org/pootle-helpers/mainline/blobs/master/admin/pootlepopulator.py
 +
 
 +
== Working in git in the pootle server ==
 +
 
 +
The git operations must be done by the pootle user:
 +
 
 +
sudo -u pootle git log
 +
 
 +
sudo -u pootle git push origin  sucrose-0.82
 +
 
 +
== Resolving conflicts ==
 +
 
 +
If the maintainer did a commit with a file in the po directory we will have a conflict, and Pootle can not do a pull.
 +
 
 +
Pootle build the pot file from the sources, if we compare and the translations are updated in pootle
 +
we can do a pull preserving the info in pootle:
 +
 
 +
sudo -u pootle git pull -s ours
 +
 
 +
 
 +
== Pootle scripts: ==
 +
 
 +
http://git.sugarlabs.org/pootle-helpers/mainline/trees/master/potupdater
 +
 
 +
== Restarting Pootle ==
 +
 
 +
/etc/init.d/apache2 restart
 +
service pootle start
 +
 
 +
== References ==
 +
 
 +
* http://translate.sourceforge.net/wiki/pootle/installatio
    
* http://lists.laptop.org/listinfo/localization
 
* http://lists.laptop.org/listinfo/localization
    
[[Category:Service|translate]]
 
[[Category:Service|translate]]