A little over a year ago we radically changed the release process for all Mozilla products, most notably Firefox. Not only were new versions of Firefox going to be released every six weeks, but anyone could follow Firefox development by downloading builds from any of four different channels (corresponding repos), Nightly (mozilla-central), Aurora (mozilla-aurora), Beta (mozilla-beta), and Release (mozilla-release).
It’s clear that each channel had its unique dev and QA purpose.
- Nightly is where the main dev work is performed with new builds being created every day.
- Aurora is for more stable builds. It is not built as often as Nightly.
- Beta is even more stable and is heavily tested.
- Release is for the most stable and final approved builds.
So where does L10n fit in (**hint** look at this blog post’s title)? You got it, the Aurora channel! For L10n, the release channels are used in a similar fashion to dev and QA, with the main exception being where the bulk of the work takes place.
- Nightly is where the main dev work takes place. Only the brave try to localize here because the strings in this repo have not yet been frozen (i.e., are still changing).
- Aurora, the localizer’s workspace. Strings in this repo have been frozen, making Aurora the ideal place for L10n. This also means that when a particular version is ready to move to the Beta channel that L10n teams should have at least begun the review process (technical reviews for new locales, sign-offs for existing locales).
- Beta is the place for fixing the L10n bugs found in the review process.
- Release is where all of a localizer’s work is distributed to world. Once a Beta revision has been reviewed an approved it is moved into the Release channel.
Since new versions of Firefox (and all other projects following this cycle) are migrated from between channels every six weeks, this implies that localizers must be vigilent about watching their Aurora repository and translating new strings as they come. If they aren’t vigilent, they run the risk of falling behind and having more and more new strings added to their repos as each new version passes through the Aurora channel. If this is a new locale’s first time producing a localized version of Firefox, they run the risk of not shipping in the Release channel.
To sum it all up, these are best practices to keep in mind:
- Aurora is where localizers make the bulk of their contributions.
- L10n teams need to keep a close eye on Aurora and localize as new strings are added with each migration from the Nightly channel.
- Are you a new locale looking to ship in the Release channel? Don’t forget to localize everything in Aurora, even if your review build is in the Beta channel.
- Reviews should begin toward the end of your work’s six week stay in Aurora.
For more information on these channels visit the Becoming an official release wiki page.