Changes

Jump to navigation Jump to search
534 bytes added ,  21:47, 17 September 2018
no edit summary
Line 2: Line 2:     
* http://translate.sugarlabs.org/
 
* http://translate.sugarlabs.org/
  −
Additional urls:
  −
  −
* http://translate.sugarlabs.org/status, status page
  −
* http://translate.sugarlabs.org/langpacks, language packs
      
== Hosted on ==
 
== Hosted on ==
   −
[[Machine/treehouse/pootle]]
+
[[Machine/pootle]]
    
== Administrative contact ==
 
== Administrative contact ==
Line 20: Line 15:  
For non-emergency calls, preferably send email to the administrative contact.
 
For non-emergency calls, preferably send email to the administrative contact.
   −
* [[User:SayaminduDasgupta|Sayamindu Dasgupta]] has system admin and Pootle admin privs.
+
* [[User:Sebastian|Sebastian Silva]] has assumed maintainership tasks
* [[User:Cjl|Chris Leonard]] has Pootle administrator privs.
+
* [[User:Cjl|Chris Leonard]] has Pootle administrator privs, and heads the localization efforts.
* [[User:தங்கமணி_அருண்|தங்கமணி_அருண்(Thangamani Arun)]] has system admin and Pootle administrator privs.
  −
* [[User:RafaelOrtiz | Rafael Ortiz]] has system admin and Pootle admin privs.
   
* [[User:Bernie|Bernie Innocenti]] has system admin and Pootle administrator privs, but takes care only of OS-level administration.
 
* [[User:Bernie|Bernie Innocenti]] has system admin and Pootle administrator privs, but takes care only of OS-level administration.
 +
* [[User:SayaminduDasgupta|Sayamindu Dasgupta]] is the former admin. He still has an emeritus sysadmin account and he can be very helpful if contacted by email.
    
== Language Administrators ==
 
== Language Administrators ==
Line 67: Line 61:  
== Mantainance Notes ==
 
== Mantainance Notes ==
   −
Pootle in Sugar is maintained. (dirakx has step-up to be maint)
+
Pootle in Sugar is maintained. (icarito has step-up to be maint)
 
  −
We (godiard / martin_xsa / erikos / dirakx / Bernie / Dogi) <!-- http://ru.wiktionary.org/wiki/%D1%83_%D1%81%D0%B5%D0%BC%D0%B8_%D0%BD%D1%8F%D0%BD%D0%B5%D0%BA_%D0%B4%D0%B8%D1%82%D1%8F_%D0%B1%D0%B5%D0%B7_%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0 :)--> are trying to resolve the pending issues because we need working translations.
     −
To date translations are working, we are working in a new VM pootle-devel to test upgrades of the Pootle/Django/Translate-toolkit stack.
+
== Migrated to Pootle 2.5.0 ==
   −
The last maintainer was Sayamindu Dasgupta and we asked he our doubts, i am putting here this information.
+
Notes on the process were recorded here:  [[Service/translate/Pootle2.5]]
    
== Files ==
 
== Files ==
Line 93: Line 85:     
{{Code|'''maintenance/helpers/potupdater/project_list.ini'''}}<br>
 
{{Code|'''maintenance/helpers/potupdater/project_list.ini'''}}<br>
This is an Ini file that contains configuration for all used sources repositories. Each section describes one sources repository, where section name is full path to the directory with sources, and contains following options:
+
This is an Ini file that contains configuration for all used sources repositories. Each section describes one sources repository, where section name is full path, in form of {{Code|/var/lib/pootle/checkouts/''pootle-project''/''pootle-filename''/''some-path-within-sources''/''pot-file''}}, to the {{Code|.pot}} file, and contains following options:
    
* {{Code|project}} required, meaning-less project name;
 
* {{Code|project}} required, meaning-less project name;
Line 111: Line 103:     
=== Create new Pootle project ===
 
=== Create new Pootle project ===
  −
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/glucose92 exists,
  −
you can issue these commands:
      
* Create new project in Pootle admin menu, ''admin->projects'';
 
* Create new project in Pootle admin menu, ''admin->projects'';
 
* Add all needed langs;
 
* Add all needed langs;
* Add new section to the [[#Files|project_list.ini]] file to describe new {{Code|.pot}} location;
+
* Checkout all sources using command:
 +
 
 +
sudo -u pootle -i python maintenance/helpers/admin/pootlepopulator.py ''pootle-project'' ''git-clone-url'' ''pootle-filename-wo-po-suffix'' ''git-branch''
 +
 
 +
Example:
 +
 
 +
To checkout the sugar in the branch sucrose-0.94 (in pootle is in the project glucose94) we sshould do:
 +
 
 +
cd /var/lib/pootle/
 +
sudo -u pootle -i python maintenance/helpers/admin/pootlepopulator.py glucose94 gitorious@git.sugarlabs.org:sugar/mainline.git sugar  sucrose-0.94
 +
 
 +
* Add new sections to the [[#Files|project_list.ini]] file to describe new {{Code|.pot}} locations;
 
* Run {{Code|misc/pootle.cron}} script from {{Code|pootle}} user to generate all sufficient files;
 
* Run {{Code|misc/pootle.cron}} script from {{Code|pootle}} user to generate all sufficient files;
* Call ''Update from templates'' for all languages in newly created project to peek up {{Code|.po}} files symlinked by {{Code|misc/pootle.cron}} script.
+
* Click ''rescan the project files'' in ''Templates->Project->Files'' to reveal newly created {{Code|.pot}} files;
 +
* Click ''Update from templates'' for all languages in newly created project to peek up {{Code|.po}} files symlinked by {{Code|misc/pootle.cron}} script.
    
=== Adding activities ===
 
=== Adding activities ===
*Do:
  −
''Note:'''''The git url must be writable by Pootle.'''
     −
2!root@pootle:/var/lib/pootle/maintenance/helpers/admin# sudo -u pootle python ./pootlepopulator.py  honey git://git.sugarlabs.org/fototoon/mainline.git fototoon
+
Before registering new activity on http://translate.sugarlabs.org, make sure that:
******** 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
+
* New activity is being hosted on http://git.sugarlabs.org;
Initialized empty Git repository in /var/lib/pootle/checkouts/honey/fototoon/.git/
+
* The {{Code|pootle}} user was added to the repository with commit access rights;
******** Switching to branch master *********
+
* You have a proper {{Code|GIT_URL}} to clone repository from with commit permissions, e.g., {{Code|gitorious@git.sugarlabs.org:cartoon-builder/mainline.git}}; that might be found on home page in Gitorious, e.g., http://git.sugarlabs.org/cartoon-builder, in ''Clone & push urls'' field with selector ''SSH'';
Running  git checkout --track -b master origin/master
+
* You know the proper {{Code|CATEGORY}} name to register the project in;
Running git pull
+
* There is an unique {{Code|NAME}} of activity, this name will be used as a name of project in Pootle and directory name;
Already up-to-date.
+
* You know the proper {{Code|BRANCH}} in Git repository to use for translation; by default, it is {{Code|master}}.
********* 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 *********
     −
* Do '''update from templates''' on the ''templates'' project on Pootle's frontend.
+
To process the registration, login to translate.sugarlabs.org and enter:
   −
*Then run the '''add_langs.py''' script in order to have all the lang.po in place.
+
sudo -u pootle python /var/lib/pootle/maintenance/helpers/admin/pootlepopulator.py ''<CATEGORY>'' ''<GIT_URL>'' /var/lib/pootle/checkouts/''<CATEGORY>''/''<NAME>'' [''<BRANCH>'']
   −
*Then your activity must be in place to be translated and ''commit to VCS/update from VCS'' links must be activated.
+
After that, for [http://git.sugarlabs.org/pootle-helpers pootle-helper] project in {{Code|potupdater/project_list.ini}}, add the following strings:
 +
 
 +
[/var/lib/pootle/checkouts/''<CATEGORY>''/''<NAME>''/po/''<.pot-filename>'']
 +
project = ''<NAME>''
 +
vcs = git
 +
method = bundlebuilder
 +
layout = gnu
 +
 
 +
Commit new changes, and pull from on pootle VM:
 +
 
 +
(cd /var/lib/pootle/maintenance/helpers; sudo -u pootle git pull origin master)
 +
 
 +
Do ''update from templates'' on the ''templates'' project on Pootle's frontend. And wait until daily cron job will populate languages for newly registered project, or run it immediately:
 +
 
 +
sudo -u pootle python /var/lib/pootle/maintenance/helpers/admin/add_langs.py
 +
 
 +
Then your activity must be in place to be translated and ''commit to VCS/update from VCS'' links must be activated.
    
=== Working with git in the pootle server ===
 
=== Working with git in the pootle server ===
Line 185: Line 190:  
  Already up-to-date. or
 
  Already up-to-date. or
 
  ####### Checking POT for Write (master) ######
 
  ####### Checking POT for Write (master) ######
 +
 +
=== Etoys .pot update ===
 +
 +
Go to Etoys translation directory (that is svn checkout from upstream project):
 +
 +
su - pootle
 +
cd ~/translations/etoys_new
 +
 +
Since there is no need in changing .pot files on Pootle level, revert local changes if they present:
 +
 +
svn revert templates/*.pot
 +
 +
Fetch new update from the upstream:
 +
 +
svn up templates
    
=== Tips ===
 
=== Tips ===

Navigation menu