Eugene's Blog

I can't believe it's blog!

Django goes international

As of today i18n branch of Django is merged back to trunk. What is i18n? It is an abbreviation of the big word "internationalization". l10n ("localization") is a sibling of i18n. In practice it means that now you and I can do truly international multi-language web sites without much hassle. While this is more important for big corporations and international organizations, it is a big step for Django’s truly international community. Let’s thank Hugo (the engine behind this effort), all participating developers, and all translators for their monumental effort to make it a reality.

As of now Django supports 11 locales for its Admin application: cs (Czech), de (German), en (English), es (Spanish), fr (French), gl (Galician), it (Italian), pt_BR (Brazilian Portuguese), ru (Russian), sr (Serbian), zh_CN (Simple Chinese). Judging by a list of translators we can expect Norwegian, Slovenian, Dutch, Hebrew, Latvian, and Polish locales in the near future. If you don’t see your favorite locale, you can do it yourself. The first step is to register as a translator.

But it doesn’t stop here: you can easily make your applications international too. Upcoming documentation will clarify a lot of details, but for now you can chew on translation document. Jacob notified us that Adrian is going to produce related documents and we all know that Adrian writes excellent documentation. Come to think of it, you kind of expect it from a journalist (now an editor for as well as a software developer. Well, I can be spoiled easily nowadays.

What if your site is offered in one language? Should you modify your code before upgrading to the latest revision of Django? Most probably you don’t need to change a thing. It’s taken care of. I did simple svn up and as you can see it works without any changes to my code.