Struct fluent_locale::locale::Locale [−][src]
pub struct Locale { /* fields omitted */ }
A Locale object.
Locale object stores information encoded in a language tag and provides methods allowing for parsing, serializing and manipulating locale fields.
All data is validated and canonicalized on input, which means that the output is always canonicalized.
Currently supported subtags are:
language
(e.g. "en")script
(e.g. "Latn")region
(e.g. "US")variants
(e.g. "windows")extensions
(e.g. "-u-ca-gregorian-hc-h12")
The API parses correctly the remaining fields of the BCP47 language tag, but at the moment does not provide any API for operating on them.
Examples
Parsing
Locale supports a From
trait from String
and &str
:
use fluent_locale::Locale; let loc = Locale::from("en-latn-us"); assert_eq!(loc.to_string(), "en-Latn-US");
Locale can also accept options, similarly to ECMA402 Intl.Locale:
use fluent_locale::Locale; use std::collections::BTreeMap; let mut opts = BTreeMap::new(); opts.insert("hour-cycle", "h12"); let loc = Locale::new("en", Some(opts)).unwrap(); assert_eq!(loc.to_string(), "en-u-hc-h12");
Serializing
Locale supports Display
trait allowing for:
use fluent_locale::Locale; use std::collections::BTreeMap; let mut opts = BTreeMap::new(); opts.insert("hour-cycle", "h12"); let loc = Locale::new("en-Latn-US-u-hc-h23", Some(opts)).unwrap(); assert_eq!(loc.to_string(), "en-Latn-US-u-hc-h12");
Manipulating
During the lifetime of Locale
, its fields can be modified via getter/setter
methods:
use fluent_locale::Locale; let mut loc = Locale::from("en-Latn-US"); loc.set_region("GB").unwrap(); assert_eq!(loc.to_string(), "en-Latn-GB");
Methods
impl Locale
[src]
impl Locale
pub fn new(
loc_str: &str,
opts: Option<BTreeMap<&str, &str>>
) -> Result<Locale, Error>
[src]
pub fn new(
loc_str: &str,
opts: Option<BTreeMap<&str, &str>>
) -> Result<Locale, Error>
pub fn set_language(&mut self, value: &str) -> Result<(), Error>
[src]
pub fn set_language(&mut self, value: &str) -> Result<(), Error>
pub fn get_language(&self) -> &str
[src]
pub fn get_language(&self) -> &str
pub fn set_script(&mut self, value: &str) -> Result<(), Error>
[src]
pub fn set_script(&mut self, value: &str) -> Result<(), Error>
pub fn get_script(&self) -> &str
[src]
pub fn get_script(&self) -> &str
pub fn set_region(&mut self, value: &str) -> Result<(), Error>
[src]
pub fn set_region(&mut self, value: &str) -> Result<(), Error>
pub fn get_region(&self) -> &str
[src]
pub fn get_region(&self) -> &str
pub fn add_variant(&mut self, value: String)
[src]
pub fn add_variant(&mut self, value: String)
pub fn remove_variant(&mut self, value: String)
[src]
pub fn remove_variant(&mut self, value: String)
pub fn get_variants(&self) -> Vec<&String>
[src]
pub fn get_variants(&self) -> Vec<&String>
pub fn clear_variants(&mut self)
[src]
pub fn clear_variants(&mut self)
pub fn has_privateuse(&self) -> bool
[src]
pub fn has_privateuse(&self) -> bool
pub fn get_extensions(&self) -> BTreeMap<String, &BTreeMap<String, String>>
[src]
pub fn get_extensions(&self) -> BTreeMap<String, &BTreeMap<String, String>>
pub fn add_extension(&mut self, ext_name: String, key: String, value: String)
[src]
pub fn add_extension(&mut self, ext_name: String, key: String, value: String)
pub fn matches(
&self,
other: &Locale,
available_range: bool,
requested_range: bool
) -> bool
[src]
pub fn matches(
&self,
other: &Locale,
available_range: bool,
requested_range: bool
) -> bool
Trait Implementations
impl Debug for Locale
[src]
impl Debug for Locale
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Default for Locale
[src]
impl Default for Locale
impl PartialEq for Locale
[src]
impl PartialEq for Locale
fn eq(&self, other: &Locale) -> bool
[src]
fn eq(&self, other: &Locale) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Locale) -> bool
[src]
fn ne(&self, other: &Locale) -> bool
This method tests for !=
.
impl Clone for Locale
[src]
impl Clone for Locale
fn clone(&self) -> Locale
[src]
fn clone(&self) -> Locale
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl From<String> for Locale
[src]
impl From<String> for Locale
impl<'a> From<&'a str> for Locale
[src]
impl<'a> From<&'a str> for Locale
impl Display for Locale
[src]
impl Display for Locale