2个不稳定版本
0.2.0 | 2021年7月13日 |
---|---|
0.1.0 | 2021年3月27日 |
#149 in 国际化(i18n)
用于 phanes
31KB
305 行
languages-rs
Rust 的国际化库。
安装
使用 JSON 语言文件
[dependencies]
languages-rs = { version = "0.2.0", features = ["with-json"] }
使用 TOML 语言文件
[dependencies]
languages-rs = { version = "0.2.0", features = ["with-toml"] }
基本用法
languages/en.json
{
"hello_world": "Hello world!"
}
src/main.rs
use languages_rs::{Config, Languages, load, Value};
fn main() -> Result<()> {
let mut configuration: Config = Config::default().unwrap();
configuration.add_language("en").unwrap();
// Load all default languages.
let texts: Languages = load(configuration).unwrap();
// Get the English texts from `/languages/en.json`.
let texts_en: LanguagesTexts = texts.try_get_language("en").unwrap();
// Get the `hello_world` text from English texts.
let en_hello_world: Value = texts_en.try_get_text("hello_world").unwrap();
assert!(en_hello_world.is_string());
// Another alternative to get the `hello_world` text from English texts is:
let en_hello_world_2: Value = texts.try_get_text_from_language("en", "hello_world").unwrap();
assert!(en_hello_world_2.is_string());
assert_eq!(en_hello_world, en_hello_world_2);
assert_eq!(en_hello_world.get_string(), en_hello_world_2.get_string());
}
示例
-
json_files - 使用 JSON 的语言文件。
$ cargo run --example json_files --features "with-json"
-
toml_files - 使用 TOML 的语言文件。
$ cargo run --example toml_files --features "with-toml"
测试
$ cargo test
作者
- @daschdev - 初始项目
变更日志
在 CHANGELOG.md 文件中查看最新的仓库更改。
版权
许可证:MIT
阅读文件 LICENSE 获取更多信息。
依赖
~0.5–1.2MB
~28K SLoC