making translations easier for everyone

Demitris Glezos has been doing some awesome work on the new Fedora Translation site. Unlike a lot of translation projects, where the focus has been on improving that one project (KDE, GNOME, Ubuntu, whatever) his approach has been different. In addition to supporting the packages which have lived with Red Hat + Fedora in the past (anaconda, rhgb, etc) he’s also added support so that you can pull translation information from external repositories as well. For example the OLPC Sugar Interface is hosted on laptop.org and RPM is hosted on rpm.org. Each of those projects are hosted with different revision control systems, but he hides that information to make things easier for translators. With an easy to download translation file for each project, it brings translators and upstream projects closer together and it’s a good first step as a service to upstream projects.

But now he’s taken it to the next level with Transifex. Here’s how it works. You’re a small project and you’re hosted somewhere. You want translators. Very often you have to build your own community by attracting people, setting up accounts, etc. This isn’t a problem for the larger projects like GNOME and KDE which have their own communities, but it’s harder for smaller projects. With Transifex what Dimitris has done is set it up so that a Fedora translator can, via the Fedora site, have new translations checked into the upstream project. This is done through a single “fedora” account that the project has set up and checkins through that account will contain account information about who checked it in and how to contact that person. He’s setting it up so that it will support the most common revision control systems (git, cvs, svn, hg) and it should be seamless from the standpoint of the upstream projects and the translators.

While I’m sure that a lot of projects won’t want to use this service, it’s likely to be very useful to a lot of people. And what I love about it is that it fits so well into the Fedora Way: it vastly improves the lives of both translators and upstream projects in a way that grows the entire pie for everyone. Connecting the hundreds of translators who are active in Fedora with the thousands of projects out there with a very low barrier to entry solution.

Great job, Dimitris!

  1. daniels’s avatar

    Serious question: how does it differ from Rosetta?

  2. Karsten Wade’s avatar

    Unless I misunderstad, Rosetta (and other parts of Launchpad) are not free/libre open source software.

    Something Blizzard didn’t include in his post is about the platform being used, and it speaks directly to your question. The solution Dimitris is working is built on Damned Lies, the WebUI translation system that GNOME developed. He is working with GNOME to get any changes included in the upstream version.

    So, not only does the interface use Transifex to provide upstream translations seamlessly, but it is integrated into another upstream system. No one is locked in to using, for example, Fedora’s interface. Anyone can get the same code and put up their own instance of Damned Lies + Transifex.

    So, again, this is more of the Fedora Way. Fedora is willing to do it all, but if that is not good enough for someone, the code is there to do it themselves.

  3. Dimitris Glezos’s avatar

    The difference of Transifex from Rosetta (besides that the first is free software) is that the contributions are done directly in the repositories of the original projects. In Rosetta, translations are copied downstream (eg. in Ubuntu) and translators are given an interface to contribute to the copied versions, not the original ones directly. The downside is that all other projects except Ubuntu are not benefited from the contributions. AFAIK, there is no automatic way to merge translations upstream, and language maintainers rarely do it (probably due to the difficulties every merge process has).

    With Transifex, by submitting translations directly to the original project, all downstream projects (including Ubuntu) are directly and immediately benefited from each submission. Instead of having a project reaching out to various translators, Transifex’s design has in its center a community of translators reaching out to various projects.

  4. Danilo’s avatar

    It should be noted that Damned Lies (in GNOME SVN, “damned-lies”) has supported multiple VCSes from early on (but only CVS and Subversion until Dimitris added support for git and mercurial).

    This has meant that we were able to provide translation statistics for modules outside “core” GNOME, such as those on http://l10n.gnome.org/releases/freedesktop.org

  5. pabs’s avatar

    How does this differ from pootle?