Bevy Fluent 项目教程
1. 项目的目录结构及介绍
Bevy Fluent 是一个用于本地化的 Bevy 插件,使用 Fluent 进行本地化处理。项目的目录结构如下:
bevy_fluent/
├── examples/ # 示例代码
├── src/ # 源代码
├── .gitignore # Git 忽略文件配置
├── Cargo.toml # 项目配置文件
├── LICENSE-APACHE # Apache 许可证
├── LICENSE-MIT # MIT 许可证
├── README.md # 项目说明文档
└── rustfmt.toml # Rust 格式化配置文件
目录介绍
- examples/: 包含一些示例代码,展示如何使用 Bevy Fluent 进行本地化。
- src/: 包含项目的源代码,包括插件的核心逻辑和相关模块。
- .gitignore: 配置 Git 忽略的文件和目录。
- Cargo.toml: 项目的配置文件,定义了项目的依赖、版本等信息。
- LICENSE-APACHE 和 LICENSE-MIT: 项目的许可证文件。
- README.md: 项目的说明文档,包含项目的基本信息和使用指南。
- rustfmt.toml: Rust 代码格式化的配置文件。
2. 项目的启动文件介绍
Bevy Fluent 的启动文件位于 src/
目录下,主要文件包括:
- lib.rs: 项目的主入口文件,定义了插件的模块和导出。
- plugins.rs: 定义了插件的相关功能和初始化逻辑。
- assets.rs: 处理本地化资源的管理和加载。
- systems.rs: 定义了系统相关的逻辑和处理。
主要文件介绍
-
lib.rs:
pub mod assets; pub mod exts; pub mod plugins; pub mod prelude; pub mod resources; pub mod systems;
该文件导出了项目的各个模块,方便其他模块引用。
-
plugins.rs:
use bevy::prelude::*; use fluent::FluentResource; use fluent_langneg::negotiate_languages; use unic_langid::LanguageIdentifier;
该文件定义了插件的初始化和相关功能。
-
assets.rs:
use bevy::asset::{AssetLoader, LoadContext, LoadedAsset}; use bevy::utils::BoxedFuture; use fluent::FluentResource;
该文件处理本地化资源的管理和加载。
-
systems.rs:
use bevy::prelude::*; use crate::resources::Localization;
该文件定义了系统相关的逻辑和处理。
3. 项目的配置文件介绍
Bevy Fluent 的配置文件主要是 Cargo.toml
,该文件定义了项目的依赖、版本和其他配置信息。
Cargo.toml 示例
[package]
name = "bevy_fluent"
version = "0.10.0"
edition = "2018"
[dependencies]
bevy = "^0.14"
fluent = "^0.16.0"
fluent-langneg = "^0.13.0"
fluent_content = "^0.0.5"
futures-lite = "^2.2.0"
indexmap = "^2.2.5"
intl-memoizer = "^0.5.1"
ron = "^0.8.1"
serde = "^1.0.197"
serde_yaml = "^0.9.32"
thiserror = "^1.0.58"
tracing = "^0.1.40"
unic-langid = "^0.9.4"
uuid = "^1.7.0"
[dev-dependencies]
bevy = "^0.14"
unic-langid = "^0.9.4"
配置文件介绍
- [package]: 定义了项目的名称、版本和使用的 Rust 版本。
- [dependencies]: 定义