Rust本地化实现 —— fluent
Fluent是一种新的I18n实现规范。在Rust中有实现fluent-rs项目。本篇介绍以这种技术实现本地化。
文件结构:
message.ftl:
hello = 您好!世界!
Cargo.toml:
[package]
name = "fluentSample"
version = "0.1.0"
authors = ["许阳 <mksword@1126.com>"]
edition = "2018"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]
fluent = "0.10.2"
fluent-resmgr = "0.0.3"
unic-langid = "0.8.0"
main.rs:
use fluent::{FluentBundle, FluentValue, FluentResource, FluentArgs};
use fluent_resmgr::resource_manager::ResourceManager;
use unic_langid::LanguageIdentifier;fn main() {let mgr = ResourceManager::new("./resources/{locale}/{res_id}".into());let langid: LanguageIdentifier = "zh-CN".parse().expect("aa");let locales = vec![langid.into()];let resources = vec![ "message.ftl".into()];let bundle = mgr.get_bundle(locales, resources);let value = bundle.get_message("hello").unwrap();let pattern = value.value.expect("ddd");let mut errors = vec![];let msg = bundle.format_pattern(&pattern, None, &mut errors);println!("{}", msg);
}
Rust本地化实现 —— fluent相关推荐
- 微软亚洲研究院 可视化_如何为亚洲市场本地化手机游戏
微软亚洲研究院 可视化 With the Asian market rapidly growing, almost every ambitious IT product sooner or later ...
- rust python_用于Python程序员的Rust
rust python Now that Rust 1.0 is out and quite stable, I thought it might be interesting to write an ...
- rust主播排行_「Rust日报」2019每周精选 • 第四期
前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...
- Rust: Native Windows GUI下载、安装、演示入门
上 github 下载,网址为 https://github.com/gabdube/native-windows-gui. 上面有安装说明.按说明方法,老是提示权限不够.配置了 ssh 公钥证书,仍 ...
- [转]为什么你需要近距离接触Rust 1.0
为什么你需要近距离接触Rust 1.0 经过几年的迭代改进,Rust编程语言日前发布1.0版本.作为一种现代系统语言,Rust从大量语言(如C/C++)中取其精髓,去其糟粕,同时具备底层控制.高性能和 ...
- 云原生爱好者周刊:好家伙,Rust 也成立云原生组织了
云原生一周动态要闻: Fluentbit Operator 正式成为 Fluent 子项目 Kubernetes 1.22 发布 Rust Cloud Native 组织成立 CNCF 宣布 Graf ...
- 云原生爱好者周刊:Fluentbit Operator 正式成为 Fluent 子项目
云原生一周动态要闻: Fluentbit Operator 正式成为 Fluent 子项目 Kubernetes 1.22 发布 Rust Cloud Native 组织成立 CNCF 宣布 Graf ...
- 【Rust 日报】2021-07-04 如何在面试中确定 Rust 程序员水平?
如何在面试中确定 Rust 程序员水平? 对于这个问题,张汉东老师在 RustFriday 飞书群线上沙龙第十三期中进行了分享: 视频:RustFriday 飞书群线上沙龙 第十三期 | [讨论]如何 ...
- Rust和C / C ++的跨语言链接时间优化LTO
Rust和C / C ++的跨语言链接时间优化LTO 链接时间优化(LTO)是LLVM实施整个程序优化的方法.跨语言LTO是Rust编译器中的一项新功能,使LLVM的链接时间优化可以在混合的C / C ...
- mfc 应用程序 语言进行本地化
在软件国际化的今天,资源从代码中独立出来,使在不同语言操作系统下能运行不同语言版本的程序,是很有意义的事. MFC 7.0 及更高版本提供对附属 DLL 的增强支持,该功能有助于创建针对多种语言进行本 ...
最新文章
- Tomcat禁用SSLv3和RC4算法
- 18个设计精美的旅游及酒店网站案例
- Java 8:测试Lambda水
- 配置文件上传的Action
- Kali Linux 网络扫描秘籍 第四章 指纹识别(三)
- mysql 索引修复_mysql数据库索引损坏及修复经验分享
- 临时更换swap优先级
- ppct各代表什么_股票大盘分时图中白线和黄线各代表什么?/石嘴山 同花顺复盘...
- php 未定义偏移,错误php未定义的偏移:2-3-4等
- 软件项目管理的基本概念
- 微信小程序--瀑布流布局
- 1999.00 php,CBA20周年之1999-00赛季-前卫先合并后解散 八一5连冠
- oracle 将多列数据合并成一列显示
- 人工智能下的中秋祝福
- C++ Opencv中Mat的操作
- acdsee14.0许可密钥使用方法:
- JAVA用一维数组生成福彩双色球中奖号码
- 决策智能概念里的风起云涌
- mfc: 获取打印机列表
- 前端开发:组件之间的传值(父传子、子传父、兄弟组件之间传值)的使用