2 个版本
0.1.1 | 2019年9月29日 |
---|---|
0.1.0 | 2019年9月29日 |
#45 in #i18n
每月 122 次下载
32KB
729 行
i18n_codegen
基于代码生成的 Rust 国际化库。
通过利用代码生成,我们可以避免像国际化键中的拼写错误、缺失插值或不同地区之间的各种错误等常见问题。
它需要一个目录,每个地区一个 JSON 文件。以下是一个包含英语和丹麦翻译的示例
// tests/doc_locales/en.json
{
"hello_world": "Hello, World!",
"greeting": "Hello {name}"
}
// tests/doc_locales/da.json
{
"hello_world": "Hej, Verden!",
"greeting": "Hej {name}"
}
在 Rust 中
use i18n_codegen::i18n;
i18n!("tests/doc_locales");
fn main() {
assert_eq!("Hello, World!", Locale::En.hello_world());
assert_eq!("Hej, Verden!", Locale::Da.hello_world());
assert_eq!("Hello Bob", Locale::En.greeting(Name("Bob")));
assert_eq!("Hej Bob", Locale::Da.greeting(Name("Bob")));
}
您可以在 https://docs.rs/i18n_codegen 上找到更多详细信息。
依赖项
~4.5MB
~94K SLoC