gecko-dev/third_party/python/fluent.migrate
Stas Malolepszy 9061bd6128 Bug 1666232 - Vendor fluent.syntax 0.18.1, fluent.migrate 0.10, compare-locales 8.1.0. r=flod
Differential Revision: https://phabricator.services.mozilla.com/D90851
2020-09-21 12:26:42 +00:00
..
fluent Bug 1666232 - Vendor fluent.syntax 0.18.1, fluent.migrate 0.10, compare-locales 8.1.0. r=flod 2020-09-21 12:26:42 +00:00
PKG-INFO Bug 1666232 - Vendor fluent.syntax 0.18.1, fluent.migrate 0.10, compare-locales 8.1.0. r=flod 2020-09-21 12:26:42 +00:00
README.md
setup.cfg
setup.py Bug 1666232 - Vendor fluent.syntax 0.18.1, fluent.migrate 0.10, compare-locales 8.1.0. r=flod 2020-09-21 12:26:42 +00:00

README.md

Fluent Migration Tools

Programmatically create Fluent files from existing content in both legacy and Fluent formats. Use recipes written in Python to migrate content for each of your localizations.

migrate-l10n is a CLI script which uses the fluent.migrate module under the hood to run migrations on existing translations.

validate-l10n-recipe is a CLI script to test a migration recipe for common errors, without trying to apply it.

Installation

Install from PyPI:

pip install fluent.migrate[hg]

If you only want to use the MigrationContext API, you can drop the requirement on python-hglib:

pip install fluent.migrate

Usage

Migrations consist of recipes, which are applied to a localization repository, based on template files. You can find recipes for Firefox in mozilla-central/python/l10n/fluent_migrations/, the reference repository is gecko-strings or quarantine. You apply those migrations to l10n repositories in l10n-central, or to gecko-strings for testing.

The migrations are run as python modules, so you need to have their file location in PYTHONPATH.

An example would look like

$ migrate-l10n --lang it --reference-dir gecko-strings --localization-dir l10n-central/it bug_1451992_preferences_sitedata bug_1451992_preferences_translation

Contact