This talk described the process of internationalizing Web properties at Mozilla, specifically mozilla.com and addons.mozilla.org, site which together receive almost 200 million hits a day. The localization process for the Web sites is still behind the Firefox client, which ships with over 40 different locales.
They started by discussing a few of the pitfalls of localization, such as pluralization and noun-gender, and then went on to talk about the system they settled on for localizing the Mozilla Web properties, which are a combination of static text in templates and dynamic content pulled from a database.
For static text, they ended up using GNU’s GetText, as it’s a stable, well-proven solution already in wide use. It has good documentation, pluralization support, and a wide variety of tools that translators may already be familiar with.
For the dynamic content, they used a simple database-driven solution of lookups based on string ID and locale key. (They initially looked at PEAR::Translation2, but it turned out not to be flexible enough for their purposes.) The advantages of this system are its simplicity, and the fact that it’s easy to apply to dynamic content lookup anywhere in the database. Drawbacks are the large table sizes and complicated joins required to get data out in a way that allows language fallback.
They also touched on some of the improved localization tools that are in develoopment, such as Canonical’s Launchpad, and various ways of getting the community involved and empowered to help out with localization.
Slides for their presentation are available online here.
Wil also has a follow-up blog post called Ten Tips for Website Localization.