Changes between Version 6 and Version 7 of AdminLocalize


Ignore:
Timestamp:
10/17/17 00:44:01 (5 weeks ago)
Author:
ChristianB
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdminLocalize

    v6 v7  
    22
    33Many parts of BOINC have translatable strings.
    4 The general translation process is
     4The translation process is documented on TranslationSystem, the general process is
    55 * build templates (.pot files) and upload to transifex
    66 * volunteers translate on transifex
     
    88 * deploy
    99
    10 The set of parts is as follows.
    11 Each one has its own template.
     10The translation manager creates new templates on a regular basis or after it is requested by a committer (e.g. a new feature was added to the master branch). Volunteers on transifex should be regularly updated and asked to translate missing strings. The translation manager updates the finished translations regularly or as part of the release process (see below).
    1211
    13 For each one these parts, we need to document:
     12The process is largely automated by scripts and results in atomic commits that the translation manager adds to the correct branch at the time. The goal is to have a consistent set of templates and translations in master and release branches.
    1413
    15  * how the template is made (e.g. html/ops/build_po.php)
    16  * who makes it, and when
    17  * how it gets uploaded to transifex
    18  * when and how the .po files are downloaded from transifex
    19  * for files in the BOINC repo, when and where they're committed
    20  * how the .po files are deployed
    21  * the mechanism for using the .po files (e.g. translation.inc for PHP strings)
    22 
    23 == Project web sites (generic part) ==
     14The process is largely the same for all parts of BOINC with some special handling required for
    2415
    2516== Project web sites (project-specific part) ==
    2617
     18See TranslationSystem#Projectwebsites
     19
    2720== The BOINC web site ==
     21
     22Also see TranslationSystem#TheBOINCwebsite
    2823
    2924Deploy:
     
    3328 * dev/html/ops/update_translations.php
    3429
    35 == The Manager ==
    36 
    37 == The client ==
    38 
    39 == Mac installer ==
    40 
    4130= Translations and branches =
    4231
    43 For the parts involving software releases (server: project web; client: Manager, Client, Installer),
    44 I propose that the set of templates be based on master.
    45 The templates should be generated as a github commit action.
    46 Most commits won't change the templates.
    47 When one does, it should be automatically updated on transifex.
     32The Transifex BOINC project is currently setup to only hold one set of templates for which translations are stored. This is either the set of templates from the master branch or a release branch. The translation manager needs to keep track of where the current templates come from and update translations accordingly.
     33When preparing to make a release branch (client or server) the release manager will notify the translation manager with a timeline.
     34The translation manager will make sure that the templates on transifex are from the master branch and were recently updated (see TranslationSystem on how to do this). The translation manager will then notify the translators and encourage them to bring translations up to date.
    4835
    49 When preparing to make a release branch (client or server)
    50 we'll notify the translators and encourage them to bring translations up to date.
    51 Before creating the release branch, we'll commit the latest .po files to master.
     36Shortly before creating the release branch the translation manager updates translations from transifex so that the release branch contains the most up to date translations. It is advisable to not change templates in the release branch and keep the templates on transifex in line with the release branch for some time since translation errors or updates are often found during testing the new release. An updated translation can be easily added to the release branch as a bugfix.
    5237
    53 This means that once the release branch is made, its translations won't change.
    54 This is correct, since the changes to release branches are bug fixes
    55 that don't involve changes to translatable strings.
     38Once the release is stable and no more translation change are expected the templates on transifex can be updated with the ones from the master branch. After that has happened it is not advisable to switch back to older templates on transifex (to update translations of an older release) because newer translations get lost and need to be reentered when switching back.
    5639
    5740----------------------------------
    5841= Transifex =
    5942
    60 THE FOLLOWING IS DEPRECATED.
    61 CHRISTIAN IS DOING IT A DIFFERENT WAY (PLEASE DOCUMENT).
    62 
    63 txclient: upload templates to transifex
    64 
    65 Workflow is:
    66 build translation templates in release branch.
    67 Check them into master.
    68 
    69 When make a release branch, make the templates.
    70 All subsequent translation is for the new branch.
    71 ------------------------------
    7243BOINC's localization efforts are focused around the Transifex localization platform.  You can find
    7344it [https://www.transifex.com/projects/p/boinc/ here].
    7445
    75 Central to the smooth use of this platform is the !TransifexGithub bridge.
    7646
    77 txgh handles the following job functions:
    78 * Updates Transifex's copy of the templates when a updated localization template is committed.
    79 * Commits completed localizations back to Github.
    80 
    81 From a developer perspective they only need to commit updated localization templates for all the localizers to be
    82 notified of the changes.  When localizations have been completed the updated localization files will automatically
    83 be committed for use by the community.
    84 
    85 '''NOTE:''' At present, the Transifex platform is considered the authoritative source for localization. If someone commits changes to localizations directly into the BOINC github repository (e.g. via a Pull Request) they will get overwritten by txgh when someone changes a translation on Transifex.
     47'''NOTE:''' At present, the Transifex platform is considered the authoritative source for localization. If someone commits changes to translations directly into the BOINC github repository (e.g. via a Pull Request) they will get overwritten the next time translations are updated from Transifex.
    8648
    8749== Transifex Workflow ==
     
    9052[http://docs.transifex.com/tutorials/content]
    9153
    92 == !TransifexGithub Bridge ==
    93 
    94 Instructions for setting up a new bridge server can be found here:
    95 [https://github.com/BOINC/txgh]
    96 
    97 Additional documentation from Transifex:
    98 [http://docs.transifex.com/integrations/github]
    99 
    10054The Transifex configuration file is stored in the BOINC source repo at:
    101 boinc/locale/txconfig
     55.tx/config
    10256
    10357