[][src]Struct locale_config::Locale

pub struct Locale { /* fields omitted */ }

Locale configuration.

Users may accept several languages in some order of preference and may want to use rules from different culture for some particular aspect of the program behaviour, and operating systems allow them to specify this (to various extent).

The Locale objects represent the user configuration. They contain:

The set of categories is open-ended. The locale crate uses five well-known categories messages, numeric, time, collate and monetary, but some systems define additional ones (GNU Linux has additionally paper, name, address, telephone and measurement) and these are provided in the user default Locale and other libraries can use them.

Locale is represented by a ,-separated sequence of tags in LanguageRange syntax, where all except the first one may be preceded by category name and = sign.

The first tag indicates the default locale, the tags prefixed by category names indicate overrides for those categories and the remaining tags indicate fallbacks.

Note that a syntactically valid value of HTTP Accept-Language header is a valid Locale. Not the other way around though due to the presence of category selectors.

Methods

impl Locale[src]

pub fn user_default() -> Locale[src]

Obtain the user default locale.

This is the locale indicated by operating environment.

pub fn global_default() -> Locale[src]

Obtain the global default locale.

The global default for current() locale. Defaults to user_default().

pub fn set_global_default(lb: Locale)[src]

Change the global default locale.

Setting this overrides the default for new threads and threads that didn't do any locale-aware operation yet.

pub fn current() -> Locale[src]

Obtain the current locale of current thread.

Defaults to global_default() on first use in each thread.

pub fn set_current(lb: Locale)[src]

Change the current locale of current thread.

pub fn new(s: &str) -> Result<Locale, Error>[src]

Construct locale from the string representation.

Locale is represented by a ,-separated sequence of tags in LanguageRange syntax, where all except the first one may be preceded by category name and = sign.

The first tag indicates the default locale, the tags prefixed by category names indicate overrides for those categories and the remaining tags indicate fallbacks.

pub fn invariant() -> Locale[src]

Construct invariant locale.

Invariant locale is represented simply with empty string.

pub fn add(&mut self, tag: &LanguageRange)[src]

Append fallback language tag.

Adds fallback to the end of the list.

pub fn add_category(&mut self, category: &str, tag: &LanguageRange)[src]

Append category override.

Appending new override for a category that already has one will not replace the existing override. This might change in future.

Important traits for Tags<'a>
pub fn tags<'a>(&'a self) -> Tags<'a>[src]

Iterate over LanguageRanges in this Locale.

Returns tuples of optional category (as string) and corresponding LanguageRange. All tags in the list are returned, in order of preference.

The iterator is guaranteed to return at least one value.

Important traits for TagsFor<'a, 'c>
pub fn tags_for<'a, 'c>(&'a self, category: &'c str) -> TagsFor<'a, 'c>[src]

Iterate over LanguageRanges in this Locale applicable to given category.

Returns LanguageRanges in the Locale that are applicable to provided category. The tags are returned in order of preference, which means the category-specific ones first and then the generic ones.

The iterator is guaranteed to return at least one value.

Trait Implementations

impl Clone for Locale[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'a> From<LanguageRange<'a>> for Locale[src]

impl Eq for Locale[src]

impl PartialEq<Locale> for Locale[src]

impl AsRef<str> for Locale[src]

Locale is specified by a string tag. This is the way to access it.

impl Debug for Locale[src]

impl Display for Locale[src]

impl Hash for Locale[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl Send for Locale

impl Sync for Locale

Blanket Implementations

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]