Crate fluent_syntax
source ·Expand description
Fluent is a modern localization system designed to improve how software is translated.
fluent-syntax
is the lowest level component of the Fluent Localization
System.
It exposes components necessary for parsing and tooling operations on Fluent Translation Lists (“FTL”).
The crate provides a parser
module which allows for parsing of an
input string to an Abstract Syntax Tree defined in the ast
module.
The unicode
module exposes a set of helper functions used to decode
escaped unicode literals according to Fluent specification.
§Example
use fluent_syntax::parser;
use fluent_syntax::ast;
let ftl = r#"
hello-world = Hello World!
"#;
let resource = parser::parse(ftl)
.expect("Failed to parse an FTL resource.");
assert_eq!(
resource.body[0],
ast::Entry::Message(
ast::Message {
id: ast::Identifier {
name: "hello-world"
},
value: Some(ast::Pattern {
elements: vec![
ast::PatternElement::TextElement {
value: "Hello World!"
},
]
}),
attributes: vec![],
comment: None,
}
),
);
Modules§
- Abstract Syntax Tree representation of the Fluent Translation List.
- Fluent Translation List parsing utilities
- Fluent Translation List serialization utilities
- A set of helper functions for unescaping Fluent unicode escape sequences.