Downloadable Locales in Fennec

A new Firefox Mobile Aurora build has left, and with it the Locale Picker!

We noticed during development of Firefox Mobile that we were a bit larger than some other Android apps. We’ve written about why that is before, but one thing that’s eating up space in that little .apk file is locales. Android doesn’t let us filter what you download based on language (although they’ve started to add more options that way). So for our past few releases, we’ve put out a multi-locale version. At run-time, we look at which language your system is in. If we have it, we use it. Unfortunately, we can’t ship every language we support.

To get around this we’ve been working on a mechanism to let you download your favorite locale dynamically. Recently the last piece of this landed for users on our Nightly and Aurora channels to start testing. To turn this on, you need to point Firefox Mobile to a list of downloadable locales compatible with your version. Eventually, this will come from AMO, but I’ve put up temporary lists at:

Search for the pref “extensions.getLocales.get.url” (it should show up if you search for “locales”)

Change the pref to one of the above links (now that we support copy and paste, it might be easier to just open them and copy and paste it from the urlbar).

You’ll have to restart Fennec for this pref to take effect (fixed in nightly – bug 689702)

Everything should continue like normal, but now when you go into our preferences section and select to change your locale, you will (after a second to download) see a list of downloadable locales. You can then pick the locale you want, click “Continue”, and the locale will be downloaded, installed, and set up for you automatically. Because these locales are actually distributed as add-ons, using them right now requires a restart of the browser (although we’re going to remove that soon), and voila! you should have Firefox in the language of your choice.

The Update problem

There are some things to worry about here. Nightly builds of Firefox Mobile are not string frozen. New strings can appear or disappear from day to day, and if you’re using a locale with missing strings, that can lead to a completely broken version (aka the yellow screen of death). To help avoid this, we disable the installed locales each day before we update, and try to download a new version if its available. Aurora users shouldn’t be seeing string breakage from day to day (Aurora is string frozen), but this is the time we encourage localizers to start updating their locales, so Aurora users should see the same disable and update occurring each day when they update.

When this feature moves to Beta and Release builds of Firefox Mobile , we distribute updates through the Android Market. This means that our updater code never runs to disable and update add-ons, but because the locales are only marked compatible with one particular build of Firefox, they’ll be marked incompatible by the Add-ons Manager. To help keep this from becoming to annoying, we also try to update any locales marked disabled by the add-ons manager each startup as well.

The last few pieces of this just recently landed, and its time to start letting our Nightly and Aurora users beat on the feature to test it out. Feel free to use the above prefs and localization files, and try Firefox Mobile out in a new language. Find problems. Report bugs (or email me, or send us a message in the #mobile channel on IRC). If your language isn’t available, feel free to jump in and help! Help us make sure that Firefox is great for users on mobile devices in every language. Thanks!

Like this:

LikeLoading...

Related

Responses

Hi,

I’m just wondering why some language names are displayed localized whereas others aren’t. IMO the best thing would be to display all language names in their native form so users can easily make their choice.

There are two types of locales you’ll see in your list right now. Ones that are bundled with Fennec, and ones that are downloadable. We did not want to draw attention to the difference betwen the two, but typically the downloadable ones will have the words “Language Pack” listed after them (i.e. “Espanol language pack”). That “Espanol” part is essentially the “name” of the downloadable locale and its controlled by the localizers (We can look at removing the “Language Pack” part, but localizers may want to update their name then. I’ll file a bug on it!). If its not localized, its probably because the locale isn’t fully localized yet. During the Aurora train is when localizers are expected to fix things, so we may see those strings fill in as time progresses.

In addition, finding volunteers to help localize some of these languages has been tough. We’re hoping that by making it easier for users to use them we’ll get some help. We’ve also started talking about building some tools to make contributing to a localization easier. (Want to help?)