index.rst (1783B)
1 .. role:: bash(code) 2 :language: bash 3 4 .. role:: js(code) 5 :language: javascript 6 7 .. role:: python(code) 8 :language: python 9 10 ============================================= 11 Migrating Strings From Legacy or Fluent Files 12 ============================================= 13 14 Firefox is a project localized in over 100 languages. As the code for existing 15 features moves away from the old localization systems and starts using 16 `Fluent`_, we need to ensure that we don’t lose existing translations, which 17 would have the adverse effect of forcing contributors to localize hundreds of 18 strings from scratch. 19 20 `Fluent Migration`_ is a Python library designed to solve this specific problem: 21 it allows to migrate translations from `.properties` and other legacy file formats, 22 not only moving strings and transforming them as needed to adapt to the `FTL` 23 syntax, but also replicating "blame" for each string in VCS. 24 25 The library also includes basic support for migrating existing Fluent messages 26 without interpolations (e.g. variable replacements). The typical use cases 27 would be messages moving as-is to a different file, or changes to the 28 morphology of existing messages (e.g move content from an attribute to the 29 value of the message). 30 31 .. toctree:: 32 :maxdepth: 2 33 34 overview 35 legacy 36 fluent 37 testing 38 localizations 39 40 How to Get Help 41 =============== 42 43 Writing migration recipes can be challenging for non trivial cases, and it can 44 require extensive l10n knowledge to avoid localizability issues. 45 46 Don’t hesitate to reach out to the l10n-drivers for feedback, help to test or 47 write the migration recipes: 48 49 - Bryan Olsson (:bolsson) 50 - Francesco Lodolo (:flod) 51 - Eemeli Aro (:eemeli) 52 53 .. _Fluent: http://projectfluent.org/ 54 .. _Fluent Migration: https://github.com/mozilla/fluent-migrate