Thursday, June 2, 2011

Hydrogen: Translating in an Open Source Project

HYDROGEN is an open source advanced drum machine application. I mostly use it to record drums in my songs, but it can do way more than that. The aim of this article is not necessarily to go on about Hydrogen as an application, though, but I definitely encourage all musically inclined to check it out... With the right drum samples it rocks hard!


Today I want to talk about getting actively involved in an open source project, as I recently did for Hydrogen, translating the application tutorial to Spanish. It was my first time helping with translation in a project of this nature, and I must admit part of the process was a bit intimidating at first. I learned some new tools I had never heard about before, new ways of working and interacting with other people and shared conversations with project leaders and other enthusiasts, all passionate experts in what they do.

Ever since I first started using Linux, I have always felt thankful for all the effort, help and support volunteers all around the globe offered expecting nothing in exchange. It didn't take long before I wanted to give something back myself, but I must admit I always felt somehow intimidated, like I needed to be a respected guru before I could be in that position. As a result, I donated to several projects (most notably Ardour), bought merchandising (mostly Ubuntu wearables) and tried to offer my limited experience helping others in forums when I felt confident enough to do so. In fact, I part of the reason why I started this blog was to try to help Linux and the wonderful open source world. After all, I wasn't a guru, but I could share my experiences and hopefully get the message across.

The truth is, once you start, there is no end to it. Through the last few years, I have increased the number of things I do, including active participation in a few open source projects. As I was working on the last one, the translation activities for Hydrogen, I thought I could share a bit of my experience. Who knows, maybe others feel the same way I did and think they have nothing to offer due to their limited experience or skills... Maybe a few of those decide to participate in a project after reading someone else's experience... Who knows, but I think I would have probably helped earlier on if I had a better understanding of what the experience was about.


Hard to believe at times, but these projects are usually comprised by a fairly small number of people, something particularly surprising when compared with the amount of things they achieve. I have used Hydrogen for my recordings for quite some time, browsed the project website and posted in its forums, so I thought it was kind of a big thing. I somehow had the feeling that a big group of people was behind the project, but once I got into it, I found that the core of the project was down to no more than five people!

Another interesting thing is how these little groups of people literally find order in chaos. It's important to understand that all people involved are volunteers, so the idea of how things are managed inside corporations, where a project plan, some risk assessment and deadlines are usually all it takes to start telling people what to do, does not apply here. In this case, a mailing list is all there is to get everyone in touch. Project leads explain the tasks that need attention and then they are assigned when people volunteer. In that sense, it was amazing how quickly everyone was "introduced" (if such thing makes sense over email) to each other and started to work.

Aside from volunteering, project leaders also wanted to get a feel of each member's previous experience. This is good practice, because they don't want to have one person take on too much or do something they are not prepared to do. I had never done any translation work, so I was lost when they started talking about GTranslator and other tools they were using. To be honest, at that point I thought they could just say "You know what? Thanks for your offer, but we need someone with experience here" (The corporate world spirit kicking in, I suppose). Luckily, all I got was encouraging feedback and the information I needed to get going. Once I started to get to grips with it, if I had any question, I would get an answer in a matter of hours, most often minutes. Before I knew it, I was adding my two cents and having fun with it!


The bulk of my translation work I did was done on GTranslator Editor, which (acknowledging my extremely limited translation background) felt like a solid and well designed application.

Click on image to enlarge.

The first thing all translators were asked to do was to review the existing Wiki, which included information about the software we had to install for translation purposes, the location and method to download the latest code and documentation, etc.

Click on image to enlarge.

I used GTranslator with the project's tutorial.pot file. The application allowed me to translate each "milestone" and then export the final result to tutorial_es.po, the specific translation file for Spanish. That file could then be easily converted into HTML, which was the actual end goal.

GTranslator offers an intuitive interface, displaying the original text to be translated and a text field at the bottom left corner of the screen. That text field is where translators are meant to type in their own language. The upper left menu shows all paragraphs which should be translated, displaying progress bars for each one of them, as the screenshot above shows. This particular feature proved critical, as it made it very easy to keep track of my progress whenever I (sometimes days apart) sat down to continue translating.


Getting involved in one of the tons of projects ongoing in the open source community is fun and rewarding. Even if you believe your skills and experience are limited, let me assure you there will surely be something you can help with. These projects are almost always short in resources, so go for it, offer your help. At a bare minimum, you will get to know interesting people and learn a lot in the process!

No comments:

Post a Comment