Fluent — planning, spec and documentation
See the codeFluent is a localization system designed to unleash the expressive power of the natural language.
This repository contains the specification, the reference implementation of the parser and the documentation for Fluent.
FTL is the syntax for describing translation resources in Project Fluent. FTL stands for Fluent Translation List. Read the Fluent Syntax Guide to get started learning Fluent.
The syntax/ directory contains the reference implementation of the syntax as
a LL(infinity) parser.
The spec/ directory contains the formal EBNF grammar, autogenerated from the
reference implementation.
While working on the reference parser, use the following commands to test and validate your work:
npm test # Test the parser against JSON AST fixtures.
npm run lint # Lint the parser code.
npm run generate:ebnf # Generate the EBNF from syntax/grammar.js.
npm run generate:fixtures # Generate test fixtures (FTL → JSON AST).
npm run build:guide # Build the HTML version of the Guide.
npm run bench # Run the performance benchmark on large FTL.
This repository contains the reference implementation of the parser. Other implementations exist which should be preferred for use in production and in tooling.
fluent.js, including the React bindings.python-fluent.fluent-rs.We also know about the following community-driven implementations:
Fluent.Net by @blushingpenguin. See #93 for more info.Linguini a .NET library by @Ygg01elm-fluent by @spookylukeyFluent as a Perl 6 module by @alabamenhufluent-dart as a Dart runtime implementation by @ryanhz.fluent-compiler - an alternative Python implementation by @spookylukey.fluent-vue - Vue.js plugin - integration for fluent.jsfluent-lua by @alerque.fluentd by @SirNickolas.fluent.go - a Golang implementation by @lusfluent-php - a PHP module providing bindings wrapping the Rust library by @EnnexaFind out more about Project Fluent at projectfluent.org and discuss the future of Fluent at Mozilla Discourse.
(top 24 of 48)
1,172 followers · starred Apr 2019
332 followers · starred Jul 2021
801 followers · starred Feb 2022
259 followers · starred May 2023
Fluent — planning, spec and documentation
See the codeFluent is a localization system designed to unleash the expressive power of the natural language.
This repository contains the specification, the reference implementation of the parser and the documentation for Fluent.
FTL is the syntax for describing translation resources in Project Fluent. FTL stands for Fluent Translation List. Read the Fluent Syntax Guide to get started learning Fluent.
The syntax/ directory contains the reference implementation of the syntax as
a LL(infinity) parser.
The spec/ directory contains the formal EBNF grammar, autogenerated from the
reference implementation.
While working on the reference parser, use the following commands to test and validate your work:
npm test # Test the parser against JSON AST fixtures.
npm run lint # Lint the parser code.
npm run generate:ebnf # Generate the EBNF from syntax/grammar.js.
npm run generate:fixtures # Generate test fixtures (FTL → JSON AST).
npm run build:guide # Build the HTML version of the Guide.
npm run bench # Run the performance benchmark on large FTL.
This repository contains the reference implementation of the parser. Other implementations exist which should be preferred for use in production and in tooling.
fluent.js, including the React bindings.python-fluent.fluent-rs.We also know about the following community-driven implementations:
Fluent.Net by @blushingpenguin. See #93 for more info.Linguini a .NET library by @Ygg01elm-fluent by @spookylukeyFluent as a Perl 6 module by @alabamenhufluent-dart as a Dart runtime implementation by @ryanhz.fluent-compiler - an alternative Python implementation by @spookylukey.fluent-vue - Vue.js plugin - integration for fluent.jsfluent-lua by @alerque.fluentd by @SirNickolas.fluent.go - a Golang implementation by @lusfluent-php - a PHP module providing bindings wrapping the Rust library by @EnnexaFind out more about Project Fluent at projectfluent.org and discuss the future of Fluent at Mozilla Discourse.
(top 24 of 48)
1,172 followers · starred Apr 2019
332 followers · starred Jul 2021
801 followers · starred Feb 2022
259 followers · starred May 2023