4 个版本 (破坏性更新)
0.4.0 | 2019年6月4日 |
---|---|
0.3.0 | 2018年11月14日 |
0.2.0 | 2016年3月14日 |
0.1.0 | 2016年2月9日 |
#104 in 国际化 (i18n)
27,878 每月下载量
被 12 个 Crates 使用 (11 直接使用)
37KB
852 行
Rust 的 Gettext
目前的路线图
- 解析 MO 文件(10.3)
- 解析元数据(6.2)
- 支持非 UTF-8 编码
- 解析复数表达式(11.2.6)
- 正确的路径查找?(11.2.3)
lib.rs
:
此 crate 是 GNU gettext 翻译框架在 Rust 中的重新实现。它允许您的 Rust 程序解析包含翻译的 GNU MO 文件并在用户界面中使用它们。
与官方的 C 实现相比,它包含几个差异。值得注意的是,此 crate 不依赖于全局的区域设置(2.2),也不强制为存储您的翻译目录指定目录结构(11.2.3)。相反,用户明确选择要使用的翻译目录。
此 crate 仍在开发中,可能在功能上与原始实现不完全相同。
有关确切的功能兼容性,请参阅 README 中的路线图。
示例
use std::fs::File;
use gettext::Catalog;
fn main() {
let f = File::open("french.mo").expect("could not open the catalog");
let catalog = Catalog::parse(f).expect("could not parse the catalog");
// Will print out the French translation
// if it is found in the parsed file
// or "Name" otherwise.
println!("{}", catalog.gettext("Name"));
}
依赖项
~2.5MB
~32K SLoC