• Archives

  • Categories:

The Migration of OpenStack Translations to Zanata

The OpenStack infrastructure team that I’m part of provides tooling for OpenStack developers, translators, documentation writers and more. One of the commitments the OpenStack Infrastructure team has to the project, as outlined in our scope, is:

All of the software that we run is open source, and its configuration is public.

Like the rest of the project, we’ve committed ourselves to being Open. As a result, the infrastructure has become a mature open source project itself that we hope to see replicated by other projects.

With this in mind, the decision by Transifex to cease development on their open source platform meant that we needed to find a different solution that would meet the needs of our community and still be open source.

We were aware of the popular Pootle software, so we started there with evaluations. At the OpenStack Summit in Atlanta the i18n team first met up with Carlos Munoz and were given a demo of Zanata. As our need for a new solution increased in urgency, we worked with Pootle developers (thank you Dwayne Bailey!) and Zanata developers to find what was right for our community. Setting up development servers for testing for both and hosting demos through 2014. At the summit in Paris I had a great meeting with Andreas Jaeger of the OpenStack i18n team (and so much more!) and Carlos about Zanata.

Me, Carlos and Andreas in Paris

That summit was where we firmed up our plans to move forward with Zanata and wrote up spec so we could get to work.

Ying Chun Guo (Daisy) and I began by working closely with the Zanata team to identify requirements and file bugs that the team then made a priority. I worked closely with Stephanie Miller on our Puppet module for Zanata using Wildfly (an open source JBoss Application Server) and then later Steve Kowalik who worked on migrating our scripts from Transifex to Zanata. It was no small task, as we explored the behavior of the Zanata client that our scripts needed to use and worked to replicate what we had been doing previously.

As we worked on the scripts and rest of the infrastructure to support the team, this summer was spent by the translators with the formal trial of our final version of Zanata in preparation for the Liberty translations work. Final issues were worked out through this trial and the ever-responsive team from Zanata was able to work with us to fix a few more issues. I was thoroughly thankful for my infrastructure colleague Clark Boylan’s work keeping infrastructure things chugging along as I had some end of summer travel come up.


On September 10th Daisy announced that we had gone into production for Liberty translations in her email Liberty translation, go! In the past week the rest of us have worked to support all the moving parts that make our translations system work in the infrastructure side of production, with Wednesday being the day we switched to Zanata proposing all changes to Gerrit. Huge thanks to Alex Eng, Sean Flanigan and everyone else on the Zanata team who helped Steve, Andreas and me during the key parts of this switch.

I’m just now finishing up work on the documentation to call our project complete and Andreas has done a great job updating the documentation on the wiki.

Huge thanks to everyone who participated in this project, I’m really proud of the work we got done and so far the i18n team seems satisfied with the change. At the summit in Tokyo I will be leading the Translation tool support: What do we need to improve? session on Tuesday at 4:40pm where we’ll talk about the move to Zanata and other improvements that can be made to translations tooling. If you can’t attend the summit, please provide feedback on the openstack-i18n mailing list so it can be collected and considered for the session.