top band

Friday 5:10 p.m.–5:40 p.m.

I18N: World Domination the Easy Way

Sarina Canelake

Audience level:
Best Practices & Patterns


Have you heard about internationalization (i18n) and wondered what it meant? Perhaps your project already has i18n of its strings but you have a nagging feeling you could be doing it better. This talk will walk through the basics of i18n’ing a Django project (but the principles apply to any project!), and how to make the process of localization (l10n) go more smoothly.


This talk will consist of three main chunks: 1. Background: The whats, whys, and hows of internationalization (i18n) and localization (l10n). We’ll walk through the whole process of marking and scraping strings for translation, as well as how translated strings are served up. Our goal here is to get a good picture of what really happens to your l10n’ed strings at runtime and discuss a few common pitfalls. 2. i18n tools: What does Django natively provide to help us scrape and serve up strings in Python files and Django templates? (Simple, easy to use scripts (•ω•)) How can we tackle other types of files, such as Mako or Underscore templates, or Javascript files? (Complex, easy to use scripts (。◕‿‿◕。)) 3. The eye of the translator, the thrill of the no-context fight: Now that we’ve got the basics down, let’s turn our attention to *how* our strings actually get translated. Can an open-source project obtain translations for free? (Yes!) What is the job of translator really like? (Like this: (╯°□°)╯︵ ┻━┻) What can we as developers do to both ease their burden and get more accurate translations? (I’ll show you how to ┬──┬ ノ( ゜-゜ノ))
bottom band background