Re: Web interface for translation for GNOME



On 2 September 2013 15:50, Axel Hecht <l10n moz gmail com> wrote:
What process do you suggest in between transifex and version control?

I can only suggest what was worked with other projects and the rationale behind
Tx's decisions.

Based on what we've experienced with Django and other projects, the process
could be fairly simple using the Transifex Client. I don't know if GNOME is
ready for a setup like this, but here is what worked for other projects.


## Tx-git Bridge

When a POT file changes, have the build system, git or cron push it to Tx.

    $ tx push --source

Build systems or scripts are the most common. Developers can also do
this manually when they want to (could be made part of the common
Makefile across GNOME projects.

When the software is ready to be packaged, have the build scripts pull
the languages from Tx.

    $ tx pull --all

For the pull, there a few options, like a) pull the translations only
when the package is ready to be shipped (rel eng), b) commit them in
the VCS too, but that's not necessary, c) use a cron job instead of a
trigger to commit.


## Assumptions

- You're using Tx as the canonical place where translations live. The
  VCS are for code.

  If you want to bypass this assumption, you'll need to also periodically push
  the translated files from the repo to Tx instead of just pulling.

- The translators who want to work offline are not really attached to git, but
  rather the command-line. This is particularly tricky to convince people for.
  Most translators just want a way to mass-download and upload their files. So,
  they're OK to use Tx client to get their   files and push them back.

  $ tx set --auto-remote <url>
  $ tx pull --lang pt_BR (downloads hundreds of files)
  $ tx push --lang pt_BR (uploads the ones modified)

  This, of course, is in addition to the options of using a web interface to
  DL/UL or actual access to git itself.


## Benefits

- Translators have an online tool to work with a number of additional features,
  such as entity-level review, TM, Glossary etc.

- Translators stay away from the VCS. They don't need access to it any more,
  and translation commits do not show up in the VCS history.

- There are no merge conflicts. Tx handles them on an entity level. Source
  code line changes do not create issues, etc.

Hope this helps.

-d


-- 
Dimitris Glezos

Transifex: The Multilingual Publishing Revolution
https://www.transifex.com/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]