Changes between Version 6 and Version 7 of TranslationSystem


Ignore:
Timestamp:
May 29, 2015, 1:08:53 PM (9 years ago)
Author:
romw
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TranslationSystem

    v6 v7  
    44
    55 * Generate "templates" (.pot files) containing translatable strings from the BOINC source code.
    6  * Import these templates into Pootle.
    7  * Volunteers translate the strings in Pootle.
    8  * Export the translations (*.po files) from Pootle to the BOINC Git repo
     6 * Commit updated template(s).
     7 * Volunteers translate the strings on Transifex.
     8 * Updated translations are automatically committed to the BOINC Git repo on GitHub.
    99 * Deploy the new translations.
    1010
     
    2424== Software releases ==
    2525
    26 Translation activity takes place in trunk.
     26Translation activity takes place in master.
    2727When a release branch (client or server) is created,
    2828its translations are the contents of '''locale/''' at that point.
     
    3636all existing translations will be lost.
    3737Therefore manual validation is used.
     38
    3839The process is as follows:
    3940
    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.
    4642    If it's valid, they move it to '''locale/templates''' and commit it.
    4743
    4844== Translation ==
    4945
    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 }}}
     46Translation is handled via the Transifex web portal.  Using the TransifexGithub bridge software,
     47templates and completed translations are kept in sync between Transifex and Github.
    7548
    7649== Deployment ==