Routex.Extension.SimpleLocale.Parser (Routex v1.2.0-rc.0)
View SourceHandles parsing of locale strings and accept-language headers. Uses efficient binary pattern matching and follows RFC 5646 BCP 47 language tag format.
Summary
Functions
Parses an accept-language header into a list of locale entries.
Parses a single locale string into a locale entry.
Functions
@spec parse_accept_language(String.t() | list()) :: [ Routex.Extension.SimpleLocale.Types.locale_entry() ]
Parses an accept-language header into a list of locale entries.
Examples
iex> parse_accept_language("en-US,fr-FR;q=0.8")
[
%{language: "en", region: "US", territory: "US", locale: "en-US", quality: 1.0},
%{language: "fr", region: "FR", territory: "FR", locale: "fr-FR", quality: 0.8}
]
@spec parse_locale(String.t()) :: Routex.Extension.SimpleLocale.Types.locale_entry() | nil
Parses a single locale string into a locale entry.
Examples
iex> parse_locale("en-US")
%{language: "en", region: "US", territory: "US", locale: "en-US", quality: 1.0}
iex> parse_locale("fra")
%{language: "fra", region: nil, territory: nil, locale: "fra", quality: 1.0}
iex> parse_locale("")
nil