Interview with head developers, Runa Bhattacharjee and Sean Flanigan
Zanata, an open source translation platform
Zanata is an open source translation platform written in Java that offers translation memory, an online translation editor, and workflow integration with REST APIs and command-line tools. For translators, it is a web browser-based translation environment where previous translations provide context for their work. For software developers, it's an integration tool that provides a centralized localization repository along with translation tools that save time and resources.
Product Manager, Runa Bhattacharjee and Lead Developer, Sean Flanigan, have more to say in this interview.
Why is Zanata needed and who is it for?
Runa Bhattacharjee (RB): The primary motivation for this project was to set up a tool that would provide a uniform translation platform with rich features and takes out the hassles of having to learn a million tools to work with. Translation, especially technical translation, can be extremely tricky because of the new kind of content and technology involved and may sometimes require a lot of research by the translators. In these situations, translators often do not like to have to work with tools that take their concentration away from the core part of their work. Translation tools like Zanata provide that abstraction from what's working under the hood.
Sean Flanigan (SF): Zanata is for writers, translators, and developers of open source documentation and software projects. For documentation, we support DocBook projects via Publican's Gettext support, and for software we support Gettext and Java Properties files natively. We also have experimental support for OpenOffice/LibreOffice ODF files via the Okapi project. But any project which can convert its resources to Gettext or Properties and integrate with Zanata. Or if you keep text in a database you can bypass the files and talk straight to our REST API.
Describe the design and development behind Zanata.
SF: Zanata is written in Java, based on Seam 2, Hibernate and GWT, built in Apache Maven (for now), and deployed on JBoss EWP 5 (or AS 5). The current development team is based in Red Hat Brisbane, with five Java developers and one QA engineer.
RB: Zanata is designed as an open translation platform. It is built on open source technologies such as Seam, Hibernate, and JBoss Enterprise Web Platform, and has an open API that allows application and tool developers to write their own integrations.
Zanata has been a project long in development (about 4 years) but it picked up speed in the last year.
Zanata grew out of Red Hat's long-standing involvement in open source software translation communities, and it is used inside Red Hat to handle the translation of Red Hat software products into 22 different languages. The best part about Zanata is that the features are mostly determined by its users. Zanata is used by a lot of projects at Red Hat and there is always activity on the Zanata instances in production. With more use, we get very frequent feedback on what's working and what's not and what needs improving. All this feedback is recorded on the public bug tracking system which helps us and others interested in the project keep track of things.
Describe the process for using the tool and what improvements it has over current technologies/translation tools.
SF: Zanata is designed to integrate into content workflows, providing automated commands which push and pull translatable text to and from Zanata. This means that translators don't have to worry about source control systems like git and SVN, they can just get on with translating in Zanata's translation editor.
The editor offers integrated translation memory (view similar translations as you translate), immediate feedback for translation statistics, and for translations entered by other users. And a number of tools which make it easy to re-use translations from the translation memory automatically (TM merge, CopyTrans).
The Maven plug-in for Zanata is in Maven Central. For developers or writers, once you have installed Maven, you can push content to be translated in Zanata with the command 'mvn zanata:push'. And later you can fetch the translations with 'mvn zanata:pull'.
Where are you in the process of development and what are your future plans for getting this tool in the hands of those who need it most?
SF: Right now we're concentrating on Zanata's performance and scalability. Personally, I would like to see Zanata running in JBoss AS 7.x next year, which would allow us to take advantage of performance improvements in JBoss and Hibernate, and should make it possible to deploy Zanata on the OpenShift platform.
We hope to get Zanata's Java client into Fedora and EPEL to make workflow integration as easy as possible.
RB: We would also like to reach out to a wider community and work on building an ecosystem for new contributors who would like to bring in their ideas and work on them.
See this netcast interview with Software Engineer on the Zanata project, David Mason, and hosts, Randal Schwartz and Simon Phipps. Presented by FLOSS Weekly on November 21.