From Sugar Labs
Jump to: navigation, search

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:


The translations live in:


Adding activities


2!root@pootle:/var/lib/pootle/maintenance/helpers/admin# sudo -u pootle python ./  honey git:// fototoon
******** Cloning git:// to /var/lib/pootle/checkouts/honey/fototoon *********
Running git clone 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[1] It is invoked as category GIT_URL checkout_directory [branch] So, assuming the directory /var/lib/pootle/translations/sucrose-0.90 exists, you can issue a command: sucrose-0.90 git:// 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



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:

Restarting Pootle

/etc/init.d/apache2 restart
service pootle start