Crate i18nrs

Source
Expand description

§🌍 i18nrs

Crates.io Crates.io Downloads Crates.io License made-with-rust Rust Maintenance

Join our Discord

logo

§🎬 Demo

i18n-rs-demo

FrameworkLive Demo
YewNetlify Status
DioxusNetlify Status
LeptosTODO

Β§πŸ“œ Intro

i18nrs is a lightweight and powerful internationalization library for Wasm-based frameworks like Yew, Dioxus, and Leptos. It provides seamless tools to manage translations, change languages, and localize your applications.

Β§πŸ€” Why Use i18nrs?

The following features make i18nrs a must-have for your Wasm-based projects:

  • 🌐 Multi-Language Support: Easily integrate and manage multiple languages with flexible configurations.
  • πŸ”„ Dynamic Language Switching: Switch languages on the fly and persist the choice using LocalStorage or SessionStorage.
  • πŸ“¦ Simple Integration: Works seamlessly with Wasm frameworks like Yew, Dioxus, and Leptos.
  • βš™οΈ JSON-Based Translations: Load and validate translations directly from JSON files.
  • πŸ—οΈ Nested Key Translation: Organize translations with nested keys like menu.file.open.
  • 🧭 Auto RTL/LTR Switching: Automatically adjusts text direction based on the selected language, supporting Right-to-Left (RTL) languages such as Arabic and Hebrew.

This crate also includes a robust fallback system, supports nested key translation, and manages configuration centrally for efficient language handling.

Β§πŸ“š Yew Usage

Refer to our guide for integrating i18nrs with your Yew app.

§🧬 Dioxus Usage

Refer to our guide for integrating i18nrs with your Dioxus app.

§🌱 Leptos Usage (TODO)

Refer to our guide for integrating i18nrs with your Leptos app.

§🀝 Contributions

Contributions are welcome! Whether it’s bug fixes, feature requests, or adding support for new frameworks, we would love your help to make i18nrs better.

  1. Fork the repository.
  2. Create a new branch for your feature/bugfix.
  3. Submit a pull request for review.

Β§πŸ“œ License

i18nrs is licensed under the MIT License. You are free to use, modify, and distribute this library in your projects.

Re-exportsΒ§

pub use config::I18n;
pub use config::I18nConfig;
pub use config::StorageType;

ModulesΒ§

config
dioxusdio
🧬 I18N RS Dioxus Usage
yewyew
Y i18nrs Yew Usage