Compare Revisions

Creating a new localization (Mercurial)

Revision 128742:

Revision 128742 by Sipaq on

Revision 128743:

Revision 128743 by Sipaq on

Title:
Creating a new localization (Mercurial)
Creating a new localization (Mercurial)
Slug:
Creating_a_new_localization_(Mercurial)
Creating_a_new_localization_(Mercurial)
Tags:
Internationalization, Localization, "Developing Mozilla"
Internationalization, Localization, "Developing Mozilla"
Content:

Revision 128742
Revision 128743
nn7    <p>
8      {{ gecko_minversion_header("1.9.1") }}
9    </p>
10    <p>
11      This article covers how to create a new localization of Fir
 >efox from a Mercurial repository; this means it applies to versio
 >n 3.5 of Firefox and later.&nbsp; Similar instructions will also 
 >apply to non-Firefox projects based on Gecko 1.9.1, such as Thund
 >erbird 3.
12    </p>
13    <p>
14      This article assumes you already have MozillaBuild 1.3 inst
 >alled (on Windows), <a class="internal" href="/en/Mercurial" titl
 >e="En/Mercurial">Mercurial</a>, and Python setuptools installed.
15    </p>
16    <h2>
17      Install the compare-locales utility
18    </h2>
19    <p>
20      The first step is to install <code>compare-locales</code>.
21    </p>
22    <pre>
23wget http://pypi.python.org/packages/2.5/c/compare-locales/compar
 >e_locales-0.6.1-py2.5.egg#md5=0b939a22d87427d80f5286dc5eb1eab2
24easy_install compare_locales-0.6.1-py2.5.egg
25</pre>
26    <p>
27      This will download and install the utility.
28    </p>
n11      The next step is to <a class="internal" href="/En/Developern33      The next step is to <a class="internal" href="/en/Mozilla_S
>_Guide/Source_Code/Mercurial" title="en/Mozilla Source Code (Merc>ource_Code_(Mercurial)" title="en/Mozilla Source Code (Mercurial)
>urial)">download a copy of the source code</a> to your local syst>">download a copy of the source code</a> to your local system, us
>em, using Mercurial.&nbsp; For example, to fetch the code for Fir>ing Mercurial.&nbsp; For example, to fetch the code for Firefox 3
>efox 3.5 use this command:>.5, Thunderbird 3, and other Mozilla projects based on Gecko 1.9.
 >1, use this command:
nn38    <h2>
39      Create a bare-bones localization
40    </h2>
n17      If you are interested in localizing Thunderbird 3, SeaMonken42      Next, create a base localization.&nbsp; This is done by clo
>y 2 or other Mozilla projects based on Gecko 1.9.1 you'll need to>ning the en-US (United States English)&nbsp;files into your local
> follow the instructions on <a href="/En/Developer_Guide/Source_C>ization; specify your locale's language identifier in ab-CD forma
>ode/Getting_comm-central" title="En/Developer Guide/Source Code/G>t, where "ab"&nbsp;is the <a class="external" href="http://www.w3
>etting comm-central">getting the source-code of the comm-central >.org/WAI/ER/IG/ert/iso639.htm" title="http://www.w3.org/WAI/ER/IG
>repository</a>.>/ert/iso639.htm">ISO 639 language code</a>, and CD is the <a clas
 >s="external" href="http://www.iso.org/iso/country_codes/iso_3166_
 >code_lists/english_country_names_and_code_elements.htm" title="ht
 >tp://www.iso.org/iso/country_codes/iso_3166_code_lists/english_co
 >untry_names_and_code_elements.htm">ISO 3166 country code</a>.&nbs
 >p; The "-CD"&nbsp;part is only necessary to differentiate between
 > versions of a language that are subtly different from country to
 > country, such as in "en-US" and "en-GB" for United States Englis
 >h and British English.
tt44    <div class="warning">
45      <strong>Warning:</strong> Don't just copy and paste these c
 >ommands; you need to replace "ab-CD"&nbsp;with your language iden
 >tifier first!
46    </div>
47    <pre>
48mkdir -p ab-CD/browser/installer ab-CD/browser/profile/chrome ab-
 >CD/browser/searchplugins ab-CD/browser/updater ab-CD/toolkit
49cp mozilla-1.9.1/browser/locales/en-US/defines.inc ab-CD/browser
50cp mozilla-1.9.1/browser/locales/en-US/profile/chrome/userC* ab-C
 >D/browser/profile/chrome
51cp mozilla-1.9.1/browser/locales/en-US/firefox-l10n.js ab-CD/brow
 >ser
52cp mozilla-1.9.1/browser/locales/en-US/README.txt ab-CD/browser
53cp mozilla-1.9.1/browser/locales/en-US/searchplugins/list.txt ab-
 >CD/browser/searchplugins
54cp mozilla-1.9.1/browser/locales/en-US/updater/updater.ini ab-CD/
 >browser/updater/updater.ini
55cp mozilla-1.9.1/toolkit/locales/en-US/defines.inc ab-CD/toolkit
56</pre>
57    <h2>
58      Set up for building
59    </h2>
60    <p>
61      The next step is to create a <code>.mozconfig</code> file w
 >ith the compile options for the localized build of Firefox, and t
 >o set up the object directory for the localized build.
62    </p>
63    <pre>
64cd mozilla-1.9.1
65echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../fx-ab-DC" &gt; .mo
 >zconfig
66echo "ac_add_options --with-l10n-base=../" &gt;&gt; .mozconfig
67echo "ac_add_options --disable-compile-environment" &gt;&gt; .moz
 >config
68echo "ac_add_options --enable-application=browser" &gt;&gt; .mozc
 >onfig
69make -f client.mk configure
70</pre>
71    <h2>
72      Test merging
73    </h2>
74    <p>
75      Now you can test merging your localization and language pac
 >k:
76    </p>
77    <pre>
78cd ../fx-ab-CD
79make -C browser/locales merge-ab-CD LOCALE_MERGEDIR=`pwd`/../merg
 >e
80make -C browser/locales langpack-ab-CD LOCALE_MERGEDIR=`pwd`/../m
 >erge LANGPACK_FILE=`pwd`/../firefox-ab-CD.xpi
81</pre>
82    <h2>
83      What's next?
84    </h2>
85    <p>
86      You're now ready to start work on localizing the Mozilla pr
 >oject.&nbsp; See the article <a class="internal" href="/En/Mainta
 >ining_a_localization_(Mercurial)" title="en/Maintaining a localiz
 >ation (Mercurial)">Maintaining a localization (Mercurial)</a>&nbs
 >p;for more information on what to do next.
87    </p>
88    <h2>
89      See also
90    </h2>
91    <ul>
92      <li>
93        <a class="internal" href="/en/Create_a_new_localization" 
 >title="En/Create a new localization">Create a new localization</a
 >> (covers Firefox 3 and earlier)
94      </li>
95      <li>
96        <a class="external" href="http://blog.mozilla.com/bhearsu
 >m/archives/78" title="http://blog.mozilla.com/bhearsum/archives/7
 >8">Creating a new localization for Firefox 3.1</a> (blog post by 
 >Ben Hearsum, on which this article is based)
97      </li>
98      <li>
99        <a class="internal" href="/en/Mozilla_Source_Code_(Mercur
 >ial)" title="En/Mozilla Source Code (Mercurial)">Mozilla Source C
 >ode (Mercurial)</a>
100      </li>
101    </ul>

Back to History