sundeep's blog

open source developer

PythonPune MeetUp - Oct '16

It has been long attending some talks - specially around Python!! And PythonPune looks perfect to meet some folks working with Python in the happening city - PUNE. If I remember correctly it was 6:30 I woke up and dropped text to my friend at Baner - planning to spend latter half of the day at your place - as venue was at GSLabs, Baner.


Chandan Kumar greeted everyone there and with some backgrounds/purpose of this meetup called for a round of introduction - we had the strength of 50 - with some new faces. Nevertheless common goal was to learn new things. Akshay Goel started the talks with his discussions around pyautogui - an awesome module to automate keyboard/mouse events.


My Talk

And then came my turn. Again Zanata-Python-Client but with more insights to why localization, what purpose Zanata solves and how to start contributing to python-client project. This includes walk-through of interacting with Zanata using python-client. I think everyone enjoyed slides/demo. Got a few questions as well.

my talk

Zanata-Python-Client v1.5.0

This release makes z-p-c little more stable with some major bugfixes. Feature wise we have translation files mapping rules added.

Translation Files Mapping Rules

Customize the way translation files are found when pushing, as well as the location they will be saved to when pulling.

<!-- example rules definition in zanata.xml -->
  <rule pattern="**/pot/*.pot">{locale}/{path}/{filename}.po</rule>
  <rule pattern="**/po/*.pot">{path}/{locale_with_underscore}.po</rule>

In the example above, pattern identifies a source file, and the contents of the rule element specify how translation files will be stored.

The pattern attribute is a glob matching pattern to your source document file(s). You can define more than one rule and apply each rule to a specific set of source documents using different patterns. The first matched rule will be applied to the file.


AI 380 Delhi to Singapore 5:30 AM All were sleeping and cabin crew announces we are about to land at Singapore Changi Airport in 15 minutes. This thrills almost all passengers travelling to Singapore for the first time including me. Within seconds fog started appearing on windows and we landed smoothly. This took 10 mins getting from the arrival gate to immigration post. And after 20 mins or so I completed baggage claim and was heading Terminal 3 arrivals. Met with my colleagues there and by 10:15 AM we boarded MRT to Red Hat Singapore Office. In the evening explored Bugis Street and enjoyed food at Little India - this lead to end of 0th day.

Day 1

Started at Singapore Science Center - wonders of science, technology, engineering and mathematics. At the opening ceremony hosted at The Marquee, Science Centre Singapore Hong Phuc Dang welcomed everyone in FOSSASIA 2016. Justin Lee cheer the crowd and every one felt the enthusiasm being at Asia’s premier open source event.


Harish Pillay the president of the Internet Society Singapore Chapter delivered keynote and spoke about phases of Free and Open Source Software. This took us through the journey! the revolution!!

Working With TMGMT Zanata

TMGMT Zanata is a plugin for Drupal’s Translation Management Module TMGMT. The plugin allows TMGMT to send content to a configured Zanata project for translation, and can download translations as they are ready.

Zanata is a web-based system for translators, content creators and developers to manage localization projects.

  1. Installation
  2. Set Up
  3. Configuration
  4. Translation Jobs


TMGMT Zanata requires the Translation Management Tool module (TMGMT) to be enabled. And to use Translation Management (Node Translation), the following modules must be installed:

  • Entity API
  • Views
  • Chaos Tools (Required for Views)
  • Views Bulk Operations
  • Rules
  • Content Translation (enable only, part of core)
  • Locale (enable only, part of core)

Zanata-Python-Client v1.4.1

A new release - v1.4.1 is out. This brings feature which makes getting started with ZPC more fun. GitHub Release Link

What’s New

  • commands - init, stats - enhances CLI experiences.
  • Some bug fixes - including critical issues.
  • Now the code is more robust, and better to understand.

Getting Started with Zanata and Python Client

Starting out with translation project is a breeze with Zanata. Let’s get started…

Server Side - User Settings

Point your favorite browser to and login (signup for a new account). You may find this useful.

  • Navigate to Settings and see for Client.
  • Generate a new API key, ignore if it is already there.
  • Look for user configuration contents for zanata.ini.

Done! Let’s move on…

Zanata-Python-Client v1.4.0

ZPC is a convenient way to communicate with Zanata server to push text for translation and pull translated text back for inclusion in software or documentation builds. This release brings fresh experiences to translators and contributors. GitHub Release Link

What’s New

  • Use latest list of languages defined in the server for a project when using the client.
  • Should be able to specify minimum percentage of messages translated on pull.
  • Keep source and target dir paths in zanata.xml
  • Code improvements for better maintainability.


I am sure, your search for translations platform, which can cater all your requirements, would come to an end, when you look at Zanata, and if your project is already here - we have some new exciting features waiting for you to check them out. Let’s get started…