This page is aimed at current and future localizers of Lightning. It covers many aspects a localizer of this application should be aware of like necessary tools, how to get information about localization-relevant events and various other items of interest.
Lightning is translated into many languages. As more features are implemented or certain bugs are fixed, more strings need to be translated. Near a release the file of shipped locales is updated to include all those locales that have translated all strings. If you would like to help localize, please contact the localization team of your specific language. If there is no localization team for your language, please file a bug so we can help you get started.
Creating a new localization
Creating a new localization (Mercurial) - This article describes how you can create a new localization for Lightning.
The localization dashboard for Lightning gives localizers a precise overview of the current status of their localization. Detailed information about the localization dashboard is available on the Thunderbird l10n dashboard page.
A localization will added to the l10n dashboard on request when it has reached a high-level of completion (> 80%) as shown by the compare-locales output. To request the addition of your locale to the dashboard, file a bug in the Calendar product/Build Config component.
Getting l10n-relevant information
The Calendar developers maintain a development blog, where relevant information about important events (e.g. important bug fixes, release schedules, release announcements) are posted. You can also subscribe to the blog's ATOM feed to be notified once new blog posts are posted to the blog.
Newsgroups & Mailinglists
Localizers of Lightning should read the localization newsgroup (mozilla.dev.l10n) to stay informed of Lightning-specific and general l10n-related items of interest to them. They are further encouraged to read the Calendar development newsgroup (mozilla.dev.apps.calendar) to stay informed of recent Calendar-related developments.
These newsgroups can also be accessed via the firstname.lastname@example.org (localization mailing list) or email@example.com (Calendar development mailing list) mailing lists, which mirror the newsgroups mentioned above. You can subscribe to or unsubscribe from these mailing lists via the web interface at lists.mozilla.org.
Localizers should watch the firstname.lastname@example.org mail address to stay current on bugs that might affect Lightning localizers, especially late in a release cycle. This can be done by adding this mail address to the "User Watching" section of your Email preferences in bugzilla.
A few helpful links
- Open bugs with string impact that have been changed in the last month
- Fixed bugs with string impact that have been changed in the last month
- Open bugs with the l12y (localizability) keyword
- Open bugs which need localizer attention (email@example.com has been CC'ed on that bug)
String freeze impact
After a string freeze of a given, no new English (en-US) strings will be added or changed until the release date. This enables localizers to catch up with all the string changes and give them enough time to translate and test all the l10n-specific changes that were made in the release cycle.
This means that all work for a release that might affect the strings on the UI must be finished before the string freeze date.
Breaking the string freeze
There may be late-breaking changes or security fixes after the string freeze, where the benefit of those changes outweighs the cost of breaking the string freeze. In that case developers will have to do the following:
- Get the string change approved by the relevant driver for the release.
- Add the late-l10n keyword to the relevant bug in bugzilla.mozilla.org
- Post a note into the localization newsgroup mozilla.dev.l10n or the localization mailing list firstname.lastname@example.org
- The note should contain a short description of the change and where it is occurring (e.g. in which part of the UI, which dialog, etc.) to enable localizers to adequately test their localization
- The note should also describe possible implications for localizers in case anything special is going on (e.g. the order of the strings is important)
Building Lightning in your Language
Building Lightning in your language is almost as easy as building Lightning. First of all, follow the general build guide to build Lightning. If there is already a localization for your language, you will need to check out or update your locale files. Otherwise, please see this page for some information on creating a new localization. Make sure to check out the locale directory in the same level as the checked out comm-central tree. For example consider this directory structure:
[+] mozilla // Common parent directory |-[+] comm-central // Checked out comm-central source tree | |-[+] calendar | |-[+] mail | |-[+] mailnews |-[+] l10n-central // Checked out l10n-central source tree |-[+] de |-[+] calendar
Now execute the following command in the
obj-dir/calendar/lightning directory, replacing <language identifier> with the correct identifier (for example de for German). This will create a separate
lightning-<language identifier>.xpi file in the
make merge-<language identifier> LOCALE_MERGEDIR=$(PWD)/mergedir make clobber-<language identifier> make langpack-<language identifier> LOCALE_MERGEDIR=$(PWD)/mergedir