Crate chrono_locale

Source
Expand description

This is an extension to chrono’s date and time formatting to automatically translate dates to a specified locale or language

§Usage

Put this in your Cargo.toml:

[dependencies]
chrono = "0.4"
chrono_locale = "0.1"

Then put this in your lib.rs or main.rs:

extern crate chrono;
extern crate chrono_locale;

use chrono::prelude::*;
use chrono_locale::LocaleDate;

You can choose to import just parts of chrono instead of the whole prelude. Please see ’chrono`’s documentation.

To format a chrono Date or DateTime object, you can use the formatl method:


let dt = FixedOffset::east(34200).ymd(2001, 7, 8).and_hms_nano(0, 34, 59, 1_026_490_708);
println!("{}", dt.formatl("%c", "fr"));

All of chrono’s formatting placeholders work except for %3f, %6f and %9f (but %.3f, %.6f and %.9f work normally)

§Locale format

The formatl method supports locales in different formats, based on ISO-639-1 and ISO-3166. It accepts any format where they are separated by - or _:

  • en_GB
  • it-IT
  • fr-fr
  • PT_br

The translated string will be first searched in the complete locale definition, then in the fallbacks. For example: by requesting it_IT it will first try in it-it, then in it and, if it still doesn’t find it, it will use the default: C (english)

Structs§

DelayedFormatL10n
A temporary object which can be used as an argument to format! or others. This is normally constructed via format methods of each date and time type.

Traits§

LocaleDate

Functions§

format_l10n
This function is nearly entirely copied from chrono’s format() internal formats (3, 6 and 9-digits nanoseconds) have been disabled due to lack of access to chrono internals