Difference between revisions of "Translation Team/Pootle Administration"

From Sugar Labs
Jump to navigation Jump to search
(Created page with "=== Work in progress .... === Pootle in Sugar is actually unmaintained. We (godiard / martin_xsa / erikos) are trying to resolve the pending issues because we need working tran...")
 
m (update template)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Note/important|This page was moved|to http://wiki.sugarlabs.org/go/Service/Pootle. Please keep working there.}}
 +
 +
 +
 
=== Work in progress .... ===
 
=== Work in progress .... ===
  
Pootle in Sugar is actually unmaintained.
+
Pootle in Sugar is ''actually'' unmaintained.
  
We (godiard / martin_xsa / erikos) are trying to resolve the pending issues because we need working translations but need a real maintainer.
+
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.
 
The last maintainer was Sayamindu Dasgupta and we asked he our doubts, i am putting here this information.
Line 9: Line 13:
 
== Basic info: ==
 
== Basic info: ==
  
The pootle directory is /var/lib/pootle
+
The pootle directory is:
The translations live in /var/lib/pootle/translations
+
/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: ==
 
== Creating branches: ==
  
 
* Each branch (eg: glucose-0.90) is a directory in the translations directory
 
* 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)
+
Each project is a subdirectory inside this directory (eg: glucose-0.90/sugar)
These are actually symlinks to directories /var/lib/pootle/checkouts
+
These are actually symlinks to directories /var/lib/pootle/checkouts
  
 
* There's a script called pootlepopulator.py[1] It is invoked as
 
* There's a script called pootlepopulator.py[1] It is invoked as
pootlepopulator.py category GIT_URL checkout_directory [branch]
+
pootlepopulator.py category GIT_URL checkout_directory [branch]
So, assuming the directory /var/lib/pootle/translations/sucrose-0.90 exists,
+
So, assuming the directory /var/lib/pootle/translations/sucrose-0.90 exists,
you can issue a command:
+
you can issue a command:
  
  pootlepopulator.py sucrose-0.90 git://dev.laptop.org/git/sugar sugar
+
  pootlepopulator.py sucrose-0.90 git://dev.laptop.org/git/sugar sugar sucrose-0.90
sucrose-0.90
 
  
The script can be found in maintainance/helpers directory in /var/lib/pootle
+
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
 
* Once this is done, you need to create project in Pootle admin - go
Line 44: Line 72:
 
The git operations must be done by the pootle user:
 
The git operations must be done by the pootle user:
  
sudo -u pootle git log
+
sudo -u pootle git log
  
sudo -u pootle git push origin  sucrose-0.82
+
sudo -u pootle git push origin  sucrose-0.82
  
 
== Resolving conflicts ==  
 
== Resolving conflicts ==  
Line 55: Line 83:
 
we can do a pull preserving the info in pootle:
 
we can do a pull preserving the info in pootle:
  
sudo -u pootle git pull -s ours
+
sudo -u pootle git pull -s ours
  
  
Line 61: Line 89:
  
 
http://git.sugarlabs.org/pootle-helpers/mainline/trees/master/potupdater
 
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/installation.
 +
 +
This page is now moved to http://wiki.sugarlabs.org/go/Service/Pootle

Latest revision as of 14:17, 16 July 2011

Notification.png
This page was moved
to http://wiki.sugarlabs.org/go/Service/Pootle. Please keep working there.


Work in progress ....

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/installation.

This page is now moved to http://wiki.sugarlabs.org/go/Service/Pootle