Crate fluent_langneg

Source
Expand description

fluent-langneg is an API for operating on locales and language tags. It’s part of Project Fluent, a localization framework designed to unleash the expressive power of the natural language.

The primary use of fluent-langneg is to parse/modify/serialize language tags and to perform language negotiation.

fluent-langneg operates on a subset of BCP47. It can parse full BCP47 language tags, and will serialize them back, but currently only allows for operations on primary subtags and unicode extension keys.

In result fluent-langneg is not suited to replace full implementations of BCP47 like rust-language-tags, but is arguably a better option for use cases involving operations on language tags and for language negotiation.

Re-exports§

pub use accepted_languages::parse as parse_accepted_languages;
pub use negotiate::negotiate_languages;
pub use negotiate::NegotiationStrategy;

Modules§

accepted_languages
This function parses Accept-Language string into a list of language tags that can be later passed to language negotiation functions.
negotiate
Language Negotiation is a process in which locales from different sources are filtered and sorted in an effort to produce the best possible selection of them.

Structs§

LanguageIdentifier
A core struct representing a Unicode BCP47 Language Identifier.

Enums§

LangugeIdentifierParserError
List of parser errors that can be generated while parsing LanguageIdentifier, Locale, subtags or extensions.

Functions§

convert_vec_str_to_langids
convert_vec_str_to_langids_lossy