CSE498, Collaborative Design, Fall 2018
Computer Science and Engineering
Michigan State University

Since its establishment in 1998, Mozilla’s mission has been to build a better, more open and accessible internet. As a part of this mission, Mozilla’s Firefox web browser supports 99 languages worldwide.

Currently, non-English users must download a separate version of Firefox or perform a series of complex configuration steps and then restart the browser to use their preferred language. Such customization of software is referred to as “localization.”

Mozilla’s new framework, called Fluent, addresses these issues and improves the localization experience for users, translators and developers. Fluent allows users to change their locale on the fly, and helps localizers and developers by simplifying the work required to convert phrases from English to other languages.

Firefox contains many pages, which enable users to localize Firefox for things like menus and error messages. For each page, the English phrases are now consolidated into new Fluent files, and the Firefox frontend code is updated. These phrases take several forms, from static content to dynamic expressions where the phrasing varies depending on language and context.

To save work for volunteer localizers, our new Python scripts are used to migrate phrases from old files to new Fluent files in every language that is currently supported.

After thoroughly testing our system, our localization patches are now integrated into the Firefox codebase for distribution to hundreds of millions of users worldwide.

Our Asynchronize All the (Localization) Things project is implemented using Fluent, JavaScript, Python, XHTML, XML and XUL.