Fluent for Elm (translation and l10n/i18n solution)
Branch: master
Clone or download
Latest commit 7228ccc Feb 12, 2019



Documentation Status

elm-fluent is a Fluent implementation for Elm.

Fluent is a next-generation translation/localization solution, designed by the folks at Mozilla, based on many years of experience with localizing into a large number of different languages. Mozilla have extracted parts of their 'l20n' solution (used by apps like Firefox and Thunderbird) into a re-usable specification designed specifically for the web.

elm-fluent is a full implementation of this specification for Elm (currently supporting the Fluent 0.6 syntax).

It operates as a command line tool that compiles .ftl files to .elm files. The result is that each message becomes a function that will generate a translated string (or HTML fragment) for a given locale and an optional set of strongly typed parameters (string, dates or numbers).

Dates and numbers can also be passed with formatting parameters supplied - for example, to attach a currency to a number, so that it can be correctly formatted as a currency according to the rules of the locale in use.

Please see the docs for more information.

For discussion regarding Fluent, including elm-fluent, see also the Mozilla Discourse Fluent category.


  • Rough around the edges, but usable. Please see the list of open issues.
  • A pretty complete test suite.
  • Compatibility: Elm 0.18 only at the moment. Fluent 0.6 syntax.
  • Free software: MIT license


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.