Skip to content

{ Author Archives }

Making Ponies Fly

Separate from the tremendous amount of feedback from the community I quickly want to outline the pydotorg setup for later reuse. We have the most recent versions of Sphinx (with Native Language Support), Pootle and Translate Toolkit running from checkout on our servers and a current checkout of the Sphinx project source in question. There […]

The Way We Roll

Without further ado I would like to announce the beta launch of the Python translation services, available at I am reprinting the full announcement made to the Python Documentation Special Interest Group here for posterity: Dear Python Documentation community, we are proud to announce the *BETA* launch of the translation services for the official […]

Into the Wheel Shop

To rehash quickly, the Sphinx Natural Language Support project actually spans two very different aspects: a Sphinx extension to extract/incorporate translatable strings an interface to maintain translations It turns out the latter half is already partially solved by Pootle and I can build on that instead of rolling my own half-baked ad-hoc web interface.

Since I’d Gone This Far, I Might As Well Turn Around

Extracting messages from Sphinx is fairly easy. Apart from the occasional obstacle here and there when dealing with non-plain text such as directives the machinery already in place makes it a straight-forward task. But collecting messages from documents is only half the battle in implementing Native Language Support for Sphinx — they also need to […]

Drumming Up

During LinuxTag 2010 in Berlin I discussed internationalization issues with a bunch of people from major Linux distributions. I hereby express my gratitude to all of you and will summarize my impressions. Any errors are very likely to be me mixing up the facts and I would be pleased to learn better from you!

Fine or Coarse?

I touched on message granularity in my proposal already and nailed down a pragmatic policy in my prototype: messages are basically split on a per-paragraph level. Inline markup is explicitly atomic and never propagated to a sole message.

It’s alive, it’s moving, IT’S ALIVE!

I have pushed an early prototype of a PO builder — boldly called MessageCatalogBuilder — to Sphinx. I previously announced this to be a Sphinx extension but changed my mind and incorporated it into Sphinx’ core because patching translation sets into doctrees is likely a tightly integrated task. It extends the build mechanism by a […]

Casting South

I have set sails for the Community Bonding Period and am veering away from the Sphinx codebase to more research-related realms. I abandoned the XLIFF format ­— as there really is no point in duplicate representation — and will focus my efforts on PO files. I am going to dive into gettext family of translation […]

Meet Your Mentors

This Saturday morning I had a meeting with my three(!) mentors, namely Jannis Leidel, Martin von Löwis and Georg Brandl on IRC (with Daniel Neuhäuser and Armin Ronacher chiming in occasionally). I have been asked in advance why I chose gettext .PO files to store translations and we briefly discussed that issue. gettext was written […]

Warming up…

So for starters I wrote a sidebar extension inspired by Python Sidebar (of Edgewall credit). I initially planned to file a simple patch but it grew into a full-fledged extension so the commit history is pretty meaningless now. Behind the scenes it still took about five iterations to get this Done Right.


Congratulations! Your proposal “Sphinx Native Language Support: Toolchain for Creating, Tracking, and Viewing Internationalized Versions of Sphinx Documents” as submitted to “Python Software Foundation” has been accepted for Google Summer of Code 2010.

Proposal submitted

After a lot of discussion (thanks to Georg Brandl, Martin von Löwis and Frederik Braun for providing valuable feedback to my proposal) I have sent in my application for Google’s Summer of Code 2010: Sphinx Native Language Support: Toolchain for Creating, Tracking, and Viewing Internationalized Versions of Sphinx Documents. Check it out!