3 个版本 (稳定)

使用旧的 Rust 2015

1.0.1 2018年9月3日
1.0.0 2018年9月1日
0.1.0 2018年9月1日

#en 中排名 29

Download history 1/week @ 2024-05-19 2/week @ 2024-06-09 1/week @ 2024-06-16 43/week @ 2024-06-30 6/week @ 2024-07-07 61/week @ 2024-07-28

每月下载量 92
用于 mindustry-mod-v7

MIT 许可证

12KB
66

r_i18n

Rust中的i18n实现。

Build Status

API文档 https://crates.io/crates/r_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.jsonfr.jsones.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
}

贡献指南

  1. 分支和克隆仓库
  2. 创建您的分支
  3. 开始编码!
  4. 完成后提出 pull request :)

依赖项

~145KB