7 个版本

0.0.7 2024年5月5日
0.0.6 2022年11月9日
0.0.5 2021年12月17日
0.0.4 2020年5月6日
0.0.1 2019年8月1日

国际化 (i18n)分类中排名423

Apache-2.0 OR MIT

165KB
2.5K SLoC

Fluent 资源管理器

fluent-resmgrProject Fluent的资源管理器实现。

资源管理器为fluent-fallback或其他高级绑定提供了独立的本地化资源管理解决方案。

crates.io Build Coverage Status

Project Fluent 简化简单的事情,使复杂的事情成为可能。描述翻译所使用的语法易于阅读和理解。同时,在必要时,它还允许表示自然语言中的复杂概念,如性别、复数、动词变位等。

文档

用法

use fluent_resmgr::resource_manager::ResourceManager;

fn main() {
    let mgr = ResourceManager::new("./examples/resources/{locale}/{res_id}".into());

    let bundle = mgr.get_bundle(locales, resources);

    let value = bundle.format_value("hello-world", None);

    assert_eq!(&value, "Hello, world!");
}

状态

实现处于早期阶段,仅支持 Project Fluent 规范的一部分。有关发布规划和范围的更多信息,请参阅里程碑列表

本地开发

cargo build
cargo test
cargo run --example simple

提交 PR 时,请使用 cargo fmt (nightly)。

学习 FTL 语法

FTL 是一种用于描述翻译资源的本地化文件格式。FTL 代表 Fluent Translation List

FTL 设计得易于阅读,同时允许表示自然语言中的复杂概念,如性别、复数、动词变位等。

hello-user = Hello, { $username }!

为了了解更多关于语法的知识,请阅读 Fluent 语法指南。如果您是工具作者,您可能对EBNF 语法感兴趣。

参与进来

fluent-rs 是开源的,采用 Apache 2.0 和 MIT 许可证。我们鼓励每个人查看我们的代码,并会倾听您的反馈。

讨论

我们很乐意听听您对Project Fluent的看法!无论您是一位希望更好地用您自己的语言表达自己的本地化人员,还是一位试图使您的应用可本地化和多语言化的开发者,或者是一位寻找可以贡献项目的黑客,请通过邮件列表和IRC频道与我们联系。

依赖项

约2.2–2.9MB
约58K SLoC