rust-i18n 0.1.0

Rust I18n is use Rust codegen for load YAML file storage translations on compile time, and give you a t! macro for simply get translation texts.
docs.rs failed to build rust-i18n-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rust-i18n-3.0.1

Rust I18n

CI Docs Crates.io

Rust I18n is use Rust codegen for load YAML file storage translations on compile time, and give you a t! macro for simply get translation texts.

Inspired by ruby-i18n.

Usage

Load macro in your lib.rs

// Load I18n macro, for allow you use `t!` macro in anywhere.
#[macro_use]
extern crate rust_i18n;

You must put I18n YAML files in locales/ folder.

locales/
├── en.yml
├── zh-CN.yml

For example of en.yml:

en:
  hello: Hello world
  messages:
    hello: Hello, %{name}

Now you can use t! macro in anywhere.

t!("hello");
// => "Hello world"

t!("hello", locale = "zh-CN);
// => "你好世界"

t!("messages.hello", name = "world");
// => "Hello, world"

t!("messages.hello", locale = "zh-CN", name = "Jason");
// => "你好, Jason"

You can use rust_i18n::set_locale to change the current locale in runtime.

rust_i18n::set_locale("zh-CN");
rust_i18n::locale();
// => "zh-CN"

License

MIT