Crate fluent_syntax[−][src]
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,
}
),
);