Tuesday, December 22, 2009

New localization system already in trunk

Just few hours ago, Django's new localization system has been commited to trunk.

As some of you know, I did most of the work as my Google Summer of Code project, this year. Of course, together with Jannis Leidel, who also did the final steps, including the commit.

Summarizing, with this change Django will format all displayed data, according to user's current locale. For example, the calendar will display Sunday as the first day for users in the States, but Monday for users from most European countries. Also it'll format numbers and dates.

You can check the slides I presented at DjangoCon.

Note that the setting is no longer USE_FORMAT_I18N (as in the slides), but USE_L10N.

You can also check the commit at:


  1. Nice work Marc and Jannis!

  2. Great work! Django was really lacking in the localization department.

  3. i18n is unfortunately something that has to be implemented in every environment separately, but IMO L10n should be outsourced as soon and early as possible. There are a lot of FOSS translation communities out there. "Growing" your own is a lot of work, and maintaining a localisation environment should not be every FOSS project's business; it takes valuable developer time away from developing the core product further.

    You've already done the work now, and I do hope it will be a success. Don't get me wrong: any localisation is better than no localisation at all, but as an open source community as a whole, we should be able to do better...

    (I'm from translatewiki.net)

  4. Great work! Thanks for the contribution. Internationalization support is one of less discussed but killer features of Django.

  5. Great!

    It really is a great feature for using Django internationally.

    I've been hatchy-patching solutions for dates for years and now there is one definite solution, for comma-separated floats as well. Thanks!

    Wim Feijen

  6. Great to see this changes in trunk. I am tested the new feature and there are still a few problems I ran into the last days:


  7. Great ! I particularly love this snippet I saw in your slides :
    {{my_date|date:"SHORT_DATE_FORMAT }}

    It will fly directly into my code.

    Thank you for your work.