Staś Małolepszy

Gaia string freeze

B2G Localization: we've reached a major milestone in making Gaia a truly world-ready experience. As of November 23rd, Gaia is string-frozen.

Good news, everyone! Gaia is now string-frozen. This means no more string changes nor additions. From now on, all bugs with l10n impact should have the late-l10n keyword and a review request on :stas.

The purpose of the string freeze is to stabilize the UI and give localizers time to work on and test the translations. Small changes to the English copy like typo fixes, grammar and (sometimes) style are usually fine to make even after a string freeze, but bigger ones will need to be reviewed for impact on localizations. Usually, it's a matter of fixing en-US and breaking all other locales at the same time. Obviously, that's something we'd like to avoid.

What's new?

Both bucket 1 apps and bucket 2 apps are now string-frozen. We followed the style guidelines written by Josh and Matej and fixed many typos and inconsistencies in the UI. Most of these changes were English-only and the identifiers didn't change.

You can see the diff in Mercurial or a summary of changes by Scoobidiver.

I finally added the possibility to localize manifest files. In each app's folder you will find a file (see all). The strings there are responsible for the name of apps displayed on the homescreen and in the card view.

Lastly, some bucket 1 string-freeze breaking changes were hard to avoid. The affected apps are: browser, camera, clock, comms/contacts, comms/dialer, gallery, sms, video.

Here are the total stats as of today:

  • 1828 strings, or
  • 6091 words.

If your locale was green or almost green before this update, you'll likely be at around 55-60% today.

Follow the instructions on the L10n:B2G wikipage to get started. The English files are in

When are the translations due?

The deadline is December 17th.

What's next?

We're making a lot of progress on producing nightly device and desktop builds. See the tracking bug 766962 and its dependencies, and also read the Testing section below.

There are still a few remaining late-l10n bugs, mostly related to legal, that didn't make the string freeze and that we will want to fix in the near future (and thus, we will need to break the string freeze for them).

  • Bug 814814: Don't hardcode "Firefox" nor "Firefox OS"
  • Bug 811677: Turn "Licensing" item into "Legal Information"
  • Bug 802908: Change Settings > Help & Feedback feedback links

(You may also want to follow the l12y bugs which don't have direct impact on translations, but are important to Gaia's localizability.)

The roadmap

The roadmap for the next 1 or 2 weeks is as follows:

In the next few months we will be also focusing on localization of support articles, the marketplace and payment workflows, in-product pages and the dev hub at the marketplace.

Testing with the desktop builds

I know some of the localizers use the default desktop builds (with 4 locales enabled) and then follow the instructions on the wiki (DEBUG=1 make etc.) to test your localizations. If you're one of them, then I have some news for you.

The good & the very good

The annoying bug which hindered testing on Linux has been fixed and has now landed on central, aurora and beta! This means that there should be no more need of my custom b2g builds.

Even better news: we're making excellent progress on producing official localized builds. If you're interested, follow these two bugs:

  • Bug 812836: Set up nightly multilocale B2G desktop builds for l10n testing

  • Bug 812829: Create Gaia build config to create multilocale profiles

It looks like we might be able to get those builds going next week!

The bad

The perf is better, and we're about to start doing localized nightlies? What's not to like?

Unfortunately, there's currently a bug which breaks profiles made with DEBUG=1. I'm not 100% what's the root cause, but I'm suspecting bug 802976 and bug 813900.

The workaround

If you run into the black screen bug mentioned above, you could try doing your l10n testing in Firefox, instead of a b2g desktop build.

Follow all the testing instructions on the wiki like you'd normally would. However, instead of running the b2g-bin binary with -profile, run Firefox. For instance:

/usr/bin/firefox -profile gaia/profile

A browser window will open and it will be black. This is a known issue. Just open a new tab and go to about:config. Look for intl.accept_languages and prepend your locale code to its value. So if you're Polish, you'd do:

intl.accept_languages           pl, en-US, en

Then, browse to any app, for example:

And voilá! Use the Responsive Design Mode (ToolsWeb Developer) to adjust the size of the viewport. You can even use the Inspector and try out different translations on the fly!

This is what running Gaia in Firefox might look like:


Come to the newsgroup if you have questions!

Published on 23.11.2012

Staś Małolepszy

Thoughts about the Internet, the information society, Mozilla and human-computer interactions.

Latest notes