Changes between Version 6 and Version 7 of AdminLocalize
- Timestamp:
- Oct 17, 2017, 12:44:01 AM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdminLocalize
v6 v7 2 2 3 3 Many parts of BOINC have translatable strings. 4 The general translationprocess is4 The translation process is documented on TranslationSystem, the general process is 5 5 * build templates (.pot files) and upload to transifex 6 6 * volunteers translate on transifex … … 8 8 * deploy 9 9 10 The set of parts is as follows. 11 Each one has its own template. 10 The 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). 12 11 13 For each one these parts, we need to document: 12 The 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. 14 13 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) == 14 The process is largely the same for all parts of BOINC with some special handling required for 24 15 25 16 == Project web sites (project-specific part) == 26 17 18 See TranslationSystem#Projectwebsites 19 27 20 == The BOINC web site == 21 22 Also see TranslationSystem#TheBOINCwebsite 28 23 29 24 Deploy: … … 33 28 * dev/html/ops/update_translations.php 34 29 35 == The Manager ==36 37 == The client ==38 39 == Mac installer ==40 41 30 = Translations and branches = 42 31 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. 32 The 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. 33 When preparing to make a release branch (client or server) the release manager will notify the translation manager with a timeline. 34 The 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. 48 35 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. 36 Shortly 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. 52 37 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. 38 Once 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. 56 39 57 40 ---------------------------------- 58 41 = Transifex = 59 42 60 THE FOLLOWING IS DEPRECATED.61 CHRISTIAN IS DOING IT A DIFFERENT WAY (PLEASE DOCUMENT).62 63 txclient: upload templates to transifex64 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 ------------------------------72 43 BOINC's localization efforts are focused around the Transifex localization platform. You can find 73 44 it [https://www.transifex.com/projects/p/boinc/ here]. 74 45 75 Central to the smooth use of this platform is the !TransifexGithub bridge.76 46 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. 86 48 87 49 == Transifex Workflow == … … 90 52 [http://docs.transifex.com/tutorials/content] 91 53 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 100 54 The Transifex configuration file is stored in the BOINC source repo at: 101 boinc/locale/txconfig55 .tx/config 102 56 103 57