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
165KB
2.5K SLoC
Fluent 资源管理器
fluent-resmgr
是Project Fluent的资源管理器实现。
资源管理器为fluent-fallback
或其他高级绑定提供了独立的本地化资源管理解决方案。
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频道与我们联系。
- Discourse: https://discourse.mozilla.org/c/fluent
- Matrix频道: #fluent:mozilla.org
依赖项
约2.2–2.9MB
约58K SLoC