Android has two different types of builds: a multi-locale build that ships in Google Play Store, and a single-locale build (containing only one locale) that is mostly used for testing.
The list of locales included in the multi-locales build is stored inside a file named maemo-locales within Mozilla’s code repositories. Since the goal is to create Nightly builds, the file will be in mozilla-central: https://hg.mozilla.org/mozilla-central/file/default/mobile/android/locales/maemo-locales
- Update it with the appropriate locale code and language name.
- Update the target version for Firefox in comment 0.
- Set the
Release Note Request (optional, but appreciated) [Why is this notable]: New locale [Suggested wording]: "Locale added: LANGUAGE (ab-CD)" [Links (documentation, blog post, etc)]:
First of all make sure that your environment is correctly set up, and update your local mozilla-unified clone:
$ cd ~/mozilla/mercurial/mozilla-unified $ hg pull -r default -u $ hg update central
The first file to modify is in
mobile/android/locales/maemo-locales, open it with your text editor of choice.
$ atom mobile/android/locales/maemo-locales
And add the new locale to the list. With Atom and the Sort Lines package installed, you can press
F5 to make sure that the list is in alphabetical order. Let’s say for example that you need to add
ab-CD to the list of supported locales.
The second file to modify is
mobile/android/locales/l10n.toml. This is the beginning of the file:
# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. basepath = "../../.." locales = [ "ab-CD", "an", "ar", "as", "ast", "az", ...
locales section, and make sure the locale is already listed under the
locales section (it should have been added when enabling single locale builds). In the example above, the locale is represented by
Then locate the
exclude-multi-locale section, and remove the locale from this list.
After you’ve finished editing the files, check the status of the repository, and the diff.
$ hg status M mobile/android/locales/maemo-locales $ hg diff --- a/mobile/android/locales/maemo-locales +++ b/mobile/android/locales/maemo-locales @@ -1,8 +1,9 @@ +ab-CD ar be ca cs da de es-AR es-ES diff --git a/mobile/android/locales/l10n.toml b/mobile/android/locales/l10n.toml --- a/mobile/android/locales/l10n.toml +++ b/mobile/android/locales/l10n.toml @@ -9,8 +9,9 @@ locales = [ "ab-CD", "ar", "be", "ca", "cs", "da", "es-AR", @@ -9,8 +9,9 @@ exclude-multi-locale = [ - "ab-CD", "ia", "oc", ...
hg status indicates that the file has been modified,
hg diff that the line has been added, and
- means it was removed. Follow the instructions available in this document to create a patch, submit it for review, and land it.
IMPORTANT: an error in a single locale is going to break the multi-locales build for all locales, English included.