3 releases

0.0.3 Nov 11, 2023
0.0.2 Nov 11, 2023
0.0.1 Nov 11, 2023

#352 in Internationalization (i18n)

MIT/Apache

23KB
388 lines

Czas - Convert timestamps into localized text

Czas is a library for converting chrono timestamps into localized text.
For example, 2020-01-01 01:23:45 would be converted (in Polish) to pierwszego stycznia dwa tysiące dwudziestego roku o pierwszej dwadzieścia trzy i czterdzieści pięć sekundy.
The library provides the public ToLocalizedText trait, which can be implemented against any struct to provide your own translations in any language/format.
The library comes with one struct implementation of this trait, Czas, which supports localization in Polish.

Documentation

Crate documentation can be found on docs.rs

Usage

Library

Add czas as a dependency in your Cargo.toml:

[dependencies]
czas = "*"

Then use it in your code:

use chrono::prelude::*;
use czas::{Czas, ToLocalizedText};

fn main() {
    let timestamp = Local::now().naive_local();
    println!(
        "{}: {}",
        timestamp,
        Czas::from_naive_date_time(timestamp).unwrap()
    );
}

Binary

# Install locally from this repo
$ cargo install path .

# Or from crates.io directly
$ cargo install czas

# Then run it
$ czas-teraz
2023-11-11 14:33:50.152787900: jedenastego listopada dwa tysiące dwudziestego trzeciego roku o czternastej trzydzieści trzy i pięćdziesiąt sekundy  

Contributing

PRs are welcome!
If you wish to change something with the existing implementation or add a new localization, please consider opening an issue for discussion.

License

This project is licensed under either of

at your option.

Dependencies

~1.2–1.9MB
~35K SLoC