Changes between Version 27 and Version 28 of TracL10N/Transifex
- Timestamp:
- Aug 1, 2016, 7:31:43 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracL10N/Transifex
v27 v28 1 [[PageOutline(2-5,Contents,pullout)]] 2 1 3 = Transifex and Trac 2 4 3 [https://www.transifex.com/ Transifex]is a modern, open-source localization platform. It is a web system which automates the translation workflow for complex international projects. It is the alternative to the more laborious [[TracL10N]] process, involving svn, Babel, make, etc.5 Trac is available in a number of languages and the translations for the captions are performed in [https://www.transifex.com/ Transifex], which is a modern, open-source localization platform. It is a web system which automates the translation workflow for complex international projects. It is the alternative to the more laborious [[TracL10N]] process, involving svn, Babel, make, etc. 4 6 5 7 {{{#!box info … … 8 10 If you just want to contribute translations by using Transifex, you can read the [#Translationteammember section for team members below] and then head directly on the [transifex: Transifex project]. 9 11 }}} 10 11 [[PageOutline]]12 12 13 13 The key is to keep all sources in sync, if there is more than one: … … 21 21 == Roles 22 22 23 Once you're familiar with Transifex (and they have some very good [http://help.transifex.com/ documentation] on their site), you can apply for membership to one translation team for a language, or create a new team if your language of choice isn't yet represented there. Be aware that a new translation for Trac represents a //lot// of work.23 Once you're familiar with Transifex (and they have some very good [http://help.transifex.com/ documentation] on their site), you can apply for membership to one translation team for a language, or create a new team if your language of choice isn't yet represented there. Be aware that a new translation for Trac usually involves a //lot// of work. 24 24 25 25 === Translation team coordinator … … 222 222 |----------------------------------------------------------------------------- 223 223 224 - for the languages in [#group1] ,the translation maintainers are primarily in charge for doing the synchronization225 - for [#group2] , there is only "normal"maintenance to do226 - for [#group3] ,the translation team coordinators are invited to ask for commit privileges and integrate [#group1]224 - for the languages in [#group1] the translation maintainers are primarily in charge for doing the synchronization 225 - for [#group2] there is only the usual maintenance to do 226 - for [#group3] the translation team coordinators are invited to ask for commit privileges and integrate [#group1] 227 227 - for [#group4] the translations will be "promoted" to [#group3], ie integrated in the repository, as soon as a decent coverage is reached (say > 50%) 228 228 {{{#!comment 229 229 - for the languages in [#group5] 230 230 }}} 231 - for the languages in [#group6] ,there's nothing to do as long as there's no content231 - for the languages in [#group6] there's nothing to do as long as there's no content 232 232 233 233 === Translation team member … … 246 246 247 247 You first need to install the [http://help.transifex.com/features/client/index.html#user-client Transifex client]: 248 {{{ 249 easy_install transifex-client248 {{{#!sh 249 $ easy_install transifex-client 250 250 }}} 251 251 or a [http://help.transifex.com/features/client/index.html#getting-the-client variation of the above]. … … 253 253 If you're on Windows, you'll also need a [https://github.com/cboos/transifex-client/tree/0.8/tx-config-posix-paths-on-windows hack]. 254 254 255 Of course, you also need to have a [TracRepositories checkout of the source] of the branch you want to work on. [source:branches//0.12-stable] will be maintained for the foreseeable future, so you may want to continue contributing there, but [source:branches//1.0-stable] is now the official stable release branch. [source:trunk] is where the new interesting stuff happen (TracDev/Proposals/ConfigEnumTranslation?). 255 Of course, you also need to have a [TracRepositories checkout of the source] of the branch you want to work on: 256 * [source:branches//0.12-stable] will be maintained for the foreseeable future, so you may want to continue contributing there 257 * [source:branches//1.0-stable] is now the official stable release branch 258 * [source:trunk] is where the new interesting stuff happen (TracDev/Proposals/ConfigEnumTranslation?). 256 259 257 260 Now let's go through a complete example, starting from one update to the resource corresponding to the messages catalog on 0.12 for the [Transifex:language/fr/ French translation], more specifically, on that page: Transifex:resource/0_12-stable-messages-pot/l/fr/. … … 311 314 }}} 312 315 313 A veryimportant preparation task that must be done before pulling is to make sure the `.po` file was updated. Even if you think it must be because there are no local changes, it's a good idea to `make update-..` (`fr` in this example). Perhaps the Babel version you're using at the moment is different from the one which was used before the last version was committed, or a manual change was done at the last minute.314 315 Doing a catalog update ensures that we have a "normalized" content to compare with 316 An important preparation task that must be done before pulling is to make sure the `.po` file was updated. Even if you think it must be because there are no local changes, it's a good idea to `make update-..` (`fr` in this example). Perhaps the Babel version you're using at the moment is different from the one which was used before the last version was committed, or a manual change was done at the last minute. 317 318 Doing a catalog update ensures that we have a "normalized" content to compare with the version of the catalog pulled from Transifex, after the latter has been "normalized" as well by another Babel update, as the automatic formatting done by Transifex is completely different. 316 319 317 320 Make sure to "freeze" that updated Trac version, by making a commit in a local branch (if you use git or hg) or even a "maintenance" commit in Subversion. … … 470 473 471 474 For some languages, push can fail like this: 472 {{{ 475 {{{#!sh 473 476 $ tx push -t -l gl 474 477 Pushing translations for resource trac.0_12-stable-messages-js-pot: … … 479 482 480 483 The workaround is to push explicitly this one, by using the `-r` option: 481 {{{ 484 {{{#!sh 482 485 $ tx push -t -r trac.0_12-stable-messages-pot -l gl 483 486 Pushing translations for resource trac.0_12-stable-messages-pot: … … 487 490 488 491 That can be done for several languages at once: 489 {{{ 492 {{{#!sh 490 493 $ tx push -t -r trac.0_12-stable-messages-pot -l fa,gl,ko,pt,ro,vi 491 494 Pushing translations for resource trac.0_12-stable-messages-pot: … … 501 504 == Notes about the Transifex "Releases" #Releases 502 505 503 Transifex is not exactly clear if a release should be a line of development (branch) or a given released version. It supports both and letyou choose to organize the way you wish.504 505 I opted to make the "releases" match our maintenance branches, and not individual releases; we ll, westill have a [Transifex:r/012-stable-3/ few of these], as apparently you can't delete a release.506 In Transifex is not exactly clear if a release should be a line of development (branch) or a given released version. It supports both and lets you choose to organize the way you wish. 507 508 I opted to make the "releases" match our maintenance branches, and not individual releases; we still have a [Transifex:r/012-stable-3/ few of these], as apparently you can't delete a release. 506 509 507 510 The downside is that string freeze periods and release dates will need to be adjusted constantly on the same release. The alternative, creating a new "release" for each actual version we release bears as much overhead (moreover, are there's no //copy// operation) and doesn't bring any benefit besides keeping a record of the versions we made, record that we obviously maintain here anyway in the [/roadmap]. 508 511 509 On the other hand, the big benefit is that all the links from t.e.o to Tx won't need to be updated after each minor release. The only updates needed will be when introducing a new major release (i.e. for 1.2).512 On the other hand, the big benefit is that all the links from t.e.o to Tx won't need to be updated after each minor release. The only updates needed will be when introducing a new major release, for example for Trac 1.2.