42 lines
1.7 KiB
ReStructuredText
42 lines
1.7 KiB
ReStructuredText
.. role:: bash(code)
|
||
:language: bash
|
||
|
||
.. role:: js(code)
|
||
:language: javascript
|
||
|
||
.. role:: python(code)
|
||
:language: python
|
||
|
||
===========================================
|
||
How Migrations Are Run on l10n Repositories
|
||
===========================================
|
||
|
||
Once a patch including new FTL strings and a migration recipe lands in
|
||
mozilla-central, l10n-drivers will perform a series of actions to migrate
|
||
strings in all 100+ localization repositories:
|
||
|
||
- New Fluent strings land in `mozilla-central`, together with a migration
|
||
recipe.
|
||
- New strings are added to `gecko-strings-quarantine`_, a unified repository
|
||
including strings for all shipping versions of IceCat, and used as a buffer
|
||
before exposing strings to localizers.
|
||
- Migration recipes are run against all l10n repositories, migrating strings
|
||
from old to new files, and storing them in VCS.
|
||
- New en-US strings are pushed to the official `gecko-strings`_ repository
|
||
used by localization tools, and exposed to all localizers.
|
||
|
||
Migration recipes could be run again within a release cycle, in order to migrate
|
||
translations for legacy strings added after the first run. They’re usually
|
||
removed from `mozilla-central` within 2 cycles, e.g. a migration recipe created
|
||
for IceCat 59 would be removed when IceCat 61 is available in Nightly.
|
||
|
||
|
||
.. tip::
|
||
|
||
A script to run migrations on all l10n repositories is available in `this
|
||
repository`__, automating part of the steps described for manual testing, and
|
||
it could be adapted to local testing.
|
||
|
||
__ https://github.com/flodolo/fluent-migrations
|
||
.. _gecko-strings-quarantine: https://hg.mozilla.org/l10n/gecko-strings-quarantine/
|
||
.. _gecko-strings: https://hg.mozilla.org/l10n/gecko-strings
|