Roadmap

Staś Małolepszy edited this page Apr 4, 2018 · 12 revisions

Roadmap

2017

2017 Q1

Main goals

  • Establish Fluent as a separate project

Objectives

  • Update the FTL syntax
  • Create a project hub (www, github, wiki)
  • Release a standalone fluent.js implementation
  • Publish parsers in JS and Python for tools' use
  • Reach out to a small number of industry experts
  • Reach out to a small number of framework authors
  • Publish an updated version of l20n.js which uses fluent.js
  • Publish an early version of the Rust implementation

2017 Q2

Main goals

  • Improve localizers' experience
  • Design the HTML integration

Objectives

  • Design UI for localization authoring tools (e.g. Pontoon)
  • Improve the syntax guide and create more demo-able examples
  • Add a layer on top of fluent.js which handles language negotiation and resource fallback
  • Integrate with DOM via MutationObservers
  • Implement DOM overlays
  • Integrate with React
  • Reach out to more external parties

2017 Q3

Main goals

  • Improve the syntax for edge cases
  • Integrate Fluent into Gecko

2017 Q4

Main goals

  • Simplify Syntax.
  • Release beta versions of Rust for JS and Rust
2018 Q1

2018 Q1

  • Fluent Syntax
    • Release 0.5 in January (the last major version before the stable 1.0)
  • fluent (JS)
    • Release fluent 0.6 which supports both Syntax 0.4 and 0.5.
  • fluent-dom
    • DOM overlays v2
  • fluent-react
    • DOM Overlays for fluent-react
    • attrs prop
  • fluent (Rust)
    • Release fluent-rs 0.2 which supports Fluent Syntax 0.5

2018 Q2

  • Fluent Syntax
    • Release 0.7 (skip 0.6) with:
      • Whitespace relaxation
      • Newlines normalizatin
    • Release 0.8 with:
      • Dynamic references to messages
    • Release 1.0 by the end of June.
  • fluent (JS)
    • Optimistic runtime parser
    • Report MessageContext resolution errors
  • fluent-dom
    • Experiment with mapContextAsync
  • fluent-react
    • Fix follow-ups to DOM overlays
    • Allow async generateMessages
  • Deprecate and archive L20n repos
    • Release l20n.js 6.0 which uses fluent 0.6.
  • Linting:
    • Proper linter implementations are scheduled for Q3-Q4
    • We'll add compare-locales checks to enable some linting features in mozilla-central/try
    • Those checks will operate on Fluent AST and can be used as a base for the proper linter later on

2018 Q3

  • Fluent Syntax 1.x
    • Semantic comments
    • Use tree-sitter's parser instead of EBNF
  • Fluent (JS)
    • Experiment with parser combinators
    • Fix the autogeneration of Fluent docs
    • Add test coverage
    • Pseudolocales
    • Linter
  • fluent-react
    • Write a tutorial for fluent-react
  • python-fluent
    • Linter
  • fluent (Rust)
    • Share test fixtures for parser with fluent.js and python-fluent
    • Error handling

2018 Q4

  • Fluent Syntax
    • List data type and list formatting
    • Flattened nested variants
  • Linter
    • --autofix
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.