#time

macro localization-macros

t! macro, the easiest way

4 releases

0.1.3 Oct 13, 2023
0.1.2 Sep 17, 2023
0.1.1 Sep 6, 2023
0.1.0 Sep 5, 2023

#721 in #time

27 downloads per month
Used in localization

MIT license

15KB
369 lines

Localization

GitHub crates.io crates.io

localization is a lightweight localization implementation written in Rust.

Easy, error on compile time, zero runtime dependency.

Getting Started

Install

[dependencies]
localization = "0.1.2"
[build-dependencies]
localization-build = "0.1.2"

Create files

// translations/en-US/default.json
{
    "hello": "Hello {{name}}, you are {{age}} years old!"
}
// build.rs
fn main() {
    localization_build::set_root("./translations");
    localization_build::set_default_locale("en-US");
}
// main.rs
fn main() {
    let name = "John";
    let age = 42;
    let s = t!("en-US","default:hello", name, age);
    println!("{}", s);
    // output: Hello John, you are 42 years old!
}

Documentation

The documentation is available on docs.rs.

License

Distributed under the MIT License. See LICENSE for more information.

Dependencies

~0.7–1.6MB
~35K SLoC