L10n:B2G/Adding Locales
Here are the steps to follow by l10n drivers to add a locale to Gaia.
Prerequisites
Before being able to pursue a localization effort, there are a few requirements that need to be met. They're not in any explicit ordering, and the ordering might depend on locale. In particular, a few open spots in font support are probably best fixed once the localization effort is on the way, whereas complete lack of font support probably means that the localization effort doesn't need to start until there's progress on the font front.
Localization Team
Someone needs to do the work, of course. A team of two or three is healthy, and it's best if the motivation to start the effort comes from the community itself. See L10n:Teams for existing teams to reach out to. We should make sure that there's no detriment to already ongoing projects.
Fonts
It's not clear which font combinations we need to test, but fontconfig's fc-validate is likely the right start. Axel also has a project on [1], but the examples don't work against the current font setup. [NEEDINFO] timdream?
Keyboard/IME
We need keyboard support for new languages, both in terms for keyboard layouts for new scripts, as well as typeahead wordlists for at least alphabet-based languages. Kevin Scannell might be able to help with the wordlists, details TBD. [NEEDINFO] kscannell
For non-alphabet languages, we need real input methods (IME).
Technical Infrastructure
Create the repository
Follow ReleaseEngineering/RepositoryCreationRequest to get the repository created. See bug 834221 for an example.
Push to the repo at least once before you enable the locale in Elmo. For example, you could push a README file, similar to this:
This directory contains the vi locale for Firefox OS. For English files, see https://hg.mozilla.org/gaia-l10n/en-US/
(See example.)
Add to Gaia
Edit locales/languages_all.json in Gaia. Native language names can be found in the product-details lib.
Edit shared/resources/kayboard_layouts.json to enable the desired layout during the FTU setup.
See bug 838516 for example and the corresponding pull request.
Add to Elmo
Edit l10n-master/dir-builds.json in master-ball.
See this pull request for an example.