How the inVesalius Project Uses Transifex for Translation Management

Dimitris Glezos
February 10, 2010
9 min read

One of the best benefits on working to opensource projects is that you get acquainted with many nice people around the globe. Through the Transifex.com experience I got together with Tatiana Al-Chueyr of the inVesalius project. After one month of using the transifex.net service I considered it to be a good opportunity for a not so short interview.

About Tatiana

I’m a 25 years old Brazilian girl who loves programming. As my parents are professors, we always had computers at home… so by the time I gave my first steps, I had already felt in love with the computing world. In 2002 I begun the computing engineer course at Unicamp (Brazilian university), where I learned how to think like a machine, how to develop software and what free (open) software was…   Regarding my favorite programming language, I love to speak Python and have great interest in Assembly. When I’m not programming I like to read, scuba dive, travel and rock climb.

About the inVesalius Project

InVesalius is an image processing software dedicated to DICOM images (“.dcm” / “.DCM” extension) produced by imaging equipment (CT, MRI).   It is fully compliant with the DICOM standard for image communication and image file formats. InVesalius is able to read 2D images and build 3D models of the region of interest.

InVesalius has been designed for navigation and visualization of multidimensional images: 2D viewer and 3D viewer and also for rapid prototyping anatomical structures. The 3D Viewer offers all modern rendering modes: Multipla

nar  reconstruction (MPR), Surface Rendering, Volume Rendering and Maximum Intensity Projection (MIP). Surfaces created by InVesalius can be exported to OBJ, STL or other 3D files supported by Blender or other software. It is completely written in Python.  Also, we only use free software tools in its development, including VTK (Visualization Toolkit), wxPython, GDCM (Grassroots DICOM), ITK (Insight Toolkit), NumPy, PIL (Python Imaging Library).

My connection to InVesalius..? Despite being the maintainer, team  leader and a core developer… I’d say it is like a son to me… For some years my husband was very jealous… but now he’s got used to it, and is even considering learn how to program in Python. Also, I’m the creator of InVesalius 3.

Getting Involved with inVesalius Project

During the begin of my college, I was pretty disappointed for not developing a user-end software. We’d learned how to code using Pascal, C, Assembly, Lisp, Prolog, Java…. We’d learned how algorithms worked and how to compute their complexity.. I new what a np-complex problem was and could solve several interesting problems related to networks and OS… But what about “real” applications? Those that “normal” people, who don’t have a cue on what a compiler is, work dailly..? My dream had always been to leave this world a little better than what I found, and I really couldn’t figure how… gcc and emacs weren’t that inspiring… (vim has chaged my life since – joking)

It was love in first sight when I read about InVesalius project and that it was being developed nearby. At first I was pretty insecure, about being “rejected”, as InVesalius seemed much more mature than I, due to my computing abilities.I entered InVesalius project during July 2004, after attending an interview. I was very excited by the project. At that time InVesalius 1 was being concluded and InVesalius 2 was starting to be developed. At that time there were around 5 developers.
In January 2007 all the other developers left the project, and I was the only left and had a large responsibility – by that time we had more than 1500 users from over 10 countries, even though InVesalius 1 was only available in Portuguese. Also, InVesalius 2 had been a promise for years – but it was utterly unstable (there had been no planning at all), but users claimed its release. And last, but not the least, all support was done by email and phone, there were no forums or FAQs. There was not enough money to hire new developers, only a trainee…

For several months from then on I’d sleep 5 hours / day. I had the luck of hiring an excellent trainee – Paulo Henrique Junqueira Amorim, during February 2007, with whom I shared responsabilities. During November 2007 we managed to open source InVesalius through a partnership with Brazilian Public Software Portal, an initiaive of Ministry of Planning, and minimally organized and internationalized the software so InVesalius 2 could be released. InVesalius 2 has never been more than a Beta version.

During September 2000, another excellent programmer joined the team – Thiago Franco de Moraes. I was confident we had a great team, and so we decided building InVesalius 3 from sketch, planning most of the project so it could be a better application.  On January 2010 we released InVesalius 3 and started community-work, so it could be a better tool and attend each time more people. We’re already having great feedback and help from community. We’re starting to learn to work in a bazaar project, and not in a cathedral anymore.

inVesalius & Transifex: A Story of Open Source Promoting Software

During 2007 we internationalized InVesalius 2 using GNU gettext. It became a problem because the translation to Portuguese/Spanish/English was all up to me and I had a lot of more important work to do – including coding. Most InVesalius users are physicians and odontologists, and found those PO files really weird… There was a huge gap between developers and potential translators.

None of the available tools for PO manipulation was adequate. Our translators broke PO format using normal text edition tools. PoEdit, on the other hand, didn’t have a user-friendly interface (not for our translators) and required all keywords were translated, otherwise, it  erased the untranslated keywords. We didn’t want this behaviour… The idea was to keep all keywords, so other people could contribute. Also, desktop software didn’t stimulate collaboration.

Rosetta from Lauchpad seemed a good solution, but we didn’t want to have another repository – source code was already available at Brazilian Public Software Portal. At that time it was not open-source… Pootle wasn’t user-friendly.  During may 2009 Thiago (one of InVesalius developers) googled and found Transifex. By that time it didn’t allow users to edit PO files using lotte. It seemed a promising project, but it didn’t have what we needed.  Two weeks before we released InVesalius 3.0.0 Beta 1 ( 27th January 2010), Thiago read about Transifex again and saw it allowed PO edition… So it was time we used it. 🙂 With Transifex (Nikos Korkakakis) excellent assistance we added InVesalius project on txn and on the day before its release a French who we have never heard about, called Frédéric Lopez, posted a 100% translation to InVesalius. It was fantastic!

inVesalius: Before & After Transifex

In Portuguese, as in English, we often use the metaphor “that’s Greek to me”, in order to mean something is really hard to understand… Well, that doesn’t apply at all to Transifex 😉  What most impressed me about txn is its user-friendly user interface and its features to edit PO without even  knowing what a PO file is.

Before using it, there was a huge gap between translators and we developers._ Now everything is flowing better_…! Also, in contrast to Rosetta, txn allows you to use any repository, not only launchpad, and that is really great.

It is a great and really promising tool, you have an excellent team, and I’m sure new features will soon be added to improve the translation process.  If I had to request you one feature, it would be to make more intuitive for someone to join a translation team (eg: on the first page of the project, have a button very visible “translate”, redirecting to languages he/she could help, and automatically send user request to maintainer). I might be missing something, but currently the work flow is a bit long: http://svn.softwarepublico.gov.br/trac/invesalius/wiki/InVesalius/Translating

Transifex is a very active project, and we see the improvements daily. The translation team was an excellent idea, and the review tool under development is very promising. We hope to see more of such features coming to live soon

Some Thoughts on Transifex

Which of the existing feature do you thing is the greatest in txn?

the PO file translator-friendly edition and collaborative online translation.

So speaking of collaboration, did transifex improved your collaboration mechanisms for i18n so far?

A lot! Never before would I imagine InVesalius 3 would be translated so soon to French and start being translated to Greek. In spite of being a PO powerful edition tool, txn gave visibility to the project. We are redirecting all our potential translators to use Transifex for translating InVesalius.

Have you seen an increase of users using your project/translating your project after you started using tx?

Yes. txn brought more visibility to the project, inviting more and as InVesalius is able to speak more languages, more people are interested on using it.

So whats your feeling with txn? Would you suggest it to others?

I’m suspicious, as it is developed using Python… 😉 I’m suggesting it to everyone I know.

In fact, I’ve even talked to Brazilian Ministry of Planning so we can have a better integration between the Public Sofware Portal and Transifex, so all available open source projects (40) and subscribed members (50.000) can use it. They are really interested…

Localize Like the inVesalius Project

Ready to dive into localization like the inVesalius Project but not sure where to start? Download our guide to get examples of how you can start building your localization roadmap and better understand the key elements of localization, as well as the steps for localizing your software from start to finish.


Dimitris Glezos

Subscribe to
Becoming Global

Get localization news and best practices delivered to your inbox each month.

FacebookgithubGoogle+Fill 88Twitter