| 40 | | * Once a day, a script '''build_pos''' is run as a cron job. |
| 41 | | This script generates a template for each component, |
| 42 | | leaving the .pot file in the component directory. |
| 43 | | It then compares the .pot file with the one in '''locale/templates'''. |
| 44 | | If they differ (not counting comments) it sends an email to Rom and David. |
| 45 | | * On receiving this email, Rom and/or David examines the new template file. |
| | 41 | * Templates are updated as needed, Rom and/or David generate a new template file. |
| 50 | | Twice daily a cron job (~boincam/pootle/update.sh) pulls modified templates from |
| 51 | | the BOINC repo and adds them to the Pootle database. |
| 52 | | |
| 53 | | Various [http://docs.translatehouse.org/projects/pootle/en/stable-2.5.0/server/commands.html Pootle Commands]. |
| 54 | | |
| 55 | | update.sh should perform the following functions for each supported pootle project (boinctrunk, setiweb): |
| 56 | | 1. Commit to VCS all existing changes to PO files. (pootle command: commit_to_vcs) |
| 57 | | 2. Update from VCS all templates for each project. (pootle command: update_from_vcs) |
| 58 | | 3. Apply template changes to all projects/languages. (pootle command: update_against_templates) |
| 59 | | 4. Compile all catalogs used by the client software into MO files. (Execute: boinc/locale/updatetrans.sh) |
| 60 | | 5. Commit to VCS all existing changes to MO files. (git command: commit) |
| 61 | | |
| 62 | | All pootle operations are limited to just the boinc/locale directory structure. Projects are expected to |
| 63 | | have a similar structure. |
| 64 | | |
| 65 | | 'boinc/locale/updatetrans.sh' compiles BOINC-Manager.po, BOINC-Client.po, BOINC-Web.po, and BOINC-Setup.po if |
| 66 | | the datestamps on the po and mo file are different. After completing the compilation process it touches both |
| 67 | | files. |
| 68 | | |
| 69 | | == Post Translation Updates == |
| 70 | | |
| 71 | | Converting the Android PO file back into the native Android localization system XML files involves executing: |
| 72 | | {{{ |
| 73 | | a2po export -v |
| 74 | | }}} |
| | 46 | Translation is handled via the Transifex web portal. Using the TransifexGithub bridge software, |
| | 47 | templates and completed translations are kept in sync between Transifex and Github. |