#localization #compile-time #run-time

localization-build

t! macro, the easiest way

3 releases

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

#258 in #localization

32 downloads per month

MIT license

3KB

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.

No runtime deps