一个更好且简单的 I18n 组件,用于 Rust。
让 I18n 变得简单起来! Rust I18n 是一个框架,用于从一组 (YAML、JSON 或 TOML) 映射文件中加载本地化文本。这些映射会在编译时转换为 Rust 程序可读的数据,然后只需调用提供的 [
t!] 宏即可加载本地化文本。 与其他 I18n 库不同,Rust I18n 的目标是提供一个简单易用的 API。 此 crate 的 API 灵感来自 ruby-i18n 和 Rails I18n。
t!]宏用于在各个地方加载本地化文本。 - 使用 YAML(默认)、JSON 或 TOML 格式来映射本地化文本,并支持多个文件合并。 - cargo i18n 命令行工具用于检查和将未翻译的文本提取到 YAML 文件中。 - 支持将所有本地化文本放在一个文件中,或根据区域将其分割到不同的文件中。 - 支持为缺失的翻译指定一个或多个回退区域链。 - 支持自动查找回退区域的语言区域。例如,如果 zh-CN 不可用,则会回退到 zh。 (自 v2.4.0 起) - 支持使用简短的哈希化键来优化内存使用和查找速度。 (自 v3.1.0 起) - 支持 [t!] 中的格式变量,并支持使用 std::fmt 语法的格式变量。 (自 v3.1.0 起) - 使用 log-miss-tr 功能在警告级别上记录缺失的翻译。该功能需要 log 编译库。 (自 v3.1.0 起) - load-path 功能用于通过 try_load_locales 在运行时加载区域文件。默认情况下,YAML/TOML 解析依赖仅在编译时可用,不包含在二进制文件中。暂无开放 Issues,或尚未同步最近议题。