Lest this feat pass by unnoticed, Heiko's 400 page "NetBeans Platform 6: Rich Client Entwicklung mit Java
" has been translated into English... in the space of one month
. (Update: It has also been published and released!
Traditionally, book translations take a very long time because the initial enthusiasm with which the translators begin falters as the time-space-continuum intersects with it. Putting it more prosaically: "one tends to get bogged down". That, in a nutshell, is where book translation projects slowly peter out into nothingness. Realizing that, the only real thing you need to do is preempt that from happening. That's all! Avoid getting bogged down.
Based on that, here are my personal tips and tricks for translating a book, based on this very successful first experiment. Yes, this was the first time that this approach has been taken (at least by the translators involved in this project) and, regardless of when the actual translated book is published (which is unfortunately out of my hands at this point), it can be said without any hesitation that the translation project itself has succeeded. That is, the texts that were German one month ago are English today.
So, here are the tips for getting a book translated, fast:
- Set a goal and stay focused on it. The goal was easy to set because we wanted the book to be available in English by JavaOne. That meant getting it translated as quickly as possible. Given that JavaOne is in June and the thought of translating it came up in February, we didn't have much time. So, one month turned out to be all we had. That was the goal. Translate it all in one month. Everything had to then bow to that time schedule, no excuses permitted.
- Create a process and keep it simple. Wiki to the rescue. We created a very simple process and used no complex systems at all. Forget CVS. Forget overengineering. Forget any kind of engineering because the time you spend creating and maintaining it could MUCH better be spent in translating the texts. (Those processes are really nothing more than excuses for procrastination.) Here's everything we had:
Simple statuses, clear assignments, with an overview that is so transparent that a child could understand it.
- Assemble a team. No way are you going to do this on your own because of the potential of getting bogged down on day 3 (or earlier). Fortunately, the interest in the NetBeans Platform is very high, and growing all the time, so finding people interested in translating a chapter or two each was easy. Also, create a mailing list and get everyone communicating, sharing thoughts, asking questions when stuck, etc, and build up some kind of common terminology list. Ours is here:
- Maintain momentum. Someone's needed to continually harass everyone to keep to the schedule, in a cheerful yet insistent manner. (That was my role.) Problems are going to occur along the way, whatever you do to avoid it, but the thing is to recover as quickly as possible and continue pushing on quickly and efficiently. In our case, the biggest error was that I forgot to put several of the translators onto the mailing list, so several were unaware of the deadlines and so on. Doh! But, once that's discovered, all you can do is be cheerful about it and keep pushing onwards, maintaining the momentum and not getting bogged down. That also means asking people's status two to three days BEFORE the next deadline, so that you know up front where the problem areas are likely to be. Also, deadlines kept changing all the time as we were looking for publishers at the same time as translating and each publisher had different deadlines and we didn't know until late into the game which publisher we'd go with! Staying agile always is the only solution.
- Be encouraging always, but be prepared to take over when the situation calls for it. That's part of the previous thing, but most important of all. Keep informing people where things are at and keep being encouraging but when it becomes clear that one or two chapters are continually not performing according to the schedule, simply take over that chapter, hand it to someone else, or do it yourself as facilitator, because of point 1: i.e., the time schedule is more important than anything else.
And, at this stage, we've quite simple done what we've set out to do. We started the project on about the 10th of February and on about the 10th of March (give or take a day or two on both dates) we had completely translated the book. Plus, it had been edited, thus ensuring that each chapter has the same general style, despite having been translated by different people. And, not only that, but Heiko updated the translated chapters to 6.5, so that the code and the texts are now relevant to 6.5, which is where we currently find ourselves in terms of the NetBeans Platform APIs. Of course, 6.7 is around the corner, but those APIs aren't all that different, not enough to impact the content of the book significantly if at all.
Now, here's hoping we'll have it available at JavaOne. There's still many hurdles to cross, but the basic requirement has been met: the original German texts are now all in English. And guess what, several of the translators are asking to be working on other translation projects in the future! So, anyone out there want a technical German book translated into English? There's a whole team here waiting to discuss ways in which they can help you out!
And, now that the texts are available in English, does someone want to translate them into French? Spanish? Russian? Swahili?