| 1 | = Translations = |
| 2 | |
| 3 | Many parts of BOINC have translatable strings. |
| 4 | The general translation process is |
| 5 | * build templates (.pot files) and upload to transifex |
| 6 | * volunteers translate on transifex |
| 7 | * download translations (.po files) from transifex |
| 8 | * deploy |
| 9 | |
| 10 | The set of parts is as follows. |
| 11 | Each one has its own template. |
| 12 | |
| 13 | For each one these parts, we need to document: |
| 14 | |
| 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) == |
| 24 | |
| 25 | == Project web sites (project-specific part) == |
| 26 | |
| 27 | == The BOINC web site == |
| 28 | |
| 29 | == The Manager == |
| 30 | |
| 31 | == The client == |
| 32 | |
| 33 | == Mac installer == |
| 34 | |
| 35 | = Translations and branches = |
| 36 | |
| 37 | For the parts involving software releases (server: project web; client: Manager, Client, Installer), |
| 38 | I propose that the set of templates be based on master. |
| 39 | The templates should be generated as a github commit action. |
| 40 | Most commits won't change the templates. |
| 41 | When one does, it should be automatically updated on transifex. |
| 42 | |
| 43 | When preparing to make a release branch (client or server) |
| 44 | we'll notify the translators and encourage them to bring translations up to date. |
| 45 | Before creating the release branch, we'll commit the latest .po files to master. |
| 46 | |
| 47 | This means that once the release branch is made, its translations won't change. |
| 48 | This is correct, since the changes to release branches are bug fixes |
| 49 | that don't involve changes to translatable strings. |
| 50 | |
| 51 | ---------------------------------- |