Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Choose crates

Most applications need the es-fluent facade, one runtime manager, and the CLI during development.

NeedCrate or command
Typed messages, labels, variants, and choiceses-fluent
General Rust, CLI, TUI, or desktop runtimees-fluent-manager-embedded
Dioxus client or SSR runtimees-fluent-manager-dioxus
Bevy ECS and UI runtimees-fluent-manager-bevy
Typed locale enum and language labelses-fluent-lang
Generate, check, sync, format, and inspect FTLcargo es-fluent from es-fluent-cli
Track locale assets and compile-check fallback messageses-fluent-build under [build-dependencies]

A general Rust application can start with:

[dependencies]
es-fluent = "0.18"
es-fluent-manager-embedded = "0.18"
unic-langid = "0.9"

[build-dependencies]
es-fluent-build = "0.18"

Install the CLI separately:

cargo install es-fluent-cli --locked

Compatible release lines

The framework-specific managers follow their framework version:

SurfaceRelease lineRuntime compatibility
es-fluent, CLI, embedded manager, and language enum0.18.xGeneral Rust
es-fluent-manager-dioxus0.7.xDioxus 0.7.x
es-fluent-manager-bevy0.19.xBevy 0.19.x

Supporting crates

Application code normally uses the facade and a concrete manager. The following crates are intended for narrower integration work:

  • es-fluent-derive and es-fluent-lang-macro implement macros re-exported by the public facades.
  • es-fluent-manager-core exposes shared runtime contracts for custom manager integrations.
  • es-fluent-manager-macros exposes the manager module and Bevy text macros re-exported by concrete managers.

Continue with Getting started, or choose a manager in Runtime managers.