#国际化 #本地化 #翻译 #网页

i18n_codegen

使用代码生成实现的安全本地化库

2 个版本

0.1.1 2019年9月29日
0.1.0 2019年9月29日

#45 in #i18n

Download history 54/week @ 2024-02-26 49/week @ 2024-03-04 37/week @ 2024-03-11 42/week @ 2024-03-18 54/week @ 2024-03-25 95/week @ 2024-04-01 78/week @ 2024-04-08 59/week @ 2024-04-15 67/week @ 2024-04-22 129/week @ 2024-04-29 93/week @ 2024-05-06 46/week @ 2024-05-13 39/week @ 2024-05-20 12/week @ 2024-05-27 23/week @ 2024-06-03 32/week @ 2024-06-10

每月 122 次下载

MIT 许可证

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