Hi localizers,
Cross-channel is officially ready: we've been using l10n-central
repositories to generate both Nightly and Beta builds since the last
merge day, but now we have a reference repository that includes both
Beta (57) and Nightly (58) strings.
If you're localizing Firefox, Firefox for Android, Thunderbird, or
SeaMonkey on *Pontoon*, this change is going to be *completely
transparent*. A few minutes ago we exposed new strings belonging to
Nightly 58, and they are available for localization in Pontoon as usual.
The beauty of cross-channel is that, if you want to fix a typo or
translate a missing string, you will only need to do it once.
From now on, you should also ignore obsolete strings reported on the
Team page
https://l10n.mozilla.org/teams/
A string that is obsolete for fx_central (Nightly desktop) could still
be used by another version (e.g. fx_beta), and should not be removed
from the l10n-central repository. To make things less confusing, we plan
to add a comparison between l10n-central and the cross-channel reference
repository (aka gecko-strings). This should give you a clearer picture
of the status of your localization.
Starting from this moment, sign-offs will only happen on the Beta channel.
On the other hand, *if you work directly on Mercurial*, you need to keep
in mind a few changes.
*1) Stop using mozilla-central and comm-central as references for your
localization.*
If a changeset removes a string in mozilla-central, it will still be
needed in mozilla-beta and mozilla-release, and it should not be
removed. You should base your work on the cross-channel repository instead.
For now, repositories are in a temporary localization, while we make
sure that everything works as expected during updates.
This repository is updated every 2-3 days, and contains only strings
that have been reviewed and vetted (for Firefox and Firefox for Android,
there's currently no review for Thunderbird or SeaMonkey). It's also the
repository that Pontoon uses to expose strings.
https://hg.mozilla.org/users/axel_mozilla.com/gecko-strings
This repository is updated at least daily, and contains unfiltered
strings from mozilla-central, comm-central, etc.
https://hg.mozilla.org/users/axel_mozilla.com/gecko-strings-quarantine
If you're interested in contributing to review and report bugs (bad
strings, changes without new IDs, etc.) you should use the latter.
The next steps are to automate updates to gecko-strings-quarantine, and
move repositories to a more official location.
*2) Install and use compare-locales on your machine.*
Very few localizers use compare-locales locally. But, if you work on
Mercurial directly, you really should start using it: it lets you see if
there are more missing strings, or errors in your localization before
committing them to the repository.
Step 1: install compare-locales (you'll need Python)
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/compare-locales
Step 2: run compare-locales against your localization. Let's assume that
you have:
* A clone of gecko-strings in ~/gecko-string
* A clone of your l10n-central in ~/it (for Italian)
To run compare-locales for Italian and Firefox Desktop you run:
compare-locales ~/gecko_strings/_configs/browser.toml ~/ it
Note that there's a space between the second argument ('~/', the base
path for localizations) and the third ('it', locale code but also the
name of the folder).
If you want to run it in parallel for Firefox Desktop and Firefox for
Android:
compare-locales --unified ~/gecko_strings/_configs/browser.toml
~/gecko_strings/_configs/_mobile-android.toml ~/ it
You can find other configuration (.toml) files for SeaMonkey and
Thunderbird in the same path.
As usual, please let us know if you have any questions or doubts.
Francesco