{"id":21306368,"url":"https://github.com/opensass/i18n-rs","last_synced_at":"2025-12-12T12:54:59.275Z","repository":{"id":218864451,"uuid":"747577494","full_name":"opensass/i18n-rs","owner":"opensass","description":"🌐 Internationalization (i18n) component for Wasm frameworks.","archived":false,"fork":false,"pushed_at":"2025-07-07T18:17:14.000Z","size":3896,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-07T18:55:08.579Z","etag":null,"topics":["accessibility","dioxus","i18n","leptos","ltr","rtl","rust","web","yew"],"latest_commit_sha":null,"homepage":"https://docs.rs/i18nrs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opensass.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-24T08:06:30.000Z","updated_at":"2025-07-07T18:15:46.000Z","dependencies_parsed_at":"2024-11-21T16:23:37.053Z","dependency_job_id":"0e274f50-23c9-45d9-8d77-c438e4eed26d","html_url":"https://github.com/opensass/i18n-rs","commit_stats":null,"previous_names":["wiseaidev/yew-i18n","next-rs/yew-i18n","opensass/i18n-rs"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/opensass/i18n-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensass%2Fi18n-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensass%2Fi18n-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensass%2Fi18n-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensass%2Fi18n-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensass","download_url":"https://codeload.github.com/opensass/i18n-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensass%2Fi18n-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264902377,"owners_count":23681054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","dioxus","i18n","leptos","ltr","rtl","rust","web","yew"],"created_at":"2024-11-21T16:23:29.599Z","updated_at":"2025-12-12T12:54:54.251Z","avatar_url":"https://github.com/opensass.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🌍 i18nrs\n\n[![Crates.io](https://img.shields.io/crates/v/i18nrs)](https://crates.io/crates/i18nrs)\n[![Crates.io Downloads](https://img.shields.io/crates/d/i18nrs)](https://crates.io/crates/i18nrs)\n![Crates.io License](https://img.shields.io/crates/l/i18nrs)\n[![made-with-rust](https://img.shields.io/badge/Made%20with-Rust-1f425f.svg?logo=rust\u0026logoColor=white)](https://www.rust-lang.org/)\n[![Rust](https://img.shields.io/badge/Rust-1.85%2B-blue.svg)](https://www.rust-lang.org)\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/wiseaidev)\n\n[![Join our Discord](https://dcbadge.limes.pink/api/server/b5JbvHW5nv)](https://discord.gg/b5JbvHW5nv)\n\n\u003c!-- absolute url for docs.rs cause assets is excluded from crate --\u003e\n![logo](https://raw.githubusercontent.com/opensass/i18n-rs/refs/heads/main/assets/new-logo.webp)\n\n\u003c/div\u003e\n\n## 🎬 Demo\n\n\u003c!-- absolute url for docs.rs cause assets is excluded from crate --\u003e\n![i18n-rs-demo](https://raw.githubusercontent.com/opensass/i18n-rs/refs/heads/main/assets/demo.gif)\n\n| Framework | Live Demo |\n| --- | --- |\n| Yew | [![Netlify Status](https://api.netlify.com/api/v1/badges/b213132a-d8b6-494b-8a5f-7290682a1a95/deploy-status)](https://i18n-rs.netlify.app) |\n| Dioxus | [![Netlify Status](https://api.netlify.com/api/v1/badges/b213132a-d8b6-494b-8a5f-7290682a1a95/deploy-status)](https://i18n-rs-dio.netlify.app) |\n| Leptos | TODO |\n\n## 📜 Intro\n\ni18nrs 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.\n\n## 🤔 Why Use i18nrs?\n\nThe following features make i18nrs a must-have for your Wasm-based projects:\n\n- **🌐 Multi-Language Support**: Easily integrate and manage multiple languages with flexible configurations.\n- **🔄 Dynamic Language Switching**: Switch languages on the fly and persist the choice using `LocalStorage`, `SessionStorage`, or cookies in SSR mode.\n- **📦 Simple Integration**: Works seamlessly with Wasm frameworks like Yew, Dioxus, and Leptos.\n- **⚙️ JSON-Based Translations**: Load and validate translations directly from JSON files.\n- **🗝️ Nested Key Translation**: Organize translations with nested keys like `menu.file.open`.\n- **🧭 Auto RTL/LTR Switching**: Automatically adjusts text direction based on the selected language, supporting Right-to-Left (RTL) languages such as Arabic and Hebrew.\n\nThis crate also includes a robust fallback system, supports nested key translation, and manages configuration centrally for efficient language handling.\n\n## 📚 Yew Usage\n\n\u003c!-- absolute url for docs.rs cause YEW.md is not included in crate --\u003e\nRefer to [our guide](https://github.com/opensass/i18n-rs/blob/main/YEW.md) for integrating i18nrs with your Yew app.\n\n## 🧬 Dioxus Usage\n\n\u003c!-- absolute url for docs.rs cause DIOXUS.md is not included in crate --\u003e\nRefer to [our guide](https://github.com/opensass/i18n-rs/blob/main/DIOXUS.md) for integrating i18nrs with your Dioxus app.\n\n## 🌱 Leptos Usage (TODO)\n\n\u003c!-- absolute url for docs.rs cause LEPTOS.md is not included in crate --\u003e\nRefer to [our guide](https://github.com/opensass/i18n-rs/blob/main/LEPTOS.md) for integrating i18nrs with your Leptos app.\n\n## 🤝 Contributions\n\nContributions are welcome! Whether it's bug fixes, feature requests, or adding support for new frameworks, we would love your help to make i18nrs better.\n\n1. Fork the repository.\n1. Create a new branch for your feature/bugfix.\n1. Submit a pull request for review.\n\n## 📜 License\n\n\u003c!-- absolute url for docs.rs cause LICENSE.md is not included in crate --\u003e\ni18nrs is licensed under the [MIT License](https://github.com/opensass/i18n-rs/blob/main/LICENSE.md). You are free to use, modify, and distribute this library in your projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensass%2Fi18n-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensass%2Fi18n-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensass%2Fi18n-rs/lists"}