3 个版本 (稳定)
使用旧的 Rust 2015
1.0.1 | 2018年9月3日 |
---|---|
1.0.0 | 2018年9月1日 |
0.1.0 | 2018年9月1日 |
在 #en 中排名 29
每月下载量 92
用于 mindustry-mod-v7
12KB
66 行
r_i18n
Rust中的i18n实现。
目录 由 DocToc 生成
安装
要安装库,您必须将以下行放入您的 Cargo.toml 文件中。
[dependencies]
r_i18n = "version number"
使用
配置
首先,创建包含您的翻译文件和语言的目录的配置。
extern crate r_i18n;
use r_i18n::I18nConfig;
fn main() {
let config: I18nConfig = I18nConfig{locales: &["en", "fr", "es"], directory: "translations"};
}
然后,加载配置
extern crate r_i18n;
use r_i18n::r_i18n;
fn main() {
let config: I18nConfig = I18nConfig{locales: &["en", "fr", "es"], directory: "translations"};
let r_i18n: I18n = I18n::configure(&config);
}
在这个示例中,您需要在 /translations 目录下有 en.json、fr.json 和 es.json。每个文件应该像这样
{
"keyword": "value"
}
示例
我有一个看起来是这样的 en.json 文件
{
"introduction": "Hello, my name is WebD"
}
然后,在我的 main.rs 中
extern crate r_i18n;
use r_i18n::I18n;
fn main() {
let config: I18nConfig = I18nConfig{locales: &["en", "fr", "es"], directory: "translations"};
let r_i18n: I18n = I18n::configure(&config);
// by default, the current language will be the first element of the locales array. You can do like that if you want to set the language:
// r_i18n.set_current_lang("fr");
r_i18n.t("introduction"); // output should be "Hello, my name is WebD"
}
现在,我有一个看起来是这样的 fr.json 文件
{
"introduction": "Bonjour, mon nom est WebD"
}
如果我设置当前语言为法语
extern crate r_i18n;
use r_i18n::I18n;
fn main() {
let config: I18nConfig = I18nConfig{locales: &["en", "fr", "es"], directory: "translations"};
let r_i18n: I18n = I18n::configure(&config);
r_i18n.set_current_lang("fr");
r_i18n.t("introduction"); // output should be "Bonjour, mon nom est WebD
}
贡献指南
- 分支和克隆仓库
- 创建您的分支
- 开始编码!
- 完成后提出 pull request :)
依赖项
~145KB