当前位置: 首页 > news >正文

【rust-i18n】Cargo.toml 配置文件解析

[package] authors = ["Jason Lee <huacnlee@gmail.com>"] # 作者信息 build = "build.rs" # 构建脚本 categories = ["localization", "internationalization"] # 包分类 description = "Rust I18n is use Rust codegen for load YAML file storage translations on compile time, and give you a t! macro for simply get translation texts." # 详细描述 edition = "2021" # Rust 版本(2021 edition) exclude = ["crates", "tests"] # 发布时排除的目录 keywords = [ "gettext", "i18n", "internationalization", "localization", "translation", ] # 关键词 license = "MIT" # 开源协议 name = "rust-i18n" # 包名 readme = "README.md" # README 文件 repository = "https://github.com/longbridge/rust-i18n" # 仓库地址 version = "4.0.0-preview1" # 版本号(预览版)

1. 工作空间依赖[workspace.dependencies]

这是工作空间级别的依赖定义,所有成员 crate 可以共享这些依赖:

[workspace.dependencies] anyhow = "1" # 错误处理 arc-swap = "1.6.0" # 原子引用计数 base62 = "2.0.2" # Base62 编码 clap = { version = "4.1.14", features = ["derive"] } # 命令行参数解析 criterion = "0.5" # 基准测试 foo = { path = "examples/foo" } # 本地示例依赖 glob = "0.3" # 文件路径匹配 globwalk = "0.8.1" # 文件遍历 ignore = "0.4" # gitignore 规则匹配 indoc = "1" # 多行字符串缩进 itertools = "0.11.0" # 迭代器工具 lazy_static = "1" # 懒静态变量 normpath = "1.1.1" # 规范化路径 proc-macro2 = { version = "1", features = ["span-locations"] } # 过程宏支持 quote = "1.0.2" # 过程宏代码生成 regex = "1" # 正则表达式 rust-i18n = { path = "." } # 主 crate rust-i18n-extract = { path = "./crates/extract", version = "4.0.0-preview1" } # 提取工具 rust-i18n-macro = { path = "./crates/macro", version = "4.0.0-preview1" } # 过程宏 rust-i18n-support = { path = "./crates/support", version = "4.0.0-preview1" } # 支持库 serde = { version = "1", features = ["derive"] } # 序列化 serde_json = "1" # JSON 支持 serde_yaml = "0.9.33" # YAML 支持 siphasher = "1.0" # 哈希算法 smallvec = "1.12.0" # 小向量优化 syn = { version = "2.0.18", features = ["full", "extra-traits"] } # Rust 语法解析 toml = "0.8.8" # TOML 支持 triomphe = { version = "0.1.11", features = ["arc-swap"] } # 引用计数智能指针

2. 主 crate 依赖[dependencies]

[dependencies] rust-i18n-support.workspace = true # 使用工作空间定义的依赖 rust-i18n-macro.workspace = true # 使用工作空间定义的依赖 smallvec.workspace = true # 使用工作空间定义的依赖

3. 开发依赖[dev-dependencies]

[dev-dependencies] foo.workspace = true # 示例项目 criterion.workspace = true # 基准测试框架 lazy_static.workspace = true # 懒静态变量 serde_yaml.workspace = true # YAML 序列化

4. 构建依赖[build-dependencies]

[build-dependencies] globwalk.workspace = true # 文件遍历 regex.workspace = true # 正则表达式

5. 特性配置[features]

[features] log-miss-tr = ["rust-i18n-macro/log-miss-tr"] # 启用缺失翻译日志功能

6. 示例配置[[example]]

[[example]] name = "app" test = true # 这个示例也可以作为测试运行

7. 工作空间成员[workspace]

[workspace] members = [ "crates/cli", # CLI 工具 "crates/extract", # 提取工具 "crates/support", # 支持库 "crates/macro", # 过程宏 "examples/app-egui", # egui UI 示例 "examples/app-load-path", # 加载路径示例 "examples/app-metadata", # 元数据示例 "examples/app-minify-key", # 键最小化示例 "examples/foo", # 基础示例 ]

8. 基准测试[[bench]]

[[bench]] harness = false # 不使用默认测试框架 name = "bench" # 基准测试名称 [[bench]] harness = false name = "minify_key" # 键最小化性能测试

项目结构总结

这是一个国际化(i18n)库,采用工作空间组织方式:

  • 主 crate:提供t!宏用于翻译
  • 子 crates:包含宏实现、支持库、提取工具和 CLI
  • 功能:支持编译时加载 YAML 翻译文件
  • 版本:4.0.0 预览版,采用 Rust 2021 edition
  • 测试:包含示例程序、基准测试和单元测试
  • 特性:可选的缺失翻译日志功能
http://www.jsqmd.com/news/396744/

相关文章:

  • 本地撬装产品设备供应商评测:口碑与性能双优选,保温管件/中低压管件/衬塑衬四氟管道/高压管件,撬装产品设备公司口碑排行 - 品牌推荐师
  • AI人工智能(四)本地部署vosk-ASR环境命令—东方仙盟练气期
  • 使用R的函数安装和查看扩展包
  • 东方美学珠宝定制指南:探寻口碑与工艺的融合,高端日常佩戴珠宝/东方高端珠宝/东方秩序/高端珠宝,东方美学珠宝定制推荐榜单 - 品牌推荐师
  • 教你如何正确处理杉德斯玛特卡:回收中的注意事项和技巧 - 团团收购物卡回收
  • P3796 AC 自动机(简单版 II)
  • 军储 × 危化联动三维空间主动防控装备体系——基于视频孪生感知层与镜像孪生控制层的战术级空间计算与压制装备平台
  • 视频孪生之上:镜像孪生驱动的水利空间智能压制与风险前置控制体系-----基于矩阵视频融合 × Pixel-to-3D 三角测量反演 × 三维轨迹建模 × 趋势预测 × 前向布控调度构建的水利枢纽厘米
  • Alpine Linux vs CentOS 7 对比
  • 晶体塑性ABAQUS脚本 基于细观力学,可提取二维三维应力 采用脚本提取代表体积单元模型的所有...
  • 2026最新武商一卡通回收必知事项,快速上手更安心! - 团团收购物卡回收
  • k8s使用Readiness Probe就绪探针:确保java应用在数据库恢复后才接收流量
  • P3808 AC 自动机(简单版)
  • Alpine Linux容器中安装工具示例
  • springboot高校大学生创新创业项目管理系统-Pycharm django
  • qwen3.5-plus识别原神按钮groundingbox
  • Agent实习模拟面试之具身智能:如何赋予大模型“双手”与“眼睛”——从工具调用到多模态感知的深度解析
  • 基于Python基于flask的出国留学信息国外大学学校推荐系统的设计与实现-Pycharm django
  • 案例分享——MCP改进提案在生产中落地的例子
  • 基于Python基于flask的大学生招聘求职系统-Pycharm django
  • 生成引擎优化(GEO)在提升内容创作效率与用户体验方面的创新策略分析
  • Agent实习模拟面试之企业级大模型融合架构:从单点调用到智能中枢的系统设计深度拷问
  • 强烈安利!圈粉无数的AI论文平台 —— 千笔ai写作
  • 导师严选! 降AI率软件 千笔·降AIGC助手 VS speedai,专科生专属高效选择
  • Agent实习模拟面试之Agentic 代理模式:从单智能体到多智能体协同的系统设计深度拷问
  • 横评后发现 8个AI论文平台:专科生毕业论文写作全攻略
  • 用实力说话!降AI率软件 千笔·降AI率助手 VS speedai 专科生专属首选
  • 一遍搞定全流程!断层领先的AI论文网站 —— 千笔写作工具
  • 「Chrome 扩展开发」系列入门教程
  • 写作小白救星!9个AI论文写作软件深度测评,继续教育毕业论文必备工具推荐