We’re making progress on the Syntax 0.8 milestone and I’d like to invite everyone to share their opinions on the features planned for this release. 0.8 is likely the last milestone before 1.0 RC. We don’t plan to make any breaking syntax changes after it.
You can track the status of this milestone on the project board on GitHub. Let’s have a closer look at the individual issues in this milestone.
-
We’d like to allow localizers to format their multiline translations such that indentation is preserved where it matters (#162 ). This will be useful for using HTML markup in the translations, as well for plugging Fluent into environments which care about indentation (e.g. Markdown). There’s a proposal to use a logic similar to that of Python’s
textwrap.dedent()
utility which hopefully is the right answer. Thank you! -
We’ve discovered a couple of limitations in the design of
VariantLists
. I submitted a new idea which could supersedeVariantLists
(or complement them): Parameterized Terms, also known as Macros (#176). I’m looking for feedback on the proposed syntax, resolution logic, as well as examples of use-cases which are better served withVariantLists
. -
If macros turn out to be hard to add or if we choose to keep
VariantLists
, we’ll need to fix their limitations. That’s #187 and #188. -
For both
VariantLists
and macros, we’re looking for use-cases for allowing variants onTerm
attributes: #189. -
There are a number of issues related to removing support for certain characters in
TextElements
and/or inStringLiterals
. #123 is about removing backslash escape sequences fromTextElements
(they would continue to wokr inStringLiterals
: e.g.{"\u00A0"}
). #186 proposes to forbid the literal closing brace,}
inTextElements
, which would be symmetric to how the opening brace,{
is already a special char because it opens aPlaceable
. #182 is about forbidding C1 control characters from bothTextElements
andStringLiterals
. C0 are already forbidden. -
Lastly, there are two minor improvements to how the spec defines how broken entities should be parsed as
Junk
: #184 and #185.
I’d love to open these discussions up to a wider audience. We’re in the last stretch of the syntax work before 1.0. If you want to have an impact on how Fluent 1.0 works and what it looks like, please give your feedback here or on GitHub before Friday, October 26. On Friday, we’ll conduct a triage session and decide which issues may advance and land, and which ones may need more time given the feedback received.