Crate fluent4rs

Source
Expand description

§fluent4rs

MIT License Language Build Coverage Version

Site | GitHub | API | Coverage Report

A Fluent (language translation) resource file codec.

§Background

The fluent-syntax crate from Project Fluent parses Fluent FTL files. It provides a deserialisation only from the Resource level.

This crate:

  • enables conversion in both directions for any node in the syntax tree,
  • provides a syntax tree walker.

It has been written for lingora (a localization management program), and may be found to be useful outside of that context.

It is not intended to replace any aspects of the fluent-rs crate implemented by Project Fluent, and, for the majority of language translation needs, the reader is referred back to that crate.

Usagefluent4rsfluent-syntax
Programmatic inspection & editing of ftl files?
Language translation in a programxfluent

§Features

FeatureDescription
defaultAll features are disabled
hashAllow AST nodes to be hashed, for potential usages in HashMaps
serdeAllow AST nodes to be serialised / deserialised
traceInclude tracing to stderr in the DefaultVisitor implementation
walkerProvide AST walker and visitors

§Development

cargo test --all-features

§AST Image View

Railroad

Relationships

Modules§

ast
Derived from Project Fluent fluent.ebnf
parser
The Parser enables a Fluent resource string to be parsed and described in AST structures.
prelude
walker
The Walker enables the Resource returned by the Parser to be traversed. This functionality requires the walker feature.