Using Drupal Translation Tools For Something Completely Different

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
lishevita's picture

Hi All!

The company that I work for creates software for mobile phones. I'm working on a project to use a Web site to gather community-generated translations for some versions of that software. In other words, I'm going to have a pile of text strings from the application UI(s), and I will be feeding them through a Drupal-based site for community translation. The end result should be something similar to Google's Google In Your Language.

At the moment I'm just starting to experiment with existing Drupal i18n/l10n tools to figure out if I can do this with the existing modules or if I need to branch off from them into new use-specific modules. One thought I had was to create a node-generatator that takes each of those text strings, turns them into a node to be translated, and then I could have translators simply translate those nodes. I'm not sure if that's the best route, though.

Any comments or ideas on that would be appreciated.

Comments

Hi, i'm interested about

KrzysieQ's picture

Hi, i'm interested about Your idea, because i'm looking for something like it to translate online some application (using gettext). What is your work progress with that module ?

lishevita's picture

So, at the moment I've got a script that pulls in several of the different string file types that we use for our software and puts them into the database. Then I have an interface that allows a translator to see one string at a time and translate it. If the string has been translated already, it presents you with the existing translation attempts and allows you to pick the best one or create a new translation.

The English string is the original node (the tnid, if you've dug into Drupal's translation system db tables at all yet). Each string is then translated into a new language in a single new node (nid), but differing opinions on translations create new versions (vid). Each string translation is given a status of "new", "translated" or "approved". When identical strings get uploaded to the system for a new platform or version, there is a table which points to the correct, existing string in the node tables. This means that identical strings across various platforms do not need to be retranslated. Once they are "approved" they will not pop back up for translation, and only a translation manager can reassign the "final" version of that translation, say, if we get emails from users saying that a particular line is utterly bogus even after all of this work to try to avoid that. :-P

Because of the nature of the software we are building (it's all mobile phone and mdi software), there are strict character limits for each string in the system. So, I also keep track of the max-characters for each string, and do validation to make sure that translations don't go over that length. While you type, a javascript shows you how many characters you have left, kind of like the character counter on http://twitter.com if you are familiar with that.

The final plan includes a string finalization view in which a translation manager can go through the final choices, approve them, and generate the completed string file for each language, platform and version. In order to get the best translations and keep the translation managers' jobs easy, I'm also planning to integrate some of the tools from Pootle in order to do machine checking of the translations. I haven't started on that work at all, so I don't know if it's just a pipe dream or will actually work well. (Pootle is written in Python, so it's going to be a bit of a hack to pair it all up, I think.)

Taking the work that I'm doing and making it work with gettext files should be relatively easy, since gettext is just one string file type, and I'm writing scripts for a number of file types. Actually, I may be doing a gettext installation script, depending on what our linux version uses for it's strings. I haven't gotten to that platform yet. (At the moment all my testing is with the Symbian and J2ME version strings.)

99translations.com

99translations's picture

Hi,

You may be interested checking out our brand new translation tools at 99translations.com. It supports variety programming technologies including Java, Rails and GetText. And provides nice AJAX web interface and integration API.

I am sure you'll be pleased.

-- Simon (s_r@99translations.com)
99translations.com

Translations

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: