Skip to content

🌐 Internationalization (i18n) component for Wasm frameworks.

License

Notifications You must be signed in to change notification settings

opensass/i18n-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 i18nrs

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

Join our Discord

logo

🎬 Demo

i18n-rs-demo

Framework Live Demo
Yew Netlify Status
Dioxus TODO
Leptos TODO

πŸ“œ 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:

  1. 🌐 Multi-Language Support: Effortlessly support multiple languages in your application with a flexible configuration system.
  2. πŸ“¦ Easy Integration: Simple setup and integration with Wasm frameworks like Yew, Dioxus, and Leptos.
  3. πŸ”„ Dynamic Language Switching: Change languages on the fly and persist the selection using LocalStorage or SessionStorage.
  4. βš™οΈ JSON-Based Translations: Load translations from JSON files with full validation.
  5. πŸ—οΈ Nested Key Translation: Use nested keys like menu.file.open for organized and structured translations.

πŸ› οΈ Features

  • Configuration Management: Centralized configuration for languages and translation data.
  • Browser Storage Support: Store and retrieve the selected language using LocalStorage or SessionStorage.
  • Fallback System: Automatically falls back to the default language if a key is missing.
  • Advanced Key Resolution: Supports dot-separated keys for nested translations (e.g., settings.profile.name).

πŸ“š Yew Usage

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

🧬 Dioxus Usage (TODO)

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.