Mobile/Fennec/Android/Multilocale Builds: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 7: Line 7:
== Build recipe ==
== Build recipe ==
* Grab a copy of mozilla-central (or use an existing checkout)
* Grab a copy of mozilla-central (or use an existing checkout)
* Decide on the locales you desire, e.g. "ar zh-CN zh-TW pl de" (en-US will be included automatically), for simplicity dump these into a file called "multicocale-langs".
* Decide on the locales you desire, e.g. "ar zh-CN zh-TW pl de" (en-US will be included automatically).
* Download localisation repos: you can use the following script to do so:
* Download localisation repos: you can use the following script to do so:
   MOZILLA_CENTRAL=~/moz/hg/mozilla-central # edit to reflect current clone
   MOZILLA_CENTRAL=~/moz/hg/mozilla-central # edit to reflect current clone
Line 16: Line 16:
   pushd $L10NBASEDIR
   pushd $L10NBASEDIR
   for loc in $LANGS; do if ! [ -d "$loc" ]; then hg clone "http://hg.mozilla.org/releases/l10n/mozilla-aurora/$loc"; fi; done
   for loc in $LANGS; do if ! [ -d "$loc" ]; then hg clone "http://hg.mozilla.org/releases/l10n/mozilla-aurora/$loc"; fi; done
* set up your mozconfig to include the following:
* set up your mozconfig to include the following -'''Note: only full (non-artifact builds are supported):'''
** '''Note: only full (non-artifact builds are supported).'''
   mk_add_options 'export MOZ_CHROME_MULTILOCALE=en-US ar zh-CN zh-TW de pl' # start with en-US, and add your desired locales from (2)
   mk_add_options 'export MOZ_CHROME_MULTILOCALE=en-US ar zh-CN zh-TW de pl' # start with en-US, and add your desired locales from (2)
   # Use absolute paths.
   # Use absolute paths.
Line 32: Line 31:
** Locales that are complete therefore don't require the merge-$loc step, however as of writing only 6 locales were actually complete (missing strings will result in |mach package| failing due to xml errors / missing entities).
** Locales that are complete therefore don't require the merge-$loc step, however as of writing only 6 locales were actually complete (missing strings will result in |mach package| failing due to xml errors / missing entities).
** But chrome-$loc is still needed for every locale.
** But chrome-$loc is still needed for every locale.
** But aurora/beta/release builds usually won't need merge-$loc
** Beta/release builds usually won't need merge-$loc.


The original multilocale guide can be found on Richard Newman's blog at http://160.twinql.com/building-and-testing-multi-locale-firefox-for-android/ . That blog also contains a plethora of other postings discussing multilocale support.
The original multilocale guide can be found on Richard Newman's blog at http://160.twinql.com/building-and-testing-multi-locale-firefox-for-android/ . That blog also contains a plethora of other postings discussing multilocale support.
46

edits